Не прошло и месяца, как у меня родилась идея интегрировать мой проект в систему домашней автоматизации 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.
Если есть вопросы и/или предложения, то можете озвучить их в комментариях.