
ESP32 и ёмкостный датчик подходят для наблюдения за влажностью почвы, если относиться к показанию как к измерению конкретной установки, а не к универсальному проценту. Напряжение зависит от платы, питания, датчика, длины проводов, субстрата и положения щупа. Поэтому сначала собирают стабильный сигнал, затем калибруют и только после этого обсуждают автоматический полив.
Что понадобится
| Компонент | Требование |
|---|---|
| ESP32 | исправная плата и ADC-пин, подходящий для выбранной конфигурации |
| датчик | предпочтительно ёмкостный, без открытых корродирующих электродов |
| питание | стабильное и соответствующее плате; выход датчика не превышает допустимое напряжение входа ESP32 |
| корпус | ESP32 и соединения находятся вне мокрой зоны |
| контроль | мультиметр и ручная проверка состояния субстрата |
Перед подключением сверяйтесь со схемой именно своей платы и датчика. Цвет провода и подпись из случайной карточки товара не являются документацией.
Шаг 1. Получите сырое значение ADC
Сначала не переводите сигнал в проценты. Выведите напряжение или сырое нормализованное значение и несколько часов посмотрите, насколько оно стабильно. Официальные параметры компонента приведены в документации ESPHome Analog To Digital Sensor.
Минимальная идея конфигурации выглядит так:
sensor:
- platform: adc
pin: GPIO34
name: "Рассада — влажность, сырой сигнал"
attenuation: auto
update_interval: 30s
filters:
- median:
window_size: 7
send_every: 3
GPIO и параметры нужно заменить под свою плату. Медианный фильтр уменьшает одиночные выбросы, но не исправляет плохое питание или залитый разъём.
Шаг 2. Проверьте установку
Погрузите рабочую часть датчика в корневую зону, не касаясь стенки горшка и не ставя его прямо под капельницу. Электроника и верхняя часть платы не должны попадать в воду. Зафиксируйте кабель: изменение глубины и угла заметно меняет показания.
Сделайте три проверки:
- значение на воздухе и в сухом субстрате не прыгает хаотично;
- после ручного полива сигнал меняется в ожидаемую сторону;
- при высыхании он постепенно возвращается, а не остаётся на одном уровне.
Если реакция появляется только при шевелении провода, проблема электрическая, а не агрономическая.
Шаг 3. Соберите точки калибровки
Не используйте стакан воды как единственную «точку 100%». Датчик в воде и в рабочем субстрате ведёт себя по-разному. Практичнее записать несколько реальных состояний:
| Состояние | Что записать |
|---|---|
| перед обычным ручным поливом | сырое значение и состояние растения |
| через 30–60 минут после полива | значение после распределения воды |
| через сутки | скорость изменения |
| перед следующим поливом | повторяемость сухой точки |
После нескольких циклов можно применить фильтр calibrate_linear и ограничить результат диапазоном 0–100. Синтаксис и работа фильтров описаны в официальном разделе ESPHome Sensor Component. Пары значений должны быть вашими, а не скопированными из примера.
filters:
- median:
window_size: 7
send_every: 3
- calibrate_linear:
method: exact
datapoints:
- 0.82 -> 0.0
- 0.39 -> 100.0
- clamp:
min_value: 0
max_value: 100
unit_of_measurement: "%"
Числа выше только показывают формат. У некоторых датчиков направление будет обратным.
Шаг 4. Передайте данные в Home Assistant
ESPHome может использовать native API или MQTT. Native API проще, если данные нужны только Home Assistant. MQTT удобен, когда то же измерение читает GrowerHub или другая локальная система. В любом варианте сущность должна становиться недоступной при потере контроллера, а интерфейс — показывать время последнего обновления.
Для MQTT настройте state и availability, а для автоматизации не используйте сохранённое значение после истечения допустимого времени. Общие правила интеграции описаны на странице Home Assistant MQTT.
Шаг 5. Сначала только наблюдение
Оставьте датчик на 5–7 дней без автоматического управления. Сравнивайте график с ручными поливами, весом горшка и состоянием субстрата. Если порог каждый день приходится менять, проблема ещё не измерена.
На дашборде полезны текущее значение, свежесть, график и отметки поливов. Пример представления истории показан на странице автоматизации мини-фермы.
Можно ли подключить насос к той же ESP32
Технически — да, но измерение и безопасное управление являются разными задачами. Реле, насос и вода требуют подходящего питания, защиты нагрузки, корпуса, ручного отключения и независимого максимального времени работы. Перезапуск ESP32 или Home Assistant не должен оставлять насос включённым.
Если эти условия не выполнены, оставьте ESP32 датчиком. Для будущего полива сначала добавьте протечку, измерьте расход и проверьте безопасные лимиты автополива.
Чек-лист результата
- вход ESP32 не получает недопустимое напряжение;
- контроллер и соединения защищены от воды;
- сырые значения стабильны;
- датчик закреплён в рабочем субстрате;
- калибровка сделана по нескольким реальным циклам;
- при потере ESP32 сущность становится недоступной;
- автоматический насос не зависит от одного программного таймера.
После этого процент становится полезной шкалой для конкретной зоны, а не случайным числом с красивым значком капли.
ESP32 с собственной локальной MQTT-конфигурацией — исключение из ограничения обычных облачных Wi‑Fi-датчиков. В разделе оборудования объяснено, почему розничные Tuya-датчики обычно нельзя направить в MQTT GrowerHub, а открытый ESP32 можно интегрировать отдельно.