Mosquitto es un popular broker de MQTT (Message Queuing Telemetry Transport), un protocolo de mensajería ligero y eficiente ideal para el Internet de las Cosas (IoT).
Mosquitto es un broker de MQTT que facilita la comunicación entre diferentes dispositivos y aplicaciones mediante mensajes. MQTT es un protocolo de mensajería de publicación/suscripción que funciona sobre TCP/IP, diseñado para ser ligero y eficiente en la transmisión de datos.
Algunas características claves de Mosquitto son,
- Ligero y Eficiente: Ideal para dispositivos con recursos limitados como la Raspberry Pi.
- Escalabilidad: Puede manejar grandes volúmenes de mensajes y dispositivos.
- Soporte para MQTT v3.1 y v3.1.1: Compatible con las versiones más comunes del protocolo MQTT.
- Facilidad de Configuración: Permite configurar fácilmente la comunicación entre dispositivos.
Si no sabes qué es MQTT o quieres aprender más sobre este protocolo tan usado en IoT, te dejo por aquí este enlace 👇.
Instalación de Mosquitto en Raspberry Pi
Antes de instalar Mosquitto, debemos asegurarnos de que nuestra Raspberry Pi esté actualizada. Ejecutamos los siguientes comandos para actualizar los paquetes y el sistema operativo:
sudo apt update
sudo apt upgrade
Para instalar Mosquitto en Raspberry Pi, simplemente usamos el gestor de paquetes apt
. Abrimos una terminal y ejecutamos el siguiente comando:
sudo apt install mosquitto mosquitto-clients
Este comando instalará tanto el broker Mosquitto como las herramientas de cliente necesarias para interactuar con él.
Puedes verificar el estado del servicio de Mosquitto con,
sudo systemctl status mosquitto
Esto te dará información sobre si el broker está en funcionamiento o si ha encontrado algún problema.
Configuración Básica
Mosquitto viene con una configuración predeterminada que es adecuada para comenzar, pero podemos ajustarla según nuestras necesidades. El archivo de configuración principal se encuentra en /etc/mosquitto/mosquitto.conf
.
Para modificar la configuración, abrimos el archivo con un editor de texto usando el siguiente comando:
sudo nano /etc/mosquitto/mosquitto.conf
En este archivo, podemos configurar diversos parámetros, como el puerto en el que el broker escuchará (por defecto es el puerto 1883), así como opciones para la autenticación y los archivos de log.
Configurar la Autenticación
Si queremos habilitar la autenticación para el acceso al broker de Mosquitto, primero necesitamos configurar un archivo de contraseñas. Comenzamos instalando la herramienta mosquitto_passwd
:
sudo apt install mosquitto
Luego, creamos un archivo de contraseñas con el siguiente comando:
sudo mosquitto_passwd -c /etc/mosquitto/pwfile username
Reemplazamos username
con el nombre de usuario que deseamos. Se nos pedirá que ingresemos y confirmemos una contraseña.
Una vez creado el archivo de contraseñas, editamos el archivo de configuración /etc/mosquitto/mosquitto.conf
para agregar la siguiente línea:
password_file /etc/mosquitto/pwfile
Guardamos y cerramos el archivo, y luego reiniciamos Mosquitto para aplicar los cambios con el siguiente comando:
sudo systemctl restart mosquitto
Uso de Mosquitto
Una vez que hemos instalado y configurado Mosquitto, podemos empezar a utilizarlo para enviar y recibir mensajes MQTT.
Publicar un Mensaje
Para publicar un mensaje en un tema específico, usamos el comando mosquitto_pub
. Por ejemplo, para enviar el mensaje “Hola, MQTT!” al tema “test/topic”, ejecutamos:
mosquitto_pub -h localhost -t "test/topic" -m "Hola, MQTT!"
Suscribirse a un Tema
Para suscribirnos a un tema y recibir mensajes, usamos el comando mosquitto_sub
. Por ejemplo, para suscribirnos al tema “test/topic”, ejecutamos:
mosquitto_sub -h localhost -t "test/topic"
Cuando publiquemos un mensaje en el tema “test/topic”, veremos el mensaje en la terminal donde estamos suscritos.