引言
本文檔介紹了如何在 STM32WB 系列上使用 Zigbee?群集。
Zigbee 應(yīng)用通常構(gòu)建在 Zigbee 群集庫之上。
本應(yīng)用筆記說明了此類群集的使用及控制方法。
本文檔適用于 STM32WB 系列基于雙核 Arm?的微控制器。
快速開始
本文檔可用于指導開發(fā)人員了解使用 Exegin ZCL 群集模板構(gòu)建應(yīng)用的要點。每個 Exegin ZCL 群集模板均提供了起始源代碼,以便實現(xiàn)完整的群集。該模板提供了 Exegin 規(guī)范[R2]、[R4]中定義的強制性 ZCL 命令和屬性。
許多命令和屬性已成功通過 Zigbee?認證測試。應(yīng)用的構(gòu)建包括向特定硬件添加接口,或添加類似應(yīng)用特定的詳細信息。這對于以應(yīng)用為中心的群集尤為如此,以應(yīng)用為中心的群集的主要目的是提供應(yīng)用特定的功能,諸如“開關(guān)”群集,對于燈而言,該群集會打開和關(guān)閉燈。
除了特定于應(yīng)用程序的群集之外,還為其他類型的群集(如支持群集和專業(yè)群集)提供了模板?;救杭ㄟ^提供設(shè)備的品牌和型號等信息來支持常規(guī)操作。組合,可以將其它群集進行組合管理。第三種類型的群集(即專業(yè)群集)獨立性較高,并且涉及到應(yīng)用的部分最少。這些群集提供了一些特殊函數(shù),諸如 Touchlink、CBKE(智能能源安全)和綠色電源。
本文檔旨在與定義群集的[R2] ZCL 7 規(guī)范和[R3]結(jié)合使用,用于 Exegin ZSDK API。
群集和端點
協(xié)議棧負責建立和維護某個節(jié)點與 Zigbee 網(wǎng)絡(luò)上的其他節(jié)點之間的通信(參見[R1]和[R3])。應(yīng)用組件建立在這些較低層上并交換 Zigbee 群集庫(ZCL)消息。
本文檔介紹了如何使用 ZSDK 提供的群集模板構(gòu)建應(yīng)用。
ZCL 由多套有組織的相關(guān)功能(即群集)組成。通常,該功能與特定的硬件原件相關(guān)聯(lián),諸如單個燈或控制燈的開關(guān)。與給定設(shè)備相關(guān)聯(lián)的所有函數(shù)都位于單個端點上。
本文檔基于[R2]和[R3]構(gòu)建,為用戶使用群集模板構(gòu)建應(yīng)用提供了相關(guān)知識。
節(jié)點上的每個端點都具有一個唯一的端點 ID(通常稱為“端點”),取值范圍從 1 到 239。保留端點 0 和240 到 255 用于特殊用途。
客戶端服務(wù)器的關(guān)系
群集功能分為服務(wù)器端和客戶端,服務(wù)器端通過一個節(jié)點上的端點提供服務(wù),客戶端通過另一個節(jié)點上的另一個端點訪問該服務(wù))。
支持多個燈或多個開關(guān))。因此,每個實例位于唯一的端點上,一個節(jié)點上的特定燈(“開關(guān)”服務(wù)器)通過使用相應(yīng)的節(jié)點端點,與另一個節(jié)點上的特定開關(guān)(“開關(guān)”客戶端)相關(guān)聯(lián)。
例如:開關(guān) 3 可以位于開關(guān)節(jié)點上的端點 3 上,并且配置為與燈節(jié)點的端點 2 上的燈 2 通信。
給定端點上只允許有一個群集實例,但每個端點通常具有多個群集(如“開關(guān)”、基本、報警、場景等)。
應(yīng)用使用 ZbZclAddEndpoint()函數(shù)創(chuàng)建一個或多個端點,該函數(shù)已在 Zigbee 群集庫頭文件 zcl.h 中予以聲明。