Cómo instalar Mosquitto, el popular broker MQTT


Hoy vamos a ver cómo instalar y configurar Mosquitto, uno de los broker MQTT más populares sobre todo en el sector doméstico, que podéis añadir a vuestros proyectos de IoT.

En entradas anterior hemos hablado sobre los protocolos de comunicación para IoT, donde vimos el patrón publisher suscriber, el protocolo MQTT y su importancia, y algunos de los principales broker MQTT disponibles.

Como teoría ya vale, hoy nos toca entrar en harina y empezar a jugar. Para esto, lo primero que necesitamos es instalar un broker al que podamos conectar los dispositivos.

En esta entrada vamos a instalar Mosquitto, que como decíamos es uno de los broker más populares, y probablemente el más empleado en proyectos domésticos.

Anuncio:

Eclipse Mosquito es un Broker Open Source de la Eclipse Foundation distribuido bajo licencia EPL/EDL, compatible con el protocolo MQTT en sus versiones 3.1, 3.1.1, y 5.0. Está programado en C y es compatible con Windows, Linux y Mac.
El código está aquí https://github.com/eclipse/mosquitto

El hecho de que sea Open Source y su licenciamiento, así como que sea multiplataforma y que sea un broker liviano, son algunos delos motivos por los que este broker ha alcanzado tanta popularidad.

Instalar Mosquitto

En Windows

Instalar Mosquitto en Windows es muy sencillo, ya que disponemos de un instalador en la página de descargas https://mosquitto.org/download/. Simplemente tenemos que descargarlo e instalarlo, como con cualquier otro programa.

Si queremos ejecutar Mosquitto como servicio de Windows, tras la instalación ejecutamos una consola con derechos de administrador y hacemos.
mosquitto install

Si durante la instalación os da algún error, deberéis instalar Visual C++ Redistributable for Visual Studio 2015 disponible en la página web de Microsoft. https://www.microsoft.com/es-es/download/details.aspx?id=48145

En Linux

Instalar Mosquitto en las principales distros de Linux es igualmente sencillo, ya que la mayoría lo tienen integrado en sus respositorios. Así es el caso de Ubuntu, Debian, o Raspbian (Raspberry Pi). Así que únicamente tenemos que ejecutar los comandos.

sudo apt update
sudo apt upgrade
sudo apt-get install mosquitto mosquitto-clients

Si queremos ejecutar mosquitto al arrancar el sistema, en una consola ejecutamos

sudo systemctl enable mosquitto.service

Probando Mosquitto

Ahora vamos a probar que la instalación se ha realizado correctamente y que, efectivamente, Mosquitto está listo para escuchar y distribuir nuestros mensajes MQTT.

Para ello Mosquito proporciona dos utilidades 'mosquitto_sub' y 'mosquitto_pub', muy apropiadas para probar que todo funciona.

Abrimos dos consolas de comandos y nos dirigimos a la carpeta donde hallamos instalado Mosquitto. En una de ella nos suscribimos al topic "mimqtt/test" (por ejemplo) con.

mosquitto_sub -d -h localhost -p 1883 -t "mimqtt/test"

En la otra consola, segunda, publicamos un mensaje 'Hola Mundo'

mosquitto_pub -d -h localhost -p 1883 -t "mimqtt/test" -m "Hola Mundo"

Veremos que el mensaje se ha enviado correctamente desde el publisher

Y en la primera ventana, el suscriber, veremos que el mensaje ha sido correctamente recibido.

Configuración de Mosquitto

La configuración de Mosquitto se guarda en el fichero 'mosquitto.conf' que, en el caso de Windows está en al ubicación donde hayáis instalado Mosquitto, y en Linux en 'etc/mosquito'.

El fichero 'mosquitto.conf' está dividido en secciones, que controlan los principales aspectos del broker. Para más información, consultar la documentación en https://mosquitto.org/man/mosquitto-conf-5.html

Conclusión

En esta entrada hemos aprendido a instalar Mosquitto, el popular broker de MQTT, tanto en Windows como Linux. Como hemos visto, es muy sencillo tener un broker funcional en cuestión de minutos.

Ahora podemos conectar nuestros clientes, que pueden ser escritos en C#, Python, desde una página web o incluso desde un microprocesador como el ESP8266. Veremos todo esto en próximas entradas.

4.1 9 votes
Article Rating

Anuncio:

Previous Cómo hacer un Api Rest con ESP8266 o ESP32, Axios, VueJs y Vuetify
Next Componentes habituales en PCBs
5 Comments
oldest
newest
Inline Feedbacks
View all comments
Cris
8 months ago

Buenas, tengo una pregunta. ¿Mosquitto debe tener una salida a Internet o no es necesaria cuando todos los dispositivos (clientes MQTT) se encuentran en la misma red?

Jimbo
7 months ago

Buenas, se puede testear lo mismo desde dos pcs diferentes en una misma red? Que uno se suscriba y el otro publique? O es necesario configurar algo más?

martin
5 months ago

puedo instalar mosquitto, en una esp32? y correrlo desde uno de los nucleos?