Очень длинный проект для лестницы в доме
Изначально была идея сделать что бы ступени лестницы подсвечивались бегущими огнями вверх и вниз а зависимости от того с какой стороны к ней подошёл. Эта идея была ещё на этапе стройки и ради этого были выбраны желоба под размер светодиодной ленты RGBW) для встраивания в ступени снизу и под них выпилены сами желоба в ступенях. Кроме того, под лестницу были выведены провода для питания и управления, то есть было план поставить изначально Arduino, потом Raspbery PI вместе с блоками питания по площадку лестницы. Однако, проект наткнулся на непредвиденные сложности. Оказалось, что сделать провода аккуратно практически не реально. Вторая проблема была в датчиках движения: под них не были заложены провода в стенах, а подвести их скрытно к нужным местам установки оказалось тоже крайне сложно, особенно на втором этаже. В результате проект встал на долгую паузу.
Ну и вот в прошлом году возникла идея освоить технологию Zigbee. Дело в том, что я уже был вынужден применять беспроводное управление реле и получение информации с датчиками через WiFi и в процессе эксплуатации этого решения я столкнулся с эпизодическими «тормозами» устройств, а так же всплыла проблема, что некоторые устройства привязываются не к сети, а а конкретной точке доступа, так что, настраивать их было вот прямо неудобно.
Zigbee специальный протокол лишенный недостатков обычного WiFI, особенно для датчиков. Датчики там передают сообщения мгновенно и при этом батарейки заявлено, что хватает на долгие годы из-за малого потребления. К сожалению в РФ доступны только версии с диапазоном только 2,4ГГц, но всё же с WiFi они прекрасно уживаются совместно. Дальше дело стало за тем, что цена набора шлюза и датчиков Zigbee меня ни разу не радовали и я счёл такой вариант не оправданно дорогим. Однако, в конце прошлого года случились существенные скидки на комплект Xiaomi YTC4034RU, так что цена на комплект из шлюза на базе ARM7 с Linux на борту, с динамиком, кнопкой, датчиком освещённости и подсветкой стоила меньше 3к₽ при обычной цене 5к₽, что тоже не так дорого, как тоже самое по отдельности. Однако, ложка дёгтя тут была в том, что российская версия не имеет доступа для разработчиков, который можно получить через мобильное приложение. А использовать этот шлюз через облака Сяоми меня как-то не интересовало как вариант для использования. Так что, задача была получить доступ к Linux который стоит в устройстве и исправить ему настройки и поменять некоторые файлы.
Для того что бы это сделать пришлось использовать интерфейс USB-RS-232 с переходом напряжения с 5 на 3,3 Вольта типичного для СMOP вместо TTL.
Методика получения полноправного доступа к устройству описана тут. Суть там простая: загрузчику указать чуть другие параметры, зайти на устройство, запустить на нём sshd (он там называется dropbear) и настроить wifi для того тчо бы потом просто через ssh подключаться через сеть, а не через провода припаянные.
После того как доступ удалось получить есть два пути: либо поменять один файлик что бы работало через протокол Miio с HomeAssistant, либо просто поменять на корню прошивку поставив OpenWRT с удобным интерфейсом для Zigbee устройств и MQTT клиентом для подключения к любым системам умного дома. По-началу я пошёл по первому пути и получил массу проблем, начиная с битых файлов! То есть, просто файлы не читались. На пляски вокруг «простого пути» я потратил, наверное, неделю, если не две раздумий. Однако, постепенно я пришёл к мысли, что MQTT более универсален да и OpenWRT весьма хорош. Так что, я последовал этим путём. То есть, после получения доступа к устройству достаточно ввести просто команду, которая скачает из сети дистрибутив и установит его на устройстве (что может быть проще Cut-Paste?).
После установки и настройки OpenWRT можно подключиться к отдельной панели управления Zigbee устройствами:
ну и далее остаётся настроить MQTT как описано здесь (в файлике прописать MQTT сервер и дальше через web-морду подключать устройства).
Далее в OpenHAB можно описывать элементы при этом контакты датчиков дверей заводятся именно как контакты, а вот срабатывания датчиков движения как выключатели.
Из забавного, конечно, работа кнопки: она понимает от 1 до 4х коротких нажатий и одно длинное!!! То есть 5 сигналов ей можно подать, но я не смог придумать как её использовать ибо на практике это невозможно же помнить!
После того как я убедится что «датчики присутствия» — это просто датчики движения с задержкой в 2 минуты прошитой жётско в них (в подобном устройстве на KNX можно устанавливать и чувствительность и задержки разные, но оно сильно дороже) возникла идея управлять подсветкой не напрямую, с отдельными таймерами — это тоже возможно, конечно в правилах OpenHAB.
Итого вместо «бегущих лесенок» задуманных 6 лет назад вышла вот такая простенькая гирлянда, но она позволяет не включать освещение на лестнице ночью, да и просто радует глаз.