Sobre el proyecto
GrowerHub es una plataforma abierta para gestionar un invernadero o una minigranja. Reúne Zigbee2MQTT, dispositivos MQTT, zonas, historial de sensores y escenarios de control en una única interfaz web.
El proyecto comenzó con un controlador de riego ESP32, llamado posteriormente Grovika. Tras su explotación y varias iteraciones arquitectónicas, creció hasta convertirse en una plataforma multiusuario self-service con coordinadores aislados, MQTTS y automatizaciones.
La granja demo se abre directamente en el navegador: cuatro invernaderos con microclimas diferentes, plantas, historial de sensores y riegos ya configurados. Es la aplicación general de GrowerHub con dispositivos virtuales; cada visitante tiene su propio entorno de pruebas y los comandos de demo no controlan equipos físicos. La demo de invitado dura 24 horas; los cambios se pueden guardar iniciando sesión en una cuenta. Para equipos reales se describe una vía de conexión aparte.
Composición del repositorio:
- backend — Java Spring Boot, REST API, MQTT, dominios y migraciones de PostgreSQL;
- frontend — React/Vite, sitio público bilingüe y panel de usuario;
- firmware — firmware Grovika en C++/PlatformIO;
- zigbee_coordinator — Zigbee2MQTT y conector para Windows y Linux;
- ansible — infraestructura de servidor y roles de despliegue;
- docs/architecture — documentación de arquitectura.
La compilación y las pruebas se describen con comandos de Gradle para el backend, npm para el frontend y PlatformIO para el firmware. El historial público de desarrollo comienza el 6 de octubre de 2025 y contiene más de 770 commits; los primeros comandos MQTT, Grovika, la transición de FastAPI a Java/Spring, el nuevo modelo de sensores y bombas, Zigbee2MQTT y el self-service se ven en Git. En la página «Sobre el proyecto» se ha publicado un corte fechado y anonimizado de datos de explotación. El proyecto es bilingüe (ruso e inglés); se agradecen los comentarios a través de GitHub Issues.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.