Protocolo MQTT: qué es y cómo usarlo
Apariencia
Introducción
MQTT (Message Queuing Telemetry Transport) es un protocolo de mensajería ligero basado en el modelo publicador/suscriptor (pub/sub). Es el estándar de facto para comunicación IoT.
Conceptos básicos
Broker
El broker es el servidor central que recibe y distribuye los mensajes. El más popular en makers es Mosquitto (open source).
Topics
Los mensajes se publican en topics (rutas jerárquicas):
casa/salon/luz/estado casa/cocina/temperatura
Publish / Subscribe
- Un dispositivo publica (publish) un mensaje en un topic
- Otro dispositivo suscrito (subscribe) a ese topic recibe el mensaje automáticamente
Instalación de Mosquitto
En Raspberry Pi / Ubuntu:
sudo apt install mosquitto mosquitto-clients sudo systemctl enable mosquitto
Ejemplo básico
Publicar desde terminal:
mosquitto_pub -h localhost -t "casa/luz" -m "ON"
Suscribirse:
mosquitto_sub -h localhost -t "casa/luz"
MQTT con ESP32 (PubSubClient)
#include <PubSubClient.h>
client.publish("casa/luz", "ON");
client.subscribe("casa/luz/cmd");
Integración con Home Assistant
Home Assistant incluye un broker MQTT integrado (Mosquitto add-on) y detecta automáticamente dispositivos que siguen el protocolo MQTT Discovery.