Interacción con Mosquitto en Python: Tutorial de MQTT

Interacción con Mosquitto en Python: Tutorial de MQTT

MQTT es un protocolo de mensajería ligero que se utiliza para la comunicación entre dispositivos en Internet de las Cosas (IoT). Es un protocolo pub/sub, lo que significa que los dispositivos pueden publicar mensajes en un tema y otros dispositivos pueden suscribirse a ese tema para recibir los mensajes.

Mosquitto es un servidor MQTT de código abierto que se puede ejecutar en una amplia gama de plataformas, incluidas Linux, Windows y macOS.

En este tutorial, aprenderemos a interactuar con Mosquitto en Python.

¿Qué es MQTT?

MQTT es un protocolo de mensajería ligero que se utiliza para la comunicación entre dispositivos en IoT. Es un protocolo pub/sub, lo que significa que los dispositivos pueden publicar mensajes en un tema y otros dispositivos pueden suscribirse a ese tema para recibir los mensajes.

MQTT es un protocolo ideal para IoT porque:

  • Es ligero y eficiente, lo que lo hace ideal para dispositivos con recursos limitados.
  • Es fiable, incluso en redes inestables.
  • Es escalable, lo que lo hace adecuado para aplicaciones de IoT a gran escala.

¿Qué es Mosquitto?

Mosquitto es un servidor MQTT de código abierto que se puede ejecutar en una amplia gama de plataformas, incluidas Linux, Windows y macOS.

Mosquitto es un servidor MQTT popular porque:

  • Es ligero y eficiente.
  • Es fiable.
  • Es escalable.

Instalación de Mosquitto

Para instalar Mosquitto en Linux, ejecute los siguientes comandos:

sudo apt install mosquitto

Para instalar Mosquitto en Windows, descargue el instalador de la página web de Mosquitto.

Para instalar Mosquitto en macOS, ejecute los siguientes comandos:

brew install mosquitto

Iniciar Mosquitto

Para iniciar Mosquitto, ejecute el siguiente comando:

sudo systemctl start mosquitto

Interacción con Mosquitto en Python

Para interactuar con Mosquitto en Python, utilizaremos la biblioteca Paho MQTT.

Para instalar Paho MQTT en Python, ejecute el siguiente comando:

pip install paho-mqtt

Publicando mensajes

Para publicar un mensaje en Mosquitto, utilizaremos el método publish() de la clase Client de Paho MQTT.

El siguiente código publica un mensaje en el tema «/test»:

Python
import paho.mqtt.client as mqtt

# Crea un cliente MQTT
client = mqtt.Client()

# Conecta al servidor MQTT
client.connect("localhost", 1883)

# Publica un mensaje
client.publish("/test", "Hola, mundo!")

# Desconecta del servidor MQTT
client.disconnect()

Este código producirá el siguiente resultado:

[MQTT] Connected with result code 0
[MQTT] Sent PUBLISH to topic /test (qos 0, retain 0)
[MQTT] Disconnected

Suscribiéndose a mensajes

Para suscribirse a mensajes en Mosquitto, utilizaremos el método subscribe() de la clase Client de Paho MQTT.

El siguiente código se suscribe al tema «/test»:

Python
import paho.mqtt.client as mqtt

# Crea un cliente MQTT
client = mqtt.Client()

# Conecta al servidor MQTT
client.connect("localhost", 1883)

# Suscríbete al tema
client.subscribe("/test")

# Bucle infinito para recibir mensajes
while True:
    # Recibe un mensaje
    message = client.receive()

    # Imprime el mensaje
    print(message.topic, message.payload)

# Desconecta del servidor MQTT
client.disconnect()

Este código producirá el siguiente resultado:

/test Hola, mundo!

Conclusión

En este tutorial, aprendimos a interactuar con Mosquitto en Python. Aprendimos a publicar mensajes y a suscribirse a mensajes.