ZigBee profile

    每一個ZigBee設備都與一個特定模板相關聯,多是公共模板或私有模板。這些模板定義了設備的應用環境、設備類型以及用於設備間通訊的簇。採用公共模板,能夠確保不一樣供應商的設備在相同應用領域的互操做。數組

Technorati 標籤: ZigBee Profile

    一個ZigBee設備中,能夠定義多個應用對象,每一個對象經過一個端點鏈接到ZigBee堆棧。不一樣ZigBee設備之間的通信,具體下來,歸根爲應用程序之間端點的通信,這由一種稱之爲簇的數據結構來承載。安全

端點定義描述:endPoint爲端點號,0號端點爲ZDO保留使用,用於配置整個ZigBee設備。255號端點爲廣播端點,241~254爲保留端點,其餘爲用戶自定義端點。網絡

image

其中,profile ID位於SimpleDescriptionFormat_t中,結構以下:數據結構

image

簇分爲輸入簇和輸出簇,對於不一樣的命令方向,在綁定時須要注意。簇是一組命令代碼的數組,每個條目表明一個命令。兩個設備間的簇要相互通訊的話,方向要不一樣,簇ID要一致。app

端點(應用層)經過註冊使用應用支持子層(APS)提供的服務,APS經過網絡層和安全服務層與端點相鏈接,併爲數據傳送、安全和綁定提供服務。APS使用網絡層(NWK)提供的服務,NWK負責設備到設備的通信,並負責網絡中設備初始化、消息路由以及網絡發現。MAC層負責相鄰設備之間單跳數據通信,它負責創建與網絡的同步,支持關聯和去關聯以及MAC層安全,提供兩個設備之間的可靠鏈接。ide

 

ZigBee Cluster Library

ZigBee Cluster Library(又稱爲Zigbee簇羣庫).一個族羣就是一個容器,其中函數

 

 

使用時,先經過zclHA_Init函數,將zcl應用的端點設置爲應用程序的端點,這樣的話,發向應用程序的端點數據都會先通過ZCL應用。3d

而後,註冊ZCL通用功能簇庫回調函數(zclGeneral_RegisterCmdCallbacks),從應用程序的指定端點來的數據,若是符合ZCL通用請求,會調用相應的回調函數來處理。下圖爲ZCL通用profile的回調函數表,指明瞭對應命令的響應函數。在實際應用中,根據須要進行實現,其餘未實現的設置爲NULL便可。 imageorm

例以下圖,只實現了前4個命令的響應函數。image對象

有了命令響應函數,簇須要操做的內容爲內部的屬性,接着,須要註冊應用的屬性列表(zcl_registerAttrList),每一個屬性由兩部分組成,屬性附屬的簇ID,屬性具體的值。一個簇能夠對於多個屬性值,這種狀況下,屬性須要有屬性ID來區分。

image

註冊完屬性列表後,ZCL應用基本上初始化完成了。那些非ZCL規定的命令,就須要應用程序來處理了,調用

zcl_registerForMsg來註冊非ZCL命令處理事件,RegisterForKeys來註冊按鍵時間,ZDO_RegisterForZDOMsg來註冊ZDO的命令請求,afRegister註冊一個應用終端

ZCL消息的處理,在SYS_EVENT_MSG下的ZCL_INCOMING_MSG裏面,對不一樣的ZCL命令請求,進行不一樣的響應。

有如下ZCL命令

Read attributes

Read attributes response

Write attributes

Write attributes undivided

Write attributes response

Write attributes no response

Configure reporting

Configure reporting response

Read reporting configuration

Read reporting configuration response

Report attributes

Default response

Discover attributes

Discover attributes response

總結ZCL的使用

 

建立一個ZCL應用,須要創建四個模塊,xxxx爲app名稱。

zcl_xxxx.h         定義應用和應用的終端

zcl_xxxx.c         

zcl_xxxx_data.c 數據定義和聲明,包括應用支持的全部簇屬性

OSAL_xxxx.c     應用與OSAL系統的接口

 

 

 

 

 

 

 

 

 

 

 

 

 

ZigBee安全機制

安全機制由安全服務層提供,系統的總體安全性由profle定義。每一層、MAC、網絡或則應用層均可以被保護,它們能夠分享安全密鑰。SSP是經過ZDO進行初始化和配置。

標準安全 高度安全

 

ZCL通用簇庫

相關文章
相關標籤/搜索