Skip to content

Commit

Permalink
Update README.md
Browse files Browse the repository at this point in the history
  • Loading branch information
badhitman committed Dec 11, 2023
1 parent 0bb4bd0 commit d39f2bd
Showing 1 changed file with 7 additions and 7 deletions.
14 changes: 7 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,10 +1,10 @@
# Ab-Log v.3 (неофициальный)

## Введение
Клиент-серверный вариант приложения для доступа к контроллерам умного дома [ab-log](https://ab-log.ru/). Если быть точным, то это комплект из двух приложений (+ доступ через TelegramBot):
- *Серверная часть* **ASP NET8**. Поддерживаемые платформы: Linux, Windows, Mac. Сервер имеет свой полноценный WEB интерфейс. В общем Использование клиента не обязательно. При необходимости серверный WEB.UI можно использовать без удалённого доступа.
- *Интерактиный доступ* к серверу через **TelegramBot**. Доступ не полноценный если сравнивать с штатным клиентом, но в то же время удалённый доступ к серверным настройкам MQTT возможен только через него. Конечно же MQTT настройки можно настроить локально через WEB, но для удалённого редактиирования через интернет этих настроек пригоден только Telegram. Штатный клиент удалённого управления не имеет доступ к этим настройкам.
- *Удалённый клиент* **.NET MAUIBlazor Hybrid** через промежуточный MQTT (например через бесплатный сервис MQTT [hivemq.cloud](https://console.hivemq.cloud/)). Поддерживаемые платформы: Windows, Android. Полноценный клиент, который ни чем не уступает локальному/серверному web клиенту. Если быть точным, то это буквально одно и то же решение Blazor с той лишь разницей, что серверный web клиент общается с сервером посредствам REST/API, а удалённый клиент делает то же самое через промежуточный MQTT сервер. Важное ограничение в том, что штатные удалённые клиенты не имеют возможности редактировать серверные настройки MQTT (для этого пригоден TelegramBot доступ).
Сервер + клиент для доступа к контроллерам умного дома [ab-log](https://ab-log.ru/) (а так же доступ через TelegramBot):
- *Серверная часть* **ASP NET8**. Поддерживаемые платформы: Linux, Windows, Mac. Сервер имеет свой полноценный WEB интерфейс. При желании серверный WEB.UI можно использовать без использования клиента удалённого доступа.
- *Интерактиный доступ* к серверу через **TelegramBot**. Если сравнивать этот вариант взаимодействия с штатным клиентом удалённого доступа, то функционал тут не полноценный. Однако: удалённый доступ к серверным настройкам MQTT возможен только через телегу. Разумеется MQTT настройки сервера можно установить локально через его же WEB интерфейс, но для удалённого редактиирования этих настроек через интернет потребуется Telegram. Штатный клиент удалённого управления не имеет доступ к этим настройкам потому что все клиенты в этом контексте равноправны, а клиенты телеги унифицированы.
- *Удалённый клиент* **.NET MAUIBlazor Hybrid** через промежуточный MQTT (например через бесплатный сервис MQTT [hivemq.cloud](https://console.hivemq.cloud/)). Поддерживаемые платформы: Windows, Android. Полноценный клиент, который ни чем не уступает локальному/серверному web клиенту. Если быть точным, то это буквально одно и то же решение Blazor с той лишь разницей, что серверный web клиент общается с сервером посредствам вызовов своего же REST/API, а удалённый клиент делает то же самое, но через промежуточный MQTT сервер. Важное ограничение в том, что штатные удалённые клиенты не имеют возможности редактировать серверные настройки MQTT (для этого пригоден TelegramBot доступ).

## План
- [x] Локальный WEB клиент для серврной части
Expand All @@ -17,16 +17,16 @@
## Настройка сервера

### Требования
Серверная часть представляет из себя **ASP.NET8** приложение (порт по умолчанию 5000) + клиентский Blazor UI.
Серверная часть представляет из себя **ASP.NET8** приложение (порт по умолчанию 5000) со своим собственным веб клиентом `Blazor UI`.
Для Linux или Windows рекомендуется сконфигурировать работу приложения в качестве службы.
Есть рабочий [пример файла](https://github.com/badhitman/AbLog/blob/main/AbLogServer.Server/ab-log.service) демона под Linux, но вы можете сконфигурировать службу по своему усмотрению.

### TelegramBot conf
Клиент Telegram (по сравнению с клиентами удалённого доступа) хоть и ограничен в плане функциональности, но имеет несколько важных преимуществ.
1. Удалённая настройка MQTT сервера возможна только через телегу. Штатные удалённые клиенты как и серверная часть кинфигурируют только своё персональное/локальное MQTT подключение. Для возможности удалённо настраивать MQTT для серверного приложения без доступа к нему локально - потребуется доступ через Телегу.
2. Отсутсвуют лимиты на трафик в отличие от MQTT, где такое ограничени может быть. Например предлагаемый [hivemq.cloud](https://console.hivemq.cloud/) в бесплатной версии ограничен 10GB в месяц (это много, но всё же).
2. Отсутсвуют лимиты на трафик в отличие от MQTT, где такое ограничени может быть. Например предлагаемый [hivemq.cloud](https://console.hivemq.cloud/) в бесплатной версии ограничен 10GB в месяц (это очень много, но всё же).
3. Для телеги есть возможность разграничить права персонально для каждого клиента персонально в то время как штатные клиенты удалённого доступа все равны между собой и имеют одинаковый полный доступ к удалённой системе.
4. Получение уведомлений от удалённой системы. Штатные клиенты удалённого доступа в этом плане пасивны. Клиент удалённого доступа не получает уведомлений если не запущен.
4. Получение уведомлений от удалённой системы. Штатные клиенты удалённого доступа в этом плане пасивны. Клиент удалённого доступа не получает уведомлений пока не запущен, ну и при закрытии клиента уведомления туда не могут быть доставлены, в то время как Телега всегда оповестит и даст возможность оперативно среагировать.

![Конфигурация TelegramBot](/docs/img/telegram-bot-conf.jpeg)
Прежде всего нужно указать токен TelegramBot и включить автозапуск (если планируется использовать телегу). Ручной запуск/перезапуск/остановка службы TelegramBot недоступен. Для того что бы бот запустился нужно указать токен, включить автозапуск (разумеется сохранить настройки) и перзапустить сервреное приложение. Бот стартует при запуске самого приложения (если включён автозапуск). Кнопка "Проверка токена" только проверяет корректность токена, но не запускает фоновую службы бота.
Expand Down

0 comments on commit d39f2bd

Please sign in to comment.