文章目录
本文参考 ZigBee 3.0 Stack User Guide(JN-UG-3113 Revision 1.5 11 September 2018)
第1部分 概念和操作信息
1、ZigBee 概述
1.1 ZigBee 网络节点(ZigBee Network Nodes)
无线网络包括可以根据一组路由规则(用于在节点之间传递消息)通过无线电传输彼此通信的一组节点。 ZigBee无线网络包括三种类型的节点:
| 序号 | 设备类型 | 描述 |
|---|---|---|
| 1 | 协调器(Coordinator) |
这是要启动的第一个节点,并通过允许其他节点通过它加入网络来负责形成网络。 一旦网络建立,协调器就具有路由角色(能够将消息从一个节点中继到另一个节点),并且还能够发送/接收数据。 每个网络必须只有一个协调器。 |
| 2 | 路由器(Router) |
这是一个具有路由功能的节点,也能够发送/接收数据。 它还允许其他节点通过它加入网络,因此在扩展网络方面发挥了作用。 一个网络可能有许多路由器。 |
| 3 | 终端设备(End Device) |
这是一个只能发送和接收数据的节点(没有路由功能)。 一个网络可能有许多终端设备。 |
1.2 ZigBee PRO 网络拓扑
从最简单的星形拓扑 到高度结构化的树形拓扑,再到灵活的 Mesh拓扑,ZigBee 促进了各种网络拓扑的发展。ZigBee PRO 主要设计用于Mesh网络。
Mesh网络几乎没有隐式结构。 它是节点的集合,包括 协调器以及 许多路由器 和/或 终端设备,其中:
| 序号 | 描述 |
|---|---|
| 1 | 除协调器外,每个节点都与路由器或协调器关联-这是它通过其加入网络的节点,称为"父节点"。 每个"父节点"都可能有多个"子节点"。 |
| 2 | 终端设备只能与自己的父节点直接通信。 |
| 3 | 每个 路由器和协调器 都可以直接与无线电范围内的 任何其他 路由器/协调器 通信。 |
这是上面的最后一个属性,它为Mesh网络提供了节点间通信方面的灵活性和效率。 Mesh网络如下图所示:
1.3 ZigBee的理想应用
ZigBee适用于广泛的应用,涵盖商业和家庭用途,其中包括:
- 点对点电缆更换(例如无线鼠标,遥控器,玩具)
- 安全系统(例如消防和入侵者)
- 环境控制(例如暖气和空调)
- 医院病人监护
- 灯光控制
- 家庭自动化(例如家庭娱乐,门,门,窗帘和百叶窗)
- 自动抄表(AMR)
- 工业自动化(例如工厂监控)
ZigBee的无线通信还使一些尚无法用电缆系统实现的应用程序得以开发。 例如涉及移动性的应用程序,这些应用程序必须没有电缆(例如,长期健康监控,仓库中的资产跟踪)。 随着ZigBee减少或消除电缆安装成本,可以更便宜地实现当前依赖基于电缆的系统的现有应用程序(例如照明控制和工厂监控)。
ZigBee在基于电缆的解决方案可能难以安装且安装昂贵的环境中也可能是有益的-例如,在家庭安全系统中,传感器需要易于安装
(无电缆或电源线),体积小且自包含( 电池供电)。
1.4 无线射频操作
ZigBee构建于其上的IEEE 802.15.4协议提供了在三个可能的RF(射频)频带之一中运行的基于无线电的网络连接:868、915或2400 MHz。
868和915 MHz频段具有某些优势,例如更少的用户,更少的干扰以及更少的吸收和反射,但是2400 MHz频段由于许多原因而被广泛采用:
- 全球范围内的非授权使用
- 更高的数据速率(250 kbps)和更多的信道
- 较低的功率(由于较高的数据速率,发送/接收的时间较短)
- 频段更容易为市场所理解和接受
ZigBee包括避免无线电通信之间干扰的措施。其中之一是在初始化时自动选择最佳频道的能力。如果当前信道存在问题,也可以通过将网络移动到另一个信道来适应不断变化的RF环境-这种“频率捷变”是 ZigBee PRO的核心功能。其他措施在第1.7节中介绍。
无线电传输的范围取决于操作环境,例如室内或室外。使用装有外部偶极天线的NXP JN516x或JN517x标准模块,通常可以在空旷区域实现超过1km的射程,但是由于吸收,反射,衍射和驻波效应,在建筑物内部可以减小射程墙壁和其他固体物体。大功率模块(大于15 dBm的输出功率)可以达到的范围比标准模块大五倍。另外,在ZigBee网络中可以扩展设备之间的范围,因为在将数据传递到目的地时,网络拓扑(请参阅第2.2.2节)可以使用中间节点(路由器)作为跳板。
1.7 高度可靠的操作
ZigBee和IEEE 802.15.4采用了多种技术来确保网络节点之间的可靠通信-即,确保通信无损到达其目的地。 腐败可能是由 例如
无线电干扰或不良的发送/接收条件引起的。
- 数据编码:在第一级,将编码机制应用于无线电传输。 在2400 MHz频段中使用的编码方法使用QPSK(正交相移键控)调制,将4位数据符号转换为32位码片序列。 由于这种编码,即使传输发生冲突(一个以上的设备同时在同一频道中传输),消息也很可能完整到达目的地。
- 发送前先听:传输方案还避免在所选信道上有活动时传输数据-这被称为载波侦听,具有冲突避免功能的多路访问(CSMA-CA)。 简而言之,这意味着在开始传输之前,节点将侦听该通道以检查其是否畅通。 如果在信道上检测到活动,则该节点将传输延迟一段随机的时间,然后再次侦听-如果该信道现在是空闲的,则传输可以开始,否则将重复延迟侦听周期。
-
确认:两种确认系统可用于确保消息到达目的地:
(1)端到端:当消息到达其最终目的地时,接收设备将确认发送到源节点,以指示已接收到消息。 端到端确认是可选的。
(2)下一跳:当消息通过中间节点路由到达其目的地时,路由中的下一个路由节点(或“下一跳”节点)会向前一个节点发送确认,以表明它已接收到该消息。 始终执行下一跳确认。
在这两种情况下,如果发送设备在特定时间间隔内未收到确认,则它会重新发送原始消息(它可以多次发送消息,直到确认消息为止)。 - 频率捷变:最初建立ZigBee网络时,将自动选择相关无线电频段中的“最佳”频道作为工作频道。 通常,这是在整个频带的能量扫描中检测到的最安静的信道,但是,如果在附近引入以相同信道运行的其他网络,则它可能不会始终保持最安静的信道。 因此,ZigBee包括可选的频率捷变功能。 如果操作信道变得过于嘈杂,则此功能允许将整个网络移至无线电频带中的更好信道。
- 路由修复:采用网状拓扑结构的网络(请参阅第1.2节)具有内置的智能功能,以确保消息到达目的地。 如果由于中间节点或链接故障而导致到目的节点的默认路由中断,则网络可以“发现”并实施替代路由来传递消息。 ZigBee PRO专为Mesh网络而设计,因此将“路由修复”作为核心功能。
通过上述可靠性措施,即使附近还有其他ZigBee网络在同一频带中运行,ZigBee网络也可以运行。 因此,相邻的ZigBee网络不会互相干扰。 此外,ZigBee网络还可以基于其他标准(例如Wi-Fi和蓝牙)在网络附近运行,而不会受到任何干扰。
1.8 安全的操作环境
可以使ZigBee网络安全-可以合并措施以防止潜在敌方和相邻ZigBee网络的入侵。 ZigBee还为同一网络的节点之间的通信提供了隐私。
ZigBee PRO安全性包括以下功能:
| 序号 | 描述 |
|---|---|
| 1 | 访问控制列表(Access control lists) |
| 2 | 基于**加密的通信( Key-based encryption of communications) |
| 3 | 帧计数器(Frame counters) |
这些安全措施概述如下:
- 访问控制列表:访问控制列表仅允许预定义的“友好”节点加入网络。
-
基于**的加密:一个非常安全的基于128位AES的加密系统(作为硬件功能内置于JN516x / 7x设备中)被用于网络通信,从而防止外部代理解释ZigBee网络数据。
这种加密是基于**的。通常,网络中的所有节点都使用相同的“网络**”。但是,可以在给定的一对网络节点之间使用单独的“链接**”,从而允许两个节点之间的通信(可能包含敏感数据)相对于同一网络中的其他节点是私有的。
**可以在工厂的节点中预先配置,可以在系统安装期间进行调试,也可以在中央“信任中心”节点的工作网络中进行分发。
信任中心管理**和安全策略-例如,更改所有网络节点上的网络**,为节点对发布链接**,并限制某些事件或交互发生的时间。可以将任何节点指定为信任中心,但默认情况下是协调员。
也可以使用没有信任中心的分布式安全模型-相反,安全性由网络中的路由器节点管理。 -
帧计数器:使用帧计数器可防止两次发送相同的消息,并且新鲜度检查会拒绝任何此类重复的消息,从而防止对网络进行消息重播攻击。 重播攻击的示例是某人记录了车库门开启器的打开命令,然后重播它以获取未经授权的进入进入物业。 帧计数器在附录C中有更详细的描述。
1.10 设备类型和集群
为了实现互操作性(在1.9节中进行了描述),ZigBee联盟采用了设备类型和群集的概念,它们定义了网络节点的功能。 群集和设备类型在下面介绍(但更多详细信息可以在2.4节中找到)。
1.10.1 集群(Clusters)
群集是一种软件实体,它包含网络节点的特定功能。 集群由与功能相关的一组属性(参数)和一组命令(通常可用于请求操作)定义在群集属性上)。 例如,恒温器将使用“温度测量”集群,该集群包括诸如当前温度测量,可测量的最高温度和可测量的最低温度等属性(但仅需对这些属性执行的操作) 属性将被读写)。
ZigBee联盟在ZigBee群集库(ZCL)中定义了一组群集。 这些集群涵盖了最有可能使用的功能。 这些群集的NXP实现在ZigBee 3.0软件开发人员工具包(SDK)中提供,并在《 ZigBee群集库用户指南》(JN-UG-3115)中进行了描述。
1.10.2 设备类型
网络节点的完整功能由其设备类型决定。 这定义了组成设备支持的功能的群集的集合(有些是必需的,有些是可选的)。 例如,恒温器设备使用基本型和温度测量群集,也可以使用一个或多个可选群集。 设备是设备类型的实例。
一个网络节点可以支持多个设备类型。 设备类型的应用程序在称为终结点的软件实体上运行,每个节点最多可以具有240个终结点。
所有ZigBee 3.0节点必须实现ZigBee基本设备(不占用端点),该设备可处理诸如调试之类的基本操作。
ZigBee设备用户指南(JN-UG-3114)中详细介绍了ZigBee设备类型和ZigBee基本设备。
缩略语(Acronyms and Abbreviations)
| 序号 | 缩写 | 原语 | 描述 |
|---|---|---|---|
| 1 | AF | Application Framework | 应用框架 |
| 2 | AIB | APS Information Base | APS 信息库 |
| 3 | APDU | Application Protocol Data Unit | 应用 协议数据单元 |
| 4 | APS | Application Support (sub-layer) | 应用程序支持(子层) |
| 5 | APSDE | Application Support (sub-layer) Data Entity | 应用程序支持(子层)数据实体 |
| 6 | APSME | Application Support (sub-layer) Management Entity | 应用程序支持(子层)管理实体 |
| 7 | BDB | Base Device Behaviour | 基本设备行为 |
| 8 | EPID | Extended PAN ID | 扩展PAN ID |
| 9 | HA | Home Automation | 家庭自动化 |
| 10 | HVAC | Heating, Ventilation and Air-Conditioning | 加热,通风和空调 |
| 11 | PAN | Personal Area Network | 个人区域网 |
| 12 | NIB | NWK Information Base | NWK信息库 |
| 13 | NPDU | Network Protocol Data Unit | 网络 协议数据单元 |
| 14 | NWK | Network | 网络 |
| 15 | PDUM | Protocol Data Unit Manager | 协议数据单元管理器 |
| 16 | PDM | Persistent Data Manager | 永久数据管理器 |
| 17 | PIC | Programmable Interrupt Controller | 可编程中断控制器 |
| 18 | PWRM | Power Manager | 电源管理 |
| 19 | SAP | Service Access Point | 服务访问点 |
| 20 | ZCL | ZigBee Cluster Library | ZigBee 群集库 |
| 21 | ZCP | ZigBee Compliant Platform | 符合ZigBee的平台 |
| 22 | ZDO | ZigBee Device Objects | ZigBee 设备对象 |
| 23 | ZDP | ZigBee Device Profile | ZigBee 设备规范 |
| 24 | ZLL | ZigBee Light Link | - |
| 25 | ZPS | ZigBee PRO Stack | ZigBee PRO 协议栈 |