Как я могу опубликовать взятые данные у подписавшегося брокера в MQTT Mosquitto? - PullRequest
0 голосов
/ 29 августа 2018

У меня MQTT Broker (Mosquitto) в двух разных устройствах. Они работают. Я установил мост между ними. Я могу публиковать данные от одного к другому с pub_mosquitto. Я хочу получать данные из любой темы в интернет-брокере (broker.hivemq.com), например http://www.mqtt -dashboard.com /
Я могу взять данные из любой темы на этом веб-сайте брокеров, но я не могу публиковать полученные данные другому моему брокеру одновременно. Я хочу использовать свой брокерский паб / саб. Мой брокер будет принимать данные от любого брокера и публиковать их в моем мостовом брокере. Как я могу это сделать?

Я нарисовал и написал ниже:

enter image description here

1 Ответ

0 голосов
/ 29 августа 2018

Мосты MQTT можно настроить для работы несколькими способами

  • Чтобы принимать локальные сообщения и пересылать их удаленному брокеру
  • Чтобы принимать удаленные сообщения и пересылать их локальному брокеру
  • Чтобы сделать оба предыдущих заявления

например. для комаров

topic # out // local to remote

topic # in // remote to local

topic # both // bridge in both directions

Полную информацию о том, как настроить москитные мосты, можно найти на странице руководства здесь

Единственное ограничение на то, какие темы могут быть соединены, основано на обычном ACL для пользователя, который локальный брокер использует для аутентификации на удаленном брокере.

Чтобы достичь желаемого, вам нужно создать 2 моста, один между Брокером 1 и Брокером 2, который должен иметь направление both. Это можно настроить в конфигурации для Брокера 1 или Брокера 2 (но не для обоих).

Во-вторых, в Broker 1 вы можете создать мост с брокером HiveMQ. Это, вероятно, должно иметь строку отображения темы, например:

topic temperature in

Это будет принимать любые сообщения, опубликованные брокеру HiveMQ, и связывать их с брокером 1, который затем соединяет их с брокером 2

...