引言
本文档介绍了如何在 STM32WB 系列上使用 Zigbee®群集。
Zigbee 应用通常构建在 Zigbee 群集库之上。
本应用笔记说明了此类群集的使用及控制方法。
本文档适用于 STM32WB 系列基于双核 Arm®的微控制器。
快速开始
本文档可用于指导开发人员了解使用 Exegin ZCL 群集模板构建应用的要点。每个 Exegin ZCL 群集模板均提供了起始源代码,以便实现完整的群集。该模板提供了 Exegin 规范[R2]、[R4]中定义的强制性 ZCL 命令和属性。
许多命令和属性已成功通过 Zigbee®认证测试。应用的构建包括向特定硬件添加接口,或添加类似应用特定的详细信息。这对于以应用为中心的群集尤为如此,以应用为中心的群集的主要目的是提供应用特定的功能,诸如“开关”群集,对于灯而言,该群集会打开和关闭灯。
除了特定于应用程序的群集之外,还为其他类型的群集(如支持群集和专业群集)提供了模板。基本群集通过提供设备的品牌和型号等信息来支持常规操作。组合,可以将其它群集进行组合管理。第三种类型的群集(即专业群集)独立性较高,并且涉及到应用的部分最少。这些群集提供了一些特殊函数,诸如 Touchlink、CBKE(智能能源安全)和绿色电源。
本文档旨在与定义群集的[R2] ZCL 7 规范和[R3]结合使用,用于 Exegin ZSDK API。
群集和端点
协议栈负责建立和维护某个节点与 Zigbee 网络上的其他节点之间的通信(参见[R1]和[R3])。应用组件建立在这些较低层上并交换 Zigbee 群集库(ZCL)消息。
本文档介绍了如何使用 ZSDK 提供的群集模板构建应用。
ZCL 由多套有组织的相关功能(即群集)组成。通常,该功能与特定的硬件原件相关联,诸如单个灯或控制灯的开关。与给定设备相关联的所有函数都位于单个端点上。
本文档基于[R2]和[R3]构建,为用户使用群集模板构建应用提供了相关知识。
节点上的每个端点都具有一个唯一的端点 ID(通常称为“端点”),取值范围从 1 到 239。保留端点 0 和240 到 255 用于特殊用途。
客户端服务器的关系
群集功能分为服务器端和客户端,服务器端通过一个节点上的端点提供服务,客户端通过另一个节点上的另一个端点访问该服务)。
支持多个灯或多个开关)。因此,每个实例位于唯一的端点上,一个节点上的特定灯(“开关”服务器)通过使用相应的节点端点,与另一个节点上的特定开关(“开关”客户端)相关联。
例如:开关 3 可以位于开关节点上的端点 3 上,并且配置为与灯节点的端点 2 上的灯 2 通信。
给定端点上只允许有一个群集实例,但每个端点通常具有多个群集(如“开关”、基本、报警、场景等)。
应用使用 ZbZclAddEndpoint()函数创建一个或多个端点,该函数已在 Zigbee 群集库头文件 zcl.h 中予以声明。