




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、精選文檔 物 聯(lián) 網(wǎng)實 驗 指 導(dǎo) 書四川理工學(xué)院通信教研室2014年11月目 錄前言1實驗一 走馬燈IAR工程建立實驗5實驗二 串口通信實驗14實驗三 點對點通信實驗18實驗四 Mesh自動組網(wǎng)實驗21附錄25實驗一代碼25實驗二代碼26實驗三代碼28實驗四代碼29精選文檔前言1、ZigBee基礎(chǔ)創(chuàng)新套件概述無線傳感器網(wǎng)絡(luò)技術(shù)被評為是未來四大高科技產(chǎn)業(yè)之一,可以預(yù)見無線傳感器網(wǎng)絡(luò)將會是繼互聯(lián)網(wǎng)之后一個巨大的新興產(chǎn)業(yè),同時由于無線傳感網(wǎng)絡(luò)的廣泛應(yīng)用,必然會對傳統(tǒng)行業(yè)起到巨大的拉動作用。無線傳感器網(wǎng)絡(luò)技術(shù),主要是針對短距離、低功耗、低速的數(shù)據(jù)傳輸。數(shù)據(jù)節(jié)點之間的數(shù)據(jù)傳輸強(qiáng)調(diào)網(wǎng)絡(luò)特性。數(shù)據(jù)節(jié)點之間
2、通過特有無線傳輸芯片進(jìn)行連接和轉(zhuǎn)發(fā)形成大范圍的覆蓋容納大量的節(jié)點。傳感器節(jié)點之間的網(wǎng)絡(luò)能夠自由和智能的組成,網(wǎng)絡(luò)具有自組織的特征,即網(wǎng)絡(luò)的節(jié)點可以智能的形成網(wǎng)絡(luò)連接,連接根據(jù)不同的需要采用不同的拓?fù)浣Y(jié)構(gòu)。網(wǎng)絡(luò)具有自維護(hù)特征,即當(dāng)某些節(jié)點發(fā)生問題的時候,不影響網(wǎng)絡(luò)的其它傳感器節(jié)點的數(shù)據(jù)傳輸。正是因為有了如此高級靈活的網(wǎng)絡(luò)特征,傳感器網(wǎng)絡(luò)設(shè)備的安裝和維護(hù)非常簡便,可以在不增加單個節(jié)點成本同時進(jìn)行大規(guī)模的布設(shè)。無線傳感器網(wǎng)絡(luò)技術(shù)在節(jié)能、環(huán)境監(jiān)測、工業(yè)控制等領(lǐng)域擁有非常巨大的潛力。目前無線傳感器網(wǎng)絡(luò)技術(shù)尚屬一個新興技術(shù),正在高速發(fā)展,學(xué)習(xí)和掌握新技術(shù)發(fā)展方向和技術(shù)理念是現(xiàn)代化高等教育的核心理念?!癦i
3、gBee基礎(chǔ)創(chuàng)新套件”產(chǎn)品正是針對這一新技術(shù)的發(fā)展需要,使這種新技術(shù)能夠得到快速的推廣,讓高校師生能夠?qū)W習(xí)和了解這項潛力巨大的新技術(shù)?!癦igBee基礎(chǔ)創(chuàng)新套件”是由多個傳感器節(jié)點組成的無線傳感器網(wǎng)絡(luò)。該套件綜合了傳感器技術(shù)、嵌入式計算技術(shù)、現(xiàn)代網(wǎng)絡(luò)及無線通信技術(shù)、分布式信息處理技術(shù)等多種技術(shù)領(lǐng)域,用戶可以根據(jù)所需的應(yīng)用在該套件上進(jìn)行自由開發(fā)。2、ZigBee基礎(chǔ)創(chuàng)新套件的組成CITE 創(chuàng)新型無線節(jié)點(CITE-N01 ) 4個物聯(lián)網(wǎng)創(chuàng)新型超聲波傳感器(CITE-S063) 1個物聯(lián)網(wǎng)創(chuàng)新型紅外傳感器( CITE-S073) 1個物聯(lián)網(wǎng)便攜型加速度傳感器(CITE-S082) 1個物聯(lián)網(wǎng)便攜型
4、溫濕度傳感器(CITE-S121 ) 1個電源 6個天線 8根CC Debugger 1套(調(diào)試器,帶 MINI USB接口的USB線,10PIN排線)物聯(lián)網(wǎng)實驗軟件 一套2.1CITE創(chuàng)新型無線節(jié)點( CITE-N01) 支持 IEEE 802.15.4 標(biāo)準(zhǔn)以及 ZigBee、 ZigBee PRO 和 ZigBee RF4CE 標(biāo)準(zhǔn) 2.4G ISM 工作頻率 傳輸速度 250Kbps, 最大輸出功率 10dBm,接收靈敏度-97dBm MCU: 增強(qiáng)型 8051MCU, 256KFlash 低功耗:主動模式 RX, 24mA主動模式 TX 在 1dBm, 29mA供電模式 1 ( 4u
5、s 喚醒), 0.2mA供電模式 2(睡眠定時器運行), 1uA供電模式 3(外部中斷), 0.4uA寬電源電壓范圍( 2V-3.6V) 液晶屏顯示:便于觀察實驗現(xiàn)象 自帶 3 種傳感器: 光照傳感器, 3 軸加速度傳感器,溫度傳感器 3個彩燈, 5 個按鍵:便于實現(xiàn)多種輸入輸出組合 鋰電池和 DC5V 兩種供電方式可選, 鋰電池充電時間一般需要 45 個小時,可以使用 200 個小時,在使用鋰電池的情況下,如果長時間不使用,請關(guān)閉電源開關(guān)2.2物聯(lián)網(wǎng)創(chuàng)新型超聲波傳感器( CITE-S063)物聯(lián)網(wǎng)創(chuàng)新型超聲波傳感器(CITE-S063)由 CC2530 無線模塊和超聲波傳感器底板組成。傳感器
6、底板上采用的是兩個超聲波探頭, MCU 部分采用 Silicon Laboratories 公司的C8051F206。超聲波傳感器底板輸出 02000mm 測量距離,并將測量距離發(fā)送給 CC2530 無線模塊。傳感器底板上有一個彩色燈,通過編程可以顯示各種不同顏色,隨著測量距離的不同變換不同的顏色。傳感器底板與 CC2530 無線模塊間通過串口通信,電平轉(zhuǎn)換為 RS232。2.3物聯(lián)網(wǎng)創(chuàng)新型紅外傳感器( CITE-S073)物聯(lián)網(wǎng)創(chuàng)新型紅外傳感器( CITE-S073)由 CC2530 無線模塊和紅外傳感器底板組成。傳感器底板上件采用的是紅外傳感器, MCU 部分采用 Silicon Labo
7、ratories 公司的C8051F206。紅外傳感器底板輸出 0 或 1 開關(guān)量,并將開關(guān)量發(fā)送給 CC2530 無線模塊。傳感器底板上有一個彩色燈,通過編程可以顯示各種不同顏色,紅色表示紅外傳感器沒有檢測到物體,綠色表示紅外傳感器檢測到物體。傳感器底板與 CC2530 無線模塊間通過串口通信,電平轉(zhuǎn)換為RS232。2.4物聯(lián)網(wǎng)便攜型加速度傳感器(CITE-S082)物聯(lián)網(wǎng)便攜型加速度傳感器(CITE-S082) 是由 CC2530 無線模塊和 KIONIX 公司的3軸加速度傳感器 KXTF9-1062 組成。 CC2530 可以通過 I2C 總線讀取加速度傳感器中 3 軸加速度的值。使用時
8、用 2 節(jié) 1.5V 干電池供電。2.5物聯(lián)網(wǎng)便攜型溫濕度傳感器(CITE-S121)物聯(lián)網(wǎng)便攜型溫濕度傳感器(CITE-S121 ) 是由 CC2530 無線模塊和 SENSIRION公司的溫濕度傳感器 STH11 組成。 CC2530 可以讀取傳感器采集的溫濕度值。使用時用 2節(jié)1.5V干電池供電。3、系統(tǒng)連接注意事項:在無線通信過程中,相同信道之間會產(chǎn)生信號干擾,由于所有實驗箱在出廠時默認(rèn)的都是同一信道的演示實驗程序。所以在做實驗時,為了防止實驗箱之間信號的互相干擾,保證實驗效果,請同一個實驗箱用同一個頻率同一個信道,不同實驗箱用用不同的頻率與不同的信道。打開產(chǎn)品實驗箱后,里面包含了搭建
9、系統(tǒng)所需要的所有器件和配件。連接步驟為:1. 將所有模塊上的天線連接好;2. 將 CITE 創(chuàng)新型無線節(jié)點( CITE-N01 )、 CITE-S073 物聯(lián)網(wǎng)創(chuàng)新型紅外傳感器和CITE-S063 物聯(lián)網(wǎng)創(chuàng)新型超聲波傳感器的電源接口與電源進(jìn)行連接;3. 將 CITE-S082 物聯(lián)網(wǎng)便攜型加速度傳感器和 CITE-S121 物聯(lián)網(wǎng)便攜型溫濕度傳感器分別裝入兩節(jié) 1.5V 的干電池;4. 在計算機(jī)上安裝 CITE-N01 模塊的串口驅(qū)動;5. 將貼有紅色圓標(biāo)簽的 CITE 創(chuàng)新型無線節(jié)點( CITE-N01 ) 的 MINI USB 端口與計算機(jī)的 USB 串口用提供的 A-MINI USB 線
10、進(jìn)行連接,打開電源開關(guān);依次打開剩下模塊的電源開關(guān);6. 運行計算機(jī)上的 CITE-LAB 軟件。實驗一 走馬燈IAR工程建立實驗1 、實驗?zāi)康牧私?IAR 集成開發(fā)環(huán)境。學(xué)習(xí)安裝 SmartRF Flash Programmer 軟件下載程序。2、實驗設(shè)備硬件: PC 機(jī)(一臺)ZigBee 基礎(chǔ)創(chuàng)新套件(一套)軟件: IAR Embedded Workbench 開發(fā)工具、SmartRF Flash Programmer 軟件、CITE-LAB 軟件3、 實驗預(yù)習(xí)要求仔細(xì)閱讀 IAR 相關(guān)文檔,熟悉本節(jié)實驗步驟。IAR Embedded Workbench(以下簡稱為 IAR) 嵌入式系統(tǒng)
11、應(yīng)用程序的開發(fā)工具,支持匯編、 C 和 C+語言。它提供完整的集成開發(fā)環(huán)境,包括工程管理器、編輯器、編譯鏈接工具和 C-SPY 調(diào)試器。 IAR Systems 以其高度優(yōu)化的編譯器而聞名。每個 C/C+編譯器不僅包含一般全局性的優(yōu)化,也包含針對特定芯片的低級優(yōu)化,以充分利用所選芯片的所有特性,確保較小的代碼尺寸。能夠支持由不同的芯片制造商生產(chǎn),且種類繁多的 8 位、 16位或 32 位芯片。4實驗內(nèi)容(1)安裝 IAR。(2)啟動 IAR。(3)新建一個 IAR 工作區(qū)。(4)打開一個 IAR 工作區(qū)。(5)安裝調(diào)試器驅(qū)動。(6)連接計算機(jī)、 CC Debugger 與物聯(lián)網(wǎng)創(chuàng)新型紅外傳感器
12、(CITE-S073)。(7)設(shè)置項目參數(shù)。(8)編譯、下載程序。(9)安裝 SmartRF Flash Programmer 軟件,這個軟件主要用于無線網(wǎng)絡(luò)實驗、傳感器實驗中的實驗 3 以及綜合實驗的程序下載。(10)使用 SmartRF Flash Programmer 軟件下載程序。5、實驗連接邏輯圖6實驗步驟安裝IAR。點擊光盤中的圖標(biāo),出現(xiàn)如圖所示的對話框。選擇第二項“Install IAR Embedded Workbench”并點擊,出現(xiàn)解壓界面如圖所示:等待出現(xiàn)安裝界面如圖所示。點擊“Next”,出現(xiàn)對話框如圖所示。點擊“Accept”,出現(xiàn)圖對話框如圖所示。輸入姓名和公司名稱
13、(任意輸入),雙擊,生成License number 與Licese key,并填寫到軟件相應(yīng)的位置并完成激活。點擊“Browse”選擇“Licence Key”,點擊“Next”,出現(xiàn)對話框如圖所示。點擊“Next”,出現(xiàn)對話框如圖所示。選擇“Full”,點擊“Next”,出現(xiàn)對話框如圖所示。點擊“Next”,出現(xiàn)對話框如圖所示。點擊“Next”,出現(xiàn)開始安裝話框如圖所示。等待安裝結(jié)束后會彈出對話框如圖所示。點擊“Finish”,安裝完成。啟動IAR。安裝結(jié)束后,在開始菜單中選擇“IAR Embedded WorkBench”,即可打開IAR開發(fā)環(huán)境。IAR安裝目錄如圖所示。當(dāng)打開IAR開發(fā)
14、環(huán)境時,如果已經(jīng)建好了工作區(qū),會出現(xiàn)如圖所示的窗口,可以選擇窗口里需要打開的工作區(qū)。如果要新建或打開一個工作區(qū)則點擊“Cancel”。打開一個IAR工作區(qū)。要打開光盤中“物聯(lián)網(wǎng)實驗”文件夾中的“實驗1”中的CITE-T-ZA-Led。工作區(qū)打開方法為:點擊FileOpen Workspace,如圖所示。選擇并打開名稱為CITE-T-ZA-Led的工作區(qū),如圖所示。打開的工作區(qū)如圖所示。(5)安裝調(diào)試器驅(qū)動。將CC Debugger通過A-MINI USB線與計算機(jī)的USB口連接,計算機(jī)會彈出“找到新的硬件向?qū)А?,選擇“從列表或指定位置安裝(高級)”,點擊“下一步”,如圖所示。點擊“瀏覽”按鈕,
15、選擇驅(qū)動所在路徑,驅(qū)動文件在IAR程序的安裝目錄下,具體位置為C:Program FilesIAR SystemsEmbedded Workbench 5.38051driversTexas Instruments,如圖所示,點擊“下一步”。等待驅(qū)動安裝完成,點擊“完成”按鈕,完成調(diào)試器驅(qū)動安裝,如圖所示。點擊 CITE-T-ZA-Led-Debug工程文件,點擊 ProjectOptions,如圖所示。選擇“Linker”選項,設(shè)置“Output”和“Config”選項卡,如圖所示。選擇“Debugger”選項,設(shè)置“Setup”選項卡,如圖設(shè)置取一個物聯(lián)網(wǎng)創(chuàng)新型紅外傳感器(CITE-S07
16、3),連接CC Debugger、物聯(lián)網(wǎng)創(chuàng)新型紅外傳感器(CITE-S073)和計算機(jī),連接電源,連接好后,打開電源開關(guān)。(8)編譯、下載程序。 選擇CITE-ZA-Led.c 文件,點擊ProjectRebuild All,編譯程序并生成目標(biāo)文件。編譯情況會在界面下方的“Messages”顯示出來,如果編譯時出現(xiàn)錯誤或警告,請根據(jù)提示進(jìn)行修改,直至沒有錯誤。再點擊ProjectDebug將程序下載到物聯(lián)網(wǎng)創(chuàng)新型紅外傳感器(CITE-S073)中,連接方法如圖所示;點擊運行程序,可以觀察到物聯(lián)網(wǎng)創(chuàng)新型紅外傳感器(CITE-S073)上D2D5的4個燈輪流閃爍。實驗小結(jié)通過本小結(jié)的學(xué)習(xí),學(xué)會定時
17、器查詢方式的使用和I/O 端口的使用,并學(xué)會如何控制D2D5燈輪流閃爍。此實驗是學(xué)習(xí)單片機(jī)的入門實驗,通過學(xué)習(xí),對單片機(jī)有個基本了解,便于今后更復(fù)雜單片機(jī)程序的開發(fā)。思考題(1)如何改變走馬燈閃爍的時間間隔?(2)如何改變4個燈閃爍的次序?實驗二 串口通信實驗1實驗?zāi)康膶W(xué)習(xí)使用CC2530單片機(jī)中斷方式實現(xiàn)串口通信。學(xué)習(xí)如何設(shè)置串口的波特率。掌握如何使用串口收發(fā)數(shù)據(jù)。2實驗設(shè)備硬件:PC機(jī)(一臺)ZigBee 基礎(chǔ)創(chuàng)新套件(一套)軟件:IAR Embedded Workbench開發(fā)工具CITE-LAB軟件3實驗內(nèi)容系統(tǒng)初始化時,以查詢的方式向串口發(fā)送默認(rèn)的出廠信息,接下來,串口等待接收數(shù)據(jù),
18、串口接收以中斷方式接收串口輸入的數(shù)據(jù),接收到串口上的數(shù)據(jù)后將數(shù)據(jù)發(fā)還給串口,此時可以在CITE-LAB軟件上觀察到串口輸入的數(shù)據(jù)。4實驗連接邏輯圖5實驗步驟(1)首先安裝CITE 創(chuàng)新型無線節(jié)點(CITE-N01)的串口驅(qū)動,雙擊,開始安裝驅(qū)動直至完成;(2)取一個CITE創(chuàng)新型無線節(jié)點(CITE-N01),連接電源,連接好后,打開電源開關(guān),出現(xiàn)一個開機(jī)界面如圖所示;(3)右鍵單擊“我的電腦”,選擇“屬性”彈出如圖所示對話框;(4)點擊“硬件”,選擇“設(shè)備管理器”,將“端口”選項展開,可以找到CITE創(chuàng)新型無線節(jié)點(CITE-N01)與計算機(jī)相連接的端口,例如為COM3,(5)啟動IAR,打開
19、工作區(qū)文件CITE-T-ZA-Uart.eww;(6)點擊ProjectRebuild All,編譯程序并生成可執(zhí)行文件;(7)連接CC Debugger、CITE創(chuàng)新型無線節(jié)點(CITE-N01)和計算機(jī),如圖所示。連接好后,打開電源開關(guān)。點擊ProjectDebug將程序下載到CITE創(chuàng)新型無線節(jié)點(CITE-N01)中;(8)點擊運行程序,點擊按鈕,退出調(diào)試環(huán)境。(關(guān)閉CITE創(chuàng)新型無線節(jié)點(CITE-N01)的電源,拔下CC Debugger,將CC Debugger一端的A-MINI USB線拔下,插入CITE創(chuàng)新型無線節(jié)點(CITE-N01)上的MiniUSB端口);(9)使用CI
20、TE-LAB軟件觀察實驗現(xiàn)象,CITE創(chuàng)新型無線節(jié)點(CITE-N01)上電或復(fù)位時,在串口上會顯示一串出廠信息,往串口發(fā)送數(shù)據(jù),可以發(fā)現(xiàn)發(fā)送的數(shù)據(jù)被回傳;(10)使用CITE-LAB軟件觀察程序運行情況的過程為:在PC 機(jī)上雙擊 CITE-LAB軟件中的圖標(biāo)(如未安裝CITE-LAB軟件,雙擊“CITE-LAB軟件文件夾”中的安裝圖標(biāo)進(jìn)行安裝),點擊“進(jìn)入實驗”,選擇“基礎(chǔ)實驗”中的“串口通信實驗”,如圖所示:點擊串口配置按鈕,打開如圖所示的端口配置界面,在串口中選擇COM3,設(shè)置波特率為115200,點擊“確定”按鈕點擊“打開選定串口并開始實驗”按鈕,開始實驗,點擊選擇字符顯示方式,打開C
21、ITE創(chuàng)新型無線節(jié)點(CITE-N01)的電源或按下復(fù)位按鍵,在“接收數(shù)據(jù)顯示區(qū)”窗口中可以觀察到出廠信息,如圖所示。雙擊狀態(tài)欄下方的已發(fā)送/已接收的字節(jié),可以將已發(fā)送/已接收的字節(jié)清為0;在“發(fā)送數(shù)據(jù)輸入?yún)^(qū)”輸入需要發(fā)送的數(shù)據(jù),點擊按鈕發(fā)送數(shù)據(jù),此時可以在“接收數(shù)據(jù)顯示區(qū)”觀察到剛才發(fā)送到數(shù)據(jù)。點擊按鈕清除數(shù)據(jù),點擊按鈕選擇發(fā)送數(shù)據(jù)輸入?yún)^(qū)/接收數(shù)據(jù)顯示區(qū)為16進(jìn)制顯示方式,如圖A5- 9所示;6.實驗小結(jié)通過本小結(jié)的學(xué)習(xí),學(xué)會使用單片機(jī)的串口功能,進(jìn)行收發(fā)數(shù)據(jù),并學(xué)會如何設(shè)置串口的波特率,如何發(fā)送默認(rèn)的配置信息。7.思考題(1)如何改變串口通信的波特率?(2)如何修改發(fā)送的默認(rèn)信息?實驗三
22、點對點通信實驗1實驗?zāi)康耐ㄟ^點對點通信實驗,建立無線通信概念。了解IEEE 802.15.4無線通信標(biāo)準(zhǔn),熟悉PHY、MAC、RSSI等概念。2實驗設(shè)備硬件:PC機(jī)(一臺)ZigBee 基礎(chǔ)創(chuàng)新套件(一套)軟件:IAR Embedded Workbench開發(fā)工具CITE-LAB軟件3實驗內(nèi)容CITE創(chuàng)新型無線節(jié)點(CITE-N01)B每隔500ms向CITE創(chuàng)新型無線節(jié)點(CITE-N01)A發(fā)送一包數(shù)據(jù),所以只有模塊A能接收到模塊B的信息,這樣就構(gòu)成一個點對點的形式。模塊A接收到模塊B的數(shù)據(jù)后,將數(shù)據(jù)通過串口轉(zhuǎn)發(fā)至PC,在CITE-LAB軟件上顯示其內(nèi)容。讀取CC2530寄存器RSSI的值
23、并在液晶屏上顯示。實驗連接邏輯圖如下:4實驗步驟(1)啟動IAR,打開工作區(qū)文件CITE-T-ZA- PeerToPeer-Cen.eww;(2)打開RF.c文件,將宏定義#define PANID 0x2011中的數(shù)值部分修改為實驗箱相應(yīng)的PANID編號,點擊保存,點擊ProjectRebuild All,編譯程序并生成可執(zhí)行文件;(3)取一個CITE創(chuàng)新型無線節(jié)點(CITE-N01)作為模塊A,連接CC Debugger、CITE創(chuàng)新型無線節(jié)點(CITE-N01)和計算機(jī),連接電源,連接好后,打開電源開關(guān),連接方法請參照基礎(chǔ)實驗五。點擊ProjectDebug將程序下載到CITE創(chuàng)新型無線
24、節(jié)點(CITE-N01)中,點擊然后退出調(diào)試狀態(tài),關(guān)閉模塊A上的電源開關(guān)并拔掉CC Debugger;(4)同樣的方法打開工作區(qū)文件CITE-T-ZA- PeerToPeer-End.eww,將宏定義#define PANID 0x2011 中的數(shù)值部分修改為與步驟(2)中相同的值,點擊保存,點擊ProjectRebuild All,編譯程序并生成可執(zhí)行文件。取一個CITE創(chuàng)新型無線節(jié)點(CITE-N01)作為模塊B,按照步驟(3)的方法下載程序,關(guān)閉模塊B上的電源開關(guān)并拔掉CC Debugger,將CC Debugger一端的A-MINI USB線拔下,插入CITE創(chuàng)新型無線節(jié)點(CITE-
25、N01)A上的MiniUSB端口;(5)在PC 機(jī)上雙擊 CITE-LAB軟件中的圖標(biāo),點擊“進(jìn)入實驗”,選擇“無線射頻實驗”中的“點對點通信實驗”,按照基礎(chǔ)實驗五的方法設(shè)置相應(yīng)的串口、波特率,點擊“打開選定串口并開始實驗”按鈕,開始實驗,點擊選擇字符顯示方式;(6)分別打開CITE創(chuàng)新型無線節(jié)點(CITE-N01)模塊A和CITE創(chuàng)新型無線節(jié)點(CITE-N01)模塊B上的電源開關(guān);(7)CITE創(chuàng)新型無線節(jié)點(CITE-N01)模塊B每隔500ms向CITE創(chuàng)新型無線節(jié)點(CITE-N01)模塊A發(fā)送一組數(shù)據(jù),此時在CITE創(chuàng)新型無線節(jié)點(CITE-N01)模塊A端的CITE-LAB軟件上
26、觀察到每隔500ms接收到一組數(shù)據(jù)“Hello World!”,同時模塊A在發(fā)送數(shù)據(jù)時LED1的藍(lán)燈閃爍,模塊B在接收數(shù)據(jù)時LED1的綠燈閃爍,液晶屏上顯示接收信號RSSI的值。CITE-LAB軟件上顯示結(jié)果如圖所5.實驗小結(jié)通過本小結(jié)的學(xué)習(xí),認(rèn)識到在點對點無線通信過程中,要使數(shù)據(jù)能夠正確接收,首先應(yīng)保證通信雙方的信道一致;其次,因為在實驗中采用了地址過濾,地址過濾中包含PANID和短地址信息,所以發(fā)送方的PANID和目的地址要和接收方的PANID和源地址相同。當(dāng)然這兩個條件只是正確接收數(shù)據(jù)的必要條件,需要滿足的其它條件請參考CC2530使用手冊的相關(guān)章節(jié)。6.思考題(1)如何改變發(fā)送字符的內(nèi)
27、容?(2)本實驗中,所有實驗箱發(fā)送方的目的地址都相同,我們使用PANID過濾來屏蔽其它實驗箱的數(shù)據(jù),使接收方只接收此實驗箱發(fā)送方的數(shù)據(jù),如果所有實驗箱的PANID都相同,如何使用發(fā)送方的目的地址過濾來屏蔽其它實驗箱的數(shù)據(jù)?實驗四 Mesh自動組網(wǎng)實驗1實驗?zāi)康膶W(xué)習(xí)如何建立 Mesh 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)。學(xué)習(xí) ZigBee 網(wǎng)絡(luò) Mesh 網(wǎng)絡(luò)拓?fù)涞氖褂谩?實驗設(shè)備硬件: PC 機(jī)(一臺)ZigBee 基礎(chǔ)創(chuàng)新套件(一套)軟件: IAR Embedded Workbench 開發(fā)工具SmartRF Flash Programmer 軟件CITE-LAB 軟件3實驗內(nèi)容Mesh網(wǎng)絡(luò)即”無線網(wǎng)格網(wǎng)絡(luò)”,它
28、是“多跳(multi-hop)”網(wǎng)絡(luò),是由ad hoc網(wǎng)絡(luò)發(fā)展而來,是解決“最后一公里”問題的關(guān)鍵技術(shù)之一。在向下一代網(wǎng)絡(luò)演進(jìn)的過程中,無線是一個不可缺的技術(shù)。無線mesh可以與其它網(wǎng)絡(luò)協(xié)同通信。是一個動態(tài)的可以不斷擴(kuò)展的網(wǎng)絡(luò)架構(gòu),任意的兩個設(shè)備均可以保持無線互聯(lián)。(1)建立 Mesh 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)首先協(xié)調(diào)器上電后按照指定的信道和 PAN_ID 建立無線網(wǎng)絡(luò);然后各個模塊作為路由器加入這個無線網(wǎng)絡(luò),這樣一個 Mesh 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)的網(wǎng)絡(luò)就建立起來了。(2)無線數(shù)據(jù)傳輸路由器每隔 1 秒向協(xié)調(diào)器發(fā)送地址信息和網(wǎng)絡(luò)信息,協(xié)調(diào)器接收到路由器的信息后, 將這些信息解析后傳送給 PC, PC 上的
29、軟件根據(jù)這些信息顯示當(dāng)前網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)圖。(3) ZigBee Mesh 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)如下圖所示:實驗連接邏輯圖4實驗步驟(1)修改 f8wConfig.cfg (路徑為:無線網(wǎng)絡(luò)實驗ProjectszstackToolsCC2530DB)文件中的信道和 PANID;(2)啟動 IAR,打開協(xié)調(diào)器工作區(qū)文件 MeshCenter.eww;工程路徑:無線網(wǎng)絡(luò)實驗ProjectszstackCITE-T-ZA-MeshCITE-Mesh-CenterCC2530DBMeshCenter.eww;(3)點擊ProjectRebuild All,編譯程序并生成可執(zhí)行文件 MeshCenter.hex;
30、可執(zhí)行文件路徑:無線網(wǎng)絡(luò)實驗ProjectszstackCITE-T-ZA-MeshCITE-Mesh-CenterCC2530DBCoordinatorEB-Pro ExeMeshCenter.hex;(4)啟動 IAR,打開路由器工作區(qū)文件 MeshEnd.eww;工程路徑:無線網(wǎng)絡(luò)實驗ProjectszstackCITE-T-ZA-MeshCITE-Mesh-EndCC2530DBMeshEnd.eww;(5)點擊 ProjectRebuild All,編譯程序并生成可執(zhí)行文件 MeshEnd.hex;可執(zhí)行文件路徑: 無線網(wǎng)絡(luò)實驗ProjectszstackCITE-T-ZA-Mesh
31、CITE-Mesh-EndCC2530DBRouterEB-ProExe MeshEnd.hex;(6)啟動SmartRF Flash Programmer 軟件(如為安裝SmartRF Flash Programmer 軟件,雙擊軟件,彈出如圖所示的安裝界面),分別將可執(zhí)行文件 MeshCenter.hex 和 MeshEnd.hex下載到協(xié)調(diào)器和 7 個路由器中,并關(guān)閉電源。模塊與下載可執(zhí)行文件的對應(yīng)關(guān)系如下表所示:模塊下載可執(zhí)行文件的名稱協(xié)調(diào)器(1 個 CITE 創(chuàng)新型無線節(jié)點(CITE-N01)MeshCenter.hex路由器(剩下 7 個模塊)MeshEnd.hex使用 Smart
32、RF Flash Programmer 軟件下載MeshCenter.hex程序步驟如下:將計算機(jī)、CC Debugger與物聯(lián)網(wǎng)CITE-N01協(xié)調(diào)器連接。打開SmartRF Flash Programmer,如下界面設(shè)置。打開協(xié)調(diào)器電源后,會顯示與計算機(jī)相連接的CC Debugger信息,如圖:在 Flash 選項中選擇協(xié)調(diào)器需要下載的Hex文件,可執(zhí)行文件路徑:無線網(wǎng)絡(luò)實驗ProjectszstackCITE-T-ZA-MeshCITE-Mesh-CenterCC2530DBCoordinatorEB-Pro ExeMeshCenter.hex;界面如下。點擊“”進(jìn)行下載。用同樣的方法,
33、將MeshEnd.hex下載到剩下的7個模塊中;可執(zhí)行文件路徑: 無線網(wǎng)絡(luò)實驗ProjectszstackCITE-T-ZA-MeshCITE-Mesh-EndCC2530DBRouterEB-ProExe MeshEnd.hex;(7) 將協(xié)調(diào)器和計算機(jī)通過 A-MINI USB 線連接起來,打開協(xié)調(diào)器的電源開關(guān),可以看到協(xié)調(diào)器模塊上彩燈 LED1 的紅燈亮,建網(wǎng)成功后變藍(lán)色,并在液晶屏上顯示 PANID 號,表示協(xié)調(diào)器已建立起一個 Mesh 網(wǎng)絡(luò),接收到數(shù)據(jù)時 LED3 的綠燈閃爍;(8) 依次打開 7 個路由器的電源開關(guān),如果是 CITE 創(chuàng)新型無線節(jié)點( CITE-N01 ),則在剛上
34、電時路由器設(shè)備上彩燈 LED1 的紅燈亮,液晶屏的下邊顯示 OFF 和 Router,表示當(dāng)前的網(wǎng)絡(luò)狀態(tài)(加入或未加入)和設(shè)備類型;加入網(wǎng)絡(luò)成功后變藍(lán)色,并在液晶屏上顯示自己的短地址,液晶屏的下邊顯示 ON 和 Router,表示路由器節(jié)點已經(jīng)加入網(wǎng)絡(luò),發(fā)送數(shù)據(jù)時 LED3 的藍(lán)燈閃爍;(9) 在 PC 機(jī)上雙擊 CITE-LAB 軟件中的圖標(biāo),點擊 “進(jìn)入實驗”,選擇“無線網(wǎng)絡(luò)實驗”中的“自動組網(wǎng)實驗(Mesh)”, 選擇協(xié)調(diào)器與計算機(jī)連接的MINI USB 端口,例如,為COM3,設(shè)置端口波特率為115200bps,點擊確定按鈕,點擊開始按鈕,從界面上可以看到當(dāng)前網(wǎng)絡(luò)的拓?fù)浣Y(jié)構(gòu)如圖所示;(
35、10)將拓?fù)鋱D上某個父親路由器斷電后, 例如將短地址為 0x3C0F 的路由器斷電,可以觀察到只有該路由器消失, 其它路由器通過 Mesh 網(wǎng)絡(luò)的自愈建網(wǎng)功能可以通過其它路由器重新建網(wǎng),如圖所示7、實驗小結(jié)本實驗通過上位機(jī)軟件描繪了一個 Mesh 網(wǎng)絡(luò)拓?fù)?,通過這個拓?fù)?,形象生動的體現(xiàn)了Mesh 網(wǎng)絡(luò)中設(shè)備與設(shè)備、設(shè)備與協(xié)調(diào)器之間的關(guān)系。通過對某個設(shè)備斷電或上電體現(xiàn)了Mesh 網(wǎng)絡(luò)自組網(wǎng)、 自維護(hù)的網(wǎng)絡(luò)特性。8、思考題1、Mesh 網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中,把其中一個設(shè)備斷電再上電,觀察節(jié)點是否會重新加入網(wǎng)絡(luò)。為什么?2、把兩個實驗箱f8wConfig.cfg文件中的信道和 PANID修改成同樣的值,會
36、出現(xiàn)什么現(xiàn)象?附錄實驗一代碼/名稱:Delay500()/功能:500ms 定時/入口參數(shù):無/出口參數(shù):無/void Delay500(void)uchar i;T1CTL |= 0x02; /啟動模模式計數(shù)for(i=0;i<2;i+)while (!(T1STAT & 0x01); /查詢定時器 1 定時時間 250ms 是否到達(dá)T1STAT &= 0x01; /清定時器 1 中斷標(biāo)志位T1CTL &= 0x02; /停止模模式計數(shù)/名稱:main()/功能:主函數(shù)/入口參數(shù):無/出口參數(shù):無/void main(void)System_Init(); /系
37、統(tǒng)初始化while(1)LED2 = ON; /D2 亮LED3 = OFF; /D3 滅LED4 = OFF; /D4 滅LED5 = OFF; /D5 滅Delay500(); /延時 500msLED2 = OFF;/D2 滅LED3 = ON; /D3 亮LED4 = OFF;/D4 滅LED5 = OFF; /D5 滅Delay500();/延時 500msLED2 = OFF;/D2 滅LED3 = OFF;/D3 滅LED4 = ON; /D4 亮LED5 = OFF; /D5 滅Delay500(); /延時 500msLED2 = OFF;/D2 滅LED3 = OFF;/D
38、3 滅LED4 = OFF;/D4 滅LED5 = ON; /LED5 亮Delay500(); /延時 500ms實驗二代碼/名稱:Initial_uart()/功能:初始化串口/入口參數(shù):無/出口參數(shù):無/void Initial_uart(void)PERCFG = 0x00; /串口 0 在默認(rèn)位置P0SEL |= 0x0C; /P0.2,P0.3 設(shè)置為外設(shè)功能U0CSR |= 0x80; /模式選擇U0GCR |= 11; /baud_eU0BAUD |= 216; /波特率設(shè)為 115200U0CSR |= 0x40; /允許接收IEN0 = 0x84; /總中斷允許,串口 0
39、接收中斷允許/名稱:UART0_RX_ISR()/功能:串口 0 接收中斷處理函數(shù)/入口參數(shù):無/出口參數(shù):無/#pragma vector = URX0_VECTOR_interrupt void UART0_RX_ISR(void)URX0IF = 0;/清接收標(biāo)志位* pWrite+ = U0DBUF;/將接收到數(shù)據(jù)保存到接收 buffer,并將寫指針加 1if(IsRxBufWriteEnd)/如果寫指針到達(dá) buffer 的結(jié)尾處pWrite = Buffer;/將寫指針設(shè)置為 buffer 的起始處/名稱:main()/功能:主函數(shù)/入口參數(shù):無/出口參數(shù):無/void main(
40、void)System_Init(); /系統(tǒng)初始化ClearRxBuffer(); /清接收 bufferUart_TX();while(1)if(IsRxBufNotEmpty)/如果接收 buffer 有數(shù)據(jù)U0DBUF = * pRead+; /發(fā)送讀指針指向的 buffer 數(shù)據(jù),并將讀指針加 1while(!UTX0IF);/等待數(shù)據(jù)發(fā)送完成UTX0IF=0;/清發(fā)送完成標(biāo)志位if(IsRxBufReadEnd) /如果讀指針到達(dá) buffer 的結(jié)尾處pRead = Buffer; /將讀指針設(shè)置為 buffer 的起始處實驗三代碼/名稱:RF_interrupt()/功能:RF
41、 一般性中斷處理函數(shù)/入口參數(shù):無/出口參數(shù):無/#pragma vector = RF_VECTOR /RF 一般性中斷處理函數(shù)_interrupt void RF_interrupt(void)uchar i;S1CON &= 0x03; /清除 RFIF_1 和 RFIF_0 中斷標(biāo)志RFIRQF0 &= 0x40; /清除接收到完整一幀中斷標(biāo)志if(RSSISTAT) /讀取 RSSI 值是否有效RSSI_value = RSSI;FrameByteCnt = RXFIFOCNT; /讀取幀長度for(i=0;i<FrameByteCnt;i+) /依次賦值給數(shù)組
42、Framei = RFD;RFRecvFlag = 1;RFST = ISFLUSHRX; /CSP 指令-立即清除接收緩沖區(qū)/名稱:UART0_TX_ISR()/功能:串口 0 發(fā)送中斷處理函數(shù)/入口參數(shù):無/出口參數(shù):無/#pragma vector = UTX0_VECTOR_interrupt void UART0_TX_ISR(void)if(UTX0IF)UTX0IF = 0; /清除發(fā)送中斷標(biāo)志cnt+; /串口次數(shù)加一if(cnt < 12)U0DBUF = Framecnt+10; /依次發(fā)送數(shù)據(jù)elsecnt = 0; /清零發(fā)送次數(shù)模塊 B:/名稱:T1_inter
43、rupt()/功能:T1 中斷處理函數(shù),因為,溢出一次是 10ms 所以 500ms 應(yīng)該計數(shù) 50 次/入口參數(shù):無/出口參數(shù):無/#pragma vector = T1_VECTOR /T1 中斷處理函數(shù)_interrupt void T1_interrupt(void)T1STAT &= 0x20; /清除定時器 1 中斷標(biāo)志位Time1Cnt+;if(Time1Cnt = 50)Time1Cnt = 0;Time1Flag = 1; /定時器到/名稱:RF_TX()/功能:RF 發(fā)送數(shù)據(jù)/入口參數(shù):無/出口參數(shù):無/void RF_TX(void)uchar i;for(i=0
44、;i<22;i+) /寫入數(shù)據(jù)RFD = MACi;RFST = ISTXON; /啟動發(fā)送while(!(RFIRQF1&0x02); /等待發(fā)送完畢RFIRQF1 &= 0x02;實驗四代碼協(xié)調(diào)器/* fn MeshCenter_MessageMSGCB* brief Data message processor callback. This function processes* any incoming data - probably from other devices. So, based* on cluster ID, perform the intende
45、d action.* param none* return none/*void MeshCenter_MessageMSGCB( afIncomingMSGPacket_t *pkt )uint8 comdata60;/addrpacket addr;switch ( pkt->clusterId )case MeshCenter_CLUSTERID:/send the message by uart to pcswitch (pkt->cmd.Data0)case SENADDR:comdata0=0x7e;comdata1=0x7e;comdata2=3+11+pkt->
46、;cmd.Data11*11;/lencomdata3=0x02; /directioncomdata4=0x1C; /frame contrl: addr typeosal_memcpy(void *)&comdata5,(void *)&pkt->cmd.Data1,11+pkt->cmd.Data11*11);comdata5+(11+pkt->cmd.Data11*11)=XorPrc(&comdata2,comdata2+1);HalUARTWrite ( HAL_UART_PORT_0, comdata,comdata2+3);/ comm with PC GUI */break;default:break;
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 計算機(jī)一級Msoffice模擬試題解析試題及答案
- 工業(yè)互聯(lián)網(wǎng)數(shù)據(jù)清洗算法2025年在環(huán)保監(jiān)測領(lǐng)域的應(yīng)用對比研究
- 教育游戲化在職業(yè)規(guī)劃教育中的應(yīng)用與設(shè)計報告
- 企業(yè)如何利用數(shù)字化實現(xiàn)業(yè)務(wù)升級的案例研究
- 理解稅法核心概念的試題及答案
- 醫(yī)療行業(yè)在數(shù)字化時代如何優(yōu)化患者體驗的辦公室設(shè)計
- 探索2025年教育游戲化在兒童創(chuàng)新思維教育中的教學(xué)設(shè)計創(chuàng)新報告
- 2025年精準(zhǔn)醫(yī)療在腫瘤診療中的應(yīng)用效果分析與持續(xù)優(yōu)化報告
- 2025年氫燃料電池汽車關(guān)鍵零部件國產(chǎn)化技術(shù)突破與市場應(yīng)用研究報告
- 多層次信息安全防護(hù)體系的構(gòu)建與應(yīng)用
- 2025湖北水發(fā)集團(tuán)園招聘40人筆試參考題庫附帶答案詳解
- 2025年武漢數(shù)學(xué)四調(diào)試題及答案
- 2024年全國高中數(shù)學(xué)聯(lián)賽北京賽區(qū)預(yù)賽一試試題(解析版)
- 建筑地基基礎(chǔ)檢測規(guī)范DBJ-T 15-60-2019
- 中債收益率曲線和中債估值編制方法及使用說明
- Q∕GDW 10799.6-2018 國家電網(wǎng)有限公司電力安全工作規(guī)程 第6部分:光伏電站部分
- 國家開放大學(xué)《行政組織學(xué)》章節(jié)測試參考答案
- 什么是標(biāo)準(zhǔn)工時如何得到標(biāo)準(zhǔn)工時
- 牛津譯林版英語八年級下冊8B——單詞默寫(表格版)
- 羽毛球正手網(wǎng)前搓球 (2)
- “阿基里斯追不上烏龜”“二分法”“飛矢不動”PPT課件
評論
0/150
提交評論