Skip to the content.

Monitor de planta “Real Plant Book” + Estacion meteorologica

| Home | Construcción |


Este proyecto surge de la necesidad de monitorear el ciclo de vida de una planta en relacion al estado del clima, utilizando tecnologias OpenSource e IoT. En este caso, IoT en tomates cherry (aunque aplica para cualquier otro fin)

A través de los sensores, el sistema recolecta datos que son almacenados en una base de datos. Estos a su vez, son mostrados en un panel en tiempo real, para luego generar lo que yo llamo un “Real Plant Book”, el cual refleje los niveles reales y necesarios, (e ideales en el mejor de los casos), para un correcto y continuo crecimiento de la planta o fruto. Junto con esto están configurados unos niveles máximos y mínimos de alertas, (agua, sol, etc) que, en el caso de que estos estén fuera de los niveles establecidos, enviará automáticamente una alerta para analizar el problema, (mucho calor, poca agua, etc etc).
Al cabo de un año de uso, se podrá tener el histórico completo del estado del clima más el estado de la plata (comportamiento) según clima.

El sistema también cuenta con una simple API que puede ser consultada públicamente, para fines múltiples.

Adicionalmente, el sistema consume información del Servicio Meteorológico Nacional (SMN) y la guarda en la base de datos, la cual es mostrada en el mismo panel para tener visibilidad real y precisa. (Punto de comparación), ya que el sistema puede mostrar distintas mediciones dependiendo del lugar donde esté (ej: si esta en un balcón, o si esta en el interior de una casa).

Que quiero lograr con esto?

Info


MVP (Minimo Producto Viable)


Pruebas de concepto



Si te interesa saber como construí todo, acá tenes el paso a paso


Panel del sistema completo de la planta (Grafana)


Interfaz web del modulo de la planta


Circuitos


Diseño y Arquitectura


Tecnologias y descripcion de componentes

Tecnologias / Lenguajes Uso Obs
C++ Para todo el core en Arduino/ESP -
Python Para las API -
PHP Para el ABM de usuarios -
HTML Para el front end -
Docker Como microservicios Podria usar servicios cloud, pero prefiero que sea “Cloud Agnostic”
docker-compose Para levantar todo el stack Tambien esta implementado sobre Kubernetes, pero a fines practicos es mas simple correrlo en docker-compose


Componente Funcion Obs
Panel solar Generador de energia para las baterías -
Bateria Almacenamiento de la energía obtenida del panel solar -
ESP Core del desarrollo, donde esta toda la lógica de sensores -
LDR Medir la intensidad de la luz Con esto calculo la cantidad y el tiempo de luz que le da a la planta
Lux Sensor Medir la intensidad de la luz Mismo concepto que el LDR pero dedicado a Lux
16Bit I2C Conversor de analógico a digital Como el ESP tiene 1 solo pin analógico uso esto para poder usar sensores analógicos
DHT22 Medir temperatura y humedad del aire Lo uso para calcular el estado del clima y con eso hago algunas predicciones básicas
Soil Sensor Medir humedad de la tierra Lo uso para saber si la plata necesita humedad o si la tierra esta muy seca
MQTT Servidor donde van todas las mediciones (mosquitto-mqtt) -
Subscriber Consumir los mensajes del MQTT Server y enviar a la DB (InfluxDB) -
InfluxDB Guardar un histórico de toda la información obtenida de los sensores. -
smn-Consumer Función que consulta el estado del tiempo real Lo uso para ver el diferencial entre mis sensores y la temperatura real
SMN Servicio Meteorológico Nacional Gracias gente por ofrecer la api gratis :)
http-API Api para consumo de data La uso para consumir data sin hacer Querys directo a la DB
MySQL Base de datos de usuarios (ABM) Lo uso para generar usuarios para la API o cualquier otra función que no sea 100% publica
Nginx Front End -
Grafana Visualización de toda la data -


Cómo correr/ejecutar

git clone https://github.com/jpradoar/PlantMonitor.git
cd PlantMonitor/infra/
docker-compose up -d


Roadmap

Descripcion Estado
Medicion de sensores Hecho
Medicion de sensores SMN Hecho
Implementar el uso de paneles solares (100% autosustentable). Hecho
Implementar en Docker + docker-compose Hecho
Implementar en kubernetes Hecho
Implementar en cloud Hecho
Construir caja protectora Hecho
Documentar con mayor detalle y traducir a ingles En marcha
Implementar un pluviómetro En marcha
Implementar un anemómetro de viento En marcha
Generar el sistema de riego automático. Pendiente
Generar un Plant Book más completo. Pendiente
Implementar el uso en Hidroponia. Pendiente
Implementar desarrollo a una escala mayor. Investigando
Implementar sistema de usuarios para api. Pendiente


Preguntas frecuentes: (FAQ)