Простой способ создать умный датчик

от автора

В этой статье переделываем датчик открытия окон и дверей Tuya в условно универсальный. Задача была в управлении из приложения умного дома приточно-вытяжной вентиляцией Daikin, а сложность в том что управляется эта приточка пультом BRC1D52 (фото 1) по закрытому протоколу связи через 2 провода, через которые этот пульт также получает питание. 2 провода и всё. Осциллограф показал что нужно что-то серьезное курить, а тех веществ которыми снабжают инженеров Daikin мне не достать. А нужно как минимум включить-выключить и видеть состояние.

Фото 1. Пульт управления приточками и кондиционерами Daikin.

Фото 1. Пульт управления приточками и кондиционерами Daikin.

Первая задача решилась сразу, я припаял к кнопке включения-выключения на плате пульта (Рис.2) 2 проводка и подключил их к ZigBee реле, для того чтобы включить приточку нужно реле замкнуть, подождать 2 сек, и разомкнуть. Выключить точно так же. Первый шаг сделан, но полноценным решением это конечно не является: вдруг один из двух сигналов не долетит по воздуху, получится как будто кнопку нажали но не отпустили. С этим справился тоже легко — создал сценарий который срабатывает через 10 сек после включения реле и принудительно выключает — чуть лучше. Но полноценное решение предполагает во первых визуальный контроль состояния устройства, во вторых простое управление — приточка должна выглядеть как устройство на котором видно его состояние и есть кнопки вкл-выкл, а не объяснять детям хитрые конвенции и сценарии. Для контроля состояния нужен некий датчик, и с ним проблема: какой датчик и куда его подключить.

Первая мысль — взять ESP32 и сделать самому. У меня уже давно прошел романтический период с микроконтроллерами, осталось примерно такое: купить новую отладочную плату, разобраться с подключением программатора, поморгать светодиодом, после чего плату положить в депозитарий, завести карточку на эту ячейку, пойти в бар отметить. Я не занимался МК профессионально, и не планирую, а для кругозора и уверенности в себе что всё шмагу когда очень нужно будет — сойдёт.
Во вторых каким бы ни был запас юношеского энтузиазма, любой инженер чуть раньше чуть позже просекает что лучше стырить готовое чем делать своё. Схема — это долго и муторно, сначала макет, потом плата, и потом грусть когда сравниваешь свою паковку с профессиональным монтажом, а ради одной штуки с PCB-сервисом неохота возиться.

В любом случае, прежде чем что-либо делать, нужно понять что именно и как потом это подключить. Я слазил в приточку, посмотрел в исполнительный контроллер, никаких очевидных зацепок не нашел, потом узнал сколько он стоит — и решил оставить его в покое. Осталась последняя идея — LED-индикатор на пульте, он показывает состояние, нужно эту информацию просто снять. Напряжение на включенном светодиоде около 1.25В (Рис.2), для реле совсем мало, кроме того реле захочет минимум 30мА тока, и не хочется индуктивностью испытывать плату, а довольно чувствительном месте (близко к МК). Поэтому взял транзисторный оптрон 817, 1.2В для него оказалось достаточно — через резистор 10 Ом оптрон открылся до 120 Ом, более чем достаточно, оптрон не создает ни ёмкости ни индуктивности, и ток всего 9мА! Итак есть индикативный сигнал, а через выход оптрона я могу уже многое сделать.

Рис. 2. Установочные места кнопки и LED-индикатора в пульте

Рис. 2. Установочные места кнопки и LED-индикатора в пульте

Освежив в памяти какие вообще бывают умные датчики, меня заинтересовал датчик закрытия дверей и окон, взял один такой и сразу разобрал, быстро нашел на плате датчик холла и выпаял его (Рис.3). По умолчанию датчик показывает состояние «открыт», если замкнуть дорожки с выводов 2 и 3 датчика холла — датчик очень быстро переходит в состояние «закрыт» — бинго! Припаял провода от выхода оптрона, добавил резистор 1 кОм чтобы не коротить, и всё заработало! Батарейку CR2032 достал, питание подал от блока питания 12В через стабилизатор 1117 (3.3В), этот блок уже там был задействован для питания исполнительного реле замыкания кнопки пульта (Рис.4).

Рис.3. Подключение вывода оптрона вместо датчика Холла

Рис.3. Подключение вывода оптрона вместо датчика Холла
Рис.4. Подключение питания 3.3В

Рис.4. Подключение питания 3.3В

Ну и самая приятная часть, собрать всё и написать сценарии в УДЯ. Для индикации состояния и управления добавлено второе стандартное ZigBee реле 220В в качестве переключателя, физически оно подключено только к питанию, и через сценарии должно отображать статус приточки и давать возможность выключить. Сценарии на включение на Рис.5 и 6. На выключение сценарии симметричны.

Рис.5. Сценарий 1С

Рис.5. Сценарий 1С

Сценарий 1 синхронизирует статус датчика (Датчик приточки) и переключателя (устройство Приточка) на случай если вентиляция была включена через пульт вручную.

Рис.6. Сценарий 2

Рис.6. Сценарий 2

Сценарий 2 осуществляет физическое управление пультом, что приводит к включению приточной вентиляции. Помимо уже упомянутых переключателя и датчика здесь присутствует исполнительное реле Приточкатолькодлясценар, которое замыкает кнопку на пульте, имитируя его нажатие. Это реле не предполагает ручного управления в приложении умного дома.

Вуаля! Теперь голосовое управление и другие сценарии могут обращаться просто к устройству Приточка, также можно включить и выключить вручную на штатном пульте.

Подобным образом на основе датчика открытия окон и дверей можно создать и другие датчики состояния, подключив показания сенсора вместо датчика Холла.

ссылка на оригинал статьи https://habr.com/ru/articles/1043648/