La triada perfecta del IoT: ESP32 + MQTT + Node-RED
MQTT (Message Queuing Telemetry Transport) es el protocolo de mensajería más usado en IoT por su ligereza y eficiencia. Node-RED es una herramienta de programación visual de IBM para conectar dispositivos IoT con servicios web. Juntos con el ESP32 forman una plataforma IoT completa, local y gratuita.
Para este proyecto necesitas un ESP32 de Especificar.cl, un sensor DHT22 y un computador o Raspberry Pi para correr el broker MQTT y Node-RED.
Instalación del broker Mosquitto
- En Ubuntu/Raspberry Pi: sudo apt install mosquitto mosquitto-clients
- Inicia el servicio: sudo systemctl start mosquitto
- Prueba publicando: mosquitto_pub -t "test/temperature" -m "25.5"
- Y suscribiendo: mosquitto_sub -t "test/#"
ESP32 publicando datos por MQTT
Instala la librería PubSubClient en Arduino IDE. El ESP32 se conecta al WiFi y luego al broker MQTT con client.connect("ESP32Client"). Cada 10 segundos lee el DHT22 y publica la temperatura en el topic "casa/salon/temperatura" y la humedad en "casa/salon/humedad" con client.publish(). El broker distribuye esos mensajes a todos los suscriptores.
Dashboard en Node-RED
Instala Node-RED con npm y agrega el paquete node-red-dashboard. Arrastra nodos MQTT Input, conectados a nodos Gauge y Chart del dashboard. En menos de 10 minutos tienes gauges que muestran temperatura y humedad actuales y gráficas históricas. El dashboard es accesible desde cualquier navegador en tu red local.