В этой статье переделываем датчик открытия окон и дверей Tuya в условно универсальный. Задача была в управлении из приложения умного дома приточно-вытяжной вентиляцией Daikin, а сложность в том что управляется эта приточка пультом BRC1D52 (фото 1) по закрытому протоколу связи через 2 провода, через которые этот пульт также получает питание. 2 провода и всё. Осциллограф показал что нужно что-то серьезное курить, а тех веществ которыми снабжают инженеров Daikin мне не достать. А нужно как минимум включить-выключить и видеть состояние.
Первая задача решилась сразу, я припаял к кнопке включения-выключения на плате пульта (Рис.2) 2 проводка и подключил их к ZigBee реле, для того чтобы включить приточку нужно реле замкнуть, подождать 2 сек, и разомкнуть. Выключить точно так же. Первый шаг сделан, но полноценным решением это конечно не является: вдруг один из двух сигналов не долетит по воздуху, получится как будто кнопку нажали но не отпустили. С этим справился тоже легко — создал сценарий который срабатывает через 10 сек после включения реле и принудительно выключает — чуть лучше. Но полноценное решение предполагает во первых визуальный контроль состояния устройства, во вторых простое управление — приточка должна выглядеть как устройство на котором видно его состояние и есть кнопки вкл-выкл, а не объяснять детям хитрые конвенции и сценарии. Для контроля состояния нужен некий датчик, и с ним проблема: какой датчик и куда его подключить.
Первая мысль — взять ESP32 и сделать самому. У меня уже давно прошел романтический период с микроконтроллерами, осталось примерно такое: купить новую отладочную плату, разобраться с подключением программатора, поморгать светодиодом, после чего плату положить в депозитарий, завести карточку на эту ячейку, пойти в бар отметить. Я не занимался МК профессионально, и не планирую, а для кругозора и уверенности в себе что всё шмагу когда очень нужно будет — сойдёт.
Во вторых каким бы ни был запас юношеского энтузиазма, любой инженер чуть раньше чуть позже просекает что лучше стырить готовое чем делать своё. Схема — это долго и муторно, сначала макет, потом плата, и потом грусть когда сравниваешь свою паковку с профессиональным монтажом, а ради одной штуки с PCB-сервисом неохота возиться.
В любом случае, прежде чем что-либо делать, нужно понять что именно и как потом это подключить. Я слазил в приточку, посмотрел в исполнительный контроллер, никаких очевидных зацепок не нашел, потом узнал сколько он стоит — и решил оставить его в покое. Осталась последняя идея — LED-индикатор на пульте, он показывает состояние, нужно эту информацию просто снять. Напряжение на включенном светодиоде около 1.25В (Рис.2), для реле совсем мало, кроме того реле захочет минимум 30мА тока, и не хочется индуктивностью испытывать плату, а довольно чувствительном месте (близко к МК). Поэтому взял транзисторный оптрон 817, 1.2В для него оказалось достаточно — через резистор 10 Ом оптрон открылся до 120 Ом, более чем достаточно, оптрон не создает ни ёмкости ни индуктивности, и ток всего 9мА! Итак есть индикативный сигнал, а через выход оптрона я могу уже многое сделать.
Освежив в памяти какие вообще бывают умные датчики, меня заинтересовал датчик закрытия дверей и окон, взял один такой и сразу разобрал, быстро нашел на плате датчик холла и выпаял его (Рис.3). По умолчанию датчик показывает состояние «открыт», если замкнуть дорожки с выводов 2 и 3 датчика холла — датчик очень быстро переходит в состояние «закрыт» — бинго! Припаял провода от выхода оптрона, добавил резистор 1 кОм чтобы не коротить, и всё заработало! Батарейку CR2032 достал, питание подал от блока питания 12В через стабилизатор 1117 (3.3В), этот блок уже там был задействован для питания исполнительного реле замыкания кнопки пульта (Рис.4).
Ну и самая приятная часть, собрать всё и написать сценарии в УДЯ. Для индикации состояния и управления добавлено второе стандартное ZigBee реле 220В в качестве переключателя, физически оно подключено только к питанию, и через сценарии должно отображать статус приточки и давать возможность выключить. Сценарии на включение на Рис.5 и 6. На выключение сценарии симметричны.
Сценарий 1 синхронизирует статус датчика (Датчик приточки) и переключателя (устройство Приточка) на случай если вентиляция была включена через пульт вручную.
Сценарий 2 осуществляет физическое управление пультом, что приводит к включению приточной вентиляции. Помимо уже упомянутых переключателя и датчика здесь присутствует исполнительное реле Приточкатолькодлясценар, которое замыкает кнопку на пульте, имитируя его нажатие. Это реле не предполагает ручного управления в приложении умного дома.
Вуаля! Теперь голосовое управление и другие сценарии могут обращаться просто к устройству Приточка, также можно включить и выключить вручную на штатном пульте.
Подобным образом на основе датчика открытия окон и дверей можно создать и другие датчики состояния, подключив показания сенсора вместо датчика Холла.
ссылка на оригинал статьи https://habr.com/ru/articles/1043648/