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

本文介绍了EdgerOS智能操作系统及其支持的DDC(包括SDDC和ZDDC)协议,如何实现物联网设备的硬件无关性和便捷接入。SDDC基于UDP和JSON,提供设备发现、控制及双向加密通信功能。ZDDC则针对ZigBee设备,简化了ZigBee网络的管理。通过这些协议,开发者可以轻松地进行跨设备操作,无需关注底层通信方式。然而,目前在抓包和稳定性方面存在挑战。
摘要由CSDN通过智能技术生成

前言

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值