我目前正在开发一个项目,我在其中使用带有mqtt的ESP8266 wifi模块。我在我的电脑上安装了一个mosquitto代理。
我正在尝试让多个esp8266模块订阅代理上的某个主题。我使用两个模块作为演示。
问题在于,无论何时连接其中一个模块,另一个模块都会与代理断开连接。当我重新连接它时,第一个模块(刚刚连接)脱机。
任何帮助?
答案 0 :(得分:5)
您需要为每个模块使用唯一的客户端ID。当第二个客户端使用相同的客户端ID连接时,代理将关闭第一个客户端
答案 1 :(得分:0)
我尝试将两个NodeMCU连接到不同的主题时,使用带有Arduino IDE的NodeMCU遇到了这个问题,但由于某种原因,第二个NodeMCU会继续尝试连接到MQTT失败。
阅读这篇文章后,我意识到我没有改变“id”和那个
if (client.connect("leftBlind", mqtt_user, mqtt_password)) {
我的两个节目都是一样的。我将“leftBlind”更改为其他内容并且有效。