![無線傳感網(wǎng)技術(shù)及應(yīng)用 課件 項(xiàng)目20 Z-Stack協(xié)議棧點(diǎn)播通信_第1頁](http://file4.renrendoc.com/view14/M09/16/29/wKhkGWdj_V6ANryYAAC-n97-8sA411.jpg)
![無線傳感網(wǎng)技術(shù)及應(yīng)用 課件 項(xiàng)目20 Z-Stack協(xié)議棧點(diǎn)播通信_第2頁](http://file4.renrendoc.com/view14/M09/16/29/wKhkGWdj_V6ANryYAAC-n97-8sA4112.jpg)
![無線傳感網(wǎng)技術(shù)及應(yīng)用 課件 項(xiàng)目20 Z-Stack協(xié)議棧點(diǎn)播通信_第3頁](http://file4.renrendoc.com/view14/M09/16/29/wKhkGWdj_V6ANryYAAC-n97-8sA4113.jpg)
![無線傳感網(wǎng)技術(shù)及應(yīng)用 課件 項(xiàng)目20 Z-Stack協(xié)議棧點(diǎn)播通信_第4頁](http://file4.renrendoc.com/view14/M09/16/29/wKhkGWdj_V6ANryYAAC-n97-8sA4114.jpg)
![無線傳感網(wǎng)技術(shù)及應(yīng)用 課件 項(xiàng)目20 Z-Stack協(xié)議棧點(diǎn)播通信_第5頁](http://file4.renrendoc.com/view14/M09/16/29/wKhkGWdj_V6ANryYAAC-n97-8sA4115.jpg)
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
項(xiàng)目二十
Z-Stack協(xié)議棧點(diǎn)播通信01項(xiàng)目導(dǎo)入項(xiàng)目導(dǎo)入
ZigBee是基于IEEE802.15.4標(biāo)準(zhǔn)的低功耗局域網(wǎng)協(xié)議。其特點(diǎn)是近距離、低復(fù)雜度、自組網(wǎng)、低功耗、低數(shù)據(jù)速率。主要適合用于自動控制和遠(yuǎn)程控制領(lǐng)域,可以嵌入各種設(shè)備。當(dāng)采用廣播通信方式時,ZigBee網(wǎng)絡(luò)內(nèi)的任何一個節(jié)點(diǎn)設(shè)備發(fā)送出廣播數(shù)據(jù),網(wǎng)絡(luò)中的任何設(shè)備都可以接收到所發(fā)送的數(shù)據(jù)。通常情況下終端節(jié)點(diǎn)間是無法確定對方的16bit短地址的,也就無法了解對方的身份,相互間通信就失去了意義。ZigBee網(wǎng)絡(luò)一般采用的方式是由終端節(jié)點(diǎn)采集數(shù)據(jù),統(tǒng)一發(fā)送到協(xié)調(diào)器進(jìn)行匯總,這種通信方式就稱為點(diǎn)播通信。本項(xiàng)目通過2個CC2530模塊的組網(wǎng)及點(diǎn)播通信,讓大家能夠了解CC2530模塊點(diǎn)播通信的原理和整個過程。02項(xiàng)目分析項(xiàng)目分析
本項(xiàng)目需要使用2個以上的CC2530模塊。首先二者需要組成一個小型的個域網(wǎng),當(dāng)組網(wǎng)成功后二者可以進(jìn)行點(diǎn)播通信。在本項(xiàng)目中CC2530模塊組網(wǎng)成功后模塊A(終端節(jié)點(diǎn))發(fā)送點(diǎn)播數(shù)據(jù),模塊B(協(xié)調(diào)器)接收到數(shù)據(jù)后讓LED閃爍,從而提示二者已組網(wǎng)并通信成功?!卷?xiàng)目要求】1.使用2個以上的CC2530模塊實(shí)現(xiàn)組網(wǎng)。2.2個以上的CC2530模塊間實(shí)現(xiàn)點(diǎn)播通信。03項(xiàng)目目標(biāo)項(xiàng)目目標(biāo)01了解ZigBee網(wǎng)絡(luò)的PAN_ID概念。02掌握Z-Stack協(xié)議棧組網(wǎng)的工作原理。03學(xué)會使用Z-Stack協(xié)議棧進(jìn)行點(diǎn)播通信。04知識儲備知識儲備CC2530模塊間的通信采用的是ZigBee協(xié)議,要實(shí)現(xiàn)模塊間的組網(wǎng)及點(diǎn)播通信,我們首先要ZigBee網(wǎng)絡(luò)PAN_ID概念,其次要掌握基于Z-Stack協(xié)議棧點(diǎn)播通信的工作原理、代碼編寫及應(yīng)用開發(fā)。ZigBee的PAN_ID(網(wǎng)絡(luò)號)
在一個環(huán)境復(fù)雜的小區(qū)或者是工業(yè)現(xiàn)場中,存在各種用途的ZigBee設(shè)備。有些ZigBee設(shè)備分屬不同功能網(wǎng)絡(luò)。為避免設(shè)備相互間的干擾,需要使用PAN_ID給不同網(wǎng)絡(luò)編號。ZigBee協(xié)議使用一個16位的個域網(wǎng)標(biāo)志符(PAN_ID)來標(biāo)識一個網(wǎng)絡(luò)。Z-Stack協(xié)議棧允許用兩種方式配置PAN_ID。
在Tools下的f8wConfig.cfg文件中配置PAN_ID時,默認(rèn)設(shè)置ZDAPP_CONFIG_PAN_ID為0xFFFF,協(xié)調(diào)器將根據(jù)自身的IEEE地址建立一個隨機(jī)的PAN_ID(0~0x3FFF)。路由器和終端設(shè)備則會在自己的默認(rèn)信道上隨機(jī)選擇一個網(wǎng)路加入,加入之后協(xié)調(diào)器的PAN_ID即為自己的PAN_ID。固定PAN_ID
當(dāng)ZDAPP_CONFIG_PAN_ID不采用默認(rèn)設(shè)置,設(shè)定為0x0001-0xfffe之間。那么協(xié)調(diào)器建立網(wǎng)絡(luò)或路由和終端設(shè)備加入網(wǎng)絡(luò)的PAN_ID就由這個設(shè)定值決定。如果協(xié)調(diào)器在建立網(wǎng)絡(luò)的時候發(fā)現(xiàn)默認(rèn)信道內(nèi)該P(yáng)AN_ID已經(jīng)被占用,那么協(xié)調(diào)器會繼續(xù)搜索其他的PAN_ID使用。帶來的問題是,終端和路由器并不知道協(xié)調(diào)器換了PAN_ID,還會加入到原來設(shè)定的PAN_ID中去。ZigBee點(diǎn)對點(diǎn)通信
ZigBee網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)雖然理論上有星型、樹型和網(wǎng)狀網(wǎng)三種,根據(jù)實(shí)際網(wǎng)絡(luò)地址分配算法可以看出Z-Stack協(xié)議采用的樹形結(jié)構(gòu)。當(dāng)網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)發(fā)生變化時,節(jié)點(diǎn)分配的短地址也相應(yīng)改變,因此任意兩節(jié)點(diǎn)間的通信不可能使用短地址,也沒有必要。一般采用的是協(xié)調(diào)器與路由或終端節(jié)點(diǎn)間的點(diǎn)對點(diǎn)通信。05代碼修改5.1修改項(xiàng)目的PAN_ID項(xiàng)目實(shí)施前必須先準(zhǔn)備好相應(yīng)的設(shè)備和資源。用IAR打開項(xiàng)目文檔。修改項(xiàng)目Tools下f8wConfig.cfg文件中DZDAPP_CONFIG_PAN_ID參數(shù)。5.2新建點(diǎn)播的結(jié)構(gòu)體實(shí)例在SampleApp.c文件中系統(tǒng)默認(rèn)建了結(jié)構(gòu)體afAddrType_t的廣播實(shí)例SampleApp_Periodic_DstAddr和組播實(shí)例SampleApp_Flash_DstAddr。這里我們新建結(jié)構(gòu)體的點(diǎn)播實(shí)例SampleApp_P2P_DstAddr。結(jié)構(gòu)體afAddrType_t
查看結(jié)構(gòu)體afAddrType_t,可以看到結(jié)構(gòu)體afAddrType_t構(gòu)成:包括短地址、IEEE地址、地址模式、端點(diǎn)號、網(wǎng)絡(luò)號。typedefstruct{union{uint16shortAddr;//16位短地址ZLongAddr_textAddr;//64位IEEE地址}addr;afAddrMode_taddrMode;//地址模式uint8endPoint;//端點(diǎn)號uint16panId;//網(wǎng)絡(luò)號}afAddrType_t;枚舉類型afAddrMode_t
這個結(jié)構(gòu)體中包含了枚舉類型afAddrMode_t,查看其內(nèi)容可以看到ZigBee組網(wǎng)發(fā)送信息時對方的地址為以下幾種類型之一,ZigBee網(wǎng)絡(luò)中通常采用的是16bit短地址。typedefenum{
afAddrNotPresent=AddrNotPresent,//地址不存在
afAddr16Bit=Addr16Bit,//按16位地址發(fā)送信息
afAddr64Bit=Addr64Bit,//按64位地址發(fā)送信息
afAddrGroup=AddrGroup,//按組號發(fā)送信息
afAddrBroadcast=AddrBroadcast//廣播發(fā)送信息}afAddrMode_t;結(jié)構(gòu)體SampleApp_P2P_DstAddr賦值
為結(jié)構(gòu)體SampleApp_P2P_DstAddr賦值,可直接復(fù)制前面廣播的配置進(jìn)行修改,增加后如下。SampleApp_P2P_DstAddr.addrMode=(afAddrMode_t)Addr16Bit;//接收方為16位短地址SampleApp_P2P_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;SampleApp_P2P_DstAddr.addr.shortAddr=0x0000;//信息發(fā)送給協(xié)調(diào)器(協(xié)調(diào)器短地址固定為0000)5.3新建點(diǎn)播信息的發(fā)送函數(shù)自定義點(diǎn)播類型參數(shù)#defineSAMPLEAPP_P2P_CLUSTERID3新增點(diǎn)播信息的發(fā)送函數(shù)自定義點(diǎn)播數(shù)據(jù)發(fā)送函數(shù)SampleApp_Send_P2P_Message()voidSampleApp_Send_P2P_Message(void){uint8data[11]="0123456789";if(AF_DataRequest(&SampleApp_P2P_DstAddr,&SampleApp_epDesc,SAMPLEAPP_P2P_CLUSTERID,//接收方地址、端口、自定義包類型10,//發(fā)送的字節(jié)長度data,//發(fā)送的數(shù)據(jù)&SampleApp_TransID,//任務(wù)ID號AF_DISCV_ROUTE,
//傳送跳數(shù)AF_DEFAULT_RADIUS)==afStatus_SUCCESS)}5.4修改點(diǎn)播信息的發(fā)送函數(shù)
系統(tǒng)事件處理函數(shù)SampleApp_ProcessEvent()中定義了當(dāng)網(wǎng)絡(luò)狀態(tài)發(fā)生改變時,啟動周期事件。修改代碼當(dāng)周期事件發(fā)生時調(diào)用函數(shù)SampleApp_SendP2PMessage()發(fā)送點(diǎn)播包。if(events&SAMPLEAPP_SEND_PERIODIC_MSG_EVT){
//SampleApp_SendPeriodicMessage();
SampleApp_SendP2PMessage();//發(fā)送點(diǎn)播信息函數(shù)......5.5協(xié)調(diào)器收到信息后的處理
SampleApp_ProcessEvent()中可以看到,當(dāng)系統(tǒng)收到信息包時,則調(diào)用處理函數(shù)SampleApp_MessageMSGCB(),同時將信息參數(shù)賦值到結(jié)構(gòu)體afIncomingMSGPacket_t。voidSampleApp_MessageMSGCB(afIncomingMSGPacket_t*pkt){uint16flashTime;switch(pkt->clusterId){caseSAMPLEAPP_P2P_CLUSTERID:
HalUARTWrite(0,pkt->cmd.Data,pkt->cmd.DataLength);//將收到的數(shù)據(jù)信息從串口輸出
break;
caseSAMPLEAPP_PERIODIC_CLUSTERID://如果收到廣播包break;//直接忽略
}}06項(xiàng)目實(shí)施下載程序到CC2530模塊項(xiàng)目實(shí)施前必須先準(zhǔn)備好相應(yīng)的設(shè)備和資源。用IAR打開項(xiàng)目文檔。修改項(xiàng)目代碼。選擇目錄樹上方的下拉菜單選擇Cood
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 現(xiàn)代家居裝飾風(fēng)格與心理健康關(guān)系探討
- 構(gòu)建以服務(wù)功能為導(dǎo)向的綠色生態(tài)環(huán)境教育體系
- 生物醫(yī)藥與健康產(chǎn)業(yè)的投資潛力研究
- 現(xiàn)代化技術(shù)與醫(yī)療中心的高層建筑設(shè)計思考
- 生態(tài)城市建設(shè)中環(huán)境科學(xué)的應(yīng)用研究
- Unit 5 We're family Period 3 (說課稿)-2024-2025學(xué)年外研版(三起)(2024)英語三年級上冊
- 2024-2025學(xué)年高中生物 第四部分 淺嘗現(xiàn)代生物技術(shù)說課稿 浙科版選修1
- 2024-2025學(xué)年高中物理 第四章 電磁感應(yīng) 5 電磁感應(yīng)現(xiàn)象的兩類情況(1)說課稿 新人教版選修3-2
- 9古代科技 耀我中華-獨(dú)領(lǐng)風(fēng)騷的古代技術(shù)創(chuàng)造(說課稿)2023-2024學(xué)年統(tǒng)編版道德與法治五年級上冊
- 26 手術(shù)臺就是陣地 說課稿-2024-2025學(xué)年統(tǒng)編版語文三年級上冊001
- 康復(fù)護(hù)理練習(xí)題庫(附答案)
- 不銹鋼欄桿施工工藝
- 陜西演藝集團(tuán)有限公司招聘筆試題庫2023
- 小型餐飲店退股協(xié)議書
- 第九講 全面依法治國PPT習(xí)概論2023優(yōu)化版教學(xué)課件
- 兩淮礦區(qū)地面定向多分支水平井鉆進(jìn)作業(yè)技術(shù)規(guī)程
- vc約起來史上最全180個知名投資人聯(lián)系方式
- 社會穩(wěn)定風(fēng)險評估報告風(fēng)險評估參考
- GB/T 14343-2008化學(xué)纖維長絲線密度試驗(yàn)方法
- 制冷操作證培訓(xùn)教材-制冷與空調(diào)設(shè)備運(yùn)行操作作業(yè)培課件
- 市級臨床重點(diǎn)??粕陥髸?/a>
評論
0/150
提交評論