[ИИ-роутер] Установка MQTT-брокера (Mosquitto)

MQTT [Протокол обмена телеметрией по очереди сообщений] — это легкий протокол обмена сообщениями, обычно используемый для связи между IoT-устройствами. В Home Assistant MQTT часто применяется для интеграции автоматизации. Например, когда Вы используете Frigate для видеоанализа [например, обнаружения входа кого-либо в определённую область], Frigate отправляет сообщение в Home Assistant через MQTT, который может затем запускать другие автоматизации [например, включение света или отправку уведомлений].

 

Роли в MQTT:

Какие есть роли в протоколе MQTT? Рассмотрим сценарий интеграции IP-камер Frigate с Home Assistant:

  • Публикатор: Frigate. Когда Frigate обнаруживает событие [например, кто-то вошел в определённую область] с потока IP-камеры, оно публикует это событие как сообщение на брокер MQTT.
  • Подписчик: Home Assistant. Он подписывается на определённую тему, которую публикует Frigate. Когда Home Assistant получает сообщение, он может запускать автоматизации [например, включать свет или отправлять уведомления].
  • Брокер: Mosquitto. Выполняет роль посредника, получая сообщения от Frigate и перенаправляя их подписчикам Home Assistant. В этом примере Frigate и Home Assistant не общаются напрямую, а обмениваются сообщениями через MQTT брокер Mosquitto.

 

1. Предварительные условия

 

2. Установите Mosquitto

   2-1. Разверните Mosquitto с помощью Portainer:

  • Перейдите на страницу [Стэки] в Portainer и нажмите [Добавить стэк].
  • Назовите этот стэк mosquitto.
  • В [Веб-редакторе] вставьте следующую конфигурацию:

версия: "3.8"

сервисы:

   # --- MQTT брокер (Eclipse Mosquitto) ---

   mosquitto:

       image: eclipse-mosquitto:2

       container_name: mosquitto

       restart: если-остановлен-не-запускать

       volumes:

       - mosquitto_config:/mosquitto/config

       - mosquitto_data:/mosquitto/data

       - mosquitto_log:/mosquitto/log

          

       ports:

       - "1883:1883"   # MQTT

       - "9001:9001"   # ВебСокет

тома:

   mosquitto_config:

   mosquitto_data:

   mosquitto_log:

 

   2-2. Нажмите кнопку [Развернуть стек], чтобы завершить развертывание.

 

 

 

3. Настройка Mosquitto

   3-1. Перейдите на страницу [Контейнеры] в Portainer и найдите mosquitto.

   3-2. Нажмите на mosquitto , чтобы перейти на страницу с подробностями контейнера, затем нажмите вкладку [Консоль].

 

 

   3-3. В поле [Команда] введите /bin/shи нажмите [Подключиться], чтобы открыть командную строку контейнера.

 

 

   3-4. В командной строке введите следующую команду для создания файла паролей:

mosquitto_passwd -c -b /mosquitto/config/passwd <имя пользователя> <пароль>

Замените <имя пользователя> и <пароль> на желаемые имя пользователя и пароль (используйте только буквы и цифры, и не начинайте с #). Чтобы подтвердить создание файла: выполните ls /mosquitto/config для проверки наличия файлов mosquitto.conf и passwd.

 

 

   3-5. Отредактируйте конфигурационный файл Mosquitto mosquitto.conf, введя:

vi /mosquitto/config/mosquitto.conf

 

 

   3-6. В mosquitto.conf добавьте следующие параметры, чтобы указать путь к файлу паролей и отключить анонимный доступ: Нажмите i, чтобы перейти в режим вставки, затем добавьте следующий контент в начало или конец файла: Вы можете использовать ctrl + shift + v для вставки текста в редакторе vi.

 

allow_anonymous false

password_file /mosquitto/config/passwd

listener 1883 0.0.0.0

socket_domain ipv4

 

   3-7. Нажмите Esc, введите :wq, и нажмите Enter, чтобы сохранить и выйти из редактора. (Если Вы хотите отменить изменения, введите :q!  и нажмите Enter )     3-8. Перезапустите контейнер Mosquitto, чтобы применить настройки:

  • Вернитесь на страницу [Контейнеры] в Portainer и найдите mosquitto.
  • Нажмите на mosquitto, чтобы перейти на страницу деталей контейнера, затем нажмите кнопку [Перезапустить].

4. Настройте интеграцию MQTT в Home Assistant   

   4-1. В Home Assistant перейдите в [Настройки] > [Устройства и сервисы] и нажмите [Добавить интеграцию].   

   4-2. Найдите и выберите [MQTT].   

   4-3. В появившемся диалоговом окне выберите MQTT и введите следующую информацию:

  • Брокер: localhost или IP-адрес вашей AI платы
  • Порт: 1883
  • Имя пользователя: Имя пользователя, которое Вы установили для Mosquitto
  • Пароль: Пароль, который Вы установили для Mosquitto

 

   4-4. После завершения Вы можете использовать MQTT клиент для подключения к Mosquitto.

 

 

 

Как получить (Утилиту / Прошивку)?

Вы можете скачать последние драйверы, программное обеспечение, прошивку и Руководства Пользователя в Центре загрузок ASUS.

Если Вам нужна дополнительная информация о Центре загрузок ASUS, пожалуйста, ознакомьтесь с ссылкой.