两个节点mcu无法使用MQTT与树莓派通信



Raspberry Pi是本地主机,我试图使用带有两个不同主题的Node MCU将数据发送到Raspbberry Pi。例如:如果x> 10,则我发送1个,否则0

我在两个节点MCU中使用的逻辑。

如果我仅与一个nodemcu通信,则可以得到很好的响应,但是如果我与两个Nodemcu连接,则有时在Raspberry Pi Console中不会获得价值。

这通常取决于所使用的客户端和经纪人,以及您的配置。两个人没有一个问题,一个人不建议客户ID Collision :每个MQTT客户端设备都必须具有不同的客户端ID,这一事实。如果经纪人从两个具有相同ID的客户端接收订阅,则经纪人可能会断开一个订阅,通常是第一个。如果每个客户端被配置为重新连接,则可能会导致两者的无尽连接,每个端都连接了一半的时间。

任何不断开重复客户端的经纪人仍然无法交付给一个,因为它使用客户端ID来跟踪已发送消息的客户。第一个在其订阅中搜索消息的客户端将收到最新消息,任何后来的消息都会错过该消息,因为该消息已经标记为已交付给该客户端ID。

大多数客户端避免使用随机IDS 的问题,但是让开发人员手动设置一个问题。您相同的逻辑是否设置了客户端ID?您可以通过经纪人的日志

验证每个设备上实际设置的内容

最新更新