На главную

Комментарии

анонимно

Бежит-бежит водичка

Увлёкся я тут умным домом. Ну как увлёкся - услышал от коллег, заинтересовался. Поднял себе Home Assistant в контейнерах на NAS-e. Поигрался - прикольно. Развернул полноценную виртуалку, заказал пару первых датчиков... Ну и понеслось :)

А зачем это вообще?

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

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

Потом прибавились агенты на телефонах и лэптопе у Санька - стало проще следить за временем в интернете и за играми: всё собрано на одном дэшборде.

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

Контроль потребления

Есть в HA встроенный дэшборд для контроля за потреблением воды/газа/электричества и это очень интересная фича.

Счётчики газа и электричества находятся в шкафу в подъезде и они полностью электронные. Т.е. сами подают сведения о потреблении поставщику и он каждый месяц присылает актуальный счёт за услуги. Местное изобретение в этих счётчиках - стандартизированный порт P1, к которому можно подключить своё устройство для сбора телеметрии. Такое устройство можно собрать и запрограммировать и самому, но готовое можно купить не сильно дороже исходников. Девайс подключается к домашнему wi-fi и после настройки начинает слать статистику потребления электричества/газа, причём даже с учётом дневного/ночного тарифов.

С водой дело обстоит иначе (по крайней мере, у меня). Счётчик - классический аналоговый. Потребитель сам оценивает плановое потребление в месяц, а в конце года - доплачивает разницу/получает назад переплаченное.

У меня счётчик вот такой

Собственно, рассказ сегодня про небольшой DIY проект для сбора показаний со счётчика воды (ну или любого другого аналогового).

Как дело было

В целом, устройства для оцифровки показателей аналоговых счётчиков тоже можно найти в интернете. Однако, я в своих поисках наткнулся на opensource-проект AI on the edge device, посвящённый как раз этому. Смысл проекта в том, что камера устройства с заданной периодичностью делает снимок табло счётчика. Пользователь размечает эту картинку таким образом, чтобы система знала, в каких местах расположены цифровые значения, а в каких - циферблаты. Потом она эти участки нарезает на отдельные картинки и пытается распознать с помощью специально обученной модели.

Я полазил в сети, почитал отзывы и всякие "тонкости" (типа того, как правильно выбрать плату контроллера или разблокировать камеру для более короткого фокусного расстояния).

Подобрал и заказал на али подходящую плату ESP32-CAM с камерой и нужным объемом памяти. Когда она приехала - разобрался с драйверами на Mac и прошивкой через ESP-HOME. Предстояло самое интересное - придумать, как же это всё стабильно зафиксировать перед счётчиком, чтобы можно было настроить распознавание.

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

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

Мистер Старк одобряе

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

Также удалось аккуратно прокинуть туда проводок и прикрутить розетку для полноценного питания.

Интерфейс системы простой и понятный:

Красным цветом отмечены маркеры для правильной ориентации и масштабирования изображения. Относительно них система находит цифровые сегменты (синие) и циферблаты (зелёные), которые потом в нужном порядке складывает в окончательное значение.

Интересно, что значения распознаются с учетом сдвига барабана с цифрами и положения стрелок между целыми значениями. Очень круто!

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

,

← Вернуться к журналу "Узелки на память..."

Комментарии