前言
上次开箱那个 Spirit 1 之后去他们官网逛了一圈。我在他们的材料外面发现一个有意思的玩意。在他们的 EdgerOS 物联网设施开发 文章外面发现一句话:
智能操作系统 EdgerOS 和智能边缘计算机 Spirit 1 反对 Wi-Fi、ZigBee、LoRa 物联网无线通信技术和以太网通信技术,应用这些通信技术开发的物联网设施只有适配 EdgerOS 反对的通信协议都能够接入到 EdgerOS。
原来他们官网上的凋谢生态是这个意思啊。意思是说不论啥设施,啥平台,只有软件上接入协定,就能退出进来了,实现了 硬件无关性。没啥限度和条件,不须要申请也不须要审核资质接上去就能用?
SDDC 是什么?
SDDC 协定(Smart Device Discovery & Control,智能设施发现与管制)是 EdgerOS 专门为 Wi-Fi 和以太网通信技术的物联网设施定义的发现与管制通信协议。
目前官网放出了 C 语言版本的参考实现.。也就是我下面链接的那个 SDDC 代码,依据头文件的定义:
#ifdef __MS_RTOS__
#include "sddc_msrtos.h"
#elif defined(SYLIXOS)
#include "sddc_posix.h"
#elif defined(__FREERTOS__)
#include "sddc_freertos.h"
#else
#error "Please porting to you RTOS!"
#endif
官网版本除了他们本人的 ms-rtos 外还对比拟常见的 free-rtos 和 规范 posix 接口进行了兼容,这基本上笼罩了嵌入式常见的操作系统了。
我看了一下 SDDC 底层协定是 UDP,发送数据包是 JSON,应用程序开发人员间接拿到解决好的字符串用就完事了。
SDDC 协定性能
EdgerOS 发现设施
EdgerOS 邀请设施退出
设施退出和退出 EdgerOS
EdgerOS 维持设施 Online 状态
EdgerOS 与设施间的双向数据通信,数据可加密,反对带有音讯重传和确认的牢靠通信形式
SDDC 协定流程
上图别离是 SDDC 的五种性能,五种报文。我这里挑比较复杂和非凡的报文说一下
设施退出时:
EdgerOS 那边会始终播送 Discover 报文,未退出的传感器设施这边收到播送的 Discover 报文之后会回复一个 Report 报文(外面是一些传感器设施的信息)EdgerOS 收到 Report 报文后回复一个 Invite 报文,传感器设施收到之后会回应是否批准邀请
维持通道:
他们这在 UDP 根底上本人做了一个伪链接,通过心跳包(代码和打印中显示的 ping 包)来维持通道。
不过我用 ESP32 的时候掉线很重大,看样子如同是丢包导致的。换成安信可的 ESP32S 和 DF 的 ESP32E 就没这问题。可能是 ESP32 信号不好?
ZDDC 协定
除了下面说的 SDDC 之外,他们还做了一个 ZDDC 协定.,是 EdgerOS 专门为 ZigBee 设施定义的发现与管制通信协议。并且应用 ZDDC 协定开发的设施能被 EdgerOS 主动治理。
Spirit 1 带有 ZigBee 芯片,实现了 ZigBee 网络架构中的 Coordinator(协调器)节点性能。在应用 Spirit 1 和 ZigBee 设施组网时,并不需要应用市面上销售的 ZigBee 网关。
ZDDC 协定接入比较复杂,能够参考官网的 ZDDC 设施凋谢. 这里就不再赘述了。
DDC 协定特点
我开始看到 SDDC 和 ZDDC 的时候看名字就晓得它们之间有分割,认为他们是同一个协定不同的平台,然而看了代码如同又不是这么一回事。直到我看到了这篇文章协定设施操作 中写道:
EdgerOS 反对各种类型的物联网设施。反对的协定包含:MQTT、MQTT-SN、CoAP、SDDC、Zigbee Home Automation 等。SDDC 设施和 Zigbee Home Automation 设施能够间接操作应用 Device 模块。MQTT、MQTT-SN、CoAP 设施能够通过该模块获取相干设施资源和形容,间接应用 MQTT 和 CoAP 模块操作设施。
原来他们是在下层对这两个协定进行了对立,这样利用开发者就不须要关怀上面传感器端是什么通信形式了。
总结
这个 DDC 协定挺有意思的,的确很凋谢也很便捷,特地是对于下层利用开发者来说,齐全不必去理解上面传感器,,对嵌入式开发者来说上传数据也不便,这两个协定可能实现跨不同厂家设施拜访,实现纯软件对不同厂家同一类设施的访问控制。
我晓得国外一些大厂也在推对立接入协定,没想到国内竟然也有人在做!看到了物联网对立管制的曙光啊!真不错的玩意,我有点爱上它了,
美中不足的就是当初抓包不太不便, 前面本人写个进去,请大家继续关注。