AcademiaIngeniero

Redes con MQTT: haz que tus dispositivos hablen

Corre un broker Mosquitto en tu Pi y envía mensajes entre sensores, robots y paneles.

NivelIngeniero
Tiempo30 min
Costo est.Gratis
Pasos5

MQTT es el idioma del IoT. Los dispositivos 'publican' mensajes en temas como jardin/suelo y cualquier cosa 'suscrita' a ese tema los recibe al instante. Home Assistant, Node-RED y ESPHome lo hablan.

Video tutorial

▶ OpenWebinarsVer en YouTube ↗

Video de OpenWebinars, insertado desde YouTube. Los pasos escritos abajo son nuestros y coinciden con la lista de piezas.

Pasos de la misión

  1. Instala el broker

    Instala Mosquitto y sus clientes de línea de comandos en el Pi.

  2. Suscríbete en una ventana

    Abre una sesión SSH y suscríbete a un tema de prueba.

  3. Publica en otra

    Abre una segunda sesión y publica un mensaje. Aparece al instante en la primera ventana.

  4. Asegúralo para tu red

    Mosquitto 2 solo acepta conexiones locales por defecto. Para aceptar otros equipos agrega un listener y un archivo de contraseñas; nunca lo expongas a internet sin TLS.

  5. Publica desde Python

    Usa la librería paho-mqtt para enviar lecturas de sensores desde cualquier script.

Código

sudo apt install -y mosquitto mosquitto-clients
# window 1
mosquitto_sub -h localhost -t lab/test
# window 2
mosquitto_pub -h localhost -t lab/test -m "hello from the pi"
# pip install paho-mqtt (inside your venv)
import paho.mqtt.publish as publish
publish.single("lab/temperature", "24.5", hostname="localhost")

Code comments are in English, like most libraries and docs — a good habit for makers.

Preguntas

¿MQTT o HTTP?

MQTT mantiene una conexión ligera siempre abierta, perfecta para equipos pequeños y actualizaciones en vivo. HTTP es mejor para páginas web y peticiones ocasionales.