Все для Arduino в одном месте
Адрес: Павлодар
Телефон: +7 705 336-36-03

whatsapp +7 705 336-36-03

система автоматизации умного сада на ESP32

 

 

 

 
 

ESP32 Smart Garden

Полнофункциональная система автоматизации для умного сада и теплицы

Версия 6.0
ESP32
4-канальный
4 языка
BH1750
Двойные пороги
SD карта
RTC + NTP

Обзор проекта

ESP32 Smart Garden Controller — это мощная и гибкая система автоматизации для умного сада, теплицы и домашних растений. Устройство управляет 4 реле (инверсная логика: LOW = ВКЛЮЧЕНО, HIGH = ВЫКЛЮЧЕНО), собирает данные с датчиков, ведет логи на SD карту и предоставляет современный веб-интерфейс для управления с любого устройства.

4-канальное управление

Насос, подсветка, вентилятор, увлажнитель с настраиваемыми авторежимами.

Мониторинг датчиков

Температура, влажность (DHT22), влажность почвы, освещенность (BH1750).

Веб-интерфейс

Мультиязычность (EN, RU, DE, KK), управление в реальном времени, файлы в LittleFS.

Логирование

CSV логи на SD карту, экспорт, просмотр и файловый менеджер.

Основные возможности

Управление устройствами

Автополив

Включение насоса при влажности почвы ниже порога. Выключение по таймеру (1-300 сек).

Автоматическая подсветка

Двойные пороги: включение ниже ON, выключение выше OFF. Идеально для досветки.

Пример: ON при < 50 лк, OFF при > 200 лк.

Вентиляция

Включение при высокой влажности воздуха, выключение при снижении.

Увлажнение воздуха

Включение при низкой влажности, выключение при достижении целевого уровня.

Мониторинг и логирование

DHT22 — температура/влажность
Аналоговый датчик почвы
BH1750 — освещенность (люкс)
DS3231 RTC + NTP
SD карта — CSV логи
Файловый менеджер

Логика двойных порогов для освещения

Почему двойные пороги?

Обычная автоматика с одним порогом приводит к частым включениям/выключениям при колебаниях освещенности. Двойные пороги создают гистерезис — устройство включается при низкой освещенности и выключается только при значительном повышении.

Принцип работы

Порог ON

Освещенность ниже значения — свет включается (сумерки).

Порог OFF

Освещенность выше значения — свет выключается (дневной свет).

Гистерезис

Между порогами состояние не меняется, предотвращая частые переключения.

Пример работы

Порог ON = 50 лк    (включить, когда темно)
Порог OFF = 200 лк   (выключить, когда достаточно света)

Освещенность 30 лк → ВКЛЮЧАЕМ свет
Освещенность 80 лк → Свет остается ВКЛЮЧЕННЫМ
Освещенность 150 лк → Свет остается ВКЛЮЧЕННЫМ
Освещенность 250 лк → ВЫКЛЮЧАЕМ свет
Важно: Порог OFF должен быть выше порога ON для корректной работы гистерезиса!

Аппаратное обеспечение

Компонент Модель Примечание
ESP32 ESP32 Dev Board WiFi + Bluetooth
Модуль реле 4-канальный оптронный LOW = ВКЛ, HIGH = ВЫКЛ
Конвертер уровней BSS138 (обязателен!) 3.3V ↔ 5V для реле
Датчик DHT22 AM2302 Температура/влажность
Датчик почвы YL-69 / FC-28 Аналоговый
Датчик освещенности GY-30 (BH1750) I2C, 1-65535 люкс
RTC модуль DS3231 I2C, батарейка CR2032
SD карта MicroSD FAT32, SPI
Блок питания 12В 2А Входное питание
DC-DC MP1584EN 12В → 5В
Стабилизатор AMS1117 3.3В 5В → 3.3В

Схема подключения

Питание: 12В 2А → MP1584EN (5В) → AMS1117 3.3В. Реле питается от 5В.
Конвертер логических уровней (обязателен): ESP32 3.3В не может напрямую управлять 5В реле. Используйте BSS138. Сигналы GPIO идут на LV сторону, выход HV — на IN реле.
Компонент Пин ESP32 Примечание
Реле 1 (Насос) GPIO 16 через конвертер уровней
Реле 2 (Подсветка) GPIO 17 через конвертер
Реле 3 (Вентилятор) GPIO 4 через конвертер
Реле 4 (Увлажнитель) GPIO 2 через конвертер
DHT22 DATA GPIO 15 Pull-up 4.7kΩ к 3.3V
Датчик почвы AO GPIO 34 ADC
BH1750 SDA/SCL GPIO 21 / 22 I2C
DS3231 SDA/SCL GPIO 21 / 22 общая шина
SD Card CS/MOSI/MISO/SCK 5 / 23 / 19 / 18 SPI

Быстрый старт

1. Установка библиотек (Arduino IDE)

Adafruit GFX
Adafruit SSD1306
DHT sensor library
ArduinoJson
RTClib
NTPClient
BH1750

2. Подготовка данных для LittleFS

  • Создайте папку data в директории скетча
  • Поместите index.html, about.html и папку lang с файлами локализации
  • Загрузите в LittleFS через инструмент ESP32 LittleFS Data Upload

3. Подготовка SD карты

  • Формат FAT32, создайте папки /logs и /config

4. Первый запуск и WiFi

  • Подключитесь к WiFi ESP32-Garden-XXXXXXXX, откройте 192.168.4.1
  • Выберите вашу сеть, введите пароль — ESP32 перезагрузится

API Эндпоинты

Пример управления подсветкой с двойными порогами:

fetch('/api/device/settings', {
    method: 'POST',
    headers: {'Content-Type': 'application/json'},
    body: JSON.stringify({
        device: 1,               // Подсветка
        auto_enabled: true,
        threshold: 30,           // ON при < 30 лк
        threshold_off: 150,      // OFF при > 150 лк
        duration: 3600,
        check_interval: 30
    })
});

Устранение неполадок

Реле не переключается

  • Основная причина: отсутствие конвертера логических уровней (BSS138). ESP32 выдает 3.3В, реле требует 5В управления. Установите конвертер.
  • Проверьте общий GND между ESP32, конвертером и реле.

Проблемы с питанием

  • Используйте блок 12В 2А. Не питайте ESP32 от USB при подключенных нагрузках к реле.
  • Установите конденсаторы на входе/выходе стабилизаторов.

BH1750 не работает

  • Питание только 3.3В! Не подключайте к 5В.
  • Проверьте I2C адрес (0x23 или 0x5C) сканером.