Режим моста в Mosquitto на примере CloudMQTT

Порой возникает задача объединить несколько MQTT брокеров в один. Я столкнулся с этим при настройке голосового помощника для умного дома без наличия выделенного IP-адреса у последнего. Предполагаемая схема была такая: "Алиса" - "Навык Домовенок Кузя" - "CloudMQTT" - "Локальный Mosquitto" - "Home Assistant". Да, сложно. Да, много посредников. Но на тот момент другого варианта не было.

В целом, настройка локального брокера оказалась делом совсем не сложным:

1.Открываем файл /etc/mosquitto/mosquitto.conf и убеждаемся в наличии там следующей строчки:

include_dir /etc/mosquitto/conf.d

Если ее нет - добавляем.

2. Создаем файл /etc/mosquitto/conf.d/cloudmqtt.conf со следующим содержимым:

connection cloudmqtt
address m16.cloudmqtt.com:28093
remote_username USER_LOGIN
remote_password USER_PASSWORD
remote_clientid cloudmqtt
bridge_protocol_version mqttv311
try_private true
notifications false
start_type automatic
topic # both 2 /cloudmqtt/
bridge_cafile /etc/mosquitto/ca_certificates/addtrustexternalcaroot.cer
bridge_insecure false
cleansession false
local_clientid mosquitto

Где необходимо указать свои данные от созданного инстанса в CloudMQTT:

  • m16.cloudmqtt.com:28093 - адрес и порт;
  • USER_LOGIN - имя пользователя;
  • USER_PASSWORD - пароль пользователя.

3. Скачиваем корневой сертификат addtrustexternalcaroot.cer и помещаем его в каталог /etc/mosquitto/ca_certificates/

4. Перезагружаем Mosquitto. Теперь все данные с CloudMQTT будут автоматически синхронизироваться с локальным брокером в топике /cloudmqtt/

Внимание! Все действия, описанные выше, вы выполняете на свой страх и риск. Автор не несет никакой ответственности за любой вред, причиненный пользователю или третьим лицам в результате использования материалов, программного обеспечения и другой информации, размещенной на данной странице.
Полезно? Поддержите! Это мотивирует автора к дальнейшим публикациям.

Обсуждение

Один ответ к «Режим моста в Mosquitto на примере CloudMQTT»

  1. а сообщения с локального брокера не из топика /cloudmqtt будут отображаться на удаленном брокере? или надо удаленный тоже в режиме моста настраивать? или можно в настройках просто указать topic # both 2 / и тогда топики будут синхронизироваться?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *