国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

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

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)實需求。提出了基于Boa和CGI建立Web服務(wù)的理念,以解決遠(yuǎn)程控制、訪問、監(jiān)控嵌入式設(shè)備的問題。重點分析了嵌入式服務(wù)器的設(shè)計理念和Boa服務(wù)器的移植以及CGI的實現(xiàn)。將該設(shè)計應(yīng)用于智能監(jiān)控系統(tǒng),使用結(jié)果表明:該嵌入式服務(wù)器運行穩(wěn)定、速度相對較快、簡單安全,達(dá)到了預(yù)期目標(biāo)。

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

DOIDOI:10.11907/rjdk.151283

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

0 引言

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

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

1.1 設(shè)計原理

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

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

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

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

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

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

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

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

2.2 Html頁面設(shè)計

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

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

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

2.3 CGI程序編寫

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

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

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

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

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

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

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

4 結(jié)語

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

參考文獻(xiàn):

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

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

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

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

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

猜你喜歡
WEB服務(wù)智能監(jiān)控嵌入式
搭建基于Qt的嵌入式開發(fā)平臺
基于Web服務(wù)的SPSS與.NET系統(tǒng)集成開發(fā)
軟件(2016年4期)2017-01-20 09:28:12
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
基于線性回歸的航班延誤預(yù)測研究與系統(tǒng)開發(fā)
自動化機(jī)房設(shè)備集中智能監(jiān)控技術(shù)的應(yīng)用
基于物聯(lián)網(wǎng)技術(shù)的規(guī)模化水產(chǎn)養(yǎng)殖智能監(jiān)控系統(tǒng)設(shè)計
教學(xué)工作量管理系統(tǒng)的設(shè)計與實現(xiàn)
基于多傳感器信息融合技術(shù)的遠(yuǎn)程智能沼氣池監(jiān)控系統(tǒng)
一種基于SOA的web異構(gòu)數(shù)據(jù)集成方法研究
智能癲癇病監(jiān)測報警系統(tǒng)
武邑县| 通江县| 乌拉特后旗| 平乐县| 阳西县| 霍山县| 壶关县| 綦江县| 卓资县| 威海市| 白朗县| 抚顺县| 抚顺市| 蒙城县| 武宣县| 大关县| 东乡族自治县| 霍山县| 顺昌县| 呼和浩特市| 天台县| 讷河市| 平山县| 墨竹工卡县| 武威市| 松潘县| 合肥市| 和静县| 繁昌县| 玉溪市| 沂源县| 金秀| 荣成市| 陆良县| 陇川县| 文水县| 武宁县| 内黄县| 连城县| 长海县| 罗源县|