Como protocolo para comunicar el broker con los dispositivos será MQTT.
La versión seleccionada es Mosquitto, disponible en el enlace mostrado.
1. Instalar Mosquitto en Raspberry Pi
La forma simplificada de instalar mosquitto es desde una ventana de terminal, que instala e inicia el servicio. Recuerde actualizar Raspbian antes de éste proceso, notas en la sección de RaspberryPi-Actualizar.
sudo apt-get install mosquitto mosquitto sudo apt-get install mosquitto mosquitto-clients
Más información sobre la instalación se pueden encontrar en:
Si se completaron las instrucciones anteriores, Mosquitto se inicia al terminar el proceso, por lo que se puede continuar con las pruebas.
Versiones actualizadas se pueden instalar con las instrucciones detalladas en:
https://mosquitto.org/blog/2013/01/mosquitto-debian-repository/
2. Pruebas de Mosquitto
Para probar si la instalación se completó, se puede usar las instrucciones en dos ventanas separadas de comando (local o remota ssh):
2.1 Para comprobar que se encuentra funcionando Mosquitto, use:
systemctl status mosquitto
obtendrá una respuesta semejante a:
● mosquitto.service - Mosquitto MQTT v3.1/v3.1.1 Broker Loaded: loaded (/lib/systemd/system/mosquitto.service; enabled; vendor preset: enabled) Active: active (running) since Sat 2019-07-27 23:13:10 -05; 6min ago
En caso que no esté iniciado el proceso, escriba la instrucción:
mosquitto
2.2 en una ventana de comando, se suscribirse a un tópico ejemplo, para recibir los mensajes:
mosquitto_sub -v -t "oficina/mensaje"
2.3. en otra ventana publicar un nuevo estado en el tópico:
mosquitto_pub -t "oficina/mensaje" -m "mensaje mqtt"
Si aparece el estado en la ventana del numeral 2.2, MQTT se encuentra funcionando correctamente.
Para iniciar una prueba, también puede usar el programa cliente MQTT.fx, requiere descargar y configurar los parámetros de MQTT.
Esta es una instalación básica, procesa cualquier suscripción o publicación de mensajes. Tiene utilidad para probar los primeros mensajes de un dispositivo básico en construcción.
Para añadir un nivel de seguridad mediante usuario y contraseña, se requieren algunos pasos adicionales descritos en otra entrada del blog.
3. Puertos de conexión
A partir de la versión 2, la configuración predeterminada se restringe a los mensajes enviados desde la dirección»local» (127.0.0.1). Para abrir la recepción mensajes desde otras direcciones, se actualiza el archivo
sudo nano /etc/mosquitto/mosquitto.conf
con la instrucción:
listener 1883
Referencia: https://mosquitto.org/man/mosquitto-conf-5.html
4. Mosquitto en Home Assistant
Para conectar Home-Assistant al broker Mosquitto, se requiere configurar los parámetros de conexión.
La forma más simple de configurar MQTT es usando la página web en el menú de configuración/Integraciones.
Se usa el botón «+ añadir integración» para indicar los parámetros del servidor MQTT tal com «agente:» dirección ip o «localhost», el puerto es el mismo, se añade de ser el caso el usuario y la contraseña.
Al completar la configuración, deberá aparecer entre la lista de integraciones:
https://www.home-assistant.io/integrations/mqtt/
Otra forma de configurar mediante la forma antigua al editar los archivos de configuración.
Actualizar el inicio del servicio:
sudo nano /etc/systemd/system/home-assistant@homeassistant.service
En la línea correspondiente a After=
[Unit] Description=Home Assistant After=network-online.target [Service] Type=simple User=%i ExecStart=/srv/homeassistant/bin/hass -c "/home/homeassistant/.homeassistant" [Install] WantedBy=multi-user.target
Se actualiza el archivo configuration.yaml con la instrucción:
sudo nano /home/homeassistant/.homeassistant/configuration.yaml
añadiendo las instrucciones con los datos propuestos en el ejemplo que precede:
mqtt: broker: localhost port: 1883 client_id: 'HA-broker'
Al reiniciar Home-Assistant, debería iniciar con la configuración propuesta.
Referencia:
https://aprendiendoarduino.wordpress.com/tag/configurar-mosquitto/