Умная грядка на ESP32: свежая зелень к столу круглый год
Пучок базилика из магазина живёт в холодильнике три дня. Грядка на подоконнике с контроллером ESP32 даёт срезку круглый год — и всё, что вам нужно делать, это раз в неделю доливать воду в бак.
Зачем вообще контроллер
Зелень неприхотлива, но у неё есть три жёстких требования: стабильная влажность грунта, 12–16 часов света и температура 18–24 °C. Человек выполняет эти требования первые две недели, а потом начинается «забыл полить» и «уехал на выходные». Именно на этом этапе растения и гибнут.
Контроллер решает ровно эту задачу: он не устаёт и не забывает. ESP32 для неё подходит идеально — на чипе уже есть Wi-Fi, десяток GPIO, АЦП для аналоговых датчиков и шина I²C для цифровых. Никаких дополнительных модулей связи покупать не нужно.
Главная идея: контроллер снимает показания каждую минуту и сам решает, полить и включить свет. Вы не управляете грядкой — вы только получаете уведомления и срезаете урожай.
Что понадобится
Основа системы — модуль M5Stack Unit Watering (SKU: U101). Это редкий случай, когда датчик и исполнитель собраны в одном корпусе: ёмкостная пластина измеряет влажность грунта, а насос на 5 Вт тут же подаёт воду. Отдельные реле, насос и датчик покупать не нужно.
| Компонент | Роль | Цена |
|---|---|---|
| M5Stack Unit Watering (U101) | датчик влажности + насос 5 Вт в одном модуле | ~1 200 ₽ |
| M5Stack AtomS3 Lite (ESP32-S3) | мозг системы, Wi-Fi | ~900 ₽ |
| Модуль SHT30 (I²C, адрес 0x44) | температура и влажность воздуха | ~300 ₽ |
| Поплавковый датчик уровня | защита насоса от сухого хода | ~150 ₽ |
| Блок питания 5 В / 2 А | насос 5 Вт потребляет около 1 А | ~350 ₽ |
| Фитолампа 25 Вт, 4000 К | свет 16 часов в сутки | ~800 ₽ |
| Рели-модуль 1 канал | включение фитолампы | ~150 ₽ |
Итого около 3 850 ₽ — примерно как два месяца покупной зелени. Дальше система работает годами, а расходники стоят копейки: грунт, семена и электричество.
Почему Unit Watering выгоден именно в паре с ESP32: модуль отдаёт влажность аналоговым сигналом на пин AOUT, а насос включается логическим уровнем на PUMP_EN. Никаких I²C-адресов и библиотек — два провода, которые читаются и переключаются напрямую.
Ключевые тезисы
Полив по факту, а не по таймеру
Таймер льёт воду одинаково и в жару, и в дождь. Датчик влажности льёт только тогда, когда грунт реально подсох.
Ёмкостная пластина, а не резистивная
У Unit Watering пластина работает по ёмкостному принципу: металл не контактирует с грунтом напрямую, поэтому электроды не корродируют.
Насос уже встроен
Модуль U101 включает насос на 5 Вт. Не нужно подбирать реле под нагрузку и собирать гидравлику с нуля.
Защита от сухого хода
Поплавок в баке останавливает насос, если вода закончилась. Без него насос сгорает за 10 минут работы впустую.
Один контроллер на всю полку
ESP32-S3 обслуживает датчик влажности, воздуха и реле лампы одновременно — отдельная плата на каждый горшок не нужна.
Почему именно M5Stack
Связка AtomS3 Lite + Unit Watering собирается без пайки и без переходников. Оба устройства — из одной экосистемы, соединяются штатным кабелем HY2.0-4P длиной 20 см, который идёт в комплекте с модулем.
У AtomS3 Lite для домашней грядки есть три практичных плюса:
- Не нужен USB-UART переходник. Плата прошивается напрямую по USB-C, драйверы ставить не надо.
- Есть индикация на борту. Встроенный светодиод на GPIO35 (чип SK6812, порядок GRB) показывает состояние: зелёный — всё в норме, красный — нет воды, синий — идёт полив.
- Есть кнопка на GPIO41. Можно вручную запустить полив, не открывая телефон.
Unit Watering дополняет картину: корпус 192.8 × 26.5 × 33.0 мм, вес 94.6 г, отверстия совместимы с LEGO — модуль крепится к полке или к контейнеру без клея и стяжек. В комплекте два шланга для забора воды, так что бак можно поставить рядом на полу.
Подключение Unit Watering
Кабель HY2.0-4P разводится на четыре провода, из которых сигнальных только два:
| Провод | Сигнал | Назначение |
|---|---|---|
| Чёрный | GND | земля |
| Красный | 5V | питание насоса |
| Жёлтый | PUMP_EN | включение насоса → GPIO2 |
| Белый | AOUT | аналоговый сигнал влажности → GPIO1 |
Про питание: насос 5 Вт потребляет около 1 А в момент работы. Питать его от USB-порта контроллера нельзя — нужен отдельный блок питания 5 В / 2 А. Пиковый ток при старте насоса выше рабочего, и слабый источник даст просадку, от которой ESP32 перезагрузится.
Важно про порт: Unit Watering подключается к PORT.B, и на разных платах M5Stack номера пинов отличаются — например, на CoreS3 это G9/G8, а на AtomS3 Lite — GPIO2/GPIO1. Всегда сверяйтесь с распиновкой своей платы, а не с примером из документации.
В Home Assistant этот модуль поддержан официально — есть готовая интеграция Unit Watering, которая сразу создаёт сущности влажности и управления насосом. Если автоматика собирается на ESPHome, те же два пина описываются вручную: AOUT как аналоговый сенсор, PUMP_EN как выход.
Как это выглядит в коде
Прошивка собирается в ESPHome — это YAML-конфиг, а не программа на C++. Для домашней автоматизации это оптимальный вариант: не нужно писать циклы и работать с Wi-Fi вручную.
Датчик температуры и влажности воздуха подключается по I²C двумя проводами:
I²C: SDA → GPIO2, SCL → GPIO1.
SHT30 отвечает по адресу 0x44, BMP280 (если нужен ещё и атмосферный датчик) — по 0x76.
Частота шины 100 кГц, питание 3.3 В.
Дальше описывается логика: если влажность почвы падает ниже порога — включить реле насоса на 40 секунд, подождать, пока вода впитается, и проверить показания снова. Если влажность выше верхнего порога — не поливать несколько часов, чтобы корни не загнили.
Уведомления: Telegram и MAX
Самая полезная часть системы — не полив, а уведомления. Грядка, которая молча поливает, всё равно останется без присмотра: вы не узнаете, что бак пуст или что лампа перегорела.
Контроллер отправляет данные на сервер по MQTT, сервер применяет правила и пишет вам в мессенджер. Приходят четыре типа сообщений:
- вода в баке заканчивается (осталось меньше 20%) — пора долить;
- температура на полке вышла за пределы 18–24 °C;
- влажность почвы не растёт после полива — значит, насос или трубка забились;
- еженедельный отчёт: сколько раз поливали, средняя температура и влажность.
Важно про надёжность: если интернет пропал, контроллер продолжает поливать по локальной логике. Уведомления — это дополнение к автоматике, а не её замена. Грядка не должна остаться сухой из-за упавшего Wi-Fi.
Что растёт лучше всего
| Культура | До срезки | Особенность |
|---|---|---|
| Салат (листовой) | 18–21 день | самый предсказуемый результат для новичка |
| Базилик | 25–30 дней | любит тепло, нужен свет 16 ч |
| Петрушка | 30–40 дней | всходит медленно, требует терпения |
| Руккола | 20–25 дней | быстро перерастает, срезать вовремя |
| Мята | 30+ дней | агрессивно разрастается, нужен отдельный горшок |
С чего начать
Не нужно собирать всё сразу. Разумный порядок такой:
- Первый шаг — просто посадить. Кассета, грунт, семена салата, подоконник. Без электроники. Так вы поймёте, как ведёт себя растение именно у вас дома.
- Второй шаг — датчик влажности. Подключить один ёмкостный датчик и смотреть показания в течение недели. Это даст ваши реальные пороги, а не средние из интернета.
- Третий шаг — автополив. Насос, бак, поплавок. После этого грядка живёт без вас неделю.
- Четвёртый шаг — свет и уведомления. Фитолампа на реле и сообщения в мессенджер.
Каждый шаг полезен сам по себе и не требует переделки предыдущего. Именно поэтому такая система собирается постепенно, а не «всё сразу за один вечер».
Хотите такую грядку у себя?
Расскажите, что планируете выращивать и где будет стоять полка — подберём компоненты и соберём конфиг под ваши условия.
Оставить заявку