Сервер + клиент (android, win) для доступа к контроллерам умного дома
ab-log (а так же доступ через TelegramBot):
- Интерактивный доступ к серверу через TelegramBot.
- Серверная часть ASP .NET8. Имеет свой полноценный WEB интерфейс. При желании собственный серверный WEB.UI можно использовать без клиента удалённого доступа (тем более, что реализован удалённый доступ через TelegramBot)
- Удалённый клиент .NET MAUIBlazor Hybrid через промежуточный MQTT (например через бесплатный сервис MQTT hivemq.cloud). Поддерживаемые платформы: Windows, Android. Полноценный клиент, который ни чем не уступает локальному/серверному web клиенту. Если быть точным, то это буквально одно и то же решение Blazor с той лишь разницей, что серверный web клиент общается с сервером на прямую, а удалённый клиент делает то же самое, но через промежуточный MQTT сервер.
Состав
- Локальный WEB сервер для взаимодействия с управляющими контроллерами через LAN и удалённым клиентами (TelegramBot + MQTT)
- Клиент удалённого доступа к серверу .NET MAUIBlazor Hybrid, который общается с серверной частью через любой промежуточный MQTT v5.
- Интерактивный доступ к системе через TelegramBot
- Сценарии: пакеты команд с базовой логикой ветвления по условию
- Триггеры: автозапуск сценариев/команд по событию
- Доступ к USB камерам сервера средствами решения FlashCap
TelegramBot Клиент Telegram (по сравнению с клиентами удалённого доступа) хоть и ограничен в плане функциональности, но имеет несколько важных преимуществ.
- Удалённая настройка сервера возможна только через Telegram.
- Отсутствуют лимиты на трафик в отличие от MQTT, где такое ограничение может быть.
- Для Telegram есть возможность разграничить права для каждого клиента - персонально, в то время как штатные клиенты удалённого доступа все равны между собой и имеют одинаковый полный доступ к удалённой системе.
- Получение уведомлений от удалённой системы. Штатные клиенты удалённого доступа в этом плане пассивны. Клиент удалённого доступа не получает уведомлений пока не запущен, в то время как Телега всегда оповестит и даст возможность оперативно среагировать.
Приложение .NET MAUIBlazor Hybrid может быть установлено на Windows или Android устройство. Серверная часть приложения и контроллеры AbLog должны находиться в одной сети
Ретранслятор Непосредственная работа с контроллерами выполнена через так называемую ретрансляцию HTTP/HTML. При каждом обращении к контроллеру сервером выполняется обычный HTTP запрос к контроллеру, а из ответа HTML средствами
AngleSharp формируется DOM и уже с ним происходит взаимодействие. Таким образом достигается адаптивность на случай если в прошивке контроллера произойдут изменения.
Использование шифрования трафика MQTT парольной фразой обеспечит достаточную анонимность что бы ни кто не мог увидеть данные, которые ходят между серверной частью и удалённым клиентом.
Вы можете использовать любой MQTT сервер, в т.ч. свой собственный. Единственное требование, что бы была поддержка протокола MQTT v.5.