[AI Router] Instalación de MQTT Broker (Mosquitto)

MQTT [Transporte de Telemetría de Cola de Mensajes] es un protocolo de mensajería ligero comúnmente utilizado para la comunicación entre dispositivos IoT. En Home Assistant, MQTT se utiliza a menudo para la integración de automatizaciones. Por ejemplo, cuando usas Frigate para el análisis de video [como detectar a alguien entrando en un área específica], Frigate enviará un mensaje a Home Assistant a través de MQTT, lo que podrá activar otras automatizaciones [como encender las luces o enviar notificaciones].

 

Roles de MQTT:

¿Cuáles son los roles en el protocolo MQTT? Tomando el escenario de integrar cámaras IP Frigate con Home Assistant como ejemplo:

  • Publisher: Frigate. Cuando Frigate detecta un evento [por ejemplo, alguien entra en una zona específica] a partir de la transmisión de la cámara IP, publica este evento como un mensaje al broker MQTT.
  • Subscriber: Home Assistant. Se suscribe al tema específico publicado por Frigate. Cuando Home Assistant recibe el mensaje, puede activar automatizaciones [como encender luces o enviar notificaciones].
  • Broker: Mosquitto. Actúa como intermediario, recibiendo mensajes de Frigate y reenviándolos a los suscriptores de Home Assistant. En este ejemplo, Frigate y Home Assistant no se comunican directamente, sino que intercambian mensajes a través del broker MQTT Mosquitto.

 

 

1. Requisitos previos

 

2. Instalar Mosquitto

   2-1. Desplegar Mosquitto usando Portainer:

  • Ve a la página [Stacks] en Portainer y haz clic en [Agregar Stack].
  • Ponle nombre a este stack mosquitto.
  • En el [Editor web], pega la siguiente configuración:

versión: "3.8"

servicios:

   # --- MQTT Broker (Eclipse Mosquitto) ---

   mosquitto:

       imagen: eclipse-mosquitto:2

       container_name: mosquitto

       restart: a menos que se detenga

       volumes:

       - mosquitto_config:/mosquitto/config

       - mosquitto_data:/mosquitto/data

       - mosquitto_log:/mosquitto/log

          

       ports:

       - "1883:1883"   # MQTT

       - "9001:9001"   # WebSocket

volúmenes:

   mosquitto_config:

   mosquitto_data:

   mosquitto_log:

 

   2-2. Haz clic en el botón [Desplegar la pila] para completar el despliegue.

 

 

3. Configurar Mosquitto

   3-1. Ve a la página [Contenedores] en Portainer y busca mosquitto.

 

   3-2. Haz clic en mosquitto para entrar en la página de detalles del contenedor, luego haz clic en la pestaña [Consola].

 

   3-3. En el campo [Comando], ingresa /bin/sh y haz clic en [Conectar] para abrir la interfaz de línea de comandos del contenedor.

 

  3-4. En la línea de comandos, introduce el siguiente comando para crear un archivo de contraseña:

mosquitto_passwd -c -b /mosquitto/config/passwd <usuario> <contraseña>

Reemplaza <usuario> y <contraseña> por el nombre de usuario y la contraseña que desees (usa solo letras y números, y no empieces con #). Para confirmar que el archivo fue creado: ejecuta ls /mosquitto/config para verificar que existan tanto mosquitto.conf como passwd.

 

   3-5. Edita el archivo de configuración de Mosquitto mosquitto.conf ingresando:

vi /mosquitto/config/mosquitto.conf

 

   3-6. En el mosquitto.conf, agrega los siguientes ajustes para especificar la ruta del archivo de contraseñas y deshabilitar el acceso anónimo: Presiona i para entrar en modo de inserción, luego añade el siguiente contenido al principio o final del archivo: Puedes usar ctrl + shift + v para pegar texto en el editor vi.

allow_anonymous false

password_file /mosquitto/config/passwd

listener 1883 0.0.0.0

socket_domain ipv4

 

   3-7. Presiona Esc, escribe :wq, y presiona Enter para guardar y salir del editor. (Si quieres descartar los cambios, escribe :q!  y presiona Enter )

 

   3-8. Reinicia el contenedor Mosquitto para aplicar la configuración:

  • Vuelve a la página de [Contenedores] en Portainer y busca mosquitto.
  • Haz clic en mosquitto para entrar en la página de detalles del contenedor, luego haz clic en el botón [Reiniciar].

 

 

 

4. Configurar Integración MQTT en Home Assistant

   4-1. En Home Assistant, ve a [Configuración] > [Dispositivos y Servicios] y haz clic en [Agregar Integración].

 

   4-2. Busca y selecciona [MQTT].

 

   4-3. En el cuadro de diálogo emergente, selecciona MQTT y introduce la siguiente información:

  • Broker: localhost o la dirección IP de tu placa AI
  • Puerto: 1883
  • Nombre de usuario: El nombre de usuario que configuraste para Mosquitto
  • Contraseña: La contraseña que configuraste para Mosquitto

 

   4-4. Una vez finalizado, puedes usar un cliente MQTT para conectarte a Mosquitto.

 

 

 

 

 

 

¿Cómo obtener la [Utilidad / Firmware]?

Puedes descargar los controladores, software, firmware y manuales de usuario más recientes en el Centro de Descargas de ASUS.

Si necesitas más información sobre el Centro de Descargas ASUS, por favor consulte este enlace.