Zigbee是业界公认的低功耗、可自组织、健壮的网格网络标准。可为家庭和楼宇自动化提供完整且可互操作的IoT解决方案。它基于IEEE 802.15.4标准并提供了一种简化的安全设备调试方法,使用户能够形成涉及250多个设备的网络,覆盖较大的覆盖范围。通过遵守配置文件规范和ZCP(Zigbee兼容平台)测试,Zigbee设备可以通过各种平台的互操作性认证。
德州仪器(TI)CC13x2和CC26x2器件是SimpleLinkTM微控制器(MCU)平台的一部分。可以使用SimpleLinkTM CC13x2和CC26x2软件开发套件(SDK)随附的TI Z-Stack在这些设备上开发基于Zigbee的应用程序。该SDK包含开发Zigbee认证解决方案所需的一切,包括工具,应用程序示例,文档和源代码。它使用Zigbee 3.0,这是Zigbee联盟的最新规范,该规范通过通用的认证流程统一了以前的应用程序部分。以下各节旨在为用户提供Zigbee 3.0规范中引入的所有新功能的概述。
1 总览
Zigbee 3.0的核心是Zigbee PRO 2017(R22)。请注意,以前Zigbee 3.0需要Zigbee Pro 2015(R21),而现在已被更新的Zigbee Pro 2017(R22)规范取代。基于R21规范的旧版实现仍与新版兼容R22规格。
Zigbee PRO规范为Zigbee网络添加了子设备管理,改进的安全功能以及新的网络拓扑选项。通过基本设备行为(BDB),将设备调试到网络中的情况也得到了改善,并使之更加一致。 Zigbee 3.0还要求所有设备中都具有Green Power基本代理v1.1.1功能,以进一步支持Green Power功能,并将所有配置文件群集编译为一个单一规范Zigbee群集库(ZCL)v7。最后,它规范了常见的Zigbee设备应用程序体系结构命名法,扩展了Zigbee照明和占用设备规范,并对Zigbee 3.0认证提出了意见。以下各节分别介绍了这些属性。
2 Zigbee PRO规格
Zigbee PRO(2015/2017)包含所有软件解决方案必须遵循的正式规则集,才能通过Zigbee联盟成为ZCP,这是备受追捧的认证,可确保设备之间的互操作性。 以下是Zigbee 2015/2017规范中添加的开发人员应注意的新功能。 可以在Zigbee联盟网站获取Zigbee PRO规范文档完整的详细信息。
2.1 子设备管理
子级管理是一个过程,父级设备现在必须通过预先配置的默认超时来老化邻居表条目,以使终端设备子级无响应。 可以使用“终端设备超时请求”命令从该终端设备请求更改该老化超时。 MAC数据轮询是从子级终端设备发送的,以重置父级的老化计数器。 但是,一旦超过超时值,并且子代已老化,父代将向设备发送带有重新加入属性的请假请求,以便可以允许该设备通过新的父代设备重新加入网络。
2.2 父节点宣告命令
父通告消息现在在所有路由设备(路由器和协调器)上都是必需的,并且用于通知网络中的其他路由设备已知哪些子设备。如果先前在网络中的路由设备已重新启动并成功重新加入网络,则该消息将广播到0xFFFC。该设备重新加入网络后10到20秒发送。
2.3 信任中心(TC)链接密钥更新
加入Zigbee 3.0集中式网络的R21设备必须在加入网络后启动TC链接密钥更新程序。此唯一的TC链接密钥用于所有加密的APS层通信,而不是众所周知的对应密钥。在网络关联过程中发送的节点描述符数据包指示加入设备的Zigbee版本。 R21协调器(充当信任中心)可以配置为接受或拒绝不启动TC链接密钥更新过程的旧式设备。请注意,每个功能强大的设备都必须具有唯一的TC链接密钥,这会导致对协调器的闪存需求增加。

2.4安装代码
默认情况下,使用众所周知的TC链接密钥将初始网络密钥传输到加入设备。但是,现在可以选择使用预配置的密钥和安装代码来进一步增强安全性。安装代码是128位随机数据和16位CRC,它们通过MMO哈希函数传递以生成TC链接密钥。将使用此派生密钥代替众所周知的TC Link密钥,这样就不会再使用众所周知的密钥来无线加密数据。通常,安装代码派生的TC链接密钥在制造过程中被硬编码到连接设备中。然后,相应的安装代码将包含在设备中,并通过带外方法(例如用户界面)编程为网络领导者。由于TC链接密钥更新和安装代码增强,R20的高安全性模式已从R21规范中删除。
2.5 传出NWK帧计数器
现在,传出的NWK帧计数器在所有重置(包括标准的出厂新重置和无线重置)中均保持不变,以帮助防止重放攻击。如果在执行NWK密钥更新时NWK帧计数器的值大于0x80000000,则会将其重置。
2.6 网路加入的变更
由于网络将在最多254秒后自动关闭加入,因此无法永远启用许可加入。为了延长网络的开放时间,您可以定期发出允许加入请求以重新启动计时器。不再支持在不启用信任中心加入的情况下打开网络的请求。
2.7 新的强制性命令支持
现在,必须强制处理Mgmt-Leave和NWK-Leave请求,但根据Zigbee设备类型的不同,处理方式也不同。路由器从任何节点接受这些命令,而终端设备仅从其直接父节点接受命令。协调员将忽略所有请假请求。 Mgmt_LQI_req命令对所有设备(包括终端设备)都是必需的,并提供执行网络拓扑发现的标准方法。
2.8 可选的分布式网络
分布式网络由尝试在不存在协调器的情况下操纵网络的第一路由器组成。由于网络没有用于信任中心的协调器,因此网络密钥是在通过已知的分布式全局链接密钥加入时从父级接收的,是预先配置的,或者是通过安装代码带外接收的。由于NWK密钥是固定的并且无法更新,因此分布式网络中的设备将具有大约43亿个数据包的生存期。
3 基本设备行为(BDB)
基本设备行为(BDB)为连接到Zigbee网络的所有节点提供一致的行为,包括一组通用的网络调试机制。从Zigbee家庭自动化配置文件可以将其视为EZ模式的增强。
3.1 BDB调测模式
BDB提供四种类型的调试模式:
触摸链接
网络指导
网络形成
查找和绑定(F&B)
Touchlink是Zigbee Light Link配置文件,等效于基于接近的调试。 Network Steering启用许可加入(打开网络以进行加入),但前提是该设备已经在网络上。如果终端设备或路由器类型当前不在网络中,则该设备将尝试加入现有网络,并且只有在此过程成功后才能继续允许加入。对于协调器(如果允许分布式网络,则为路由器),如果网络指导确定没有合适的网络要加入,则将调用网络形成。这将为协调员创建一个新的集中式安全网络,或为路由器类型创建一个分布式安全网络。
一旦设备进入网络并寻找同样处于F&B模式并且对从匹配集群交换数据感兴趣的其他节点,F&B将被调用。如果在其他节点中找到匹配的群集,则会进行适当的绑定。通过F&B程序形成绑定后,任何具有支持ZCL属性报告的绑定的群集都将立即开始对绑定表条目中设置的目标进行操作。 BDB规范还要求对所有可报告属性进行自动ZCL属性报告。用户可以配置默认报告间隔和可报告更改量。
3.2 BDB安全性
在集中式安全网络内部,TC链接密钥用于传输初始和将来的网络密钥。初始TC链接密钥将是Trust Center的知名默认值,它是从预配置的安装代码派生的,或者是明确定义的。如“信任中心链接密钥更新”部分所述,R21设备必须在网络加入过程中更新其TC链接密钥。
3.3 BDB可用的重置方法
通过BDB,可以使用多个重置选项来执行各种重置操作。这包括通过“重置为默认值”指令进行的基本集群重置,其中将设备上的所有集群属性重置为其默认值。网络设置,组和绑定不受影响。还有“重置为出厂新设置”,其中所有的持久数据都被清除,但传出的NWK帧计数器除外。可以通过关闭重新加入的“网络离开”命令,关闭重新加入的Mgmt_Leave_req命令,本地操作或触摸链接界面来启动它。最后,有一个“完成”重置。这包括传出的NWK帧计数器,并且由制造商定义,因为没有标准方法。
4 Green Power基本代理
每个具有路由功能的Zigbee 3.0设备(路由器或协调器)都必须实现Green Power Basic Proxy(GPBP)v1.1.1功能,以实现前向兼容性。 GPBP使路由设备可以将绿色电源设备框架(GPDF)从绿色电源传输到接收器设备,从而使任何Zigbee 3.0网络都可以使用绿色电源功能,而无需考虑特定设备自身的应用程序。

5 Zigbee群集库
ZCL 7是单个规范文档,其中包含以前跨多个文档针对多个配置文件的所有群集定义。 它符合单个应用程序配置文件ID(0x0104),并且不再要求安全性和加密,因为此功能现在由Zigbee PRO和BDB规范处理。 有关更多文档详细信息,包括对已确认和已验证群集的更新,请参见Zigbee联盟网站。
6 Zigbee应用架构
Zigbee 3.0规范定义了一组规则,通过这些规则可以创建Zigbee应用程序层规范。 这样,它为常见的Zigbee术语“节点”,“集群”和“设备”提供了正式的定义。
6.1 Zigbee节点
Zigbee节点代表一个可测试的实现。 这可能是在单个处理器或应用程序处理器(ZAP)加上网络处理器(ZNP)上运行的独立Zigbee设备,它们一起构成一个Zigbee设备。 每个节点是单个Zigbee堆栈上的单个Zigbee应用程序,具有一个NWK地址和一个PAN ID。 一个Zigbee节点可以托管多个Zigbee设备实例,其中每个设备实例都托管在其自己的端点上。 单个物理产品可能支持多个Zigbee节点,例如将两个独立的Zigbee网络桥接在一起的设备。
6.2 Zigbee集群
Zigbee群集由ZCL规范定义。 每个群集指定一组群集属性,一组生成和接收的命令以及其他相关行为。 每个群集的属性,命令和行为可以是强制性的,也可以是可选的,具体取决于ZCL规范。 每个Zigbee群集都有一个服务器和客户端实现。 通常,支持集群服务器端的设备是实现集群打算与之交互的实际硬件功能的设备。 以照明和开关设计为例,该照明实现了On / Off服务器,因为这是On / Off命令要控制的。 对于温度测量集群,温度传感器实现温度测量服务器,因为它是使用硬件进行实际温度测量的服务器。 每个Zigbee群集都定义为实用程序或应用程序群集,以及类型1或类型2群集。
Utility Cluster:不是产品功能操作的一部分,例如,用于设备调试,配置,发现或诊断的功能。
-
应用程序群集:在群集的客户端和服务器端之间生成持久的功能性应用程序事务,并且在匹配的客户端/服务器群集之间创建绑定时确定这些事务的目标。一些例子是:
开/关群集:开关(开/关群集客户端)将命令发送到指示灯(开/关群集服务器)
温度测量群集-温度传感器(温度测量群集服务器)将报告发送到恒温器(温度测量群集客户端)
类型1群集:启动从群集客户端到服务器端的事务。使用BDB F&B,可在客户端设备上创建绑定。这使客户端设备成为BDB F&B启动器。 On / Off群集是一个合适的示例,因为On / Off客户端将命令发送到On / Off服务器。
类型2群集:启动从群集服务器端到客户端的事务。使用BDB F&B,可以在服务器端设备上创建绑定。这使服务器设备成为BDB F&B启动器。因为温度测量服务器将属性报告发送到温度测量客户端,所以温度测量群集是一个示例。
6.3 Zigbee设备
Zigbee节点上的每个端点都支持Zigbee设备类型。 Zigbee设备类型有三种设备类:
节点类:不要与Zigbee节点的先前定义相混淆,节点类设备定义一个端点,该端点代表某些动作的整个Zigbee节点。节点设备终结点的一个示例是ZDO(Zigbee设备对象)终结点,该终结点由规范在终结点0上定义,并负责与逻辑Zigbee设备类型(ZC,ZR,ZED)相关的操作,例如网络调试,绑定和发现请求,等等(所有与Zigbee网络相关的操作)。节点设备端点的另一个示例是Green Power端点,该端点(如果已实现)在端点242上定义,并且是负责网络操作的另一个端点。 Zigbee节点可以实现一个或多个节点设备端点,并且可以指定也可以不指定强制性群集。
简单类:典型Zigbee网络中最常见的端点。 Zigbee设备(例如传感器,执行器,照明灯和开关)都是简单的设备。一个简单的设备在ZCL规范中指定了一组强制性应用程序集群。仅当在相应端点上存在该群集的绑定时,简单设备端点才能在Zigbee网络内运行。
动态类:此终结点通常在网关设备中找到,该网关设备在简单设备层之上存在更高级别的监视应用程序,可以管理诸如远程绑定,监视网络统计信息之类的活动。
7 Zigbee照明和占用(ZLO)设备规范
Zigbee照明和占用设备(ZLO)规范是Zigbee家庭自动化配置文件规范的子集,该规范专门针对照明和占用类型的Zigbee设备。现在,它作为Zigbee 3.0规范的增强功能存在。本文档包括Zigbee设备类型定义,每种设备类型所需的群集以及每种群集的必需属性。可以在Zigbee联盟网站上找到更多信息。
8 Zigbee 3.0认证
Zigbee 3.0认证现已向所有级别的Zigbee联盟成员提供。 Zigbee联盟向其成员提供ZigBee测试工具和绿色电源测试线束,用于合规性测试,从而无需租用测试版。可以在Zigbee联盟网站上找到更多信息
9参考
Zigbee联盟网站:http://www.zigbee.org
