我对在项目中使用MQTT有一点疑问。我只是想知道是否有可能使用RaspberryPi作为MQTT代理(服务器)从MQTT中发布的设备接收数据,然后同时这个RaspberryPi将MQTT中的相同数据发布给另一个订阅者?如果可能,那么第二部分中的消息代理是什么?我的意思是,我希望RaspberryPi成为设备控制器(作用于设备数据),同时将数据发布给另一个MQTT用户。这可能吗?
非常感谢, Pouya
答案 0 :(得分:2)
像MQTT这样的发布/订阅协议支持一对多的数据传输方法。代理是数据的中心分发点,可以处理许多不同的客户端。
当客户端发布消息时,代理会将该消息传递给已订阅该消息发布到的主题的所有客户端。
您可以在同一台计算机上同时运行,订阅或同时运行多个客户端
答案 1 :(得分:0)
实际上,这就是MQTT所做的!
如果设备A(发布者)在主题中发布消息说:pi-topic / xxxx到在Raspberry Pi中运行的MQTT Broker。那么你只需要让设备B(订阅者)订阅/收听同一主题即pi -topic / xxxx。通过这种方式,你可以实现它。你可以使用像Paho这样的任何库。
您需要进一步了解PUB-SUB模型和队列机制。它将来会有所帮助。