Home Assistant #10: Instalación del broker MQTT Mosquitto

Home Assistant #10: Instalación del broker MQTT Mosquitto

Posiblemente penséis que es algo que no necesitaréis nunca, pero si tenéis idea de usar un enchufe Sonoff dentro de vuestro Home Assistant o un microcontrolador ESP8266, tarde o temprano os tocará instalar este servidor de mensajes, si queréis saber qué es MQTT, podéis conocer un poco más en nuestra página pulsando sobre el link anterior.

Instalación del broker MQTT Mosquitto

Nuestro primer pasó, será el poder añadir la lista de paquetes a nuestra Rasbian con el fin de instalarlo por medio de apt-get.

mkdir mosquitto

cd mosquitto

wget http://repo.mosquitto.org/debian/mosquitto-repo.gpg.key

sudo apt-key add mosquitto-repo.gpg.key

De esta forma ya tenemos autorizada la clave de los repositorios y, ahora, podemos buscar el repositorio para nuestra Rasbian, si usas la última que ahora hay (Abril de 2018) la versión de debian que usas es Stretch, por lo que tendremos que seguir con esto:

cd /etc/apt/sources.list.d/

sudo wget http://repo.mosquitto.org/debian/mosquitto-stretch.list

De esta forma ahora ya tenemos los “sources” para poder actualizar la lista de paquetes y poder instalar de una forma sencilla el broker. Si habéis seguido los pasos, en la consola de vuestra Pi, deberiais tener algo así:

Ahora, actualizaremos la lista de paquetes, así como lanzaremos la instalación para que se instale de una forma sencilla así como poder actualizarlo cuando sea necesario, para ello, seguimos con esto:

sudo apt-get update

sudo apt-get install mosquitto

Nos preguntará si queremos continuar con la instalación, ya que, instalará todo lo que necesite (las dependencias) para que nuestro broker funcione sin problemas, por lo tanto, tendemos que contestar que sí. Si todo finaliza sin errores, ya tenemos Mosquitto instalado en nuestro sistema, pero, ¿como sabemos si funciona? Vamos a instalar los clientes para poder probarlo, seguimos:

sudo apt-get install mosquitto-clients

Una vez terminado, tendremos 2 programas, mosquitto_sub (para leer los mensajes) y mosquito_pub (para enviar los mensajes). Con ellos podemos probar de una forma local si todo funciona así como poder depurar cuando empezamos a trabajar con MQTT si los mensajes están o no recibiéndose. Vamos a ponerle contraseña al broker para evitar que sea usado por nadie sin control.

cd /etc/mosquitto

sudo mosquitto_passwd -c passwds domoticaencasa

Ahora pondremos nuestra contraseña domotica123 (Ojo que no vemos el cursor)

Ahora vamos a probar si nuestro mosquitto funciona como debe, para ello, tendremos que entrar con otra sesión SSH para tener abiertas a la vez 2 y así entender el funcionamiento y ver en tiempo real el funcionamiento. En la primera, lanzaremos el servicio con:

sudo service mosquitto start

mosquitto_sub -h localhost -t “testtopic” -u domoticaencasa -P domotica123 -v

En la otra sesión de ssh ejecutamos esto:

mosquitto_pub -h localhost -t “testtopic” -m “Hooooooola” -u domoticaencasa -P domotica123

Si todo ha ido bien, veremos aparecer el mensaje en la primera ventana, donde teníamos el comando mosquitto_sub de esta forma:

Ahora, si lo que queremos es que el servicio arranque siempre que arranquemos la Pi, tendremos que poner:

sudo systemctl enable mosquitto.service

Ahora ya tenemos el servicio funcionando, algo que nos facilitará la tarea para poder ampliar los dispositivos que usemos como podría ser los sonoff o los relés que podemos encontrar en eBay por poco dinero. ¿Habéis podido terminar?

Problemas en la instalación de Mosquitto MQTT en Rasbian

Esta instalación Si has tenido algún problema, aquí te mostramos posibles soluciones:

mosquitto_passwd me dice “Segmentation fault”

Parece que hay algunos problemas con las librerías ssl y mosquito, prueba con lo siguiente que nos permitirá compilar e instalar la versión 1.4.14:

cd

wget http://mosquitto.org/files/source/mosquitto-1.4.14.tar.gz

tar xavf mosquitto-1.4.14.tar.gz

cd mosquitto-1.4.14

sudo apt-get install cmake libssl1.0-dev libwebsockets-dev uuid-dev

****

En caso de darte error la linea anterior, deberás hacer esto:

sudo nano /etc/apt/sources.list.d/raspi.list

y añadir esta linea:

deb http://ftp.de.debian.org/debian stretch main

****

cmake .

make -j4

sudo make install

sudo nano /etc/init.d/mosquitto

Busca esta línea: DAEMON=/usr/sbin/mosquitto

Cámbiala por: DAEMON=/usr/local/sbin/mosquitto

De esta forma compilaremos e instalaremos la versión 1.4.14.

IMPORTANTE: Con el fin de ayudaros de una forma más directa, he creado un grupo en Telegram donde podemos ayudarnos todos así como evitar que os quedéis atascados, si tenéis telegram podéis pulsar aquí para uniros y si no lo tenéis, os recomiendo que os lo instaléis ya que lo usaremos en el tutorial para notificarnos.

La entrada Home Assistant #10: Instalación del broker MQTT Mosquitto se publicó primero en Domótica en Casa.

Eduardo Ruiz

Informático de vocación, apasionado de la tecnología y blogger desde hace mucho tiempo, escribo de lo que me entretiene y disfruto con ello. Si deseas seguirme, usa el rss del blog o en mi perfil de .