版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
基于ARM-LINUX平臺(tái)的物聯(lián)網(wǎng)服務(wù)器設(shè)計(jì)基于XSCALEPXA270處理器平臺(tái)和開源Linux系統(tǒng)搭建ARM-Linux物聯(lián)網(wǎng)服務(wù)器。使用51單片機(jī)連接溫濕度傳感模塊、LED燈等外圍設(shè)備,使用基于XSCALEPXA270處理器的Up-Tech嵌入式實(shí)驗(yàn)箱為核心服務(wù)器運(yùn)行平臺(tái)。首先介紹了嵌入式設(shè)備的ARM-Linux系統(tǒng)搭建、守護(hù)程序和CGI程序之間的通信設(shè)計(jì),然后詳細(xì)介紹了Web服務(wù)器的搭建和網(wǎng)絡(luò)程序設(shè)計(jì)所使用的iQuery類庫(kù)和AJAX技術(shù)的設(shè)計(jì)實(shí)現(xiàn)。物聯(lián)網(wǎng)是互聯(lián)網(wǎng)應(yīng)用的擴(kuò)展,是一種新興的聯(lián)網(wǎng)技術(shù),其核心是物與物之間的信息通信交流,也是物與人之間的交互控制。物聯(lián)網(wǎng)技術(shù),主要是利用各種傳感器設(shè)備,例如:無(wú)線技術(shù)、射頻識(shí)別(RFID)技術(shù),各類傳感器等技術(shù)設(shè)備將物理世界中的各種信息,如溫度、光強(qiáng)、位置等信息通過網(wǎng)絡(luò)傳輸,達(dá)到物與物之間、物與人之間的信息交互目的。要使人們能方便地訪問物聯(lián)網(wǎng)信息,監(jiān)測(cè)和控制各類傳感節(jié)點(diǎn)和電氣設(shè)備,一個(gè)友好的用戶界面是前提?;贐/S架構(gòu)的解決方案以其客戶端通用性成為構(gòu)建系統(tǒng)的首選。本文將設(shè)計(jì)開發(fā)一個(gè)通用的基于ARM處理器平臺(tái)和Linux嵌入式操作系統(tǒng)的物聯(lián)網(wǎng)服務(wù)器,在硬件平臺(tái)上,將使用基于XSCALEPXA270處理器的UPTECH嵌入式開發(fā)實(shí)驗(yàn)箱、51單片機(jī)及各種傳感控制設(shè)備。在此嵌入式設(shè)備上使用ARMLinuX系統(tǒng),在嵌入式Linux系統(tǒng)下搭建服務(wù)器,采用B/S架構(gòu),以BOA為WEB服務(wù)器,通過CGI通信方式實(shí)現(xiàn)遠(yuǎn)程的信息傳遞和智能交互。1、系統(tǒng)體系結(jié)構(gòu)為了突出現(xiàn)代物聯(lián)網(wǎng)服務(wù)器系統(tǒng)的低功耗、低成本、服務(wù)水平高、處理效率高的特點(diǎn),服務(wù)器將運(yùn)行在基于XSCALEPXA270處理器的UP—Tech嵌入式設(shè)備上,利用51單片機(jī)連接各種傳感控制設(shè)備。在UP-Tech嵌入式設(shè)備上移植了2.6.28內(nèi)核的ARMLinux操作系統(tǒng)。在Linux系統(tǒng)上面,編寫一個(gè)守護(hù)程序來(lái)與51單片機(jī)通信,從而在Linux系統(tǒng)上與各種傳感控制設(shè)備進(jìn)行通信控制。在Linux上面移植BoaWEB服務(wù)器,用來(lái)搭建用戶可交互式的訪問界面。使用戶通過瀏覽器訪問頁(yè)面就可以實(shí)時(shí)進(jìn)行查看或控制各種傳感控制設(shè)備。系統(tǒng)架構(gòu)如圖1所示。圖1系統(tǒng)架構(gòu)2、物聯(lián)網(wǎng)數(shù)據(jù)采集與處理子系統(tǒng)設(shè)計(jì)2.1基于51單片機(jī)的數(shù)據(jù)采集系統(tǒng)在物聯(lián)網(wǎng)終端設(shè)備方面,采用51單片機(jī),通過其豐富的外擴(kuò)接口和溫度傳感器、濕度傳感器,以及LED燈等模塊進(jìn)行連接。在軟件上采用“C語(yǔ)言+驅(qū)動(dòng)庫(kù)”的開發(fā)模式,通過這樣的開發(fā)模式,不僅可以提高開發(fā)效率,還能很好地完成多個(gè)傳感器的信息收集和處理。在連接ARM-Linux嵌入式平臺(tái)方面,采用UART虛擬串口與嵌入式平臺(tái)進(jìn)行連接通信。本系統(tǒng)的基本實(shí)現(xiàn)功能如下:(1)連接各個(gè)傳感模塊,通過輸入輸出接口獲取傳感器傳遞過來(lái)的信息并且記錄;(2)設(shè)置定時(shí)器,在規(guī)定的單元時(shí)間內(nèi),采集各個(gè)傳感設(shè)備的信息和控制設(shè)備的狀態(tài)。將他們的信息、狀態(tài)合成數(shù)據(jù)包,通過虛擬串口發(fā)送;(3)利通虛擬串口通信,時(shí)刻檢測(cè)來(lái)自ARM-Linux平臺(tái)發(fā)送過來(lái)的控制信號(hào);(4)分析串口傳遞過來(lái)的數(shù)據(jù)包,檢測(cè)數(shù)據(jù)來(lái)源確定是否合法,然后根據(jù)特定的控制代碼對(duì)單片機(jī)和各個(gè)控制模塊進(jìn)行控制。2.2基于ARM—Linux平臺(tái)的數(shù)據(jù)處理系統(tǒng)ARM-Linux平臺(tái)是指利用開源的Linux內(nèi)核經(jīng)過特定需求的裁剪后,經(jīng)過交叉編譯后得到一個(gè)能夠運(yùn)行在ARM處理器的Linux內(nèi)核,同時(shí)還定制一個(gè)Linux根文件系統(tǒng),整個(gè)系統(tǒng)容量控制在幾百KB到幾十MB。系統(tǒng)主要由三部分組成:BootLoader、ARM-Linux內(nèi)核、Linux根文件系統(tǒng)。在嵌入式設(shè)備上,主要的數(shù)據(jù)處理系統(tǒng)由守護(hù)程序?qū)崿F(xiàn)。守護(hù)程序一方面負(fù)責(zé)接收處理單片機(jī)發(fā)送過來(lái)的信息;一方面接受WEB服務(wù)器傳來(lái)的查詢控制請(qǐng)求。在物聯(lián)網(wǎng)服務(wù)器端,來(lái)自客戶端訪問的請(qǐng)求,由服務(wù)器接收并檢驗(yàn)后,將請(qǐng)求查詢、控制指令傳遞給守護(hù)程序,守護(hù)程序接收到來(lái)自服務(wù)器的請(qǐng)求,通過驗(yàn)證后再向單片機(jī)發(fā)送請(qǐng)求查詢、控制指令。守護(hù)程序的通信過程分為兩部分,第一部分為守護(hù)程序向服務(wù)端的CGI程序告知更新數(shù)據(jù),第二部分為服務(wù)端CGI程序向守護(hù)程序發(fā)送指令控制,由守護(hù)程序監(jiān)聽到后執(zhí)行控制程序。3、人機(jī)交互子系統(tǒng)-WEB服務(wù)器設(shè)計(jì)由于嵌入式設(shè)備的硬件資源一般都比較有限,不能同時(shí)處理多個(gè)用戶的請(qǐng)求。因此,在WEB服務(wù)器的選取方面,選擇一些專為嵌入式設(shè)備而開發(fā)的WEB服務(wù)器。這些服務(wù)器具有占用內(nèi)存空間低、處理效率高、安全性高等優(yōu)點(diǎn),相當(dāng)適合嵌入式應(yīng)用領(lǐng)域。另一方面,在實(shí)際的應(yīng)用當(dāng)中,由于互聯(lián)網(wǎng)的高速發(fā)展,3G網(wǎng)絡(luò)的到來(lái),每個(gè)人都希望可以通過手上的手持式設(shè)備來(lái)訪問控制自己的物聯(lián)網(wǎng)設(shè)備,使用一個(gè)輕量級(jí)的WEB服務(wù)器當(dāng)作訪問控制服務(wù)器,可以相當(dāng)出色地完成任務(wù)。3.1服務(wù)器工作原理嵌入式WEB服務(wù)器的體系結(jié)構(gòu)采用B/S架構(gòu),也即由服務(wù)端和客戶端構(gòu)成。在此架構(gòu)上,將會(huì)通過以下幾個(gè)步驟來(lái)與WEB服務(wù)器互相通信。(1)在客戶端的瀏覽器(Browser)輸入WEB服務(wù)器的IP地址;(2)客戶端首先通過TCP發(fā)起建立連接請(qǐng)求,然后服務(wù)器通過認(rèn)證后,確認(rèn)請(qǐng)求合法后立即建立連接。在這個(gè)過程中,采用的是TCP/IP協(xié)議的“三次握手”方式建立連接的;(3)通過TCP/IP建立連接后,瀏覽器再用HTTP協(xié)議發(fā)出HTTP請(qǐng)求;(4)當(dāng)服務(wù)器端接收到HTTP請(qǐng)求后,對(duì)其進(jìn)行解析等操作,然后根據(jù)不同的處理結(jié)果服務(wù)器再執(zhí)行相應(yīng)的返回操作。(5)客戶端收到服務(wù)器的返回結(jié)果后,解析HTML數(shù)據(jù)包,然后將之顯示在瀏覽器上。3.2BoaWEB服務(wù)器的移植Boa是一個(gè)處理單任務(wù)的WEB服務(wù)器。也就是說(shuō)只有在完成一個(gè)請(qǐng)求后才能響應(yīng)另外一個(gè)連接請(qǐng)求,雖然無(wú)法實(shí)現(xiàn)并發(fā)響應(yīng),但是已經(jīng)足夠應(yīng)付嵌入式的應(yīng)用處理了。另外,Boa也是一個(gè)相當(dāng)輕量級(jí)的WEB服務(wù)器,交叉編譯所得到的可執(zhí)行文件只有60kB左右。出于設(shè)計(jì)的精簡(jiǎn)和應(yīng)用需求,Boa僅支持CGI。在WWW.上下載boa的源代碼。通過以下步驟完成其交叉編譯:#tar—bxzfboa-0.94.13.tar.gz#cd./boa-0.94.13/src#./configure#vi./Makefile修改CC=gcc為CC=arm-unknownlinux-gcc,CPP=gcc-E為CPP=arm-unknownlinux-cpp-E,保存退出。執(zhí)行如下命令:#make#arm-linux-strip./boa得到能在arm平臺(tái)下的可執(zhí)行文件boa,大小只有60KB將可執(zhí)行文件Boa下載到嵌入式設(shè)備后,還需對(duì)其進(jìn)行一些配置。首先需要在/etc/boa目錄下建立一個(gè)boa配置文件boa.conf。表1為Boa配置文件部分配置說(shuō)明:表1Boa配置文件配置參數(shù)說(shuō)明3.3通用網(wǎng)關(guān)接口CGICGI是通用網(wǎng)關(guān)接口的簡(jiǎn)稱。該接口定義了WEB服務(wù)器和其他可執(zhí)行程序之間的通信接口標(biāo)準(zhǔn)。一般這些可執(zhí)行程序我們也簡(jiǎn)稱為CGI程序。在客戶端瀏覽器上面,可以請(qǐng)求執(zhí)行CGI程序,并會(huì)附帶傳送的參數(shù)。當(dāng)服務(wù)器收到此請(qǐng)求后,執(zhí)行對(duì)應(yīng)的CGI程序,與此同時(shí),會(huì)把來(lái)自客戶端的傳輸傳遞給CGI程序。在服務(wù)器和CGI程序之間,他們足利用標(biāo)準(zhǔn)輸入輸出來(lái)實(shí)現(xiàn)參數(shù)傳遞和信息返回的。在本物聯(lián)網(wǎng)服務(wù)器的設(shè)計(jì)當(dāng)中,CGI程序不僅僅與WEB服務(wù)器通信,它還需要和守護(hù)程序進(jìn)行通信。由于守護(hù)程序是負(fù)責(zé)連接外圍設(shè)備,并與之通信的,所以可以通過CGI程序來(lái)對(duì)外圍設(shè)備進(jìn)行通信。通過這樣的通信過程實(shí)現(xiàn)了客戶端與物聯(lián)網(wǎng)設(shè)備終端的交互。其通信過程如下:(1)客戶端利用TCP/IP協(xié)議和WEB服務(wù)器建立連接;(2)客戶端利用HTTP協(xié)議發(fā)出URL指向一個(gè)CGI程序的請(qǐng)求;(3)服務(wù)器收到請(qǐng)求后,執(zhí)行對(duì)應(yīng)的CGI程序;(4)CGI應(yīng)用程序執(zhí)行,可以通過讀取標(biāo)準(zhǔn)輸入或環(huán)境變量(QUERYSTRING)獲取來(lái)自客戶端的參數(shù);(5)應(yīng)用程序利用進(jìn)行標(biāo)準(zhǔn)輸出方式來(lái)輸出返回結(jié)果給WEB服務(wù)器。(6)WEB服務(wù)器將結(jié)果傳送給客戶端,完成整個(gè)請(qǐng)求返回過程。3.4網(wǎng)絡(luò)應(yīng)用程序的訪問與控制網(wǎng)站的訪問和控制使用JavaScript語(yǔ)言,調(diào)用jQuery類庫(kù)和利用AJAX技術(shù),實(shí)現(xiàn)動(dòng)態(tài)顯示頁(yè)面的效果。而頁(yè)面的參數(shù)傳遞和CGI反饋都是使用JSON數(shù)據(jù)格式。JSON即JavaScriptObjectNotation,它是一種輕量級(jí)的數(shù)據(jù)交換格式。本設(shè)計(jì)使用JSON數(shù)據(jù)格式中的”名稱/值”對(duì)的集合為基本數(shù)據(jù)結(jié)構(gòu),它作為頁(yè)面與CGI程序之間的參數(shù)傳遞和運(yùn)算結(jié)果返回的數(shù)據(jù)格式。基本格式如下:{device:“value”,model:“value”,type:“value”,data:“Value”}利用j
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度奶牛場(chǎng)有機(jī)認(rèn)證與市場(chǎng)準(zhǔn)入合同4篇
- 2025年度木結(jié)構(gòu)建筑廢棄物處理承包合同4篇
- 2025年度城市綠地圍欄美化與安裝合同3篇
- 二零二五年度智能大門系統(tǒng)研發(fā)與市場(chǎng)拓展合同4篇
- 2025版新材料研發(fā)企業(yè)內(nèi)部股東股權(quán)優(yōu)化與轉(zhuǎn)讓合同4篇
- 二零二五城管協(xié)管員勞動(dòng)合同模板與晉升路徑4篇
- 2025年度二手房交易房屋質(zhì)量檢測(cè)與維修服務(wù)合同
- 二零二五版因女方出軌導(dǎo)致的離婚協(xié)議書及財(cái)產(chǎn)分配與子女撫養(yǎng)權(quán)合同3篇
- 2025年度“好贊服務(wù)”金融風(fēng)險(xiǎn)管理合同4篇
- 二零二四寧波公共建筑裝修工程合同范本3篇
- 五年級(jí)上冊(cè)寒假作業(yè)答案(人教版)
- 2025年山東浪潮集團(tuán)限公司招聘25人高頻重點(diǎn)提升(共500題)附帶答案詳解
- 2024年財(cái)政部會(huì)計(jì)法律法規(guī)答題活動(dòng)題目及答案一
- 2025年江西省港口集團(tuán)招聘筆試參考題庫(kù)含答案解析
- (2024年)中國(guó)傳統(tǒng)文化介紹課件
- 液化氣安全檢查及整改方案
- 《冠心病》課件(完整版)
- 2024年云網(wǎng)安全應(yīng)知應(yīng)會(huì)考試題庫(kù)
- 公園保潔服務(wù)投標(biāo)方案
- 光伏電站項(xiàng)目合作開發(fā)合同協(xié)議書三方版
- 2024年秋季新滬教版九年級(jí)上冊(cè)化學(xué)課件 第2章 空氣與水資源第1節(jié) 空氣的組成
評(píng)論
0/150
提交評(píng)論