ZigBeePRO-Fundamentals_Training
1_ZigBeePRO-Fundamentals_Training
0 Agend
- Zigbee Basics
- Zigbee Architecture
- ZigBee PRO Networks
- ZigBee Profiles, Devices and Clusters
- Network Commissioning
- Network Security
Features
- 低功耗:将传输范围限制在0-10m line-of-sight.
- ZigBee 通常用于需要较长电池寿命和安全网络的低数据速率应用。
- ZigBee 的定义速率为 250 Kbit/s,最适合来自传感器或输入设备的间歇性数据传输intermittent data transmissions
- 10 kbps to 115 kbps data throughput
- 10 to 75 m coverage range
- Up to 100 collocated networks
- Up to 2 years of battery life on standard alkaline batteries
1. Basic
1.1 ZigBee的理想应用
- 点对点cable replacement(例如,无线鼠标、遥控器、玩具)
- 安全系统(例如,火灾和入侵者)
- 环境控制(例如,供暖和空调)
- 医院病人监控
- 照明控制
- 家庭自动化(例如,家庭娱乐、门、大门、窗帘和百叶窗)
- 自动抄表 (AMR)
- 工业自动化(例如,工厂监控)
2. Architecture
2.1 适用于 ZigBee 堆栈的 OSI 模型
2.2 软件架构

3. ZigBee Pro Networks
3.1 网络节点
- Coordinator :
- 每个网络都必须有一个Co-ordinator;
- 开启整个网络;
- 允许子节点通过它加入网络;
- 能作为父节点,允许有children Coordinator;
- Router :
- 网络可以有多个router;
- router有路由能力;
- 允许其他节点通过它加入网络;
- 能作为parent,也能作为child;
- End Device :
- 网络可以有很多终端设备;
- 只有收发数据的能力;
- 不能做parents,不能有child;
3.2 Network Identity
- PAN ID
- 16位的值,叫做PAN ID (Personal Area Network Identifier).
- 网络运行时,由Cooridnator随机选择;
- 新安装的网络生成的PAN ID可能与同一radio channel同一neighborhood的已有的网络存在冲突;
- Extended PAN ID: 64位的值,叫做EPID;
3.2 Network Addressing
- IEEE (MAC) 地址:
- 这是一个 64 位地址,由 IEEE 分配,唯一标识设备
- 在 ZigBee 网络中,有时称为“extended”地址。
- 网络地址:
- 此16位地址标识网络中的节点
- 有时称为“short”地址。
- 当节点首次加入网络时,由父节点动态分配为随机 16 位值。
- 协调器始终拥有网络地址 0x0000
3.3 NerghborTables
路由节点(Router 或 Coordinator)保存有关其相邻节点的信息,该信息存储在 Neighbor 表中,其中包含节点的直接子节点的条目.
3.4 网络创建的过程
- 初始化IEEE 802.15.4 stack
- 创建PAN Coordinator
- 设置网络的PAN ID
- 设置PAN Coordinator的short地址;
- 选择radio frequency channel
- start网络
- 加入其他设备
- 开始传输数据
3.5 Descriptors
- Node Descriptor
- 类型(End Device, Router or Coordinator)
- 使用的频段(868 MHz、902 MHz 或 2400 MHHz)
- Node Power Descriptor
- Power mode
- Available power sources
- Simple Descriptor
- The endpoint on which the application communicates
- Lists of input and output clusters
4. ZIGBEE PROFILES, DEVICES AND CLUSTER
4.1 ZigBee Endpoints
- 一个设备可以运行多个应用程序或同一应用程序的多个实例
- endpoint是为应用程序实例提供通信端口的软件实体
- endpoint number用于在向node发送消息时标识目标应用程序
- 256 个endpoints,编号0 到 255:
- 0 保留给 ZDO(ZigBee Device Objects
- 1 到 240 可用于应用程序实例
- 241 到 254 保留,242 保留给 ZigBee Green Power
- 255 用于广播到所有应用程序实例
4.2 Application Profiles
- 应用程序配置文件定义了一组设备,这些设备可以一起用于实现特定市场领域的应用程序——例如:
- 照明系统的开/关 switch、调光开关和占用传感器用于光照系统;
- ZigBee 联盟定义了许多“公共”配置文件-例如:
- 智能能源
- 家庭自动化
- 公共配置文件确保来自不同制造商的 ZigBee 设备的互操作性 -例如:
- 允许一个供应商的开关与另一个供应商的灯具(包含负载控制器)一起工作
- 可互操作的产品必须经过测试和认证,以符合相关的 ZigBee 应用规范
4.3 Device Types
- ZigBee 配置文件(例如家庭自动化)包含许多设备类型
- 设备类型是:
- 对应于功能设备的软件实体(例如可调光)
- 在节点上作为具有相应端点的应用程序实施
- 设备类型由许多功能“集群”支持:
- 一些集群是强制性的(例如基本集群),一些是可选的
- 一些集群是特定于配置文件的
- 一些集群由配置文件共享并来自 ZigBee Cluster Library (ZCL)
- 在设备结构中启用了所需的集群
- 可以在同一节点上实现多个设备类型(或同一设备类型的多个实例)
4.4 Clusters and Attributes
- 集群是最小的功能构建块,对应于特定功能(例如开/关、可调光、恒温器
- 集群包含属性和用于与它们交互的命令
- 属性是保存的数据实体(例如温度)在设备上并且可以在设备之间进行通信
- 例如,恒温器集群包含与以下相关的属性:
- 当前温度
- 最低温度
- 最高温度
- ZigBee 联盟已经定义了标准集群:
- 在 ZigBee Cluster Library(ZCL)中收集的一组常见集群
- 作为公共应用程序配置文件一部分的特定集群,例如智能能源
- 一个集群有两种形式——客户端和服务端——存在于两个通信设备上
4.5 Cluster Servers and Clients
一个集群有两种形式,服务器和客户端:
- Cluster Server:用于存储属性并接收命令来操作它们
- Cluster Client:用于通过发送命令来操作相应集群server中的属性(通常是“写”命令设置属性值,“读”命令获取属性值)
5. NETWORK COMMISSIONING
5.1 Service Discovery 服务发现
- 允许加入设备找到与之操作的兼容节点(例如,调光开关可能需要找到可调光)
- 有关节点的信息保存在节点的“descriptors”中
- 根据兼容的集群进行匹配
- 集群信息是保存在节点上的简单描述符中
- 加入节点broadcast一个匹配描述符请求(Match Descriptor Request),列出感兴趣的集群
- 具有相关集群的节点单播unicast一个Match Descriptor Response,包含地址和端点信息
- 加入节点可能会收到多个响应
- 加入节点上的应用程序,必须确定它将与哪个响应节点一起工作
5.2 Direct Addressing, Grouping and Binding 直接寻址、分组和绑定
节点可以通过直接寻址、分组或绑定与compatible node进行通信:
- Direct Addressing 涉及使用其地址向各个节点发送消息。
- Grouping 涉及创建具有关联 16 位组地址的一组节点:
- Group Table保存在每个远程(目标)节点
- 此表包含节点所属组的组的地址
- 组的消息发送到相应的组地址
- 当一个group的消息已经receive,仅当组地址在表中时才接受此消息
- Binding 涉及创建一组预定义的链接或与远程节点的绑定:
- 将本地端点(应用程序)与远程节点上的端点(应用程序)绑定
- 包含这些链路的绑定表保存在本地(源)节点上
- 来自本地端点的所有后续通信都自动发送到绑定的远程端点
- 可以本地或远程创建绑定
5.3 Sending Data Packets by Direct Addressing 通过直接寻址发送数据包
5.4 Sending Data Packets by Group Addressing 通过组寻址发送数据包
要在group中包括node,必须使用“Add Group”命令将group address添加到node上的“Group Table”中。
5.5 Local and Remote Binding
Local Binding
Local device writes details of bound endpoint into its Binding Table.
Remote Binding(Watch, Trap)
Local device requests remote devices to write its details into their Binding Tables.
5.6 Sending Data Packets to Bound Endpoints
5.6 Attribute Reporting
- 一个节点可能需要向另一个节点发送regular/periodic报告。比如,一个开/关灯将其状态报告给Control Bridge(用于物联网)
- 属性报告涉及从集群服务器主动向客户端发送属性值(而不是客户端轮询polling服务器):
- 减少网络流量
- 允许休眠服务器报告唤醒时的属性值
- “属性报告”可以通过以下方式发出:
- 通过用户应用程序中的函数调用(在服务器设备上)
- 由 ZCL 自动发出
- 自动属性报告涉及两种机制:
- 报告由属性值变化触发
- 定期为属性发布报告
- 这些机制可以同时运行
必须首先使用Configure Reporting命令配置属性报告。
6. NETWORK SECURITY
6.1 Security Schemes 安全方案
安全措施由信任中心管理:
- Trust Center Policy 信任中心策略
- White Listing白名单:仅允许预定义的“友好”节点加入网络
- Security Key Distribution安全密钥分发:生成和传输用于加密的密钥
- Encryption Schemes加密方案
- 高度安全的基于 AES 的加密系统
- 128 位加密密钥
- 可应用于两个级别:
- Network Level网络级别:相同的“网络密钥”用于所有网络通信
- Application Level应用级别(可选):每对应用程序之间的唯一“Link key”
6.2 Network Key Provisioning
- 下图说明了从Trust Centre到joining node的Network Key的提供。
- 该过程假定预配置的Link Key(全局或唯一)可用。
- 使用唯一link key,Trust Centre检查其是否具有与joining node的 MAC 地址相对应的密钥。
6.3 Application-level Security
- 可以为一对节点设置
- 允许两个节点之间的专用通信,使用application link key进行加密/解密
- link key是唯一的,一对节点独占的
- link key由信任中心颁发:
- 来自 TC 的一个请求节点链接密钥
- TC 将密钥发送到两个节点
- 密钥的传输使用Network Key和TC和target node中间的link key加密(如果适用的话)

6.4 Data Encryption/Decryption in Stack

7. ZIGBEE CERTIFICATION
Zigbee 3.0
- 完整的 loT solution — 从mesh network到允许智能对象协同工作的通用语言。
- Zigbee增加了用户和开发人员的选择和灵活性;并让人们相信产品和服务将协同工作。
- Zigbee服务于智能家居和商业建筑市场。
ZigBeePRO-Fundamentals_Training
https://dustofstars.github.io/IoT协议/ZigBee/zigbeepro-fundamentals-training/