Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/amazon-web-services/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Amazon web services 使用ESP8266连接手机_Amazon Web Services_Raspberry Pi_Mqtt_Esp8266_Nodemcu - Fatal编程技术网

Amazon web services 使用ESP8266连接手机

Amazon web services 使用ESP8266连接手机,amazon-web-services,raspberry-pi,mqtt,esp8266,nodemcu,Amazon Web Services,Raspberry Pi,Mqtt,Esp8266,Nodemcu,我正在从事一个家庭自动化项目,我想将一个移动应用程序连接到ESP8266 我可以从移动应用程序发布消息到AWS服务器,该服务器设置为代理。(工作) 我可以将AWS的消息发布到Raspberry PI。(工作) 我还可以将来自Raspberry PI的Mqtt消息发布到NodeMCU/ESP8266。(工作) 但当我试图将所有这些放在一起时,问题就出现了。当发布来自AWS的消息时,Raspberry PI会接收到该消息,但该消息不会反映在NodeMCU/ESP8266上 这是你的电话号码 这就

我正在从事一个家庭自动化项目,我想将一个移动应用程序连接到ESP8266

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

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

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

但当我试图将所有这些放在一起时,问题就出现了。当发布来自AWS的消息时,Raspberry PI会接收到该消息,但该消息不会反映在NodeMCU/ESP8266上

这是你的电话号码


这就是我在ESP8266中使用的内容。当我从Raspberry PI发布时,它工作正常,即使我连接PI时,它也会在我的手机上运行MQTT客户端应用程序。但是当我从AWS发布时,ESP8266没有反应,但是PI可以接收消息。

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

我们需要更多信息才能在此提供帮助。您是否配置了网桥,如果配置了,如何配置,发布/订阅的主题是什么。你是如何测试的?这就是我在ESP8266中使用的内容。当我从Raspberry PI发布时,它工作正常,即使我连接PI时,它也会在我的手机上运行MQTT客户端应用程序。但当我在AWS上发表文章时,ESP8266没有任何反应。但是PI可以接收信息。编辑问题以包括主要细节(不要只是链接到其他地方)你能发布序列日志吗?我明白了,但他们的连接/订阅顺序略有不同(也使用以太网)。您是否检查了AWS发送的消息的QOS。也许使用QOS1或QOS2可以解决这个问题。或者尝试停用覆盆子,然后查看是否收到ESP上的消息。