版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
實(shí)驗(yàn)報(bào)告(2016/2017學(xué)年第1學(xué)期)課程名稱 計(jì)算機(jī)通信與網(wǎng)絡(luò)實(shí)驗(yàn)實(shí)驗(yàn)名稱 無線傳感器網(wǎng)絡(luò)單播、組播和廣播實(shí)驗(yàn)實(shí)驗(yàn)時(shí)間 2016年10月24日指導(dǎo)單位 計(jì)算機(jī)學(xué)院實(shí)驗(yàn)教學(xué)中心指導(dǎo)教師 李洋學(xué)生姓名高明珠 班級學(xué)號B13040907學(xué)院(系) 計(jì)算機(jī)學(xué)院專業(yè)一軟件工程
實(shí)驗(yàn)報(bào)告實(shí)驗(yàn)名稱無線傳感器網(wǎng)絡(luò)單播、組播和廣播實(shí)驗(yàn)指導(dǎo)教師李洋實(shí)驗(yàn)類型綜合 實(shí)驗(yàn)學(xué)時(shí) 4實(shí)驗(yàn)時(shí)間2016.10.24一、實(shí)驗(yàn)?zāi)康暮鸵笳莆語-stack協(xié)議棧的運(yùn)行過程,掌握單播、組播、廣播的方法及原理。要求:1、成功運(yùn)行CC2530廣播實(shí)驗(yàn);2、掌握Z-Stack協(xié)議棧每部分功能;3、小組完成組播實(shí)驗(yàn),實(shí)現(xiàn)LED燈的分組閃爍;二、實(shí)驗(yàn)環(huán)境(實(shí)驗(yàn)設(shè)備)PC、IAR、CC2530三、實(shí)驗(yàn)原理及內(nèi)容1、成功運(yùn)行CC2530廣播實(shí)驗(yàn);(1)、廣播的代碼APP層為Z-Stack協(xié)議棧的應(yīng)用層,是面向用戶開發(fā)的。在這一層用戶可以根據(jù)自己的需求建立所需要的項(xiàng)目,添加用戶任務(wù),并通過調(diào)用API函數(shù)實(shí)現(xiàn)項(xiàng)目所需要的功能。Broadcast.c代碼的結(jié)構(gòu)是先調(diào)用初始化函數(shù)再調(diào)用任務(wù)處理函數(shù),其中,任務(wù)處理函數(shù)中調(diào)用的各個(gè)功能函數(shù)在源代碼后部分給出實(shí)現(xiàn)。初始化函數(shù):voidBroadcast_Init(uint8task_id)//任務(wù)初始化函數(shù)(//任務(wù)ID號賦值SampleApp_TaskID=task_id;//網(wǎng)絡(luò)狀態(tài)為初始化狀態(tài)SampleApp.NwkState=DEV.INIT;//傳輸序列號賦值SampleApp_TransID=0;SampleApp_Periodic_DstAddr.addrMode=(afAddrMode_t)AddrBroadcast;SampleApp.Periodic.DstAddr.endPoint=SAMPLEAPP.ENDPOINT;
Broadcast_DstAddr.addr.shortAddr=0x0000;SampleApp_epDesc.endPoint=SAMPLEAPP_ENDPOINT;//設(shè)置任務(wù)IDSampleApp_epDesc.task_id=&SampleApp_TaskID;SampleApp_epDesc.simpleDesc=(SimpleDescriptionFormat_t*)&SampleApp_SimpleDesc;SampleApp_epDesc.latencyReq=noLatencyReqs;afRegister(&Broadcast_epDesc);RegisterForKeys(Broadcast_TaskID);//Initusart(halUARTCfg_tuartConfig;uartConfig.configured=TRUE;//2x30don'tcare-seeuartdriver.uartConfig.baudRate =HAL_UART_BR_9600;uartConfig.flowControl =FALSE;uartConfig.rx.maxBufSizeuartConfig.tx.maxBufSizeuartConfig.idleTimeoutuartCEnableuartConfig.callBackFuncuartConfig.flowControlThreshold=64;//2x30don'tcare-seeuartdriver.uartConfig.rx.maxBufSizeuartConfig.tx.maxBufSizeuartConfig.idleTimeoutuartCEnableuartConfig.callBackFunc=128; // 2x30 don't care - see uart driver.=128; // 2x30 don't care - see uart driver.=6; //2x30 don'tcare -seeuart driver.=TRUE; // 2x30 don't care - see uart driver.=NULL;HalUARTOpen(0,&uartConfig);#ifdefined(LCD.SUPPORTED)HalLcdWriteString("Broadcast",HAL.LCD_LINE_1);#endifZDO_RegisterForZDOMsg(Broadcast_TaskID,End_Device_Bind_rsp);ZDO_RegisterForZDOMsg(Broadcast_TaskID,Match_Desc_rsp);#ifdefined(IAR.ARMCM3.LM)//RegisterthistaskwithRTOStaskinitiatorRTOS.RegisterApp(task_id,BROADCAST_RTOS_MSG.EVT);#endif)任務(wù)處理函數(shù):uint16Broadcast_ProcessEvent(uint8task_id,uint16events)//消息處理函數(shù)(//定義接收到的消息afIncomingMSGPacket_t*MSGpkt;afDataConfirm_t*afDataConfirm;//DataConfirmationmessagefieldsbytesentEP;ZStatus_tsentStatus;bytesentTransID; //Thisshouldmatchthevaluesent(void)taskid;//Intentionallyunreferencedparameter//如果事件為系統(tǒng)消息事件if(events&SYS.EVENT.MSG)(//接收來自SampleApp.TaskID任務(wù)的消息MSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive(SampleApp.TaskID);while(MSGpkt)(//當(dāng)接收的消息有事件發(fā)生時(shí),判斷事件的類型switch(MSGpkt->hdr.event)(caseZDO.CB.MSG:Broadcast_ProcessZDOMsgs((zdoIncomingMsg-t*)MSGpkt);break;caseKEY.CHANGE:Broadcast_HandleKeys(((keyChange-t*)MSGpkt)->state,((keyChange.t*)MSGpkt)->keys);break;caseAF_DATA.CONFIRM.CMD:afDataConfirm=(afDataConfirm.t*)MSGpkt;sentEP=afDataConfirm->endpoint;sentStatus=afDataConfirm->hdr.status;sentTransID=afDataConfirm->transID;(void)sentEP;(void)sentTransID;//Actiontakenwhenconfirmationisreceived.if(sentStatus!=ZSuccess)(//Thedatawasn'tdelivered--Dosomething)break;caseAF.INCOMING.MSG.CMD:Broadcast.MessageMSGCB(MSGpkt);break;caseZDO.STATE.CHANGE:Broadcast.NwkState=(devStates_t)(MSGpkt->hdr.status);if(Broadcast.NwkState==DEV.ZB.COORD)(osal_start.timerEx(Broadcast.TaskID,BROADCAST_SEND_MSG.EVT,BROADCAST_SEND_MSG.TIMEOUT);)break;default:
break;)osal_msg_deallocate((uint8-DZDAPPCONFIGFANID=0x20FF/*Minimum,numberofmillisecondstoholdoffthestartofthedevinthenetworkandtheminimumdelaybetweenjDiningcycles.-DZDAPPCONFIGFANID=0x20FF/*Minimum,numberofmillisecondstoholdoffthestartofthedevinthenetworkandtheminimumdelaybetweenjDiningcycles.//NextMSGpkt=(afIncomingMSGPacket_t*)osal_msg_receive(Broadcast_TaskID);//輪循查找消息隊(duì)列里的消息知道消息隊(duì)列為空)return(events八SYS.EVENT.MSG);)if(events&BROADCAST_SEND_MSG_EVT)//判斷發(fā)送超時(shí)(//發(fā)送數(shù)據(jù)函數(shù)Broadcast_SendTheMessage();osal_start_timerEx(Broadcast_TaskID,BROADCAST_SEND_MSG.EVT,BROADCAST_SEND_MSG.TIMEOUT);return(events八BROADCAST_SEND_MSG.EVT);)#ifdefined(IAR.ARMCM3.LM)//ReceiveamessagefromtheRTOSqueueif(events&BROADCAST_RTOS_MSG.EVT)(//ProcessmessagefromRTOSqueueBroadcast_ProcessRtosMessage();//returnunprocessedeventsreturn(events八BROADCAST_RTOS_MSG.EVT);)#endif//Discardunknowneventsreturn0;)修改部分:修改f8wConfig.cfg文件中的-DZDAPP_CONFIG_PAN_ID屬性為自定義PANID。|—1^1LJTools||—1f8v/253llxclI|——DfEiwConfig.cfg||——區(qū)1f8''A''Coord.r:fg||——0f8''A''Endp.v.cfg|1——Df!:!''A''R.outer.cfq\-El□ZDO 'HuLUZMa.c口ZMa.inSi□Output/$-L/U1L.1:ilUJ-iXLuXXtll'IXjJ.JX-UA'_iU£.UUUUU//-DDEFAULT_CHAI-ILIST=0x00100000//-DDEFAULI_CHAI-ILIST=0x00080000//-DDEFAULT_CH^I-ILIST=0x00040000//-DDEFAULI_CH^i'rLI31=0x00020000//-DDEFAULI_CH^i'rLI31=0x00010000//-DDEFALrLI_CH^I'ILISI=0x00008000//-DDEFAULT_CH^'ILIST=0x00004000//-DDEFAULT_CHAi-ILIST=0x00002000//-DDEFAULT_CHAI-ILIST=0x00001000//20H197/18//17//16//15//14“13//12-DDEFAULI_CHAt-ILIST=0x00000800//11--0x14-0x13-0x12-0x11-0x10-OxOF-OxOE-OxOD-OxOCOxOB/*DefinethedefaultFMIID.土Settingthisto己valueotherthanOxFFFFcauses修改函數(shù)中要發(fā)送的內(nèi)容:ZDO_COORDtousethisvalueasitsPANIDand修改函數(shù)中要發(fā)送的內(nèi)容:RoutersandenddevicestojoinFANwiththisID.tzMKiwr |v>inrMnntfriMcr』e* Hsip口心口。春仁屯|n?Md ■4>\4國。4瞽1|CG0再得占占廣播實(shí)驗(yàn)結(jié)果:SampleApp_Periodic_DstAddr.addrMode=(afAddrMode_t)AddrBroadcast;SampleApp_Periodic_DstAddr.endPoint=SAMPLEAPP.ENDPOINT;SampleApp_Periodic_DstAddr.addr.shortAddr=0xFFFF;上面這部分代碼改為下方的代碼://設(shè)置尋址方式為組尋址方式SampleApp_Flash_DstAddr.addrMode=(afAddrMode_t)afAddrGroup;SampleApp.Flash.DstAddr.endPoint=SAMPLEAPP.ENDPOINT;SampleApp.Flash.DstAddr.addr.shortAddr=SAMPLEAPP.FLASH.GROUP;并在注冊按鍵事件RegisterForKeys(SampleApp_TaskID)后加上代碼://設(shè)置組尋址的組ID號SampleApp.Group.ID=0x0001;osalmemcpy(SampleAppG,"Group1",7);//在APS層添加組aps_AddGroup(SAMPLEAPP_ENDPOINT,&SampleApp_Group);2、掌握Z-Stack協(xié)議棧每部分功能;ZigBee協(xié)議棧結(jié)構(gòu)包括物理層、MAC層、NWK(網(wǎng)絡(luò)層)、APL(應(yīng)用層)、應(yīng)用支持子層APS、應(yīng)用程序框架AF、設(shè)備對象ZDO層。ZigBee的HAL層提供了開發(fā)板所有硬件設(shè)備(例如LED、LCD、KEY、UART等)的驅(qū)動(dòng)函數(shù)及接口。HAL文件夾為硬件平臺的抽象層,包含common、include和target三個(gè)文件夾。Z-Stack的NWK層負(fù)責(zé)的功能有:節(jié)點(diǎn)地址類型的分配、協(xié)議棧模板、網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)、網(wǎng)絡(luò)地址的分配的選擇等。ZDO(TheZigBeeDeviceObjects,即ZigBee設(shè)備對象)層提供了ZigBee設(shè)備管理功能,包括:網(wǎng)絡(luò)建立,發(fā)現(xiàn)網(wǎng)絡(luò)、加入網(wǎng)絡(luò)、應(yīng)用端點(diǎn)的綁定和安全管理服務(wù)。ZDP(ZigBeeDevice「8用匕,即ZigBee設(shè)備規(guī)范)描述了ZDO內(nèi)部一般性的ZigBee設(shè)備功能是如何實(shí)現(xiàn)的。其定義了相關(guān)的命令和相應(yīng)的函數(shù)。ZDP為ZDO和應(yīng)用程序提供如下功能:設(shè)備網(wǎng)絡(luò)啟動(dòng)、設(shè)備和服務(wù)發(fā)現(xiàn)、終端設(shè)備綁定、綁定和取消綁定服務(wù)、網(wǎng)絡(luò)管理服務(wù)。四、實(shí)驗(yàn)小結(jié)(包括問題和解決方法、心得體會、意見與建議等)通過對本次實(shí)驗(yàn)內(nèi)容的學(xué)習(xí),我了解了ZigBee是一種新興的高可靠的、短距離的無線數(shù)傳網(wǎng)絡(luò)。伴隨著物聯(lián)網(wǎng)技術(shù)的發(fā)展,ZigBee作為無線傳感網(wǎng)絡(luò)的一種重要技術(shù)標(biāo)準(zhǔn),ZigBee在物聯(lián)網(wǎng)中所占據(jù)的位置日益重要
溫馨提示
- 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)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年山東省日照市中考英語真題卷含答案解析
- 2025年職業(yè)技能鑒定考試(無人機(jī)駕駛員-中級)歷年參考題庫及答案
- 2025年機(jī)關(guān)服務(wù)中心年度工作總結(jié)樣本
- 2026 年離婚協(xié)議書制式模板含補(bǔ)償金約定條款
- 食堂員工培訓(xùn)管理制度
- 學(xué)校食品安全責(zé)任體系管理制度
- 重慶市永川區(qū)2025-2026學(xué)年八年級上學(xué)期1月期末考試語文試題(含答案)
- 2026及未來5年中國變頻器檢測行業(yè)市場全景調(diào)查及未來趨勢研判報(bào)告
- 醫(yī)院醫(yī)療廢物處置設(shè)施安全教育培訓(xùn)制度
- 醫(yī)院醫(yī)療廢棄物處置與監(jiān)管制度
- 招標(biāo)代理機(jī)構(gòu)入圍 投標(biāo)方案(技術(shù)方案)
- 運(yùn)輸車隊(duì)年終總結(jié)報(bào)告
- 房屋損壞糾紛鑒定報(bào)告
- 精益生產(chǎn)方式-LEAN-PRODUCTION
- 中學(xué)體育與健康課程與教學(xué)論P(yáng)PT高職完整全套教學(xué)課件
- 頸動(dòng)脈外膜剝脫術(shù)
- 養(yǎng)老設(shè)施建筑設(shè)計(jì)規(guī)范
- Starter-軟件簡易使用手冊
- RFJ01-2008 人民防空工程防護(hù)設(shè)備選用圖集
- GB/T 27818-2011化學(xué)品皮膚吸收體外試驗(yàn)方法
- FZ/T 80004-2014服裝成品出廠檢驗(yàn)規(guī)則
評論
0/150
提交評論