Zigbee 协议栈网络管理
ZigBee 協(xié)議棧網(wǎng)絡(luò)管理? 主要是對(duì)新加入的設(shè)備節(jié)點(diǎn)的設(shè)備管理。每個(gè) CC2530 芯片出廠時(shí)候都有一個(gè)全球唯一的 32 位 MAC地址。當(dāng)時(shí)當(dāng)設(shè)備連入網(wǎng)絡(luò)中的時(shí)候,每個(gè)設(shè)備都能獲得由協(xié)調(diào)器分配的16 位短地址,協(xié)調(diào)器默認(rèn)地址(0x0000)。很多時(shí)候網(wǎng)絡(luò)就是通過短地址進(jìn)行管理。
?修改點(diǎn)播信息發(fā)送函數(shù)
void SampleApp_SendPointToPointMessage( void ) {uint8 device; //設(shè)備類型變量if ( SampleApp_NwkState == DEV_ROUTER )device=0x01; //編號(hào)1表示路由器 else if (SampleApp_NwkState == DEV_END_DEVICE)device=0x02; //編號(hào)2表示終端 elsedevice=0x03; //編號(hào)3表示出錯(cuò)if ( AF_DataRequest( &Point_To_Point_DstAddr, //發(fā)送設(shè)備類型編號(hào)&SampleApp_epDesc,SAMPLEAPP_POINT_TO_POINT_CLUSTERID,1,&device,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS ) == afStatus_SUCCESS ){}else{// Error occurred in request to send. }}修改完成后系統(tǒng)設(shè)備自動(dòng)檢測自己燒寫的類型,然后發(fā)送對(duì)應(yīng)的編號(hào)。路由器編號(hào)為 1,終端編號(hào)為 2。
數(shù)據(jù)接收方面,我們對(duì)接收到的數(shù)據(jù)進(jìn)行判斷,區(qū)分路由器和終端設(shè)備。然后在數(shù)據(jù)包中取出 16 位短地址。通過串口打印出來 。短地址在數(shù)據(jù)包里的存放位置。依次是 pkt--- srcAddr---shortAddr。
接收函數(shù)
將修改后的程序分別以協(xié)調(diào)器、路由器、終端的方式下載到 3 個(gè) 或以上設(shè)備,協(xié)調(diào)器連接到 PC 機(jī)。上電后每個(gè)設(shè)備往協(xié)調(diào)器發(fā)送自身編號(hào),協(xié)調(diào)器通過串口打印出來。
可以利用同樣的方法可以將 MAC 地址、 PANID 等讀取出來。或者自行設(shè)定預(yù)定義節(jié)點(diǎn)編號(hào)進(jìn)行網(wǎng)絡(luò)管理
轉(zhuǎn)載于:https://www.cnblogs.com/tianxxl/p/10244785.html
總結(jié)
以上是生活随笔為你收集整理的Zigbee 协议栈网络管理的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: GPS 模块个人使用经验总结
- 下一篇: 添加内核驱动模块(2)(mydriver