已閱讀5頁,還剩33頁未讀, 繼續(xù)免費(fèi)閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
中南大學(xué)信息科學(xué)與工程學(xué)院物聯(lián)網(wǎng)無線傳感器網(wǎng)絡(luò) 實驗報告 班 級: 物聯(lián)網(wǎng) 學(xué) 號: 姓 名: 指導(dǎo)老師: 劉偉榮 實驗時間: 2014年4月11日 目錄實驗一 基礎(chǔ)實驗(LED實驗)- 2 -1.1實驗?zāi)康? 2 -1.2實驗設(shè)備及工具- 2 -1.3實驗原理- 2 -1.4 實驗步驟及結(jié)果- 5 -實驗二 射頻實驗- 6 -2.1 實驗?zāi)康? 6 -2.2 實驗內(nèi)容- 6 -2.3 實驗設(shè)備及工具- 7 -2.4 實驗原理- 7 -2.5 實驗步驟- 8 -2.6 實驗數(shù)據(jù)分析及結(jié)論- 9 -實驗三 Zstack組網(wǎng)實驗- 10 -3.1 實驗?zāi)康? 10 -3.2 實驗內(nèi)容- 10 -3.3 預(yù)備知識- 11 -3.4 實驗設(shè)備及工具- 11 -3.5 實驗原理- 11 -3.6 實驗步驟- 16 -3.7 實驗數(shù)據(jù)分析及結(jié)論- 17 -實驗四 綜合實驗(傳感器網(wǎng)絡(luò))- 17 -4.1 智能網(wǎng)關(guān)程序設(shè)計- 18 -4.2 Android 用戶控制程序設(shè)計- 19 -4.3 Zigbee 節(jié)點控制程序設(shè)計- 30 -4.4 平臺控制操作- 34 -實驗一 基礎(chǔ)實驗(LED實驗)1.1實驗?zāi)康膗 通過 I/O控制小燈閃爍的過程。 u 在 ZX2530A 型 CC2530 節(jié)點板上運(yùn)行自己的程序。1.2實驗設(shè)備及工具u 硬件:ZX2530A 型底板及CC2530 節(jié)點板一塊,USB 接口仿真器,PC 機(jī) u 軟件:PC 機(jī)操作系統(tǒng) WinXP,IAR 集成開發(fā)環(huán)境。 1.3實驗原理通過 CC2530 的 I/O 引腳,輸出高低電平來控制 LED 的亮與滅。 本實驗選擇 P2_0 I/O 引腳,將P2_0 置成高電平即點亮 LED。 如圖 為 LED 小燈驅(qū) 動電路,DS1 為 LED 小燈,P2_0引腳使用 CC2430/1 的內(nèi)置電源驅(qū)動LED 小燈。 CC2530的 I/O 控制口一共有21個,分成3組,分別是P0、P1和P2;由上面的對照表可以看出 LED1所對應(yīng)的I/O 口為P1_0,LED2所對應(yīng)的I/O口為P1_2。 下面我們來看一下本次實驗所用到的控制寄存器中每一位的取值所對應(yīng)的意義: P1DIR(P1 方向寄存器,P0DIR 同理) :P1SEL(P1 功能選擇寄存器,P0SEL 同理) :寄存器的設(shè)置: 將控制寄存器的某一位置 1: 例:P1DIR |= 0X02; 解釋:”|=“表示按位或運(yùn)算,0X02 為十六進(jìn)制數(shù),轉(zhuǎn)換成二進(jìn)制數(shù)為 0000 0010,若 P1DIR 原來的值為 0011 0000,或運(yùn)算后 P1DIR的值為 0011 0010。根據(jù)上面給出的取值表可知,按位與運(yùn)算后 P1_1 的方向改為輸出,其他 I/O 口方向保持不變。 將控制寄存器某一位清 0:例:P1DIR &= 0X02; 解釋:”&=“表示按位與運(yùn)算,”“運(yùn)算符表示取反, 0X02為0000 0010, 即0X02 為1111 1101。若 P1DIR 原來的值為 0011 0010,與運(yùn)算后 P1DIR 的值為0011 0000。程序源碼 /引入頭文件 #include /引入 CC2530所對應(yīng)的頭文件(包含各 SFR 的定義) /定義LED引腳 #define led1 P1_0 /定義 LED1 為P1_0 口控制 #define led2 P1_2 /定義 LED2 為P1_1 口控制 void Delay(unsigned char n) unsigned char i; unsigned int j; for(i = 0; i n; i+) for(j = 1; j8), (byte) 0, /addr 0x00, 0x01, / cmd 0x00,0x01, 0x00,0x02, 0x00,0x05, 0x00,0x14, 0x00,0x15 ); 當(dāng) syncRequestSYS_APP_MSG 返回后,如果 ninfo!=null,則 ninfo 中保存獲取到的協(xié)調(diào)器信息,否則獲取協(xié)調(diào)器信息失敗,zigbee 網(wǎng)絡(luò)搜索結(jié)束。獲取到協(xié)調(diào)器信息后通過以下代碼 Top.DrawTop(mTree); Message msg = Message.obtain(); msg.what = MSG_NEW_NETWORK; msg.arg1 = 1; mMainHandler.sendMessage(msg); 生成協(xié)調(diào)器節(jié)點并通知主線程在屏幕上顯示出來。 當(dāng)找到協(xié)調(diào)器后,程序通過查找與協(xié)調(diào)器直接連接的相關(guān)節(jié)點,然后遞歸搜索,最終搜索完整個網(wǎng)絡(luò)并繪制出 Zigbee 網(wǎng)絡(luò)的 TOP結(jié)構(gòu)。 具體實現(xiàn)代碼如下private void buildNetWork(Node pa, int cli) for (int i=0; i8), (byte) clii, /addr 0x00, 0x01, / cmd 0x00,0x01, 0x00,0x02, 0x00,0x05, 0x00,0x14, 0x00,0x15 ); if (ninfo=null | ninfo.length29) Log.d(TAG, * get node +clii+ info fail.); continue; int tmp, off=0; tmp = Tool.builduInt(ninfooff, ninfooff+1); / addr if (tmp != clii) Log.d(TAG, net add is not equl.); continue; off += 2; tmp = Tool.builduInt(ninfooff, ninfooff+1); /cmd if (tmp != 0x8001) Log.d(TAG, response cmd not euql.); continue; off += 2; if (ninfooff != 0) /read status Log.d(TAG, read status is not 0); continue; off += 1; Node nd = new Node(clii, Node.ZB_NODE_TYPE_ENDDEVICE); int childs = ; while (off ninfo.length) tmp = Tool.builduInt(ninfooff, ninfooff+1); off += 2; switch (tmp) case 0x0001: / hard vernd.mHardVer = Tool.builduInt(ninfooff, ninfooff+1); off += 2; break; case 0x0002: nd.mSoftVer = Tool.builduInt(ninfooff, ninfooff+1); off += 2; break; case 0x0005: nd.mDevType = ninfooff; off += 1; break; case 0x0014: for (int j=0; j8; j+) nd.mIEEEAddrj = ninfooff+j; off += 8; break; case 0x0015: int assocCnt = ninfooff;off += 1; break; case 0x0014: for (int j=0; j8; j+) nd.mIEEEAddrj = ninfooff+j; off += 8; break; case 0x0015: int assocCnt = ninfooff; off += 1; if (assocCnt != 0) nd.mNodeType = Node.ZB_NODE_TYPE_ROUTER; int nli = new intassocCnt; for (int j=0; j New - Android Project”出現(xiàn)如下對話框其中紅線標(biāo)示出來是要填充的:Location:指定 Android 用戶控制程序源代碼的存放位置。填寫好后點擊“Finish”按鈕。建立工程后工程結(jié)構(gòu)如下圖:3) 選擇菜單“Project”確保Build Automaticall 被選中,如下圖:4) 選擇菜單“Project - Clean”出現(xiàn)如下對話框點擊“Ok”按鈕5) 點擊 eclipse 上的運(yùn)行按鈕就可以在模擬器上運(yùn)行程序了,第一次運(yùn)行程序會出現(xiàn)如下對話框,請選擇 Android Application。然后點擊“OK”按鈕。6)如果在執(zhí)行第 5 步時,將物聯(lián)網(wǎng)網(wǎng)關(guān)實驗箱與 pc 用 usb 連接起來了,那么程序?qū)詣酉螺d到實驗箱上。就可以在實驗箱上運(yùn)行程序了4.3 Zigbee 節(jié)點控制程序設(shè)計Zigbee 節(jié)點控制程序運(yùn)行在每個傳感器節(jié)點上,根據(jù)不同的傳感器類型,設(shè)計不同的傳感器控制程序。所有節(jié)點控制程序都是基于 Zstack 協(xié)議棧的,并且都是在 SampleApp 的基礎(chǔ)上修改而來。 下面對各個傳感器工程進(jìn)行介紹:先將“物聯(lián)網(wǎng)光盤綜合實驗Zigbee 節(jié)點控制程序”復(fù)制到本地磁盤。 打開工程文件“ProjectszstackSamplesSimpleAppCC2530DB SimpleApp.eww”1) 協(xié)調(diào)器節(jié)點工程 SimpleCoordinator即協(xié)調(diào)器工程,如下圖協(xié)調(diào)器的應(yīng)用功能代碼實現(xiàn)文件是 SimpleCoordinator.c 在工程文件夾 App 目錄下具體實現(xiàn)可參考源碼。按下鍵盤上的 F7 即個編譯協(xié)調(diào)器工程,編譯好之后可將代碼下載到協(xié)調(diào)器節(jié)點板。 2) 繼電器節(jié)點工程 SimpleLight即繼電器節(jié)點工程,如下圖 程序中實現(xiàn)了一個繼電器的控制, 具體實現(xiàn)代碼可參考源文件工程目錄 App 下 SimpleLight.C 3) 氣體傳感器工程 SimpleCo2Sensor即氣體傳感器節(jié)點工程,如下圖氣體傳感器的控制代碼請參考工程 App 目錄下 SimpleCo2Sensor.c4)溫度傳感器工程 SimpleTempSensor即溫度傳感器工程如下圖 溫度傳感器節(jié)點用用控制代碼可參考工程目錄 App 下 SimpleTempSensor.c 文件 5)人體紅外傳感器節(jié)點工程 SimpleInfrared 即人體紅外傳感器工程,如下圖 人體紅外傳感器節(jié)點應(yīng)用控制代碼可參考工程目錄 App 下SimpleInfrared.c 6)超聲波距離傳感器節(jié)點工程 SimpleDistanceSensor 即超聲波距離傳感器工程,如下圖超聲波距離傳感器節(jié)點實現(xiàn)代碼可參考工程目錄 App 下 SimpleDistanceSensor.c。超聲波測距驅(qū)動代碼請參考 ys-srf05.c 文件。7)濕度傳感器節(jié)點工程 SimpleHumiditySensor 即濕度傳感器節(jié)點工程,如下圖 濕度傳感器應(yīng)用控制代碼可參考工程目錄 App 下 SimpleHumiditySensor.c 文件,其濕度的測量驅(qū)動可參考溫濕度傳感器驅(qū)動 dht11.c 文件 8)開關(guān)傳感器節(jié)點工程 SimpleSwitch 即開關(guān)傳感器工程,如下圖開關(guān)傳感器應(yīng)用控制實現(xiàn)代碼可參考工程目錄 App 下 SimpleSwitch.c 文件。4.4 平臺控制操作4.4.1 啟動程序 1)安裝好程序后,打開 android 應(yīng)用程序面板,找到圖標(biāo),點擊進(jìn)入程序。 2)直接點擊登錄按鈕,進(jìn)入到系統(tǒng)主界面。第一次進(jìn)入是系統(tǒng)會自動連接到 zigbee 網(wǎng)關(guān)然后去搜索 zigbee 網(wǎng)絡(luò),默認(rèn)的 zigbee網(wǎng)關(guān)地址為本機(jī) IP 地址,即 127.0.0.1。 3)如果你的zigbee 網(wǎng)關(guān)地址不是本機(jī),則需要修改默認(rèn)網(wǎng)關(guān)地址。通過按下系統(tǒng)菜單按鍵,會出現(xiàn)如下菜單選擇設(shè)置菜單,可以設(shè)置默認(rèn)的 zigbee 網(wǎng)關(guān)。如下圖:4)設(shè)置好網(wǎng)關(guān)后,下次啟動程序就不用再次設(shè)置了。4.4.2 搜索網(wǎng)絡(luò)如果 zigbee網(wǎng)關(guān)設(shè)置好,通過菜單選擇搜索網(wǎng)絡(luò)就可以搜索 zigbee 網(wǎng)絡(luò)了,正常情況下至少會有一個協(xié)調(diào)器節(jié)點,如果程序提示搜索不到網(wǎng)絡(luò),請檢查你的網(wǎng)絡(luò)連接和協(xié)調(diào)器是否正確
溫馨提示
- 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)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年團(tuán)隊管理機(jī)考試題及答案
- 2025年冰雪運(yùn)動考試題庫及答案
- 公園出租桌椅合同范本
- 2025年特崗文化素養(yǎng)題庫及答案
- 拆遷門窗協(xié)議合同范本
- 帕金森病家庭護(hù)理者的支持與培訓(xùn)
- 疼痛管理護(hù)理視頻教程
- 車尿素采購合同范本
- 冬至課件開頭結(jié)尾摘抄
- 山東聯(lián)通機(jī)考試題及答案
- 2026年云南中煙工業(yè)有限責(zé)任公司畢業(yè)生招聘(502人)筆試考試參考試題及答案解析
- 2025江蘇蘇州大學(xué)勞務(wù)派遣制人員招聘3人(第五批)筆試考試參考試題及答案解析
- 海洋信息安全:大數(shù)據(jù)平臺建設(shè)保障
- 爐底和爐墻砌筑分項工程質(zhì)量檢查評估表
- 2026年沈陽職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性考試必刷測試卷帶答案
- 2025年鐵路專業(yè)基礎(chǔ)知識考試題庫(含答案)
- 2025年地面裝飾工(地磚鋪貼)考試試卷及答案
- 全媒體運(yùn)營師培訓(xùn)
- 小學(xué)語文教師專業(yè)技術(shù)工作總結(jié)范文
- 外貿(mào)綜合服務(wù)協(xié)議書
- 天橋養(yǎng)護(hù)施工方案
評論
0/150
提交評論