• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      基于ARM平臺(tái)的嵌入式Web服務(wù)器設(shè)計(jì)

      2015-08-06 12:41:57趙聯(lián)政王桂海
      軟件導(dǎo)刊 2015年7期
      關(guān)鍵詞:WEB服務(wù)智能監(jiān)控嵌入式

      趙聯(lián)政 王桂海

      摘 要:由于嵌入式設(shè)備硬件資源有限,傳統(tǒng)的Web服務(wù)搭建已不適用于現(xiàn)實(shí)需求。提出了基于Boa和CGI建立Web服務(wù)的理念,以解決遠(yuǎn)程控制、訪問(wèn)、監(jiān)控嵌入式設(shè)備的問(wèn)題。重點(diǎn)分析了嵌入式服務(wù)器的設(shè)計(jì)理念和Boa服務(wù)器的移植以及CGI的實(shí)現(xiàn)。將該設(shè)計(jì)應(yīng)用于智能監(jiān)控系統(tǒng),使用結(jié)果表明:該嵌入式服務(wù)器運(yùn)行穩(wěn)定、速度相對(duì)較快、簡(jiǎn)單安全,達(dá)到了預(yù)期目標(biāo)。

      關(guān)鍵詞:嵌入式;Web服務(wù);智能監(jiān)控;Boa;CGI

      DOIDOI:10.11907/rjdk.151283

      中圖分類號(hào):TP303 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào)文章編號(hào):1672-7800(2015)007-0010-03

      0 引言

      隨著互聯(lián)網(wǎng)技術(shù)的發(fā)展,越來(lái)越多的電子設(shè)備和個(gè)人電腦通過(guò)網(wǎng)絡(luò)進(jìn)行互聯(lián)。嵌入式系統(tǒng)和設(shè)備近幾年進(jìn)入了高速發(fā)展時(shí)期,在工業(yè)控制和智能家居等領(lǐng)域得到了廣泛應(yīng)用。將嵌入式設(shè)備通過(guò)網(wǎng)絡(luò)接入因特網(wǎng)或局域網(wǎng)以實(shí)現(xiàn)遠(yuǎn)程管理和監(jiān)控,需要用到專門(mén)針對(duì)于嵌入式的Web服務(wù)器。用戶可以使用瀏覽器作為接口來(lái)訪問(wèn)嵌入式設(shè)備,這樣不僅能使嵌入式設(shè)備易用性大大提高,而且方便統(tǒng)一管理[1]。

      1 嵌入式Web服務(wù)器設(shè)計(jì)

      1.1 設(shè)計(jì)原理

      嵌入式系統(tǒng)的特點(diǎn)就是軟硬件可裁剪,以及功能的專用性[2],在處理器以及RAM和ROM受限的情況下,傳統(tǒng)的Web服務(wù)器搭建在嵌入式設(shè)備上已不再適用。有的嵌入式系統(tǒng)沒(méi)有文件系統(tǒng)或TCP/IP協(xié)議棧,在嵌入式設(shè)備資源受限的情況下,保證嵌入式Web服務(wù)器正常運(yùn)行十分困難。為解決以上問(wèn)題,結(jié)合當(dāng)前嵌入式Web服務(wù)器的設(shè)計(jì)需求提出如下方案:將Boa服務(wù)器移植到嵌入式設(shè)備中,使其具備嵌入式Web服務(wù)器功能,并借助通用網(wǎng)關(guān)接口(Common Gateway Interface,CGI)技術(shù)連入到互聯(lián)網(wǎng),實(shí)現(xiàn)現(xiàn)場(chǎng)數(shù)據(jù)與嵌入式Web服務(wù)器之間的實(shí)時(shí)動(dòng)態(tài)交互。

      1.2 Boa與CGI組合實(shí)現(xiàn)原理

      Boa是一款非常小巧的Web服務(wù)器,源代碼開(kāi)放、性能優(yōu)秀,支持CGI通用網(wǎng)關(guān)接口技術(shù),特別適合應(yīng)用在嵌入式系統(tǒng)中。Boa服務(wù)器主要功能是在互聯(lián)嵌入式設(shè)備之間進(jìn)行信息交互,達(dá)到通過(guò)網(wǎng)絡(luò)對(duì)嵌入式設(shè)備進(jìn)行監(jiān)控、并將反饋信息自動(dòng)上傳給主控設(shè)備的目的。它基于HTTP超文本傳輸協(xié)議,Web網(wǎng)頁(yè)是Web服務(wù)最基本的傳輸單元。嵌入式Web服務(wù)的工作基于客戶機(jī)/服務(wù)器計(jì)算模型,由Web瀏覽器(客戶機(jī))和Web服務(wù)器(服務(wù)器)構(gòu)成,也即著名的B/S結(jié)構(gòu)。

      運(yùn)行于客戶端的瀏覽器首先要與嵌入式Web服務(wù)器Boa端建立連接:打開(kāi)一個(gè)套接字虛擬文件,此文件建立標(biāo)志著SOCKET連接建立成功。然后客戶端瀏覽器通過(guò)套接字SOCKET以GET或者POST參數(shù)傳遞方式向Web服務(wù)器提交請(qǐng)求,Web瀏覽器提交請(qǐng)求后,通過(guò)HTTP協(xié)議傳送給Web服務(wù)器。Web服務(wù)器接到請(qǐng)求后,根據(jù)請(qǐng)求的不同進(jìn)行事務(wù)處理,返回HTML文件或者通過(guò)CGI調(diào)用外部應(yīng)用程序,返回處理結(jié)果。服務(wù)器通過(guò)CGI與外部應(yīng)用程序和腳本之間進(jìn)行交互,根據(jù)客戶端瀏覽器在請(qǐng)求時(shí)所采用的方法,服務(wù)器會(huì)搜集客戶提供的信息,并將該部分信息發(fā)送給指定的CGI擴(kuò)展程序,CGI擴(kuò)展程序進(jìn)行信息處理并將結(jié)果返回給服務(wù)器。然后服務(wù)器對(duì)信息進(jìn)行分析,并將結(jié)果發(fā)送回客戶端在瀏覽器上顯示出來(lái),其工作原理如圖1所示。

      2 嵌入式系統(tǒng)功能實(shí)現(xiàn)

      2.1 Boa配置及在ARM上的移植流程

      Boa的源程序從boa.c中的main( )主函數(shù)開(kāi)始執(zhí)行。在該源程序中對(duì)Web服務(wù)器進(jìn)行配置:為了在用戶訪問(wèn)Web服務(wù)器時(shí)能確定根目錄的位置,首先需要指定服務(wù)器的根目錄路徑服務(wù)器,fixup_server root( )函數(shù)用來(lái)設(shè)置該服務(wù)器的根目錄;接著read_config_files( )函數(shù)對(duì)其它服務(wù)器所需的參數(shù)進(jìn)行配置,比如服務(wù)器端口server_port、服務(wù)器名server_name、根文件目錄document_root等,其余大部分參數(shù)要專門(mén)從boa.conf文件中讀取,然后為CGI腳本設(shè)置環(huán)境變量。

      這些配置都正確完成后,就為Boa創(chuàng)建套接字,使用TCP/IP協(xié)議,創(chuàng)建一個(gè)特別適合嵌入式系統(tǒng)的Web服務(wù)器。Boa移植流程如圖2所示。

      2.2 Html頁(yè)面設(shè)計(jì)

      一般來(lái)說(shuō),瀏覽器只能通過(guò)HTTP請(qǐng)求,從服務(wù)器端獲取靜態(tài)頁(yè)面,若用戶想要通過(guò)瀏覽器提交一些數(shù)據(jù)或者參數(shù)給服務(wù)器處理,并要得到處理結(jié)果,達(dá)到用戶和服務(wù)器的雙向交互,就需要HTML表單,即form[3]。

      HTML表單是專門(mén)用于用戶從瀏覽器提交數(shù)據(jù)到服務(wù)器的一種常用方式,它由普通的HTML元素組成。用戶通過(guò)填寫(xiě)或操作頁(yè)面空間,通過(guò)提交表單的方式發(fā)送到服務(wù)器端進(jìn)行處理。以下是一個(gè)表單示例:

      從上述HTML設(shè)計(jì)中可以看出,該表單的功能是:通過(guò)“POST”方式,將表單中的內(nèi)容上傳到服務(wù)器,由于表單里的數(shù)據(jù)需要服務(wù)器進(jìn)行驗(yàn)證,就指定調(diào)用cgi-bin目錄下的set_msg.cgi腳本進(jìn)行處理。本文以驗(yàn)證填寫(xiě)的報(bào)警電話號(hào)碼格式是否正確為例,介紹服務(wù)器端CGI程序如何對(duì)瀏覽器提交的電話號(hào)碼進(jìn)行驗(yàn)證。

      2.3 CGI程序編寫(xiě)

      用CGIC對(duì)CGI程序進(jìn)行C語(yǔ)言開(kāi)發(fā)時(shí),可以用模塊替換CGIC,或者直接將編寫(xiě)的CGI程序和cgic.c以及cgic.h共同編譯。cgic.c是整個(gè)CGIC函數(shù)庫(kù)的本質(zhì)。從cgic.c可以了解到,其已經(jīng)對(duì)main函數(shù)進(jìn)行了定義,對(duì)于CGI程序要使用CGIC進(jìn)行編寫(xiě),都是從cgic.c中的代碼入口,在庫(kù)函數(shù)進(jìn)行了一系列初始化操作之后(獲取系統(tǒng)環(huán)境變量、解析參數(shù)等等),才能夠調(diào)用用戶編寫(xiě)的代碼。所以在開(kāi)發(fā)CGI程序時(shí),要調(diào)用CGIC庫(kù),不能繼續(xù)使用main(),而是要使用CGIC提供的cgiMain()來(lái)開(kāi)始程序[4]。

      CGI程序可以采用任何讀寫(xiě)標(biāo)準(zhǔn)輸入/輸出語(yǔ)言,比如C、C++或者Java等,由于嵌入式系統(tǒng)的特殊性,一般選用C語(yǔ)言進(jìn)行編程。下面是一個(gè)CGI程序部分示例:

      該程序是響應(yīng)上一節(jié)瀏覽器驗(yàn)證電話號(hào)碼的程序,返回的結(jié)果是彈出新頁(yè)面提示驗(yàn)證成功。

      3 嵌入式Web服務(wù)器在智能監(jiān)控系統(tǒng)中的應(yīng)用

      嵌入式Web服務(wù)器在智能家居與智能監(jiān)控領(lǐng)域應(yīng)用

      廣泛。在遠(yuǎn)程PC機(jī)打開(kāi)網(wǎng)頁(yè),輸入正確的地址,就可以隨時(shí)查看服務(wù)器端信息采集的結(jié)果,其界面如圖3所示。

      圖3 智能監(jiān)控系統(tǒng)

      4 結(jié)語(yǔ)

      嵌入式Web服務(wù)器是實(shí)現(xiàn)嵌入式系統(tǒng)通過(guò)Web方式與因特網(wǎng)互聯(lián)的關(guān)鍵,對(duì)其進(jìn)行研究對(duì)嵌入式互聯(lián)網(wǎng)技術(shù)的發(fā)展有重要意義。本文介紹了嵌入式Web服務(wù)器設(shè)計(jì)的理念和流程,重點(diǎn)闡述了Boa與CGI的實(shí)現(xiàn)原理,通過(guò)一個(gè)智能監(jiān)控項(xiàng)目的部分模塊成功實(shí)現(xiàn)了該設(shè)計(jì)。隨著物聯(lián)網(wǎng)和嵌入式技術(shù)的發(fā)展,該嵌入式網(wǎng)絡(luò)技術(shù)將會(huì)得到更加廣泛的應(yīng)用和發(fā)展。

      參考文獻(xiàn):

      [1] 謝仕義,徐兵.嵌入式 Web服務(wù)器的設(shè)計(jì)及其CGI 實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2007(7):1598-1599.

      [2] 范延濱,于忠清,鄭立愛(ài). 嵌入式系統(tǒng)原理與開(kāi)發(fā)[M].北京:機(jī)械工業(yè)出版社,2010.

      [3] 任作為.嵌入式Web服務(wù)器的設(shè)計(jì)與實(shí)現(xiàn)[D]. 荊州:長(zhǎng)江大學(xué),2013.

      [4] 雷娟娟,趙詣. 嵌入式Web服務(wù)器的設(shè)計(jì)及其CGI實(shí)現(xiàn)[J].電子技術(shù)與軟件工程,2014(7):235-236.

      責(zé)任編輯(責(zé)任編輯:杜能鋼)

      猜你喜歡
      WEB服務(wù)智能監(jiān)控嵌入式
      搭建基于Qt的嵌入式開(kāi)發(fā)平臺(tái)
      基于Web服務(wù)的SPSS與.NET系統(tǒng)集成開(kāi)發(fā)
      軟件(2016年4期)2017-01-20 09:28:12
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      基于線性回歸的航班延誤預(yù)測(cè)研究與系統(tǒng)開(kāi)發(fā)
      自動(dòng)化機(jī)房設(shè)備集中智能監(jiān)控技術(shù)的應(yīng)用
      基于物聯(lián)網(wǎng)技術(shù)的規(guī)?;a(chǎn)養(yǎng)殖智能監(jiān)控系統(tǒng)設(shè)計(jì)
      教學(xué)工作量管理系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
      基于多傳感器信息融合技術(shù)的遠(yuǎn)程智能沼氣池監(jiān)控系統(tǒng)
      一種基于SOA的web異構(gòu)數(shù)據(jù)集成方法研究
      智能癲癇病監(jiān)測(cè)報(bào)警系統(tǒng)
      绍兴市| 黄陵县| 临武县| 镇坪县| 股票| 健康| 大兴区| 尚义县| 南城县| 衡山县| 新营市| 合作市| 藁城市| 东台市| 孟州市| 韩城市| 金平| 安新县| 江源县| 英德市| 乡城县| 嘉黎县| 烟台市| 东至县| 葫芦岛市| 丰宁| 小金县| 扶沟县| 分宜县| 维西| 岐山县| 金乡县| 克山县| 镇原县| 将乐县| 城固县| 尤溪县| 孙吴县| 刚察县| 扶余县| 密山市|