




已閱讀5頁,還剩33頁未讀, 繼續免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
中南大學信息科學與工程學院物聯網無線傳感器網絡 實驗報告 班 級: 物聯網 學 號: 姓 名: 指導老師: 劉偉榮 實驗時間: 2014年4月11日 目錄實驗一 基礎實驗(LED實驗)- 2 -1.1實驗目的- 2 -1.2實驗設備及工具- 2 -1.3實驗原理- 2 -1.4 實驗步驟及結果- 5 -實驗二 射頻實驗- 6 -2.1 實驗目的- 6 -2.2 實驗內容- 6 -2.3 實驗設備及工具- 7 -2.4 實驗原理- 7 -2.5 實驗步驟- 8 -2.6 實驗數據分析及結論- 9 -實驗三 Zstack組網實驗- 10 -3.1 實驗目的- 10 -3.2 實驗內容- 10 -3.3 預備知識- 11 -3.4 實驗設備及工具- 11 -3.5 實驗原理- 11 -3.6 實驗步驟- 16 -3.7 實驗數據分析及結論- 17 -實驗四 綜合實驗(傳感器網絡)- 17 -4.1 智能網關程序設計- 18 -4.2 Android 用戶控制程序設計- 19 -4.3 Zigbee 節點控制程序設計- 30 -4.4 平臺控制操作- 34 -實驗一 基礎實驗(LED實驗)1.1實驗目的u 通過 I/O控制小燈閃爍的過程。 u 在 ZX2530A 型 CC2530 節點板上運行自己的程序。1.2實驗設備及工具u 硬件:ZX2530A 型底板及CC2530 節點板一塊,USB 接口仿真器,PC 機 u 軟件:PC 機操作系統 WinXP,IAR 集成開發環境。 1.3實驗原理通過 CC2530 的 I/O 引腳,輸出高低電平來控制 LED 的亮與滅。 本實驗選擇 P2_0 I/O 引腳,將P2_0 置成高電平即點亮 LED。 如圖 為 LED 小燈驅 動電路,DS1 為 LED 小燈,P2_0引腳使用 CC2430/1 的內置電源驅動LED 小燈。 CC2530的 I/O 控制口一共有21個,分成3組,分別是P0、P1和P2;由上面的對照表可以看出 LED1所對應的I/O 口為P1_0,LED2所對應的I/O口為P1_2。 下面我們來看一下本次實驗所用到的控制寄存器中每一位的取值所對應的意義: P1DIR(P1 方向寄存器,P0DIR 同理) :P1SEL(P1 功能選擇寄存器,P0SEL 同理) :寄存器的設置: 將控制寄存器的某一位置 1: 例:P1DIR |= 0X02; 解釋:”|=“表示按位或運算,0X02 為十六進制數,轉換成二進制數為 0000 0010,若 P1DIR 原來的值為 0011 0000,或運算后 P1DIR的值為 0011 0010。根據上面給出的取值表可知,按位與運算后 P1_1 的方向改為輸出,其他 I/O 口方向保持不變。 將控制寄存器某一位清 0:例:P1DIR &= 0X02; 解釋:”&=“表示按位與運算,”“運算符表示取反, 0X02為0000 0010, 即0X02 為1111 1101。若 P1DIR 原來的值為 0011 0010,與運算后 P1DIR 的值為0011 0000。程序源碼 /引入頭文件 #include /引入 CC2530所對應的頭文件(包含各 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 ); 當 syncRequestSYS_APP_MSG 返回后,如果 ninfo!=null,則 ninfo 中保存獲取到的協調器信息,否則獲取協調器信息失敗,zigbee 網絡搜索結束。獲取到協調器信息后通過以下代碼 Top.DrawTop(mTree); Message msg = Message.obtain(); msg.what = MSG_NEW_NETWORK; msg.arg1 = 1; mMainHandler.sendMessage(msg); 生成協調器節點并通知主線程在屏幕上顯示出來。 當找到協調器后,程序通過查找與協調器直接連接的相關節點,然后遞歸搜索,最終搜索完整個網絡并繪制出 Zigbee 網絡的 TOP結構。 具體實現代碼如下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”出現如下對話框其中紅線標示出來是要填充的:Location:指定 Android 用戶控制程序源代碼的存放位置。填寫好后點擊“Finish”按鈕。建立工程后工程結構如下圖:3) 選擇菜單“Project”確保Build Automaticall 被選中,如下圖:4) 選擇菜單“Project - Clean”出現如下對話框點擊“Ok”按鈕5) 點擊 eclipse 上的運行按鈕就可以在模擬器上運行程序了,第一次運行程序會出現如下對話框,請選擇 Android Application。然后點擊“OK”按鈕。6)如果在執行第 5 步時,將物聯網網關實驗箱與 pc 用 usb 連接起來了,那么程序將會自動下載到實驗箱上。就可以在實驗箱上運行程序了4.3 Zigbee 節點控制程序設計Zigbee 節點控制程序運行在每個傳感器節點上,根據不同的傳感器類型,設計不同的傳感器控制程序。所有節點控制程序都是基于 Zstack 協議棧的,并且都是在 SampleApp 的基礎上修改而來。 下面對各個傳感器工程進行介紹:先將“物聯網光盤綜合實驗Zigbee 節點控制程序”復制到本地磁盤。 打開工程文件“ProjectszstackSamplesSimpleAppCC2530DB SimpleApp.eww”1) 協調器節點工程 SimpleCoordinator即協調器工程,如下圖協調器的應用功能代碼實現文件是 SimpleCoordinator.c 在工程文件夾 App 目錄下具體實現可參考源碼。按下鍵盤上的 F7 即個編譯協調器工程,編譯好之后可將代碼下載到協調器節點板。 2) 繼電器節點工程 SimpleLight即繼電器節點工程,如下圖 程序中實現了一個繼電器的控制, 具體實現代碼可參考源文件工程目錄 App 下 SimpleLight.C 3) 氣體傳感器工程 SimpleCo2Sensor即氣體傳感器節點工程,如下圖氣體傳感器的控制代碼請參考工程 App 目錄下 SimpleCo2Sensor.c4)溫度傳感器工程 SimpleTempSensor即溫度傳感器工程如下圖 溫度傳感器節點用用控制代碼可參考工程目錄 App 下 SimpleTempSensor.c 文件 5)人體紅外傳感器節點工程 SimpleInfrared 即人體紅外傳感器工程,如下圖 人體紅外傳感器節點應用控制代碼可參考工程目錄 App 下SimpleInfrared.c 6)超聲波距離傳感器節點工程 SimpleDistanceSensor 即超聲波距離傳感器工程,如下圖超聲波距離傳感器節點實現代碼可參考工程目錄 App 下 SimpleDistanceSensor.c。超聲波測距驅動代碼請參考 ys-srf05.c 文件。7)濕度傳感器節點工程 SimpleHumiditySensor 即濕度傳感器節點工程,如下圖 濕度傳感器應用控制代碼可參考工程目錄 App 下 SimpleHumiditySensor.c 文件,其濕度的測量驅動可參考溫濕度傳感器驅動 dht11.c 文件 8)開關傳感器節點工程 SimpleSwitch 即開關傳感器工程,如下圖開關傳感器應用控制實現代碼可參考工程目錄 App 下 SimpleSwitch.c 文件。4.4 平臺控制操作4.4.1 啟動程序 1)安裝好程序后,打開 android 應用程序面板,找到圖標,點擊進入程序。 2)直接點擊登錄按鈕,進入到系統主界面。第一次進入是系統會自動連接到 zigbee 網關然后去搜索 zigbee 網絡,默認的 zigbee網關地址為本機 IP 地址,即 127.0.0.1。 3)如果你的zigbee 網關地址不是本機,則需要修改默認網關地址。通過按下系統菜單按鍵,會出現如下菜單選擇設置菜單,可以設置默認的 zigbee 網關。如下圖:4)設置好網關后,下次啟動程序就不用再次設置了。4.4.2 搜索網絡如果 zigbee網關設置好,通過菜單選擇搜索網絡就可以搜索 zigbee 網絡了,正常情況下至少會有一個協調器節點,如果程序提示搜索不到網絡,請檢查你的網絡連接和協調器是否正確
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025-2030中國商業燉鍋行業市場發展趨勢與前景展望戰略研究報告
- 海外采購材料合同
- 二手手表買賣合同
- 虛擬現實旅游體驗合同
- 新一代智能傳感器研發及生產合同
- 2025年活動贊助合同范本6篇
- 機動車維修租賃合同
- 科技機關教程課件
- 貴港鋼結構泳池施工方案
- 關于移井的施工方案
- 公司法司法解釋三(全文)
- 英語國家概況-Chapter10-government解析
- 【53天天天練】小學數學二年級下冊有余數的除法第四課時同步練習(含答案)
- (畢業設計方案)福田輕型貨車制動系統設計方案
- 砂石路維修工程施工方案
- 2023年電氣中級工程師考試題庫
- 健康教育心肺復蘇知識講座(3篇模板)
- 站臺保潔服務方案
- 2024-2030年中國高端半導體激光芯片行業市場全景調研及發展前景研判報告
- TD/T 1044-2014 生產項目土地復墾驗收規程(正式版)
- 裝修合同增項補充協議工程
評論
0/150
提交評論