Пример Arduino с OpenHab MQTTНе прошло и месяца, как у меня родилась идея интегрировать мой проект в систему домашней автоматизации openHAB. И вот уже первый результат.

Интеграция прошла успешно, не все еще реализовано, но большой первый шаг уже сделан.
В данной статье я не буду рассказывать, как установить/настроить openHAB, об этом будет (надеюсь будет) отдельная статья/статьи.

Эта статья просто ознакомительная, для понимания, что получилось на данном этапе.

И так чуть поподробнее.

Система домашней автоматизации openHAB, достаточно наворочена и сложена в понимании. Подробных описаний с наглядными примерами почти нет, поэтому будем учиться сами. Для интеграции моего проекта "Mega&Nano автоматизация" с openHAB, был выбран протокол MQTT, и добавлен в прошивку ESP8266. На данный момент эта прошивка тестируется, поэтому в доступе ее пока нет. 

Теперь кратенько про MQTT. MQTT это сетевой протокол основанный на передаче сообщений, между сервером и конечным устройством. Для этого используются так называемые "топики". "топик" это по сути адрес указывающий куда/откуда идут данные. 

Для того чтоб устройство могло принимать данные с сервера нужно организовать подписку на нужный топик и дальше сервер будет посылать обновленные данные/статусы по данному "топику".

Для отправки данных на сервер, они тоже привязываются к определенному "топику". 

Фактически на ESPшке реализован сетевой шлюз MQTT и с помощью нее можно передавать практически все данные с ардуино (значение АЦП/ADC, температуры, влажности, состояние входов и выходов, даже счетчиков). А вот управлять контроллером ардуино с openHab-а, можно только через сигналы Ex_n. Что такое "сигналы Ex_n " описано тут.

Режим работы и подписок, а также, что передавать на сервер, настраивается через WEB-интерфейс. Если MQTT не нужен, его можно отключить, дабы не загружать сеть не нужными данными.

Вот видео как это работает:


На openHab-е создано два устройства и они привязаны к топикам "dev_232" и "dev_test".
Каждое устройство сконфигурировано для приема данных с входных сигналов In_3 и In_4 и  управление сигналами Ex_1 и EX_2.

Контроллер ардуино настроен так что состояние выходов Out_1 и Out_2 привязаны к состояниям сигналов EХ_1 и Ex_2 соответственно.

На видео видна реакция  openHab-а на входные сигналы In_3 и In_4, а при переключении переключателей зажигаются соответствующие светодиоды. 

Также по ходу видео, я меняю настройки "топиков" и фактисески перепривязываю устройстао на базе контроллера ардуино к разным зонам в системе openHab.

Если есть вопросы и/или предложения, то можете озвучить их в комментариях.

Авторское право © 2024 cto40.ru Все Права Защищены.