René Cano
Todos los proyectos

Núm. 13

Monitoreo IoT de plantas

Temperatura y humedad con ESP8266 y MQTT

Mi rol
Autor del repositorio
Periodo
Dic 2025

El problema

Quería monitorear la temperatura y la humedad de varias plantas con hardware barato y ver las lecturas casi en tiempo real desde el navegador.

Qué construí

Publiqué el proyecto el 6 de diciembre de 2025, en 3 commits.

  • El firmware para un ESP8266 con sensor DHT11: se conecta al Wi-Fi y cada 3 s publica un JSON con temperatura y humedad en un tópico MQTT propio de cada planta.
  • Un receptor en Python (paho-mqtt) suscrito a todas las plantas, que guarda cada lectura con su fecha en SQLite.
  • Un servidor Flask con un endpoint que devuelve las últimas 30 lecturas de cada una de las 3 plantas.
  • Un dashboard con Chart.js que se actualiza cada 2 s y muestra tarjetas de estado por planta.

Arquitectura

Diagrama del flujo de datos: un sensor DHT11 conectado a un ESP8266 publica temperatura y humedad cada 3 s por MQTT a un broker en la red local; un receptor en Python suscrito a todas las plantas guarda cada lectura en SQLite; un servidor Flask entrega las últimas 30 lecturas de cada planta y un dashboard con Chart.js las grafica, actualizándose cada 2 s.

Resultados

Es un prototipo para red local. No hay métricas ni un registro de lecturas en el repositorio.

Límites conocidos

  • La IP del broker está fija en el firmware y en el receptor, y los nombres de las 3 plantas están fijos en el servidor.
  • Las credenciales de Wi-Fi se compilan en el firmware, y ni MQTT ni Flask tienen autenticación; MQTT tampoco usa TLS.
  • La fecha de cada lectura es la hora en que llega al receptor, no la hora de la medición.
  • No hay tests, y el README documenta una ruta /data que en el código es /api/data.

Links