Zigbee協議與開發-APL層解析
APL層是最高層,由三部分組成:APS即應用支援層、ZDO及Application Framework框架。三者圖如下所示:
其中APS提供NWK與APL層的介面,APS同樣提供資料和管理兩種服務,分別由APSDE及APSME完成。而應用框架則是用於Host Application Objects(AO)的環境,應用物件AO一般由生產商開發,用於定製不同的應用。單一裝置中最多可以有240個AO。ZDO提供APS層與應用框架層間的介面,它也提供了Zigbee協調棧中所有應用可以使用的通用介面,比如通過ZDO可以配置節點成為協調器、路由器或者終端。
Application Framework
Zigbee支援利用Application Profiles來開發應用,每一個Profile由一個Profile ID來識別,只有供應商才能申請到一個16位的Profile ID。一個Profile結構如下:
ZDO
ZDO負責初始化APS,NWK及安全子層。類似於Application Profile,ZDO也有一個Profile,叫做Zigbee Device Profile。ZDP主要實現以下幾個功能:
1. Device & Service Discovery;
2. Binding Management
3. Networking Management
ZDO包括兩類物件:網路管理器和安全管理器。前者包括與網路相關的原語,如NLME。
ZDO提供的服務由資料包中的ClusterID來指定,該值可以檢視Appendix B。
APS子層
該層資料格式如下:
而不同型別的APS,例如資料,命令及ACK格式如下,其中最重要的欄位是Cluster Identifier:
下面以路由器節點程式碼為例,啟動後會Sniffer到以下資料包:
從APS Cluster ID=0x0006可以看出,上述包是一個用於Match_Desc_req。