《Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用》-第9章 基于Z-Stack協(xié)議棧的點(diǎn)對(duì)點(diǎn)通信_(tái)第1頁(yè)
《Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用》-第9章 基于Z-Stack協(xié)議棧的點(diǎn)對(duì)點(diǎn)通信_(tái)第2頁(yè)
《Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用》-第9章 基于Z-Stack協(xié)議棧的點(diǎn)對(duì)點(diǎn)通信_(tái)第3頁(yè)
《Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用》-第9章 基于Z-Stack協(xié)議棧的點(diǎn)對(duì)點(diǎn)通信_(tái)第4頁(yè)
《Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用》-第9章 基于Z-Stack協(xié)議棧的點(diǎn)對(duì)點(diǎn)通信_(tái)第5頁(yè)
已閱讀5頁(yè),還剩11頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

目錄Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用四、課程思政二、知識(shí)講解一、任務(wù)描述三、任務(wù)實(shí)施五、小結(jié)一、任務(wù)描述以Z-Stack協(xié)議棧為基礎(chǔ),創(chuàng)建工程,完成點(diǎn)對(duì)點(diǎn)通信。采用兩塊ZigBee模塊作為無(wú)線發(fā)射模塊和無(wú)線接收模塊,末端節(jié)點(diǎn)A每隔5s發(fā)送數(shù)據(jù)“HELLO”給協(xié)調(diào)器節(jié)點(diǎn)B;若協(xié)調(diào)器B接收數(shù)據(jù)正確,則B上LED2反轉(zhuǎn)一次,實(shí)現(xiàn)點(diǎn)對(duì)點(diǎn)通信。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用二、知識(shí)講解在OSAL_SampleApp.c文件中,找到任務(wù)的函數(shù)表代碼。在數(shù)組tasksArr[]的最后添加,這是新任務(wù)的事件處理函數(shù)名。官方例程模板已經(jīng)添加,無(wú)需修改,代碼如下:SampleApp_ProcessEventZigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用添加新任務(wù):二、知識(shí)講解在OSAL_SampleApp.c文件中,找到任務(wù)初始化函數(shù)osalInitTasks(void)。將新任務(wù)的初始化函數(shù)添加在osalInitTasks(void)函數(shù)的最后。值得注意的是任務(wù)的函數(shù)表tasksArr[]中的元素(事件處理函數(shù)名)排列順序與任務(wù)的初始化函數(shù)osalInitTasks(void)中的任務(wù)初始化子函數(shù)排列順序是一一對(duì)應(yīng)的,不允許錯(cuò)位。變量taskID是任務(wù)編號(hào),有非常嚴(yán)格的自上到下的遞增,最后的一個(gè)任務(wù)的taskID值不需要++,因?yàn)榻酉聸](méi)有任務(wù)。官方例程模板已經(jīng)添加,無(wú)需修改,代碼如下:SampleApp_Init(taskID);SampleApp_Init(taskID)函數(shù)的定義代碼,參見(jiàn)模板代碼,本例無(wú)需修改。Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用編寫新任務(wù)的初始化函數(shù):二、知識(shí)講解為了保證osalInitTasks(void)函數(shù)能分配到任務(wù)ID,必須給每個(gè)任務(wù)定義一個(gè)全局變量。所以在SampleApp.c文件中,定義了uint8SampleApp_TaskID變量,并在voidSampleApp_Init(taskID)函數(shù)中被賦值,即:SampleApp_TaskID=task_id。在SampleApp.h文件中定義事件,格式如下:#define SAMPLEAPP_SEND_PERIODIC_MSG_EVT0x0001Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用定義新任務(wù)全局變量:二、知識(shí)講解通過(guò)函數(shù)osal_start_timerEx()將SAMPLEAPP_SEND_PERIODIC_MSG_EVT事件定時(shí)5秒后設(shè)置。修改函數(shù)SampleApp_SendPeriodicMessage(),本例采用單播發(fā)送方式將數(shù)據(jù)發(fā)送給協(xié)調(diào)器,代碼如下:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用編寫發(fā)送端事件處理函數(shù):二、知識(shí)講解voidSampleApp_SendPeriodicMessage(void){unsignedchartheMessageData[5]="HELLO";afAddrType_tmy_DstAddr;my_DstAddr.addrMode=(afAddrMode_t)Addr16Bit;my_DstAddr.endPoint=SAMPLEAPP_ENDPOINT;//初始化端口號(hào)my_DstAddr.addr.shortAddr=0x0000;Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用編寫發(fā)送端事件處理函數(shù):if(AF_DataRequest(&my_DstAddr,&SampleApp_epDesc,SAMPLEAPP_PERIODIC_CLUSTERID,5,theMessageData,&SampleApp_TransID,AF_DISCV_ROUTE,AF_DEFAULT_RADIUS)==afStatus_SUCCESS){HalLedBlink(HAL_LED_2,0,50,500);}else{//Erroroccurredinrequesttosend.}}二、知識(shí)講解當(dāng)協(xié)調(diào)器檢查到一個(gè)新的無(wú)線數(shù)據(jù)事件時(shí),調(diào)用SampleApp_MessageMSGCB(MSGpkt)函數(shù)。接收處理數(shù)據(jù),代碼如下:Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用編寫接收端事件處理函數(shù):二、知識(shí)講解voidSampleApp_MessageMSGCB(afIncomingMSGPacket_t*pkt){uint16flashTime;unsignedcharbuffer[5]="";switch(pkt->clusterId){caseSAMPLEAPP_PERIODIC_CLUSTERID:osal_memcpy(buffer,pkt->cmd.Data,5);

Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用編寫接收端事件處理函數(shù):if((buffer[0]=='H')||(buffer[1]=='E')||(buffer[2]=='L')||(buffer[3]=='L')||(buffer[4]=='O')) { HalLedSet(HAL_LED_2,HAL_LED_MODE_TOGGLE); }break;caseSAMPLEAPP_FLASH_CLUSTERID:flashTime=BUILD_UINT16(pkt->cmd.Data[1],pkt->cmd.Data[2]);HalLedBlink(HAL_LED_4,4,50,(flashTime/4));break;}}三、任務(wù)實(shí)施拷貝已安裝好的的協(xié)議棧文件夾ZStack-CC2530-2.5.1a。1、用IAR打開(kāi)Projects\zstack\Samples\SampleApp\CC2530DB文件夾下SampleApp.eww文件。2、在ZStack-CC2530-2.5.1a\Projects\zstack\Samples\SampleApp\Source文件夾內(nèi)創(chuàng)建文件Coordinator.c,并添加到工程APP組下,如圖所示。

Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用工程創(chuàng)建:三、任務(wù)實(shí)施3、拷貝文件SampleApp.c內(nèi)所有代碼,粘貼到Coordinator.c文件內(nèi)。4、分別在CoordinatorEB模塊下和EndDeviceEB模塊下進(jìn)行文件編譯設(shè)置(具體操作可見(jiàn)第六章),如圖所示。

Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用工程創(chuàng)建:三、任務(wù)實(shí)施1、在SampleApp.c文件內(nèi)修改SampleApp_SendPeriodicMessage(),函數(shù),代碼見(jiàn)上文,即編寫數(shù)據(jù)發(fā)送函數(shù)。2、在Coordinator.c文件內(nèi)修改SampleApp_MessageMSGCB(MSGpkt)函數(shù),代碼見(jiàn)上文,即編寫數(shù)據(jù)接收函數(shù)。

Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用編寫程序:三、任務(wù)實(shí)施1、下載(1)末端節(jié)點(diǎn)模塊程序燒寫:在Workspace下面的下拉列表框中選擇EndDeviceEB,編譯程序,無(wú)誤后下載到A模塊中。(2)協(xié)調(diào)器模塊程序燒寫:在Workspace下面的下拉列表框中選擇CoordinatorEB,編譯程序,無(wú)誤后下載到B模塊中。2.操作先將協(xié)調(diào)器模塊上電運(yùn)行,然后將末端節(jié)點(diǎn)模塊上電運(yùn)行,觀察協(xié)調(diào)器模塊上LED2燈的亮滅情況,若末端節(jié)點(diǎn)每隔5秒發(fā)送的數(shù)據(jù)協(xié)調(diào)器都能正確接收到,那么協(xié)調(diào)器上的LED2等每隔5s反轉(zhuǎn)一次。

Zigbee技術(shù)無(wú)線傳感網(wǎng)應(yīng)用下載與操作:四、課程思政思政元素:zigbee技術(shù)在我國(guó)的發(fā)展。思政元素強(qiáng)化學(xué)生愛(ài)國(guó)主義教育。隨著我國(guó)物聯(lián)網(wǎng)正進(jìn)入發(fā)展的快車道,ZigBee也正逐步被國(guó)內(nèi)越來(lái)越多的用戶接受。ZigBee技術(shù)也已在部分智能傳感器場(chǎng)景中進(jìn)行了應(yīng)用。當(dāng)然,在中國(guó)市場(chǎng),Zigbee產(chǎn)品的應(yīng)用爆發(fā)還需要更長(zhǎng)一段時(shí)間,中國(guó)的無(wú)線網(wǎng)絡(luò)市場(chǎng)還未成熟,本土廠商的參與度還非常有限,對(duì)中國(guó)市場(chǎng)來(lái)說(shuō),無(wú)線自動(dòng)抄表系統(tǒng)、車用無(wú)線領(lǐng)域等工業(yè)級(jí)應(yīng)用和高端市場(chǎng)將或是市場(chǎng)主要發(fā)力點(diǎn),而中國(guó)家用無(wú)線自動(dòng)控制系統(tǒng)、便攜設(shè)備市場(chǎng)還處于培育階段,Zigbee要在其中扮演重要角色尚待時(shí)日。綜上所述,作為新興的短距離無(wú)線通信技術(shù),Zigbee產(chǎn)品將

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論