Дайджест по самоделкам: sonoff powr2, контроль воды в доме и ESP32-CAM

Снова затянул с заметками по новым самоделкам для “умного дома” – хотя кое-что работает уже месяц или около того – так что сделаю очередную заметку “обо всем понемногу”.

Начну с простого, перешивка Sonoff POWR2. Давно назревала необходимость отложенного запуска стиральной машины внешними средствами: штатно она такого не умеет; если запускать стирку перед сном – значит, белье потом будет всю ночь лежать влажное в машине и появляется неприятный запах. Ну а стирка в дневное время зачастую неудобна, так как стираю в том числе те вещи, которыми активно пользуюсь. В общем, нужен таймер.

Хотел использовать перешитый ранее Sonoff Basic, но тот что-то вообще плохо стал себя вести, не подключался к wifi и т.п. В свою очередь, были купленные когда-то на Али Sonoff POWR2, которые несколько лет уже лежали без дела. Можно было пустить в ход, а бонусом была бы статистика по потреблению.

Базой для перешивки послужила эта статья. Механизм перепрошивки тот же – я даже уже не отсоединяю гребенку с проводами от pl2303. Делаем конфиг в ESP Home, получаем бинарник, разбираем Sonoff, держим кнопку / подключаем pl2303, заливаем бинарник через https://web.esphome.io. Тема с засветкой синего светодиода при наличии нагрузки очень удобна. Сам конфиг поменял минимально под свои требования:

washing_machine.yml

Дальше исполнительное устройство добавилось в Home Assistant как обычно, а основная работа была над созданием автоматизации:

  • Добавляем в “Настройки – устройства – вспомогательное”  переключатель “Отложенный запуск стиралки”.
  • Идем в “Настройки – автоматизации”, добавляем новую:

Все! Теперь перед сном закидываю белье в машину, включаю программу / питание / воду и жму одну кнопку в HA. В 8 утра начинается стирка, а к моему подъему белье уже выстирано. При необходимости стирки “прямо сейчас” можно просто по месту нажать на кнопку на Sonoff’е и пользоваться стиралкой как обычно.


Другим интересным проектом была обвязка вокруг счетчиков газа и воды, позволяющая получать значения расходов в Home Assistant с обычных механических счетчиков без какой-либо электроники внутри. Отсылка на проект была в разделе “Энергия” в HA; заинтересовало, заказал на Aliexpress 3 модуля ESP32-CAM, а уже потом начал думать, куда именно их применить – и в ход пошли все 3 :). Для 3d-печати использовал эти проекты:

В случае с газом напечатал пару запасных сегментов и сначала пытался использовать хомут. В итоге оказалось проще прикрутить конструкцию не за хомут (счетчик у меня все равно отличается), а проделать пару отверстий в сегментах и прикрутить на находящийся рядом кухонный ящик.

Собственно, как раз для этого проекта сделал специальный переходник, так как “материнскую плату” для ESP32-CAM я не покупал. Дальше все просто: скачиваем готовый бинарник с сайта проекта, открываем веб-инсталлятор, подключаем все, заливаем прошивку. Далее идет первоначальная настройка, во время которой надо распаковать на microsd-карту содержимое специального архива, где находятся куски веб-интерфейса и прочие сервисные данные. Да, на момент написания в веб-интерфейсе нет возможности сменить wifi-точку доступа для подключения, так что при необходимости в дальнейшем это надо будет делать исключительно руками.

Во время настройки (это был первый опыт с этой системой) заметил, что подсветка дает блик на пластике дисплея счетчика, поэтому разместил контроллер немного под углом. В принципе, газовый счетчик оказался самый простой в настройке – исключительно цифровые источники данных; вопрос с бликом решился изменением угла – да, в общем-то и все. Даже расфокусированность картинки особо не помешала: я пытался в собранном виде покрутить линзу фокусировки, но не получилось – как выяснилось позже, там достаточно хорошо приклеено.

С водяными счетчиками все было гораздо веселее. Во-первых, конструкция. То, что распечатал, как и в случае с газовым счетчиком, было не предназначено под мой водяной. Вопрос решил, сделав “пояс” между нижней пластиковой частью и счетчиком из банки от консервированных ананасов и подкрепив его парой пластиковых стяжек. А вот при настройке словил уже кучу проблем другого рода с общим истоком: блик на стекле счетчика от светодиода подсветки. Так как камера и светодиод подсветки находились четко напротив стекла, то в нем отражалась как сама подсветка, так иногда и начинка платы. Дальше был ряд экспериментов на несколько дней. Перепробовал всё: размещал рассеиватели напротив светодиода (фольга, слабый картон, плотный картон, матовая пленка), делал их разных форм и так далее. Все варианты дополнительно пробовались с разными настройками распознавания – уровень подсветки, яркость / контрастность и т.п. Но получал только постоянные сбои, ошибки выравнивания и так далее.

Итог всех изысканий: внутренняя поверхность стакана конструкции выложена фольгой от шоколадки. Напротив светодиода разместил картонку так, чтобы она блокировала прямой луч от светодиода к стеклу, но при этом на ту же картонку наклеил полоску той же фольги, чтобы она была отражателем. Вышло так:

Малый отражатель – в левом верхнем углу посадочного места для контроллера.

И вот только после этого получилась плюс-минус вменяемая картинка. Пришлось дополнительно поработать с фокусом. С основным счетчиком ситуация осложнялась еще тем, что стекло было в царапинах, поэтому распознавание там чуть хуже. Но в основном – все работает. Отражатели подкрепил силиконом и на этом все закончилось. А вот для интеграции в Home Assistant пришлось освоить подключение к MQTT. Благо есть свой jabber-сервер на базе ejabberd, который может выступать и MQTT-сервером. Добавил секцию в конфиг, прописал все в HA и в настройках камеры – работает!

В общем, основное во всей этой истории – нужно максимально вытягивать качество картинки. То, что с газовым счетчиком сходу заработало – удача. И все равно там надо будет попробовать поиграться с фокусировкой.


И последнее, что сделал – а по хронологии это вроде как была самая первая конструкция – это блок управления и контроля для сантехники на ввод воды в доме.

Тут история более длинная; стыки с ФУМом после почти 5 лет беспроблемной работы начали подтекать, так что давно в список работ добавил себе переделать ввод воды в дом. Потом – уже когда даже купил фитинги для переделки – попались на глаза датчики протока и датчик давления (который потом применил и в гроте), заказал, дождался.  В итоге решил ставить 3 элемента: проток, давления и сервокран – у меня их осталось несколько штук еще со времен заказа для поливного коллектора. Выбрал день, начал переделку с учетом всех датчиков. Первый раз делал без особых замеров и планирования – часть деталей была новая, часть должна была использоваться из того, что уже стояло; вышло не особо красиво:

Вытянутая и не особо жесткая конструкция, и все равно в паре мест были протечки; кроме того, собранная конструкция была неремонтопригодна – редуктор находился слишком близко к верхней трубе. Как выяснилось уже гораздо позже, одна из протечек была по причине микротрещины в корпусе обратного клапана. А вот что выяснилось достаточно быстро – это неправильное размещение датчика протока. Если он находится до гидроаккумулятора, то последний сглаживает расход и в статистике даже слив бачка в туалете практически не отображается.

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

Вышло как-то так:

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

К функциям управляющего модуля решил добавить еще датчик протечки – простейшая схема на КТ3102, где сенсор включен в цепь смещения транзистора. Управление сервокраном сделал по привычной схеме H-моста на первых попавшихся транзисторах (КТ814/КТ815 и что-то типа КТ3102/КТ503 в качестве управления).

Схему, похоже, не зарисовал. Судя по фото, смещение у моста по 15 КОм (зеленые резисторы. Но, помнится, я номинал еще уменьшал – наверное, напаял с обратной стороны). Датчики давления и протока подключены через делители – 4,7/4,7 КОм в первом случае (АЦП работает только до 2,5В) и 4,7/10 КОм во втором (5->3.3V).

Прошивка, как обычно, на базе ESP Home.

Добавить комментарий