1. ZCL簡介:
ZCL: ZigBee Cluster Library
可以理解為Zigbee在開發一些特性功能的cluster時所用的一些庫。開發者在開發應用profile時需要用到對應ZCL API,去操作或控制對應的cluster。
ZCL分為client和server。一個cluster保存屬性的實體一般稱為server,而操作這些屬性的實體稱為client。當然,如果需要,client中也是可以存在屬性的。
clinet去操作屬性是通過命令進行,比如讀、寫等,一般情況下這些操作命令,都是由client發出,由server接收並處理。
一個cluster可以包含多個屬性和命令。
2.. ZCL在協議棧中所處位置:
AF層收到ZCL命令消息后,放入到ZCL task隊列中,由ZCL隊列來處理這些命令。上層的應用profile也可以直接調用ZCL API去操作對應的cluster。
3. ZCL分類:
ZCL根據不同的功能,可以划分如下功能域:
每個ZCL功能域中包含了多個cluster。比如Lighting中就包含了如下cluster:
比如General Function Domain中的ON/OFF cluster包含的命令定義如下(Zstack 3.0):