Мы с важной новостью: с 28 февраля 2025 года сервис Хабр Фриланс прекратит свою работу.

Купить услуги можно до 28 февраля 2025, но пополнить баланс уже нельзя. Если на вашем счете остались средства, вы можете потратить их на небольшие услуги — служба поддержки готова поделиться бонусами, на случай, если средств немного не хватает.
R50 86629835524863c92c7d005abc68e826
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