非互联网连接的WiFi设备的标准?


10

我打算做很多家庭自动化。为此,我将托管一个私有的隔离WiFi网络,所有设备都将连接到该WiFi网络。这些设备将是简单的灯,RGB LED灯带(smd5050和ws2812b),恒温器,风扇,开窗器,窗帘控制器和普通插座。此外,IR发射器还可以模拟遥控器以启动电视等。还有433MHz发射器可以模拟可以切换标准遥控插座的遥控器。

现在,我想知道这些设备应向WiFi网络公开哪种接口的标准。

我当然可以给每台设备一个简单的http路由,然后编写可以理解我的界面的应用程序,但是如果我可以实现一个标准,让我可以使用已经编写并且确实理解该标准的应用程序和程序,那就太好了。 。

Answers:


7

关于物联网协议,最常在通信中使用HTTP,CoAP和MQTT。

HTTP和CoAP适用于REST类型的客户端与服务器的通信,而MQTT支持基于发布和订阅的多用户通信,其起源可以轻松地从服务器到客户端,客户端到服务器甚至客户端到客户端。

回答问题:

将REST over HTTP或CoAP用于一对一通信,或将MQTT用于多点流量。

更多细节

在下面的评论之后,我承认我的回答是不完整的,因此我进行了检查并发现了更多内容:

如果所有通信都经过计算,即使是通信也具有这种混乱的标准:

http://www.slideshare.net/butler-iot/butler-project-overview-13603599

资料来源:欧盟管家项目-沟通问题

此外,postscapes.com还根据不同方面列出了以下列表:

1  Infrastructure (ex: 6LowPAN, IPv4/IPv6, RPL)
2  Identification (ex: EPC, uCode, IPv6, URIs)
3  Comms / Transport (ex: Wifi, Bluetooth, LPWAN)
4  Discovery (ex: Physical Web, mDNS, DNS-SD)
5  Data Protocols (ex: MQTT, CoAP, AMQP, Websocket, Node)
6  Device Management (ex: TR-069, OMA-DM)
7  Semantic (ex: JSON-LD, Web Thing Model)
8  Multi-layer Frameworks (ex: Alljoyn, IoTivity, Weave, Homekit)

就像在每个示例的列表中看到的那样,有很多示例,而且肯定还有更多的自定义和专有示例。

您应该打开该链接并仔细阅读,这实在令人震惊。我相信您可能会在您的项目中遇到很多这样的问题,至少在传感器为重装形式的情况下。不仅是最纯格式的组件,还包括一些已经存在的生态系统的一部分。在这些情况下,您可能无法协商它们的接口方式,您只需要在生态系统之间进行选择即可。

现在,正确的问题似乎是通过wifi找到正确的产品集或具有相同或几乎匹配的协议栈的产品集(产品集组),因为您设定了目标(请注意,红外线是该领域之外的解决方案)还有许多其他的非互联网无线网络解决方案,您可能仍然会遇到)。

标准将是确定您可能想要做的所有事情,以及您希望以这种方式学习多少堆栈。通过学习,我的意思是您仍然想与小工具玩得很少,并且要知道某些协议是如何在后台运行的。


1
“ REST over HTTP”有点含糊。即使考虑到这一点,我也可以想到一百种不同的方法来设计界面,尤其是对于那些了解“开”和“关”的设备。理想情况下,我只提供IP地址和设备类型,其余的将标准化。有没有类似的东西存在?
Forivin

7

我的建议是MQTT。通用,轻巧和模块化,它甚至可以在ESP8266(集线器和客户端)上运行。MQTT协议可用于许多平台,从嵌入式,移动设备到大型胖OS,例如MAC,Windows和Linux。

该协议具有用于通信的发布者,订阅者模型。还有QoS,因此集线器可以记住订户是否已收到发布者的消息。因此,睡眠设备可以在唤醒并查找消息时加快速度。

我在小型Raspberry Pi Zero W上运行我的MQTT服务器,就像在墙上的信用卡一样,出于逻辑考虑,我使用“节点红色”,并且我已经开始关注OpenHAB以获得更复杂的解决方案。

我还为12v DC设备构建了自己的Arduino / MQTT设备,并为230v AC设备使用了基于ESP8266的产品。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.