2016-09-19 5 views
0

У меня есть небольшое сомнение в использовании MQTT в моем проекте. Я просто хотел знать, возможно ли, что я использую RaspberryPi в качестве брокера (сервера) MQTT для получения данных с устройства, которое публикуется в MQTT, и в то же время этот RaspberryPi публикует те же данные в MQTT другому абоненту? Если это возможно, то каков будет брокер сообщений во второй части? Я имею в виду, я хочу, чтобы RaspberryPi был контроллером устройства (для работы с данными устройства) и в то же время публиковал данные другому абоненту MQTT. Это возможно?MQTT RaspberryPi Broker

Спасибо большое, Pouya

ответ

2

Pub/Sub протоколы, такие как MQTT поддерживают один ко многим подходам к предоставлению данных. Брокер является центральной точкой распространения данных, которые могут обрабатывать множество разных клиентов.

Когда клиент опубликовал сообщение, брокер отправит это сообщение всем клиентам, которые подписались на тему, в которой опубликовано сообщение.

Вы можете запустить несколько клиентов на одной машине каждый издательские, подписавшись или оба одновременно

0

На самом деле, это то, что делает MQTT!

Если устройство A (издатель) опубликует сообщение в теме, скажите: pi-topic/xxxx в MKTT Broker, работающий в Raspberry Pi.Then вы просто заставляете вас использовать устройство B (подписчик) для подписки/прослушивания одной и той же темы, т.е. pi-topic/xxxx. Таким образом, вы можете достичь этого. Вы можете использовать любую библиотеку, такую ​​как Paho.

Вы должны прочитать далее о моделях PUB-SUB и механизмах очереди. Это поможет в будущем.

Смежные вопросы