物聯(lián)網(wǎng)設(shè)計實例與設(shè)計過程_第1頁
物聯(lián)網(wǎng)設(shè)計實例與設(shè)計過程_第2頁
物聯(lián)網(wǎng)設(shè)計實例與設(shè)計過程_第3頁
物聯(lián)網(wǎng)設(shè)計實例與設(shè)計過程_第4頁
物聯(lián)網(wǎng)設(shè)計實例與設(shè)計過程_第5頁
已閱讀5頁,還剩2頁未讀, 繼續(xù)免費閱讀

下載本文檔

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

文檔簡介

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

2、采集發(fā)送終端、移動GPRS網(wǎng)絡(luò)、公網(wǎng)固定IP(服務(wù)器)、客戶端4部分組成。系統(tǒng)的總體結(jié)構(gòu)如圖1所示。圖1、系統(tǒng)總體結(jié)構(gòu)二、基于嵌入式為主機的數(shù)據(jù)采集發(fā)送終端1、數(shù)據(jù)采集發(fā)送終端的硬件設(shè)計系統(tǒng)硬件結(jié)構(gòu)框圖如圖2所示。數(shù)據(jù)采集發(fā)送終端的控制器采用LPC2138,該芯片是一個支持實仿真和嵌入式跟蹤的32/16位ARM7TD-MI-STM CPU的微控制器,并帶有512KB高速Flash存儲器和具有獨立的電源和時鐘源的實時時鐘,片上集成了豐富的功能部件,如SPI (Serial Peripheral Interface)串口,UART0、UART1全串口,A/D轉(zhuǎn)換等。很好的滿足了硬件系統(tǒng)的要求。圖2

3、、硬件結(jié)構(gòu)框圖傳感器部分使用DHT90溫濕度數(shù)字傳感器采集溫濕度數(shù)據(jù),使用RS485總線連接異步串行通信UART0端口,并將控制器配置成RS485主機。通過RS485總線與LPC2138進行通信,因為使用RS485總線,可以同時接受多路溫濕度傳感器的數(shù)據(jù)信息。GPRS無線模塊采用BenQ公司的M23G,M23G支持GPRS功能,并且內(nèi)嵌TC/IP,可用于實時性較高的、數(shù)據(jù)傳輸量相對較大、傳輸速率相對較快的數(shù)據(jù)通信領(lǐng)域。通過軟件控制,可實現(xiàn)與Internet固定IP地址雙向數(shù)據(jù)傳輸。2、數(shù)據(jù)采集發(fā)送終端的軟件設(shè)計數(shù)據(jù)采集發(fā)送終端的應(yīng)用軟件程序設(shè)計主要包括以下兩個部分:GPRS接受命令和數(shù)據(jù)采集與

4、發(fā)送兩個部分。應(yīng)用程序軟件是基于嵌入式實時操作系統(tǒng)C/OS-。軟件流程圖如圖3所示。應(yīng)用程序定義了四個主要的時間標(biāo)志位:GPRS在線標(biāo)志位、數(shù)據(jù)采集標(biāo)志位、采集完畢標(biāo)志位和接受命令標(biāo)志位。這四個標(biāo)志位協(xié)調(diào)系統(tǒng)的數(shù)據(jù)采集、數(shù)據(jù)發(fā)送、接收命令等任務(wù)。當(dāng)初始化完成后,獲得GPRS在線標(biāo)志位,連接服務(wù)器成功后即可進行命令接受以及命令解析。系統(tǒng)主要設(shè)置了三條命令,分別是采集發(fā)送數(shù)據(jù)命令,設(shè)置采樣頻率命令和采集數(shù)據(jù)量大小命令。每個命令的獲得都會置位相應(yīng)的標(biāo)志位,通過對標(biāo)志位是否置位的判斷來決定程序下一步的執(zhí)行。在系統(tǒng)軟件中可以設(shè)置采集發(fā)送的時間間隔(默認(rèn)為15分鐘),即每隔15分鐘,采集發(fā)送終端通過通用T

5、CP服務(wù)器軟件將采集的數(shù)據(jù)包發(fā)送給客戶端。同時可以改變采集數(shù)據(jù)包的大小(默認(rèn)為1024字節(jié)),即改變數(shù)據(jù)采集動態(tài)緩沖區(qū)的大小,數(shù)據(jù)緩沖區(qū)滿即可發(fā)送數(shù)據(jù)。圖3、系統(tǒng)軟件流程數(shù)據(jù)采集完畢后置位采集完畢標(biāo)志位,可進行數(shù)據(jù)發(fā)送。每次寫入GPRS的最大的數(shù)據(jù)包為1024字節(jié),超過1024字節(jié)數(shù)據(jù)做下一包發(fā)送,最后發(fā)送小于1024字節(jié)的數(shù)據(jù)包。三、移動GPRS網(wǎng)絡(luò)GPRS組網(wǎng)方式采用的是企業(yè)公網(wǎng)組網(wǎng)方式。中心站配置固定的IP地址,而遠程終端實行動態(tài)的IP地址分配。遠程終端開機后,主動連接服務(wù)器,進行數(shù)據(jù)采集,終端模塊自動獲得IP地址,主動上報到服務(wù)器,并以xml的格式將采集到的數(shù)據(jù)進行保存,客戶端通過訪問

6、WebLogic服務(wù)器,查看接受到的數(shù)據(jù)。四、公網(wǎng)服務(wù)軟件的設(shè)計服務(wù)器軟件的實現(xiàn)是采用Socket(套接口)編程技術(shù),考慮到本系統(tǒng)服務(wù)器程序必須能在任何時間處理多個客戶連接,因此該程序是一個多線程TCP服務(wù)器。一個TCP連接的建立開始于TCP客戶機創(chuàng)建一個套接字,然后調(diào)用connect函數(shù)來啟動三次握手操作,與遠程服務(wù)器建立連接。在服務(wù)器方面,通用是首先創(chuàng)建一個套接字,然后調(diào)用bind函數(shù)綁定自己的公認(rèn)端口號,接著調(diào)用listen函數(shù)來準(zhǔn)備接受客戶端請求,最后調(diào)用accept函數(shù)來完成信息傳遞。圖4、 公共服務(wù)器設(shè)計流程在本系統(tǒng)的設(shè)計中,共建立了兩個任務(wù)。一個任務(wù)用于完成數(shù)據(jù)的監(jiān)聽接受并處理。

7、當(dāng)監(jiān)控服務(wù)器監(jiān)聽端口時,發(fā)現(xiàn)有采集終端對服務(wù)器發(fā)出的連接請求時,就接受遠程采集終端的連接請求,并以XML格式保存接收到的數(shù)據(jù)。由于每個GPRS模塊都有一個唯一的ID號,因此根據(jù)這個ID號來識別該系統(tǒng)檢測的具體位置,并在XML文件中以進行標(biāo)記,同時包含當(dāng)前時間、溫度、濕度三個屬性值,如果接收到一個新的GPRS的ID號,將啟用一個新的terminal標(biāo)記。另一個任務(wù)用于完成對鍵盤的監(jiān)控,并把用戶輸入的合法相關(guān)命令編輯成命令字符串發(fā)送數(shù)據(jù)采集終端。對于不合法的命令拋棄并輸出相關(guān)提示信息。結(jié)合Socket編程方法和具體的應(yīng)用,服務(wù)器軟件流程如圖4。五、富客戶端的實現(xiàn)客戶端方面采用基于RIA模型的FLE

8、X技術(shù)來開發(fā)Web頁面。客戶端通過Web瀏覽器以HTTP協(xié)議調(diào)用Web頁面。界面能夠顯示系統(tǒng)狀態(tài)、下達配置參數(shù)、顯示現(xiàn)場采集的數(shù)據(jù)。WEB頁面與Web Service組件通信,把用戶的參數(shù)傳遞給Web Service。使用Flex技術(shù)可以構(gòu)建體驗豐富的客戶端程序,同時Flex還具有Push技術(shù),可以把服務(wù)端的信息適時的顯示到客戶端上 ,這也是把Flex技術(shù)使用到數(shù)據(jù)采集領(lǐng)域的重要原因,也是本系統(tǒng)選擇使用Flex技術(shù)的主要原因。系統(tǒng)的Web Service設(shè)計采用面向服務(wù)的SOA設(shè)計,這樣可以提高系統(tǒng)的反應(yīng)速度,便于以后對系統(tǒng)的維護。對于軟件設(shè)計的總體符合門面模式的軟件架構(gòu),上層直接調(diào)用下層的接

9、口,而不是具體的實現(xiàn),這樣有利于軟件的擴展和維護。上述調(diào)用過程的核心代碼如下:/使用Flex的定時器,實現(xiàn)對數(shù)據(jù)的刷新import flash.utils.Timerprivate function time():voidvar timer:Timer = new Timer(1000); timer.start();timer.addEventListener(TimerEvent.TIMER, onTimer); /設(shè)置時間監(jiān)視器來監(jiān)聽事件 Bindable public var i:int=new int(0); private function onTimer (event:Timer

10、Event) :void DeviceService.GetVersion.send(); /使用Flex調(diào)用服務(wù) size /服務(wù)器端C#平臺調(diào)用聲明public static System.Char Buffer;public static System.UInt16 Version;DllImport(zlg_dnscan32.dllPublic static extern bool DNS_Version (ref System.Char Buffer,ref System.UInt16 Version, System.UInt32 Size);/DLL方法的調(diào)用Bool st=DNS_Version(ref Buffer,ref

溫馨提示

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

評論

0/150

提交評論