本应用笔记旨在指导最终用户在 STM32WB 系列上实现特定的 ZCL(Zigbee®集群库)制造。Exegin ZSDK(Zigbee 软件设计套件)包含适于大多数现有集群的模板,可提供广泛的功能。但某些应用仍需开发自定义集群模板。本文档描述了此类自定义集群模板的开发过程,以及新 ZCL 集群的构建,构建方式与 Exegin ZSDK 集群的相同。
其中,假设最终用户熟悉一般 Zigbee®组网、Exegin ZSDK 协议栈参考以及 Exegin ZCL 集群模板的使用。
在介绍实现新 ZCL 集群的机制之前,有必要回顾一些 ZCL 的基础知识和展示一个可供全文引用的具体示例。Zigbee 集群库(ZCL)定义了应用在节点之间通过网络和空中进行交互的机制。用于特定目的的功能被整理到“集群”中,该集合定义了一组相关的属性和指令。例如,“开/关”集群定义了可开启/关闭器件的功能。
该功能在客户端和服务器端之间进行拆分。在“开/关”样例中,开关可作为客户端,而灯可作为服务器。利用节点 N 端点 1 上的开关,控制节点 M 端点 9 上的灯。
集群客户端或者服务器应用,可通过在模板中填充设备特定的细节来完成。例如,在节点 N 端点 1 中填充如何访问物理开关的细节,和在节点 M 端点 9 中填充一些如何访问灯泡的细节。
当客户端向服务器发送命令请求时,该过程类似于第 4 节“属性端到端操作顺序”中详细介绍的端到端操作序列。然而,与使用 ZCL 基本函数发送命令不同,客户端模板提供了一个特定于命令的请求函数,能够处理该命令的 ZCL 负载。