统一了 WiFi 和 ZigBee 上层使用的跨厂商发现与控制 DDC协议介绍

傅秋芳
• 阅读 1320

前言

上次开箱那个 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 协议流程

统一了 WiFi 和 ZigBee 上层使用的跨厂商发现与控制 DDC协议介绍
上图分别是 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 协议挺有意思的,确实很开放也很便捷,特别是对于上层应用开发者来说,完全不用去了解下面传感器,,对嵌入式开发者来说上传数据也方便,这两个协议能够实现跨不同厂家设备访问,实现纯软件对不同厂家同一类设备的访问控制。
我知道国外一些大厂也在推统一接入协议,没想到国内居然也有人在做!看到了物联网统一控制的曙光啊!真不错的玩意,我有点爱上它了,
美中不足的就是现在抓包不太方便,后面自己写个出来,请大家持续关注。

点赞
收藏
评论区
推荐文章
低代码平台助推物联网项目 | 飞速低代码平台
低代码能够将所有利益相关方涵盖在开发过程中,以便很好地利用各个方面的知识来解读来自物联网的数据。在实施涉及物联网(IoT)的项目时,将众多组件和技术互连是一个需要克服的障碍。这项任务通常由具有适当经验和知识的专业人员来执行,以解决技术复杂性。他们是程序员、工程师和数据科学家,他们的任务是连接硬件、连接资源和云,将原始传感器数据转换为对业务应用有用的信息
Easter79 Easter79
3年前
springcloud中feign的@FeignClient应该写在哪里?
前言最近项目组拿了友商的springcloudalibaba项目来进行改造,在翻阅他们的代码时候,发现他们把@FeignClient写在服务提供方的API上,他们这样的写法成功的引起我的注意,于是抱着好学的心态请教友商的开发人员,于是一篇水文就这么诞生了友商开发人员解惑友商服务提供方的API形如下@Feign
布袋罗汉 布袋罗汉
2年前
MacDroid for mac(安卓文件传输助手)
MacDroid是一种软件应用程序,允许用户在他们的Mac计算机和Android设备之间轻松传输文件。使用MacDroid,用户可以通过USB或WiFi将他们的Android设备连接到他们的Mac,然后访问设备的文件和文件夹,就像它们在Mac上一样。这使得
李志宽 李志宽
3年前
用了HTTPS,没想到还是被监控了
大家好,我是周杰伦。上周,微信里有个小伙伴儿给我发来了张图:我一瞅,是HTTPS啊!没用HTTP!再一瞅,是www.baidu.com啊,不是什么山寨网站!我瞬间明白了些什么,让他点击了一下浏览器地址栏中那个表示安全的小锁标志,查看了一下网站使用的HTTPS证书。果然不出我之所料,证书不是官方的,官方的证书长这样:而那个假的证书是他们公司签发的,看来,他们公
Stella981 Stella981
3年前
IoT爆发前夕,企业架构要面对哪些变革?
物联网(IoT),是当下乃至未来的一个技术热点,在过去的2020年,随着5G等前沿技术的持续落地,万物互联已然成为大势所趋。不难发现,在IoT产业滚滚向前的进程里,与之相关的数据库、操作系统及软件应用如雨后春笋般逐渐出现;家电家居、工业、汽车等传统领域也开始与IoT结合,实现相关应用落地,并持续实现产业变革。值得欣喜的是,纵观全球IoT产业发展,中国的增
Stella981 Stella981
3年前
ESP8266 wifi模块初次试用
前段时间在淘宝随便搜搜“wifi模块”,竟然眼前一亮发现有一款价格在15元内的wifi模块:ESP8266。对其简单的了解:1.体积小巧,且多种封装,没有一个硬币大。2.价格便宜,十几块钱在wifi模块里面算是最便宜的了。3.提供AT指令,这样就可以使用arduino进行控制,实现互联网数据交互。4.
Stella981 Stella981
3年前
NodeMCU简介与快速入门
NodeMCU是在微控制器上运行LUA的固件引擎。目前支持ESP8266Ex芯片及其模块。NodeMCU是一个开源的可以运行脚本的微控制器,直接支持WiFi链接和GPIO,而且成本低廉。是物联网开发的不二之选。1、硬件NodeMCUDevkit:http://www.nodemcu.com(https://www.oschina
存储资源盘活系统,“盘活”物联网架构难题(上)
物联网Internetofthings(IoT),是一种与物有关的互联网,通过射频识别、红外感应器、全球定位系统、激光扫描器等信息传感设备,按约定的协议把任何物品与互联网相连接,进行信息交换和通信,以实现对物品的智能化识别、定位、跟踪、监控和管理
京东云开发者 京东云开发者
5个月前
🧐 DeepSeek-R1原理解析及项目实践(含小白向概念解读)
作者:京东零售王加伟一、概念解读(小白向)我们打开deepseek官网,会发现对话框之下:有两个按钮,那他们的含义如何理解🤔?最近爆火的deepseek究竟指的是哪个模型?深度思考R1与联网搜索的作用?接下来对常用概念做一些入门性质的介绍:1、联网搜索: