Перейти к содержанию

Навигация

MQTT: различия между версиями

1892 байта добавлено ,  3 года назад
Дополняю
(Добавил краткую информацию про подтопик /meta/error)
(Дополняю)
Строка 240: Строка 240:


</translate>
</translate>
'''Задача:''' настроить пересылку топика MQTT на другой контроллер.
Есть два контроллера в одной сети, адреса:
;10.0.0.40
:На этот контроллер "забираем" топик. Обозначаем его как "40"
;10.0.0.70
:С этого контроллера, он источник. Назовем его "70"
На  '''70''' есть /client/temp1
Его нужно видеть на '''40''' в /devices/temp1
Решается двумя способами, можно с '''70''' публиковать на '''40''' или с '''40''' подписаться на топик '''70''' и забирать изменения. От выбора стратегии зависит на каком контроллере будем проводить настройки.
Будем настраивать '''40'''
'''Решение:'''
На контроллере “40” добавляем в конфиг:
<syntaxhighlight lang="bash">
mcedit /etc/mosquitto/conf.d/bridge.conf
</syntaxhighlight>
Следующее
<syntaxhighlight lang="bash">
connection wb_40
address 10.0.0.70
notifications true
notification_topic /client/wb_40/bridge_status
keepalive_interval 20
restart_timeout 20
topic /temp1/# in 2 /devices /client
</syntaxhighlight>
Перезапускаем на нем же mosquitto:
<syntaxhighlight lang="bash">
systemctl restart mosquitto; systemctl status mosquitto
</syntaxhighlight>
'''Важно!''' перед перезапуском желательно [[watchdog |остановить watchdog]]. В случае ошибки в конфигах брокер не запустится и watchdog вызовет перезапуск контроллера.
<syntaxhighlight lang="bash">
</syntaxhighlight>
<syntaxhighlight lang="bash">
</syntaxhighlight>
wb_editors
890

правок