我有一个连接到WiFi网络的IoT设备。当前,物联网设备运行小型HTTP服务器,并在通过Internet接收来自HTTP客户端的POST请求时发送RF信号。为了使此工作有效,我必须在WiFi路由器上启用端口转发,并且HTTP客户端必须连接到路由器的IP地址。

我注意到有些设备可以在WiFi网络中工作,例如Ring Doorbell,Wink设备等,不需要端口转发等。我想知道这是怎么做到的。

我想这些设备实际上是HTTP客户端,并连接到外部服务器。然后,服务器实际上将命令发送到客户端(IoT)设备。

如果这样,请提供一些有关如何创建服务器(使用Python),如何连接服务器的指南。 IoT设备到服务器(HTTP连接),以及如何将命令从服务器发送到客户端(不能使用POST,因为这是错误的方向)。

评论

这些问题有帮助吗?消费者物联网设备通常如何启用Internet连接?和通过互联网联系Arduino而无需端口转发。也可能与您的情况有关。

是否正在尝试使用本地网络在家庭内部发送POST请求,或者例如,您是否正在尝试从工作中向家庭发送命令?我不太明白。

#1 楼

您正在使用什么设备?这取决于您是否能够更改固件。检查您的设备是否与MQTT兼容,这是通过应用程序或Web浏览器控制设备的好方法。

也许您需要检查blynk。这是一个开源应用程序(因此,您可以根据需要检查服务器的制造方式),并且,如果只想使用它,它就非常容易使用。

评论


如果采用MQTT方式,则可能需要家庭网络外部的服务器才能连接设备,否则仍然存在端口转发问题。我相信AWS IoT基于MQTT,并且可能会成为一种选择。当然,您必须检查定价结构和功能,以查看其可行性或是否有更好的选择。

–Aurora0001♦
17年8月25日在7:33

从我的经验谈起(我已经使用blynk大约一年了),并且与blynk服务器和本地服务器(在树莓派上)一起使用时效果很好。在这种情况下,成本非常低。

–路易斯·迪亚兹(Luis Diaz)
17年8月25日在7:35