我们正处于规划IoT项目的早期阶段。

我们正在努力解决的一个问题是基于Internet的服务器如何访问IoT项目的每个单元并部署代码更新,消息等。

我对此很担心,因为每个IoT单元当然都在其自己的WiFi网络之内,该网络被设计封闭。

我们的服务器(作为我们设置的重要组成部分)如何将其称为各自封闭网络中的“子代”?

评论

欢迎来到物联网stackexchange!您打算使用什么协议?

@ anonymous2:谢谢您的欢迎。请原谅我,但我对此完全陌生。我不知道要使用什么协议,至少,我不知道您指的是什么。

@Mawg-即使在历史上也不是真的。确实,客户端必须启动连接-但是只要连接打开,服务器就可以将未经请求的流量向下推。如果连接断开,客户端将重新建立连接。这不是一个新主意。

哇!我真的写了吗?就在睡觉前,但仍然没有任何借口。我将删除该无关紧要的评论(不过,我认为,我的主要观点是,这对于IoT而言并不是什么新鲜事物,而这个问题最好在姊妹站点上问好)

#1 楼

听起来您应该在寻找一个完整的IoT设备管理平台-可伸缩性,安全性,置备和固件更新有太多复杂的方面,因此尝试从头开始在内部进行开发是明智的。请确保选择使用开放标准的平台。

为了更直接地回答您的问题,每个端点通常都会打开到云服务器的TLS安全连接(使用CoAP,LWM2M或MQTT等工具,具体取决于连接的目的),因此连接几乎总是从端点发起的。仅在使用IPv6或特定的特定用例的情况下,您才可能在没有端点任何帮助的情况下使云启动连接。

#2 楼

访问散布在专用网络中的设备的一种好方法是使用MQTT进行通信。在MQTT中,服务器发布有关主题的消息,设备可以订阅它们,从而在新内容到达主题时得到通知。

网络上有可用的解决方案,您可以选择一种,也可以自己实施。

主要思想是例如“固件更新”的主题,链接或数据包本身就是响应。用于标记消息已读的MQTT消息仅使更新发生一次。