首页 文章

将手机与ESP8266连接

提问于
浏览
10

我正在研究家庭自动化项目,我想将移动应用程序连接到ESP8266 .

  • 我可以将消息从移动应用程序发布到设置为代理的AWS服务器 . (工作)

  • 我可以将消息从AWS发布到Raspberry PI . (工作)

  • 我还可以将Raspberry PI的Mqtt消息发布到NodeMCU / ESP8266 . (工作) .

但是当我试图将所有这些设置在一起时,问题就出现了 . 从AWS发布消息时,Raspberry PI会收到该消息,但它不会反映在NodeMCU / ESP8266上 .

这是code in use .

这就是我在ESP8266中使用的内容 . 当我从Raspberry PI发布时它工作正常,即使我在我的移动设备上连接PI将MQTT客户端应用程序正常工作 . 但是当我从AWS发布时,ESP8266没有任何反应,但PI能够接收消息 .

1 回答

  • 0

    您的问题应该与消息的相关保留标志 . 发布者可以指示代理将最后发送的消息传递给所有新订阅者 . 这是通过将retain标志设置为true来完成的 . 当代理获得保留消息时,它知道必须将消息推送给新订户 . 此功能对于使新订户与其他订户具有相同状态的速度非常有用,否则在发布消息后,只有已经连接的客户端才能接收它(RasPi)而不是新订户(NodeMCU) .

相关问题