ZDDC 协议介绍
本章将介绍 EdgerOS 的 ZDDC 协议。
ZDDC(ZigBee Device Discovery & Control,ZigBee 设备发现与控制)是 EdgerOS 专门为 ZigBee 设备定义的发现与控制通信协议。使用 ZDDC 协议开发的设备能被 EdgerOS 自动管理,因此推荐 ZigBee 的设备使用 ZDDC 协议与 EdgerOS 通信。
ZigBee
ZigBee(也称紫蜂)是一种低速短距离传输的无线网络协议。

ZigBee 的主要特点:低功耗、低成本、低复杂度、时延短、网络容量大、可靠、安全。
ZigBee 底层采用了 IEEE 802.15.4 标准规范的媒体访问层与物理层:

IEEE 802.15.4 标准规范 PHY 层提供了两个频段,低频的 868/915 MHz 和高频的 2.4GHz:
PHY | 频率 | 通道数 | 地区 |
---|---|---|---|
Low Frequency PHY | 868.0-868.6 MHz | 1 | 欧洲 |
Low Frequency PHY | 902-928 MHz | 30 | 美国和澳大利亚 |
High Frequency PHY | 2400-2483.5 MHz | 16 | 世界范围 |
ZigBee 网络架构
ZigBee 有星型、树型和网状三种网络架构,可根据实际需求选择合适的 ZigBee 网络架构,三种 ZigBee 网络架构各有优势。

- 星型拓扑是最简单的一种拓扑形式,它包含一个 Coordinator(协调器)节点和一系列的 End Device(终端设备)节点。每一个 End Device 节点只能和 Coordinator 节点进行通信。两个 End Device 节点之间进行通信必须通过 Coordinator 节点进行信息的转发。
- 树型拓扑包括一个 Coordinator 以及一系列的 Router(路由器)和 End Device 节点。Coordinator 连接一系列的 Router 和 End Device,它的子节点的 Router 也可以连接一系列的 Router 和 End Device。这样可以重复多个层级。
- 网状拓扑包含一个 Coordinator 和一系列的 Router 和 End Device。这种网络拓扑形式和树型拓扑基本相同。但是,网状拓扑具有更加灵活的信息路由规则,在可能的情况下,路由节点之间可以直接的通信。这种路由机制使得信息的通信变得更有效率,并且一旦某一个路由路径出现了问题,信息可以自动地沿着其他的路由路径进行传输。
ZigBee 术语
在这里介绍一些 ZigBee 术语的含义,如下表:
术语 | 含义 |
---|---|
属性(Attribute) | 设备之间通信的每一种数据(如开关的状态或温度计值等)均可称为属性,每个属性拥有一个唯一的 ID |
簇(Cluster) | 多个属性的汇集形成了簇,每个簇也拥有一个唯一的 ID |
端点(Endpoint) | 每个支持一个或多个簇的功能块称为端点 |
应用层规范(Profile) | 对逻辑设备及其接口描述的集合,是面向某个应用领域的公约、准则,目的是为了不同厂商生产的 ZigBee 设备能够互联互通 |
ZigBee 应用层规范
ZigBee 诞生之初,为了满足不同应用领域的需求,ZigBee 联盟 先后颁布了多种 ZigBee 应用层规范 Profile:
应用层规范 | 应用领域 |
---|---|
ZigBee Home Automation(ZigBee HA) | 智能家居 |
ZigBee Building Automation(ZigBee BA) | 智能建筑 |
ZigBee Retail Services(ZigBee RS) | 智能零售 |
ZigBee Health Care(ZigBee HC) | 智能健康 |
ZigBee Telecommunication services(ZigBee TS) | 智能通信服务 |

但由于早期 ZigBee 应用层规范标准化做的不好,这些应用层规范相互独立不能互通,并且给了厂商太多选择,很多厂商虽然采用了 ZigBee HA 规范,但是往往会根据自家产品功能或商业秘密需求进行定制,导致了不同厂家的 ZigBee 产品不能互联互通(只能使用其自家的 ZigBee 网关和手机 App 控制,不具备开放性和互通性)。
Spirit 1 对 ZigBee 支持
Spirit 1 带有 ZigBee 芯片,实现了 ZigBee 网络架构中的 Coordinator(协调器)节点功能。在使用 Spirit 1 和 ZigBee 设备组网时,并不需要使用市面上销售的 ZigBee 网关。
同时 Spirit 1 也作为 Trust Center(信任中心),Trust Center Link Key 使用的是默认值:5A 69 67 42 65 65 41 6C 6C 69 61 6E 63 65 30 39(对应 ASCII 码为:ZigBeeAlliance09),在以下情况下会使用 Trust Center Link Key:
- 当节点初次加入网络时,需加密传输 Network Key 到该入网节点。
- 当 Network Key 更新时,有些节点因未接收到新的 Network Key,因此需要 Rejoin。此时,Trust Center 使用 Trust Center Link Key 加密 Network Key 发送给该重新入网节点。
- 路由器发送给 Trust Center,或从 Trust Center 接收 APS 安全消息时,需要使用 Trust Center Link Key。比如路由器发送节点加入或 Rejoin 的更新给 Trust Center 时,或由 Trust Center 发送到路由器以执行一些安全功能的命令时, 需要使用 Trust Center Link Key。
- 启用 APS 加密的应用程序单播消息,其中发送或接收设备是 Trust Center。
EdgerOS 对 ZigBee 支持
ZigBee HA 规范智能家居产品
EdgerOS 支持市面上的一些符合 ZigBee HA 规范的 ZigBee 智能家居产品,如米家 ZigBee 版智能插座,具体详情请查阅 设备中心 页面。

ACOINFO ZigBee 通用设备应用规范
为了解决不同厂家 ZigBee 设备不能互联互通的问题,翼辉信息在 ZigBee HA 规范的基础上定义了通用的 ZigBee 设备应用规范(model ID 为字符串 acoinfo.zigbee.generic
),只要按该应用规范开发的 ZigBee 设备,均能被 EdgerOS 支持,因此推荐使用 ACOINFO ZigBee 通用设备应用规范开发 ZigBee 设备。
ACOINFO ZigBee 通用设备应用规范 Cluster ID 定义:
Endpoint | Cluster ID | 含义 |
---|---|---|
1 | 0x0000 | ZigBee HA 相关基础信息,Attribute ID 0x0004 为 manufacturer(制造商名字),0x0005 为 model ID(模型 ID),类型为字符串,只读 |
1 | 0x0006 | DIO 开关量,Attribute ID 0x2000-0x201f 为 32 个 DIO 通道,类型为 boolean,可读写 |
1 | 0x000C | AIO 模拟量,Attribute ID 0x2000-0x201f 为 32 个 AIO 通道,类型为 float, 可读写 |
1 | 0x0500 | MEM 内存,Attribute ID 0x2000-0x201f 为 32 个 MEM 通道,类型为 uint32,可读写 |
1 | 0x0300 | 本规范定义的通用属性,Attribute ID 0x2000-0x2005 为 6 个属性,类型为 uint32,只读 |
通用属性表:
Attribute ID | 含义 |
---|---|
0x2000 | DIO 通道是否有效(值的每一个位指示对应的 DIO 通道是否有效) |
0x2001 | DIO 通道是否可写(值的每一个位指示对应的 DIO 通道是否可写) |
0x2002 | AIO 通道是否有效(值的每一个位指示对应的 AIO 通道是否有效) |
0x2003 | AIO 通道是否可写(值的每一个位指示对应的 AIO 通道是否可写) |
0x2004 | MEM 通道是否有效(值的每一个位指示对应的 MEM 通道是否有效) |
0x2005 | MEM 通道是否可写(值的每一个位指示对应的 MEM 通道是否可写) |
由以上规范定义可知,每个 ACOINFO ZigBee 通用设备最多可以拥有 32 个 DIO 和 32 个 AIO 及 32 个 MEM 通道,其中 DIO 的数据类型为 boolean
,AIO 的数据类型为 float
,MEM 通道数据类型为 uint32
,可满足绝大多数 ZigBee 设备的需求。
ACOINFO ZigBee 通用设备的 model ID(模型 ID)固定为字符串 acoinfo.zigbee.generic
,而 manufacturer(制造商名字)则可根据制造商和产品类型来定义,如 acoinfo.sensor.magnet
,规则为 device_vendor.device_type.device_name
,即设备厂商.设备类型.设备名。
ZigBee 设备入网流程
手机通过爱智 App 进入 EdgerOS 后,点击设备 App,进入设备管理界面:
在设备管理界面,点击下方的加号图标进入扫描设备界面:
扫描设备界面,此时 EdgerOS 将允许 ZigBee 设备入网:
令 ZigBee 设备进入请求入网模式,不同的 ZigBee 设备进入请求入网模式的操作方式可能有所差异,比如长按某个功能按键数秒或快速连击某个功能按键数次。
ZigBee 设备连接到 Spirit 1 的协调器后,会以 ZDDC 协议连接 EdgerOS,EdgerOS 将发现新的设备:
点击添加,即可把设备加入到 EdgerOS,可以给设备起一个更有意义的名字:
添加完成后,在设备管理列表里可以看到新添加的设备:
ZDDC 设备开发
我们将在《CC2530 ZDDC 设备开发》章节中,介绍如何使用 ZDDC 协议和 ACOINFO ZigBee 通用设备应用规范开发一个能接入到 EdgerOS 的 ZigBee 设备。