【发布时间】:2020-05-01 21:39:14
【问题描述】:
例如,我制作了以下页面。用于控制两个灯(可以使用本地 wifi 网络,但我想从任何地方控制我的设备) My Web Page 那么我如何从这个 Globle 服务器访问我的 arduino 设备。 我需要 ESP8266 的代码来连接这个网站
【问题讨论】:
标签: iot arduino-ide arduino-esp8266
例如,我制作了以下页面。用于控制两个灯(可以使用本地 wifi 网络,但我想从任何地方控制我的设备) My Web Page 那么我如何从这个 Globle 服务器访问我的 arduino 设备。 我需要 ESP8266 的代码来连接这个网站
【问题讨论】:
标签: iot arduino-ide arduino-esp8266
您将实时控制设备。因此,您的应用程序和设备之间应该存在某种连接需求。这取决于您期望的延迟时间。
HTTP 协议会带来很多开销和延迟。它基于请求响应模型,因此即使您尝试每 2 秒请求一次,您也不会获得那么多实时连接,这将成为一种不好的做法,并浪费数据开销,这在这种情况下是不需要的。
CoAP 是类似的模型,但它非常适合内存较少的设备。其目的是让低资源设备(如微控制器)产生数据请求,并尽可能减少数据包大小和标头。
但我想你知道大多数人使用 MQTT 协议来做这些事情。它基于发布订阅模型,并且始终连接到其代理以实时执行进一步操作。
您也可以自己进行套接字编程,您可以使用它来连接和侦听您的托管服务器(该服务器还具有打开的端口并侦听客户端连接)。在这种情况下,您需要在节点之间自行制定一套握手规则。
我认为 MQTT 得到了很多社区的良好实践和支持。您也可以使用公开可用的 MQTT 代理。您还将获得许多 mqtt 客户端库,您可以使用它们来实时远程控制设备
【讨论】:
这取决于您要采用哪种方法,实现此目的的方法很少:
更改 IP 的解决方法是使用动态 IP DNS 服务。这样做的缺点是您必须设置路由器才能使其正常工作。
【讨论】: