1. 范围
ZigBee 应用层规范描述了常用ZigBee 设备功能,比如绑定、设备发现和服务发现是如何在ZigBee设备对象内部实现的。ZigBee 设备Profile 通过定义cluster 能够像任何的ZigBee profile 一样运行。不像应用程序特定的 profile,ZigBee 设备 Profile 内的cluster 定义了所有 ZigBee 设备支持的功能。和任何profile 文件一样,本文件详细叙述了强制和/或可选的cluster。
2. 设备profile概述
设备Profile 支持ZigBee 协议内部四种关键的中间设备通信功能。这些功能在以下的章节介绍:
- 设备和设备发现概述
- 终端设备绑定概述
- 绑定和取消绑定概述
- 绑定表管理概述
- 网络管理概述
2.1 设备和服务发现概述
设备和服务发现是一个分布式的操作,即个别设备或指定的发现缓存设备响应发现请求。“重要设备地址”域使得响应可以来自于设备本身或一个发现缓存设备。在某些发现缓存设备和“重要设备地址”设备都响应的情况下,应该使用来自于 “重要设备地址”的响应。
设备和服务发现存在以下功能:
- 设备发现:为一个设备提供确定 PAN 上其它设备身份的功能。64 位 IEEE 地址和 16 位网络
地址都支持设备发现。
设备发现信息可以用于以下两种方式之一:
——广播寻址:网络中的所有设备应该根据逻辑设备类型和匹配标准做出响应。ZigBee 终端设备将刚好响应他们自身的地址,ZigBee 协调器和ZigBee 路由器及其相关设备应该根据请求类型响应,以其地址作为第一个条目,然后是其相关设备的地址。响应设备应该使用单播响应的APS 确认服务。
——单播寻址:只有指定的设备响应。一个ZigBee 终端设备应该只以其地址响应。ZigBee 终端设备仅响应他们自身的地址,一个ZigBee 协调器或路由器应该以其自己的地址和每个相关子设备的地址回复。所含的相关子设备允许请求者确定指定设备的网络基本拓扑结构。 - 服务发现:为一个设备提供了确定PAN 上其它设备所提供的服务的功能。
服务发现信息可以用于以下两种方式之一:
——广播寻址:由于可以返回的信息量,只有个别设备或主要发现缓存会以请求中建立的匹配标准响应。如果主要发现缓存为请求的 NWKAddrOfInterest 保持缓冲发现信息,只在这种情况下它会响应。响应设备也要使用单播响应的APS 确认服务。
——单播寻址:只有指定设备会响应。在一个ZigBee 协调器或 ZigBee 路由器的情况下,这些设备会为睡眠的相关设备缓存服务发现信息,并代表它们响应。
2.2 终端设备绑定概述
终端设备绑定存在以下功能:
终端设备绑定:
-当使用了用户干预来确定命令/控制设备对,为一个应用程序提供了支持一个绑定的简化方法的功能。典型用法是为了安装的目的,要求一个用户在两个设备上按下按钮。第二次使用此机制允许用户移除绑定表条目。
2.3 绑定和取消绑定概述
直接设定绑定表条目存在以下功能:
- 绑定:提供了创建一个绑定表条目的功能,其中绑定表可以把控制信息映射到其预定目的地。
- 取消绑定:提供了移除绑定表条目的功能。
2.4 绑定表管理概述
绑定表管理存在以下功能:
(1)登记执行源绑定的设备:
为一个源设备提供了指示其主要绑定表缓存来保持自己的绑定表的功能。
(2) 以另一个设备代替本设备,无论在绑定表中任何地方都可以:
提供了以另一个设备代替本设备的功能,通过在所有情况下替换其绑定表中的地址。
(3)备份一个绑定表条目:
为一个主要绑定表缓存提供了给备份绑定表缓存发送一个新创建条目的详细信息的功能(在接收到一个绑定请求之后)。
(4)移除一个备份绑定表条目:
为一个主要绑定表缓存提供了请求从备份绑定表缓存中移除某个条目的功能(在接收到一个取消绑定请求之后)。
(5)备份整个绑定表:
为一个主要绑定表缓存提供了请求备份其整个绑定表的功能,使用备份绑定表缓存。
(6)恢复整个绑定表:
为一个主要绑定表缓存提供了请求恢复其整个绑定表的功能,使用备份绑定表缓存。
(7)备份主要绑定表缓存:
为一个主要绑定表缓存提供了请求备份其整个源设备地址表的功能(包含任何含有其自身绑定表的源设备的地址)。
(8)恢复主要绑定表缓存:
为一个主要绑定表缓存提供了请求恢复其整个源设备地址表的功能(包含任何含有其自身绑定表的源设备的地址)
2.5 网络管理概述
网络管理存在以下功能:
(1)提供了从设备中检索管理信息的功能,包括:
- 网络发现结果
- 到相邻节点的链路质量
- 路由表内容
- 绑定表内容
- 发现缓存内容
- 能量探测扫描结果
(2)提供了设置管理信息控制的功能,包括:
- 网络离开
- 网络直接加入
- 允许加入
- 网络更新和错误通知
2.6 设备profile的设备描述
ZigBee 设备Profile 使用了一个ZigBee 设备描述。每个指定为强制的cluster 会在所有ZigBee 设备中存在。对于一些信息的响应行为根据逻辑设备类型而异。对于可选cluster 的支持不依赖于逻辑设备类型。
2.7 配置和角色
设备Profile 假定了一个客户端/服务器拓扑。一个发出设备发现、服务发现、绑定或网络管理请求的设备,通过一个客户端角色完成。一个服务于这些请求和响应的设备,通过一个服务器角色完成。在可以同时提供客户端和服务器角色的给定设备中,客户端和服务器角色是不排斥的。
因为许多客户端请求和服务器响应是公共的,且应用对象可以使用,而不是ZigBee 设备对象,应用构架层的头的传输序列号应该在客户端请求及其相关服务器响应中是相同的。
设备Profile 以两种配置之一描述了设备:
- 客户端:一个客户端通过设备Profile 信息给服务器发出请求。
- 服务器:一个服务器发出响应给发起设备Profile 信息的客户端。
2.8 ZDP命令的传输
所有ZDP 命令应该通过APS 数据服务传输,并应该根据图2.19 所示的ZDP 帧结构来编排。
2.8.1 事务序列号域
事务序列号域长度为8 位,指明了ZDP 事务的一个标识号码,这样一个响应命令帧可以和该请求帧联系起来。应用对象自身会维护一个 8 位的计数器,它被复制到该域中,每发送一个命令就加一。当值达到0xff 时,下一个命令会重启值为0x00 的计数器。
如果一个设备发送一个要求响应的ZDP 请求命令,目标设备应该以相关的ZDP 响应命令响应,并包括原始请求命令所含的事务序列号。
事务序列号域可以被一个控制设备使用,它可以发出多个命令,以便它可以匹配到来的响应和相关
命令。
2.8.1 事务数据域
事务数据域长度是可变的,包含各个 ZDP 事务的数据。