基于zigbee的遠程燈光控制系統(tǒng)_第1頁
基于zigbee的遠程燈光控制系統(tǒng)_第2頁
基于zigbee的遠程燈光控制系統(tǒng)_第3頁
基于zigbee的遠程燈光控制系統(tǒng)_第4頁
基于zigbee的遠程燈光控制系統(tǒng)_第5頁
已閱讀5頁,還剩6頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

《無線傳感器網(wǎng)絡(luò)》課程大作業(yè)報告基于zigbee的遠程燈光控制系統(tǒng)姓名:學(xué)院:電氣與信息工程學(xué)院專業(yè)班級:物聯(lián)網(wǎng)工程學(xué)號:指導(dǎo)老師:成績:重慶科技學(xué)院二零一五年十二月摘要二十一世紀,遠程控制的需求越來越大,本實驗是關(guān)于“基于zigbee網(wǎng)絡(luò)的遠程燈光控制系統(tǒng)〞的相關(guān)研究。是通過PC連接協(xié)調(diào)器實現(xiàn)遠程控制不少于3個終端節(jié)點上的LED燈的熄滅。 本實驗較全面的實現(xiàn)了遠程燈光控制的功能,即采用一塊協(xié)調(diào)器,三個路由器,在此設(shè)備上實現(xiàn)實驗。協(xié)調(diào)器實現(xiàn)了PC與路由器之間的連接功能,用作信號的發(fā)射和接受;三個路由器分成兩個組,第一個組內(nèi)有兩個節(jié)點,第二個組內(nèi)有一個節(jié)點。根本功能包括:PC端可以設(shè)置終端節(jié)點上LED的閃爍周期;終端節(jié)點分為兩組,PC端可以分別控制每組終端節(jié)點上LED的熄滅;PC可以設(shè)置兩組LED閃爍的周期;PC上可以查詢終端節(jié)點上LED的狀態(tài)。 報告后面詳細介紹了整個控制系統(tǒng)的功能和控制策略,軟件程序設(shè)計包括LED燈初始化、協(xié)議棧初始化,串口通訊等。最后,在模擬實際環(huán)境下,測試可行性與性能。實驗證明,采用Zigbee能實現(xiàn)無線遠程控制燈的亮滅。關(guān)鍵詞:Zigbee遠程控制LED燈CC2530目錄1設(shè)計內(nèi)容和要求11.1課題任務(wù)11.2課題要求11.2.1PC端設(shè)置LED閃爍周期11.2.2終端節(jié)點分為兩組且PC端分別控制11.2.3PC設(shè)置兩組LED閃爍周期11.2.4PC查詢LED的狀態(tài)12總體設(shè)計思路22.1系統(tǒng)功能22.2模塊關(guān)系22.3程序框圖23功能模塊圖43.1功能模塊圖43.2各模塊實現(xiàn)的功能43.2.1PC端設(shè)置LED閃爍周期代碼4終端節(jié)點分為兩組且PC端分別控制代碼53.2.3PC設(shè)置兩組LED閃爍周期實驗局部代碼63.2.4PC查詢LED的狀態(tài)局部實驗代碼64系統(tǒng)調(diào)試及測試84.1PC端設(shè)置LED閃爍周期實驗結(jié)果顯示84.2終端節(jié)點分為兩組且PC端分別控制實驗結(jié)果顯示84.3PC設(shè)置兩組LED閃爍周期實驗結(jié)果顯示94.4PC查詢LED的狀態(tài)實驗結(jié)果顯示95總結(jié)106致謝117參考文獻121設(shè)計內(nèi)容和要求課題任務(wù)本系統(tǒng)是基于zigbee網(wǎng)絡(luò)的遠程燈光控制系統(tǒng),PC連接協(xié)調(diào)器實現(xiàn)遠程控制不少于3個終端節(jié)點上的LED燈的熄滅。課題要求1.2.1PC端設(shè)置LED閃爍周期 PC端通過播送的方式控制參加了該協(xié)調(diào)器的所有路由器的燈的閃爍周期,且閃爍周期可以設(shè)置為1s、2s、3s。1.2.2終端節(jié)點分為兩組且PC端分別控制將路由器分成兩個組,組名分別為Group1和Group2,組號分別為0x0001和0x0002,。Group1有兩個路由器節(jié)點,第一個節(jié)點稱為G1D1,第二個節(jié)點稱為G1D2;Group2有一個路由器節(jié)點,稱為G2D1。 PC端可以通過組播的方式控制每一組的終端節(jié)點的亮滅,且可單獨控制每一個節(jié)點的亮滅。PC設(shè)置兩組LED閃爍周期 PC端通過組播的方式分別控制Group1和Group2閃爍周期,周期時間分別為1s、2s、3s。PC查詢LED的狀態(tài)PC端查詢各個路由器節(jié)點當(dāng)前的LED的狀態(tài),狀態(tài)主要有亮〔ON〕、滅〔OF〕、閃爍〔FL〕。2總體設(shè)計思路2.1系統(tǒng)功能 該系統(tǒng)的功能主要有:在PC上通過串口輸入控制指令控制LED燈的亮滅。路由器節(jié)點分為兩組,PC端可以分別控制每組終端節(jié)點上LED的熄滅。在PC上通過串口輸入指令可以分組的設(shè)置兩組LED閃爍的周期。在PC上通過串口輸入指令查詢終端節(jié)點上LED的狀態(tài)。2.2模塊關(guān)系Group1Group1PC機RS232CoordinatorZigBee網(wǎng)絡(luò)Group2G2D1G1D1G1D2圖2.1模塊關(guān)系圖2.3程序框圖向協(xié)調(diào)器發(fā)送數(shù)據(jù)向協(xié)調(diào)器發(fā)送數(shù)據(jù)開始參加網(wǎng)絡(luò)建立網(wǎng)絡(luò)燈的狀態(tài)發(fā)生變化串口發(fā)送發(fā)送數(shù)據(jù)開始收到節(jié)點的數(shù)據(jù)收到協(xié)調(diào)器數(shù)據(jù)NYYN協(xié)調(diào)器程序框圖路由器器程序框圖圖2.2程序流程圖3功能模塊圖3.1功能模塊圖PC發(fā)送命令PC發(fā)送命令控制亮滅查詢狀態(tài)控制周期終端判斷終端判斷終端判斷終端判斷終端判斷G*ON/OFG*D*ON/OFCXG*D*GR*F*SFREQ*SYNYYYY控制某組燈亮/滅控制某個組的燈閃爍的周期單個控制燈的亮滅返回終端節(jié)點狀態(tài)給串口控制所有燈的閃爍周期組播NNNN單播播送組播播送圖3.1功能模塊圖3.2各模塊實現(xiàn)的功能3.2.1PC端設(shè)置LED閃爍周期代碼PC端通過播送的方式控制參加了該協(xié)調(diào)器的所有路由器的燈的閃爍周期,且閃爍周期可以設(shè)置為1s、2s、3s。osal_memcpy(buf,pkt->cmd.Data,osal_strlen("G1D2ON")+1);HalLcdWriteString(buf,HAL_LCD_LINE_4);if(osal_memcmp(buf,"FREQ1S",osal_strlen("FREQ1S")+1)){a=2;HalLedBlink(HAL_LED_2,0,50,1000);}if(osal_memcmp(buf,"FREQ2S",osal_strlen("FREQ2S")+1)){a=2;HalLedBlink(HAL_LED_2,0,50,2000);}if(osal_memcmp(buf,"FREQ3S",osal_strlen("FREQ3S")+1)){a=2;HalLedBlink(HAL_LED_2,0,50,3000);}終端節(jié)點分為兩組且PC端分別控制代碼將路由器分成兩個組,組名分別為Group1和Group2,組號分別為0x0001和0x0002,。Group1有兩個路由器節(jié)點,第一個節(jié)點稱為G1D1,第二個節(jié)點稱為G1D2;Group2有一個路由器節(jié)點,稱為G2D1。 PC端可以通過組播的方式控制每一組的終端節(jié)點的亮滅,且可單獨控制每一個節(jié)點的亮滅。//為第一組設(shè)置初始值GenericApp_Group.ID=0x0001;GenericApp_G[0]=6;osal_memcpy(&(GenericApp_G[1]),"Group1",6);//為第二組設(shè)置初始值GenericApp_Group1.ID=0x0002;GenericApp_G[0]=6;osal_memcpy(&(GenericApp_G[1]),"Group2",6);//控制組1節(jié)點1的亮滅osal_memcpy(buf,pkt->cmd.Data,osal_strlen("G1D1ON")+1);HalLcdWriteString(buf,HAL_LCD_LINE_4);if(osal_memcmp(buf,"G1D1ON",osal_strlen("G1D1ON")+1)){a=0;HalLedBlink(HAL_LED_2,0,100,1000);}if(osal_memcmp(buf,"G1D1OF",osal_strlen("G1D1OF")+1)){a=1;HalLedBlink(HAL_LED_2,0,0,1000);}3.2.3PC設(shè)置兩組LED閃爍周期實驗局部代碼//控制組1的周期if(osal_memcmp(buf,"GR1F1S",osal_strlen("GR1F1S")+1)){a=2;HalLedBlink(HAL_LED_2,0,0,1000);}if(osal_memcmp(buf,"GR1F2S",osal_strlen("GR1F2S")+1)){a=2;HalLedBlink(HAL_LED_2,0,0,2000);}if(osal_memcmp(buf,"GR1F3S",osal_strlen("GR1F3S")+1)){a=2;HalLedBlink(HAL_LED_2,0,0,3000);}3.2.4PC查詢LED的狀態(tài)局部實驗代碼 為實現(xiàn)查詢功能,需要在每個路由器節(jié)點的編程里參加下面代碼,不同組不同節(jié)點的名字不同。if(osal_memcmp(buf,"CXG1D1",osal_strlen("CXG1D1")+1)){GenericApp_SendTheMessage();}協(xié)調(diào)器實現(xiàn)查詢狀態(tài)局部代碼:if(osal_memcmp(uartbuf,"CXG1D1",6)){HalUARTWrite(0,uartbuf,6);GenericApp_SendTheMessageCX11();osal_start_timerEx(GenericApp_TaskID,SEND_TO_ALL_EVENT,5000);}if(osal_memcmp(uartbuf,"CXG1D2",6)){HalUARTWrite(0,uartbuf,6);GenericApp_SendTheMessageCX12();osal_start_timerEx(GenericApp_TaskID,SEND_TO_ALL_EVENT,5000);}if(osal_memcmp(uartbuf,"CXG2D1",6)){HalUARTWrite(0,uartbuf,6);GenericApp_SendTheMessageCX21();osal_start_timerEx(GenericApp_TaskID,SEND_TO_ALL_EVENT,5000);}4系統(tǒng)調(diào)試及測試4.1PC端設(shè)置LED閃爍周期實驗結(jié)果顯示PC端通過串口發(fā)送FREQ1S、FREQ2S、FREQ3S狀態(tài)的指令播送給各個路由器節(jié)點,然后所有的路由器節(jié)點的閃爍周期都相同。周期可以設(shè)置為1s、2s和3s。4.2終端節(jié)點分為兩組且PC端分別控制實驗結(jié)果顯示PC端通過串口發(fā)送指令,組播給組號為0x0001的組,使第一組的燈亮,此時第二個組的燈是熄滅狀態(tài)。同理,PC通過串口發(fā)送指令給組號為0x0002的組,此時第二個組的燈是亮。4.3PC設(shè)置兩組LED閃爍周期實驗結(jié)果顯示4.4PC查詢LED的狀態(tài)實驗結(jié)果顯示PC端通過串口發(fā)送查詢G1D1狀態(tài)的指令。此時串口返回G1D1的狀態(tài),每個燈的狀態(tài)有三種,分別是FL〔閃〕、OF〔滅〕、ON〔亮〕5總結(jié)在本次的實驗中我對于ZigbBee有了更加深入的理解和穩(wěn)固,從剛開始覺得ZigBee很難,然而后面真的去認真去做了之后才發(fā)現(xiàn),其實也沒有想象之中的那么困難,前面的不過是一些聲明以及初始化,其實我們真正涉及到的內(nèi)容不會很多。就像現(xiàn)在我做完實驗再對它進行了解后,需要我們完成的也就那么幾點。所以實驗課上學(xué)到的東西很重要,這對后面的實驗有著莫大的好處和很好的理解。我差不多是后面一個多月才開始認真去實驗室做實驗,前面半期的理論知識聽著是感覺很枯燥乏味。后面才發(fā)現(xiàn)實驗并不難,只是我前面并不用心去學(xué)習(xí),在內(nèi)心里就給自己設(shè)了一道坎。我感謝周老師對我們的悉心指導(dǎo),五個小實驗,一個大作業(yè),每個同學(xué)每個實驗他都要嚴格的把關(guān),讓我們?nèi)マq論。周老師,辛苦了!6致謝在為期一學(xué)期的對ZigBee的學(xué)習(xí)即將結(jié)束,衷心的感謝所有給予我?guī)椭椭С值睦蠋熀屯瑢W(xué)。首先要感謝學(xué)校,給我們專業(yè)提供了良好的學(xué)習(xí)設(shè)備,讓我們得以在實踐中尋求真知,讓我從根本上去學(xué)習(xí)了ZigBee這門課程。感謝我的老師周偉老師,本門課程從選課、課程開展、具體實施到各個實驗等都是在周老師的嚴格要求和悉心指導(dǎo)下完成的,不僅提高了我的專業(yè)水平和實踐能力,更鍛煉了我分析問題、解決問題的能力。真的特別感謝周老師,讓我對ZigBee這門課程有了認識和理解。感謝我的同學(xué),他們在學(xué)習(xí)和生活上給了我很多的鼓勵和幫助。感謝所有關(guān)心和幫助過我的老師、同學(xué)和朋友。7參考文獻[1]任豐原,黃海寧,林闖.無線傳感器網(wǎng)絡(luò)[J].軟件學(xué)報2003,14〔7〕[2]CC2530DataSheet[3]高守瑋,吳燦陽.Zigbee技術(shù)實踐教程[M].北京:北京航空航天大學(xué)出版社,2023.6[4]李文仲,段朝玉等.Zigbee無線網(wǎng)絡(luò)技術(shù)入門與實戰(zhàn)[M].北京:北京航空航天大學(xué)出版社,2007[5]杜麗敏,郭文成.ZigBee

溫馨提示

  • 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)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論