物聯網設計實例_第1頁
物聯網設計實例_第2頁
物聯網設計實例_第3頁
物聯網設計實例_第4頁
物聯網設計實例_第5頁
已閱讀5頁,還剩1頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、物聯網設計實例與設計過程作者:劉坤本文以項目實例為主導,來闡述物聯網的設計過程。此工程實例詳細說明如下:城市需要對 多個端點(里面加熱,溫濕度數據)實例證明,所有信息需傳送到一個Web Service 上顯 示,而這就是一個物聯網的設計過程。為了實現這個Project 本系統設計意志就是采用傳感 器和嵌入式系統組成主機,將采集到的數據信息通過TCP/IP 協議由GPRS模塊發送到 GPRS公共網絡。采用socket編程技術建立TCP/IP 服務器,接收嵌入式主機發送的數據 信息,將數據上傳到In ternet。很好地實現了在互聯網基礎上通過無線網的聯立,構建新型物聯網。一、系統概述系統由以基于

2、嵌入式為主機的數據采集發送終端、移動GPRS網絡、公網固定IP (服務 器)、客戶端4部分組成。系統的總體結構如圖1所示。圖1、系統總體結構二、基于嵌入式 為主機的數據采集 發送終端1、數據采集發送終端的硬件設計系統硬件結構框圖如圖2所示。數據采集發送終端的控制器采用LPC2138,該芯片是一個支持實仿真和嵌入式跟蹤的32/16 位ARM7TD-MI-STM CPU的微控制器,并帶有512KB 高速Flash存儲器和具有獨立的電源和時鐘源的實時時鐘,片上集成了豐富的功能部件,如SPI ( Serial Peripheral In terface)串口,UARTO、UART1 全串口,A/D轉換

3、等。很好的滿足了硬件系統的要求。圖2、硬件結構框圖傳感器部分使用DHT90 溫濕度數字傳感器采集溫濕度數據,使用RS485總線連接異步串 行通信UART0 端口,并將控制器配置成RS485 主機。通過RS485 總線與LPC2138 進行 通信,因為使用RS485 總線,可以同時接受多路溫濕度傳感器的數據信息。GPRS無線模塊采用BenQ 公司的M23G,M23G 支持GPRS功能,并且內嵌TC/IP,可用于 實時性較高的、數據傳輸量相對較大、傳輸速率相對較快的數據通信領域。通過軟件控制, 可實現與In ternet固定IP地址雙向數據傳輸。2、數據采集發送終端的軟件設計數據采集發送終端的應用

4、軟件程序設計主要包括以下兩個部分:GPRS接受命令和數據采集 與發送兩個部分。應用程序軟件是基于嵌入式實時操作系統卩c/os- n。軟件流程圖如圖3 所示。應用程序定義了四個主要的時間標志位:GPRS在線標志位、數據采集標志位、采集完畢標 志位和接受命令標志位。這四個標志位協調系統的數據采集、數據發送、接收命令等任務。 當初始化完成后,獲得GPRS在線標志位,連接服務器成功后即可進行命令接受以及命令解 析。系統主要設置了三條命令,分別是采集發送數據命令,設置采樣頻率命令和采集數據量 大小命令。每個命令的獲得都會置位相應的標志位,通過對標志位是否置位的判斷來決定程 序下一步的執行。在系統軟件中可

5、以設置采集發送的時間間隔(默認為15分鐘),即每隔 15分鐘,采集發送終端通過通用TCP服務器軟件將采集的數據包發送給客戶端。同時可以 改變采集數據包的大小(默認為1024字節),即改變數據采集動態緩沖區的大小,數據緩 沖區滿即可發送數據。圖3、系統軟件流程數據采集完畢后置位采集完畢標志位,可進行數據發送。每次寫入GPRS的最大的數據包為1024 字節,超過1024 字節數據做下一包發送,最后發送小于1024 字節的數據包。三、移動GPRS網絡GPRS組網方式采用的是企業公網組網方式。中心站配置固定的IP地址,而遠程終端實行動態的IP地址分配。遠程終端開機后,主動連接服務器,進行數據采集,終端

6、模塊自動獲 得IP地址,主動上報到服務器,并以xml的格式將采集到的數據進行保存,客戶端通過訪 問WebLogic 服務器,查看接受到的數據。四、公網服務軟件的設計服務器軟件的實現是采用Socket (套接口)編程技術,考慮到本系統服務器程序必須能在 任何時間處理多個客戶連接,因此該程序是一個多線程TCP服務器。一個TCP連接的建立 開始于TCP客戶機創建一個套接字,然后調用connect 函數來啟動三次握手操作,與遠程 服務器建立連接。在服務器方面,通用是首先創建一個套接字,然后調用bind函數綁定自 己的公認端口號,接著調用liste n 函數來準備接受客戶端請求,最后調用accept函數

7、來完 成信息傳遞。圖4、 公共服務器設計流程在本系統的設計中,共建立了兩個任務。一個任務用于完成數據的監聽接受并處理。當監控 服務器監聽端口時,發現有采集終端對服務器發出的連接請求時,就接受遠程采集終端的連 接請求,并以XML格式保存接收到的數據。由于每個GPRS模塊都有一個唯一的ID號, 因此根據這個ID號來識別該系統檢測的具體位置,并在XML文件中以進行標記,同時包含 當前時間、溫度、濕度三個屬性值,如果接收到一個新的GPRS的ID號,將啟用一個新的 termi nal標記。另一個任務用于完成對鍵盤的監控,并把用戶輸入的合法相關命令編輯成命令字符串發送數據采集終端。對于不合法的命令拋棄并輸

8、出相關提示信息。結合Socket 編程方法和具體的應用,服務器軟件流程如圖4。五、富客戶端的實現客戶端方面采用基于RIA模型的FLEX技術來開發 Web頁面。客戶端通過 Web瀏覽器以 HTTP協議調用Web頁面。界面能夠顯示系統狀態、下達配置參數、顯示現場采集的數 據。WEB頁面與 Web Service 組件 通信,把用戶的參數傳遞給 Web Service 。使用Flex技術可以構建體驗豐富的客戶端程序,同時Flex還具有Push技術,可以把服務 端的信息適時的顯示到客戶端上,這也是把Flex技術使用到數據采集領域的重要原因,也 是本系統選擇使用Flex技術的主要原因。系統的Web Se

9、rvice 設計采用面向服務的SOA設計,這樣可以提高系統的反應速度,便于 以后對系統的維護。對于軟件設計的總體符合門面模式的軟件架構,上層直接調用下層的接 口,而不是具體的實現,這樣有利于軟件的擴展和維護。上述調用過程的核心代碼如下:/使用Flex的定時器,實現對數據的刷新 import flash.utils.Timer private function time():voidvar timer:Timer = new Timer(IOOO);timer .start();timer .addEventListener(TimerEvent.TIMER, onTimer);/設置時間監視

10、器來監聽事件Bindablepublic var i:int=new int(0);private function onTimer (event:TimerEvent) :voidDeviceService.GetVersion.send(); /使用Flex調用服務<mx:WebService id="DeviceService"wsdl="http:/localhost:1595/DNWeb/DeviceService.asmx?wsdl" service="Service"useProxy="false&quo

11、t;><mx:operation name="GetVersion"><mx:request>< Size >size</ Size ></mx:request></mx:operation></mx:WebService>/服務器端C#平臺調用聲明public static System.Char Buffer;public static System.Ulnt16 Version;Dlllmport("zlg_dnscan32.dll"Public static extern bool DNS_Version (ref System.Char Buffer,ref System.UInt16Version, System.UInt32 Size);/DLL方法的調用Bool st=DNS_Vers

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論