node alive · uptime 37y 01m
· rec
[m.matveyev]
все процессы
$ ./growbox-espidf --status
tty/03
proc · 2024 · public

growbox-espidf

ESP-IDF firmware для умной гидропонной гроубокс-системы: миксер на 8 помп с точностью ±0.01г, 17 датчиков, Web UI на устройстве, MQTT/HomeAssistant, Telegram, OTA. Переписан с Arduino.

stack · bill of materials 15 components

growbox — ESP-IDF firmware

Полнофункциональная прошивка для автоматизации гидропонных установок на ESP32 (WROVER с PSRAM). Переписана с Arduino-форка на нативный ESP-IDF v6.0+ с FreeRTOS, MQTT, Home Assistant и Telegram. Размер прошивки 1.57 MB (96% слота OTA), Web UI 588 KB в LittleFS.

Что умеет устройство

  • Датчики (17 типов): температура воды/воздуха (DS18B20, BME280, NTC), влажность, давление, CO₂, pH/EC (через ADS1115), освещённость, уровень воды (VL53L0X лазер) и др. — через I2C/ADC/1-Wire.
  • Миксер питательного раствора: 8 перистальтических помп с многофазным дозированием (TARE → LOAD → FAST → DROP → STABILIZE) по весу (HX711) с точностью ±0.01 г. Автокалибровка производительности, защита от сухого хода, паузы/пропуски помп, учёт остатков.
  • Управление: 16 реле/клапанов через MCP23017, 2 PWM-канала (LEDC) для насосов/вентиляторов, таймеры автовыключения.
  • Web UI: встроенный интерфейс (Vite + Vanilla JS, gzip в LittleFS) — графики в реальном времени, история до 30 дней (IndexedDB), полное управление через браузер без интернета.
  • Интеграции: Home Assistant с MQTT auto-discovery, Telegram Bot (уведомления + удалённое управление), MQTT на ponics.online, SSE для real-time обновлений в UI.
  • OTA-обновления прошивки по WiFi: через веб-интерфейс или с сервера с каналами alpha/beta/stable.

Стек

ESP-IDF v6.0 · FreeRTOS · ESP32 (WROVER + PSRAM) · MQTT · Home Assistant Discovery · HTTP + SSE · LittleFS · cJSON · LEDC (PWM) · I2C · 1-Wire · Vite · Vanilla JS · Chart.js · IndexedDB · Telegram Bot API

Особенности реализации

  • Архитектура менеджеров: SensorManager (опрос датчиков каждые 5с) и ActuatorManager (миксер каждые 100мс) как singleton'ы с FreeRTOS-задачами.
  • Unified Publishing API: все датчики публикуют через одну схему — автоматически в SSE + MQTT Home Assistant + MQTT ponics.
  • 25+ собственных компонентов: WiFi, MQTT, HTTP, 17 типов сенсоров, актуаторы (миксер, PWM, реле), автоматизация, Telegram, OTA — всё как встроенные ESP-IDF компоненты, без Arduino/PlatformIO.
  • NVS-конфигурация: все параметры (WiFi, MQTT, имена помп, пороги уведомлений) в энергонезависимой памяти, не теряются при перезагрузке.
  • Thread-safe кэши, обработка ошибок, unit/E2E тесты.
  • Документация: ARCHITECTURE.md, MIXER_GUIDE.md, HA_MQTT_SETUP.md, API_ENDPOINTS.md, MQTT_PUBLICATION_MAP.md.

История

Изначально работал как Arduino-проект (старый форк). Переписан на нативный ESP-IDF — взрослая многозадачная платформа с полноценной поддержкой FreeRTOS, управлением памятью, OTA и профессиональными практиками разработки embedded-систем.

end of process

Захотите такой же?
./contact