Умный счетчик воды на ESP32 с импульсным выходом для Алисы
- Автоматический сбор и передача показаний холодной и горячей воды без ручного списывания цифр
- Раннее обнаружение скрытых микропротечек и незакрытых кранов по непрерывному расходу
- Голосовое информирование Алисы о расходе за сутки, неделю или месяц в литрах и рублях
- Бюджетная себестоимость модернизации существующих квартирных счетчиков (в 5–7 раз дешевле заводских LoRaWAN/NB-IoT модемов)
- Необходимы базовые навыки пайки и сборки простой схемы согласования импульсного выхода
- Требуется наличие розетки или подведение питания 5V/12V в сантехнический шкаф
- Плата микроконтроллера должна находиться в сухом месте либо в герметичном корпусе IP65 из-за влажности
- Импульсный выход водосчетчика замыкает геркон каждые 10 литров (или 1 литр), формируя дискретные импульсы для **ESP32**.
- Аппаратная цепочка RC (резистор `10 кОм` и конденсатор `100 нФ`) в сочетании с программным фильтром debounce в ESPHome исключает ложные подсчеты от механического дребезга.
- Через интеграцию Home Assistant текущий расход и суммарные кубометры пробрасываются в «Дом с Алисой», позволяя запускать аварийные сценарии и голосовые отчеты.
Ежемесячное ручное переписывание показаний счетчиков холодной и горячей воды с фонариком под раковиной отнимает время, но главная опасность заключается в другом. Сорванный гибкий шланг, трещина в колбе фильтра или заклинивший клапан инсталляции унитаза способны часами незаметно сливать воду в канализацию. Стандартный датчик протечки на полу не зафиксирует аварию до тех пор, пока вода не перельется через край чаши.
Сборка DIY умного счетчика воды на ESP32 с импульсным выходом для Алисы решает обе задачи: контроллер точно считает каждый литр расхода, передает кубометры в приложение и позволяет ассистенту перекрыть вводные краны при непрерывном потоке воды. По такому же принципу мы ранее настраивали умный счетчик электроэнергии на ESP32 и PZEM-004T для Алисы.
Принцип работы импульсного водосчетчика
Бытовые расходомеры брендов ITELMA, Бетар, Valtec, Декаст и Метер оснащаются импульсным выходом на базе сухого контакта (геркона). Внутри механической счетной головки закреплен небольшой постоянный магнит. При прохождении через камеру заданного объема воды магнит замыкает геркон, формируя дискретный электрический сигнал.
Цена деления (вес импульса)
Перед подключением необходимо уточнить цену импульса по паспорту прибора:
10 литров / импульс(0.01 м³/имп): Стандарт для 90% квартирных счетчиков диаметром DN15. Одно замыкание соответствует десяти литрам воды.1 литр / импульс(0.001 м³/имп): Встречается в высокоточных версиях приборов Valtec.100 литров / импульс(0.1 м³/имп): Общедомовые узлы диаметром DN25 и более.
| Модель расходомера | Тип контакта | Вес импульса | Предельный ток |
|---|---|---|---|
| ITELMA WFK24 | Геркон (сухой контакт) | 10 л/имп | 50 мА |
| Бетар СХВ-15Д | Геркон с резистором | 10 л/имп | 20 мА |
| Valtec VLF-R | Геркон (сухой контакт) | 10 л/имп | 100 мА |
| Декаст ВСКМ | Геркон защищенный | 10 л/имп | 40 мА |
NOTE
Геркон гальванически полностью изолирован от воды и металлических труб, что гарантирует электробезопасность сантехнического шкафа.
Схема согласования и защита от дребезга контактов
Механические лепестки геркона при замыкании вибрируют в течение нескольких миллисекунд. Быстрый микроконтроллер ESP32 с частотой 240 МГц воспринимает эту вибрацию как пачку из десятков ложных импульсов. Для устранения ошибки применяется RC-фильтр и программный debounce.
Необходимые детали для сборки:
- Плата ESP32 NodeMCU Type-C;
- Два подтягивающих резистора
10 кОм(Pull-Up к шине3.3 В); - Два защитных резистора
1 кОмпоследовательно с сигнальной линией; - Два керамических конденсатора
100 нФдля фильтрации высокочастотных всплесков; - Блок питания на DIN-рейку
5 В 1 А(Mean Well HDR-15-5).
+3.3V (ESP32)
|
[R1: 10 кОм]
|
+-------------[R2: 1 кОм]--------> GPIO18 (ESP32)
| |
Вход ХВС | === C1: 100 нФ
(Провод 1) --------+ |
|
Вход ХВС GND (ESP32)
(Провод 2) --------------------------------------------+
WARNING
Никогда не подключайте подтяжку к контакту 5 В! Предельное напряжение на входах ESP32 составляет строго 3.3 В.
Настройка прошивки ESPHome
Для интеграции используем платформу pulse_counter в открытой операционной системе ESPHome. Накопленные кубометры сохраняются в энергонезависимой памяти flash.
substitutions:
node_name: "water-meter-node"
esphome:
name: ${node_name}
esp32:
board: esp32dev
framework:
type: esp-idf
wifi:
ssid: "SmartHome_IoT"
password: "SecretWiFiPassword"
globals:
- id: cold_water_base
type: float
restore_value: yes
initial_value: "142.58"
- id: hot_water_base
type: float
restore_value: yes
initial_value: "86.21"
sensor:
- platform: pulse_counter
pin:
number: GPIO18
mode:
input: true
pullup: true
name: "Расход холодной воды"
id: cold_flow
unit_of_measurement: "л/мин"
update_interval: 5s
filters:
- debounce: 0.04s
- multiply: 10.0
total:
unit_of_measurement: "м³"
name: "Счетчик ХВС"
accuracy_decimals: 3
filters:
- debounce: 0.04s
- multiply: 0.01
- lambda: |-
return x + id(cold_water_base);
- platform: pulse_counter
pin:
number: GPIO19
mode:
input: true
pullup: true
name: "Расход горячей воды"
id: hot_flow
unit_of_measurement: "л/мин"
update_interval: 5s
filters:
- debounce: 0.04s
- multiply: 10.0
total:
unit_of_measurement: "м³"
name: "Счетчик ГВС"
accuracy_decimals: 3
filters:
- debounce: 0.04s
- multiply: 0.01
- lambda: |-
return x + id(hot_water_base);
TIP
В поле initial_value укажите стартовые значения с циферблатов приборов. После запуска контроллер будет суммировать кубометры без расхождений с квитанцией.
Проброс сенсоров в Дом с Алисой
Трансляция параметров в экосистему Яндекса выполняется через нативную интеграцию Home Assistant с облаком Яндекса.
В файле configuration.yaml Home Assistant зарегистрируйте водосчетчики:
yandex_smart_home:
entity_config:
sensor.schetchik_khvs:
name: "Холодная вода"
room: "Санузел"
type: sensor.water_meter
sensor.schetchik_gvs:
name: "Горячая вода"
room: "Санузел"
type: sensor.water_meter
После обновления списка устройств в мобильном приложении Алиса сможет озвучивать текущие показания в кубометрах.
Алгоритм защиты от непрерывного расхода
В отличие от стандартного перекрытия кранов при протечке воды с Алисой, импульсный учет выявляет скрытые свищи и забытые краны. Если непрерывный поток > 0.3 л/мин длится дольше 35 минут в режиме отсутствия владельцев, система автоматически подает сигнал на электропривод шаровых кранов и оповещает голосом:
- Сенсор фиксирует непрерывное вращение крыльчатки более
35 минут. - Home Assistant активирует реле сервопривода кранов Neptun или Gidrolock.
- Колонка Яндекс Станция объявляет тревогу, а на смартфон поступает срочный пуш.
В загородных домах данную схему рекомендуем синхронизировать с алгоритмом автоматической промывки фильтров воды с Алисой, чтобы ночная регенерация не приводила к ложной блокировке ввода.
Сравнение: DIY на ESP32 или готовые счетчики
| Параметр | DIY на ESP32 | Контроллер Saures / Waterius | Счетчики NB-IoT |
|---|---|---|---|
| Стоимость | 1 200 руб. | 7 500 руб. | 11 000 руб. |
| Автономность | Локальная сеть Wi-Fi | Облачный сервер | Сеть оператора |
| Опрос данных | Каждые 5 секунд | 1 раз в сутки | 1 раз в сутки |
| Реакция на утечку | Мгновенно | Задержка до 24 ч | Задержка до 24 ч |
| Сценарии Алисы | Полная интеграция | Ограниченно | Нет поддержки |
Вопросы и ответы
Законно ли подключать провода к водосчетчикам?
Да. Импульсный выход специально предназначен для слаботочных систем телеметрии. Пломбировке подлежат штуцеры корпуса счетчика, а кабель геркона пломбой не закрывается.
Можно ли перевести узел на батарейное питание?
Постоянно включенный модуль Wi-Fi разрядит батарейки за пару суток. Для автономной работы требуется режим глубокого сна Deep Sleep с прерыванием по пину, либо постоянное питание 5 В от щита.
Инструкция по настройке
Шаг 1: Подключение импульсных линий счетчиков к микроконтроллеру ESP32
Сборка схемы с внешней подтяжкой pull-up к шине 3.3V, конденсатором фильтрации и подключением к выводам GPIO18 и GPIO19.
Шаг 2: Конфигурирование прошивки ESPHome и расчет веса импульса
Настройка платформы pulse_counter, задание фильтра debounce 40 мс и калибровка множителя для перевода импульсов в кубические метры.
Шаг 3: Проброс в Умный Дом Яндекса и настройка сценариев безопасности с Алисой
Создание голосовых сценариев проверки расхода и автоматического перекрытия стояков при аномально долгом потоке воды.