Instalar y configurar Mosquitto en Arch Linux ARM

Logo Mosquitto

Mosquitto es un agente o broker de mensajes de código abierto, muy liviano y por lo tanto muy adecuado para nuestra Raspberry. También lo es para el Internet de las cosas, como por ejemplo sensores e interruptores que tengo previsto instalar.


Mosquitto utiliza el protocolo de mensajería de máquina a máquina MQTT, utilizado comúnmente para el seguimiento de flotas, automatización del hogar, redes de sensores y recopilación de datos.

La comunicación de este protocolo se basa en topics. Cada dispositivo publica mensajes sobre un topic, y todos los suscriptores de este topic recibirán este mensaje. Por ejemplo, los sensores de temperatura enviarán un mensaje con la información registrada, mientras que un interruptor estará esperando la orden de encendido o apagado.

Empezaremos instalando mosquitto:

sudo pacman -Sy mosquitto

Utilizaremos el siguiente comando para añadir nuestro usuario al fichero de contraseñas:

sudo mosquitto_passwd -c /etc/mosquitto/passwd usuario

Introduciremos el password cuando nos lo pida, y lo confirmamos a continuación.

La opción -c crea un nuevo fichero de contraseñas. Si el fichero ya existe, lo sobrescribe.

Modificaremos el fichero de configuración para indicarle dónde encontrar el fichero de contraseñas:

sudo nano /etc/mosquitto/mosquitto.conf

Añadiremos las dos líneas siguientes, una es para indicarle donde buscar el fichero de contraseñas, y la otra línea es para evitar que se conecten clientes al broker sin autenticarse:

password_file /etc/mosquitto/passwd
allow_anonymous false

El fichero de contraseñas, como es de esperar, se guarda encriptado:

cat /etc/mosquitto/passwd
usuario1:$6$AIWA34jlkfGxMlKLmillBjL$u3qrtyufi5QL6J+IVZz4bysqKiiotRQI5/belyJ3WBPYKyxrmneeXdQVuqQ5Z+gUrQOPBpbsMBK+7jRe462reQyzgQ3giLSw==

Aprovecharemos para añadir a nuestro cortafuegos el puerto 1883, que permitirá que los diferentes dispositivos se comuniquen con el broker.

sudo ufw allow 1833

Arrancaremos manualmente:

sudo systemctl start mosquitto

Probando Mosquitto

Necesitaremos dos terminales. En la primera terminal nos suscribiremos a un topic, al que llamaremos “miTema”:

mosquitto_sub -u usuario --pw contraseña -h localhost -t miTema

Y en la segunda terminal, enviaremos un mensaje al mismo topic:

mosquitto_pub -u usuario --pw contraseña -h localhost -t miTema -m "Hola Mundo"

Importante añadir los parámetros -u y -pw que serán el usuario y la contraseña que escogimos anteriormente. Si introducimos los comandos sin estos parámetros, el resultado no será el esperado:

Connection Refused: not authorised.
Error: The connection was refused.

En cambio, si todo se ha introducido correctamente introducido, deberíamos tener, casi de manera instantánea, el mensaje “Hola Mundo” en la primera terminal, lo que significa que tenemos todo bien configurado y que hemos enviado y recibido nuestro primer mensaje MQTT.

Saldremos de la primera terminal con CTRL+C.

Si todo es correcto, no hay que olvidarse de añadir el servicio en el arranque:

sudo systemctl enable mosquitto

Soy Jaume Ferré, aficionado a los nuevas tecnologias, aunque ya no lo son tanto.
¡Gracias por leerme!

Valora este artículo1 2 3 4 5 (0 votos)

(0 votos)

Categorias del blog

twitter

Últimos tweets