zigbee中的繫結由aps層來管理,除了繫結表管理外,aps層還有組表管理、快速位址查詢等服務功能。應用層不能直接呼叫aps層中的資料服務來傳輸資料,只能通過af層封裝的ad_datarequest函式來實現資料傳輸。
看了許多相關的文件,裡面說及到,繫結服務在兩個不同節點的簡單描述符中,定義相同的簇id,且方向相反(乙個在輸出簇,乙個在輸入簇),才能成功建立繫結。
aps繫結表的大小受限於靜態ram的大小,由f8wconfig.cfg中的引數來指定。
預設配置中,有四個繫結表條目,每個條目中,可以有4個簇id。
要配置使用繫結表,需要定義reflector巨集(在f8wconfig.cfg中配)
對乙個表的操作,無非就是增刪改查。
1使用flash時,需要設定編譯選項nv_restore[f8wconfig.cfg],儲存繫結表,建議使用bindwritenv函式。. 增加乙個繫結表條目
函式原型:
bindingentry_t *bindaddentry( byte
srcepint,
zaddrtype_t *dstaddr, byte
dstepint,
byte numclusterids, uint16 *clusterids )
srcepint:源端點
dstaddr:目的位址
dstepint:目的端點
numclusterids:簇列表數目
clusterids:簇列表
成功返回指向新加入繫結表的指標,失敗返回null
2.移除乙個繫結表條目
函式原型:
byte bindremoveentry( bindingentry_t *pbind )
pbind:指向想要刪除的繫結表指標
成功返回true
3.移除繫結條目中的簇命令
函式原型:
byte bindremoveclusteridfromlist( bindingentry_t *entry, uint16 clusterid )
entry:繫結表的入口
clusterid:待刪除的簇id
成功返回trur,至少有乙個對於的簇id。如果沒有的話,返回false
4.增加繫結表條目中的簇
函式原型:
byte bindaddclusteridtolist( bindingentry_t *entry, uint16 clusterid )
entry:繫結表入口
clusterid:需要新增的簇id
成功返回true,失敗返回false
5.找到乙個已經存在的源端點到目的位址的繫結記錄
函式型別:
bindingentry_t *bindfindexisting( byte
srcepint,
zaddrtype_t *dstaddr, byte
dstepint )
srcepint:源端點
組用來將一系列節點集合到乙個單位址實體的方式,向這個位址傳送資料請求,請求能夠達到組中的每個節點。
第乙個結構體為組結構標書,第二個結構體為組鍊錶描述。
組操作函式有
將乙個端點加入乙個組:extern zstatus_t aps_addgroup( uint8 endpoint, aps_group_t *group );
使用方法:
初始化組資訊:
將端點加入乙個組:
從組表中根據端點和組id找到組索引
根據組id,移除其中的端點
aps提供函式用來快速位址轉換,在ieee和網路位址之間做轉換。
uint8 apsme_lookupextaddr( uint16 nwkaddr, uint8* extaddr ); 基於網路位址獲得ieee 位址
uint8 apsme_lookupnwkaddr( uint8* extaddr, uint16* nwkaddr ); 基於ieee位址獲得nwk位址
Zigbee學習系列 細節
由於我是從普通的51微控制器做過來的,對於cc2530微控制器還是不是特別熟悉,而且由於兩者相似,所以對於一些細節問題並不會特別在意,這就導致遇到的一些問題使得我感覺這款晶元甚至這zigbee協議特別難 伺候 然後把自己所遇到的這些問題彙總一下,希望對大家有所幫助!問題1 當我使用p1口的外部中斷的...
再談ZigBee中的繫結機制
這裡主要再討論一下繫結的機制,繫結是 zigbee 中應該是比較重要的乙個部分。前面的幾篇文章也對繫結有了具體的分析,主要分析了兩種繫結方式,介紹了繫結的流程,源 方面。這裡主要是理清整個繫結在組網中的概念。繫結是和 endpoint 緊密聯絡在一起的,其中很多是自己通過看資料,自己的一些理解,當中...
zigbee協議 zigbee技術介紹
zigbee作為用於個人網路的短距離無線通訊協議,已變得越來越知名。zigbee是一種適用於短距離無線通訊的低成本,低功耗,低速的新技術,可以嵌入各種電子裝置中。該技術主要設計用於低速通訊網路。它的最大特點是低功耗和聯網功能,尤其是具有路由功能的聯網功能。從理論上講,zigbee覆蓋的通訊領域可以無...