Skip to content

progl/growbox

 
 

Repository files navigation

🌱 GrowBox ESP32

PlatformIO ESP32 License Version

Профессиональная система мониторинга и автоматизации для гидропоники на базе ESP32 с веб-интерфейсом, поддержкой MQTT, OTA и множеством датчиков.


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

Через ponics.online (рекомендуется)

  1. Перейдите на https://ponics.online
  2. Зарегистрируйте устройство
  3. Укажите WiFi
  4. Нажмите «Прошить»

Ручная прошивка

git clone https://github.com/yourusername/growbox-esp32.git
cd growbox-esp32
pio pkg install
pio run -t upload

🌟 Возможности

📊 Мониторинг

  • Температура, влажность, EC, pH, CO₂, свет
  • Графики в реальном времени
  • Уведомления о критических значениях

🎛️ Управление

  • Веб-интерфейс с любого устройства
  • Реле, насосы, освещение
  • Автоматические сценарии

🌐 Интеграция

  • MQTT + Home Assistant
  • OTA-обновления
  • Удалённый доступ

⚙️ Технические особенности

  • FreeRTOS
  • Защищённое хранение
  • Шифрование данных

🛠️ Требования к оборудованию

Базовый комплект

Компонент Рекомендация
Контроллер ESP32-WROOM-32 / ESP32-S3
Питание 5В / 2А
Датчики См. ниже
Реле Модуль 5В

Рекомендуемые датчики

  • Температура/влажность: AHT10, AM2320
  • Вода: DS18B20 (1-Wire)
  • EC/pH: аналоговые + ADS1115
  • Свет: BH1750

⚙️ Настройка

  1. Подключитесь к WiFi GrowBox-XXXX
  2. Перейдите на http://192.168.50.1
  3. Настройте подключение к вашей WiFi-сети

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

Основные функции

  • Просмотр сенсоров
  • Управление насосами и реле
  • Настройка и калибровка
  • OTA-обновления

Авторизация

Authorization: Bearer ваш_токен

Или:

http://ваш-ip/api/status?auth=PonIcsOnLiNe2025

API Endpoints

Метод Эндпоинт Описание
GET /api/board Информация о системе
GET /api/status Актуальные показания
GET /api/ram_saver/data История значений
GET /api/tasks Активные задачи
POST /ota OTA-загрузка

Пример ответа /api/status

{
  "temperature": 24.5,
  "humidity": 65.2,
  "ec": 1.2,
  "ph": 6.8,
  "light": 4500
}

🔌 Поддерживаемые датчики

Температура и влажность

Датчик Интерфейс Точность Примечания
AHT10 I²C ±0.3°C / ±2% RH Компактный
AM2320 I²C ±0.5°C / ±3% RH Высокая точность
DS18B20 1-Wire ±0.5°C Влагозащита
SCD30 I²C ±0.2°C Встроенный CO₂ сенсор

Вода и раствор

Датчик Интерфейс Диапазон Назначение
EC Аналог 0–20 mS/cm Электропроводность
pH Аналог 0–14 Кислотность
Уровень УЗ / поплав 0–100 см Уровень воды
Поток Импульс 1–30 л/мин Расход воды

Окружающая среда

Датчик Интерфейс Параметры Примечания
BH1750 I²C 1–65535 люкс Освещённость
SCD30 I²C CO₂: 400–40000 ppm Комбинированный
BME680 I²C T, RH, VOC Универсальный
VEML7700 I²C 0–120000 люкс Высокая точность

Управление

Устройство Назначение Интерфейс
Реле Насосы / свет GPIO
MOSFET LED / ТЭН PWM
MCP23017 Порты расширения I²C
HX711 Весы (тензодатчики) SPI

🔄 OTA-обновления

Методы

  1. Через веб-интерфейс (/ota)
    • Загрузка прошивки (возможно по частям)
  2. ESP-TOOL
    pio run -t upload --upload-port <IP_УСТРОЙСТВА>

📡 MQTT Интеграция

Топики

  • growbox/<device_id>/sensors
  • growbox/<device_id>/control
  • growbox/<device_id>/status

Пример Home Assistant

mqtt:
  sensor:
    - name: "Температура воздуха"
      state_topic: "growbox/kitchen/sensors"
      value_template: "{{ value_json.temperature }}"
      unit_of_measurement: "°C"
      device_class: temperature
    - name: "Влажность"
      state_topic: "growbox/kitchen/sensors"
      value_template: "{{ value_json.humidity }}"
      unit_of_measurement: "%"
      device_class: humidity

🧪 Калибровка датчиков

Подробнее: ponics.online/wiki

pH-метр

  1. Растворы: pH 4.01, 7.01, 10.01
  2. В разделе "Калибровка" следовать инструкциям

НТЦ (опционально)

  1. Погрузить в холодную воду, затем в тёплую
  2. Наблюдать график, нажать "Автокалибровка"

EC-метр

  1. Использовать калиброванный датчик температуры
  2. Погрузить в 1413 µS/cm и рабочий раствор
  3. Ввести значения, нажать "Калибровать"

Уровень воды

  1. 0 см = макс уровень
  2. 30 см = пустой бак

📊 Визуализация данных

  • Графики в веб-интерфейсе
  • Экспорт истории
  • MQTT → Home Assistant, Grafana

🤝 Вклад в проект

  • Пул-реквесты приветствуются!
  • Следуйте стилю проекта
  • Обновляйте документацию при изменениях

📝 Лицензия

Проект распространяется под лицензией MIT. См. LICENSE


📞 Поддержка

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 45.1%
  • C++ 40.1%
  • Python 13.3%
  • Shell 1.1%
  • Makefile 0.4%