R50 32bf837960131809dece267d1d121e2f
C#, .Net, Blazor, SQL, TGBot

Управление контроллерами умного дома ab-log

Добавлено 28 июл 2024 в 09:26
Сервер + клиент (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 (по сравнению с клиентами удалённого доступа) хоть и ограничен в плане функциональности, но имеет несколько важных преимуществ.

  1. Удалённая настройка сервера возможна только через Telegram.
  2. Отсутствуют лимиты на трафик в отличие от MQTT, где такое ограничение может быть.
  3. Для Telegram есть возможность разграничить права для каждого клиента - персонально, в то время как штатные клиенты удалённого доступа все равны между собой и имеют одинаковый полный доступ к удалённой системе.
  4. Получение уведомлений от удалённой системы. Штатные клиенты удалённого доступа в этом плане пассивны. Клиент удалённого доступа не получает уведомлений пока не запущен, в то время как Телега всегда оповестит и даст возможность оперативно среагировать.
Приложение .NET MAUIBlazor Hybrid может быть установлено на Windows или Android устройство. Серверная часть приложения и контроллеры AbLog должны находиться в одной сети

Ретранслятор Непосредственная работа с контроллерами выполнена через так называемую ретрансляцию HTTP/HTML. При каждом обращении к контроллеру сервером выполняется обычный HTTP запрос к контроллеру, а из ответа HTML средствами AngleSharp формируется DOM и уже с ним происходит взаимодействие. Таким образом достигается адаптивность на случай если в прошивке контроллера произойдут изменения.

Использование шифрования трафика MQTT парольной фразой обеспечит достаточную анонимность что бы ни кто не мог увидеть данные, которые ходят между серверной частью и удалённым клиентом.

Вы можете использовать любой MQTT сервер, в т.ч. свой собственный. Единственное требование, что бы была поддержка протокола MQTT v.5.
75b074cfa5 88236b3068 732937b88e Eb2ad3ab68