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

?

基于ARM 9的WEB服務(wù)器設(shè)計(jì)與實(shí)現(xiàn)

2013-01-18 12:03:56王衛(wèi)東
電子設(shè)計(jì)工程 2013年2期
關(guān)鍵詞:宿主機(jī)開發(fā)板PC機(jī)

楊 虎,王衛(wèi)東

(江蘇科技大學(xué) 計(jì)算機(jī)學(xué)院,江蘇 鎮(zhèn)江 212003)

隨著嵌入式系統(tǒng)和網(wǎng)絡(luò)技術(shù)的迅速發(fā)展,嵌入式系統(tǒng)與Internet技術(shù)結(jié)合為嵌入式設(shè)備的網(wǎng)絡(luò)互連提供了一條有效的途徑。把嵌入式設(shè)備連接到網(wǎng)絡(luò)中,并實(shí)現(xiàn)Web Server功能,使用戶可以直接通過(guò)Web瀏覽器對(duì)現(xiàn)場(chǎng)的設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控,這將大大方便用戶的操作。嵌入式Web Server是實(shí)現(xiàn)嵌入式系統(tǒng)通過(guò)Web方式與Internet互連的關(guān)鍵組成部分,研究嵌入式Web Server的原理及其實(shí)現(xiàn)對(duì)于網(wǎng)絡(luò)傳輸、遠(yuǎn)程監(jiān)控、信息家電等領(lǐng)域有很強(qiáng)的實(shí)際意義。

1 系統(tǒng)的工作原理及組成

由于ARM9的開發(fā)板資源有限,不可能在開發(fā)板上運(yùn)行開發(fā)和調(diào)試工具,所以通過(guò)交叉編譯調(diào)試的方式進(jìn)行,采用宿主機(jī)+開發(fā)板的形式實(shí)現(xiàn)。宿主機(jī)即為運(yùn)行的PC機(jī),本系統(tǒng)采用了安裝了Linux的PC機(jī)作為宿主機(jī)。通過(guò)交叉編譯將開發(fā)板與宿主機(jī)連接、定位,得到可執(zhí)行文件并在開發(fā)板上運(yùn)行。用戶通過(guò)瀏覽器發(fā)送請(qǐng)求通過(guò)TCP/IP協(xié)議經(jīng)Internet發(fā)送到服務(wù)器,服務(wù)器經(jīng)過(guò)判斷請(qǐng)求合法后,根據(jù)請(qǐng)求將數(shù)據(jù)發(fā)出去,并在用戶的瀏覽器中顯示。

結(jié)構(gòu)框架圖如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)框架圖Fig.1 System structure frame diagram

2 系統(tǒng)的硬件設(shè)計(jì)

本系統(tǒng)所采用的ARM開發(fā)板采用的是S3C2440A的ARM9處理器,主頻高達(dá)400 MHz,最高可達(dá)533 MHz。其有成熟的電路及元器件,性價(jià)比較高。Linux嵌入式操作系統(tǒng)比較容易移植并且穩(wěn)定,可靠。加以相應(yīng)的外部擴(kuò)展,實(shí)現(xiàn)程序的運(yùn)行環(huán)境。外部擴(kuò)展有機(jī)部分組成:1)存儲(chǔ)模塊:Nand Flash存儲(chǔ)器、SDRAM存儲(chǔ)器、SD/MMC卡存儲(chǔ)器;2)對(duì)外通信接口模塊:網(wǎng)口、USB接口3)人機(jī)交互界面;LCD觸摸屏4)電源盒電源管理。

系統(tǒng)硬件結(jié)構(gòu)如圖2所示。

圖2 硬件系統(tǒng)結(jié)構(gòu)圖Fig.2 Structure diagram of the hardware system

3 系統(tǒng)的軟件設(shè)計(jì)

3.1 嵌入式Web Server的建立

3.1.1 嵌入式Web Server存儲(chǔ)

嵌入式Web Server是指將Web服務(wù)器引入到現(xiàn)場(chǎng)嵌入式設(shè)備當(dāng)中,此與傳統(tǒng)的Web服務(wù)器是不一樣的,由于嵌入式設(shè)備要求有限的的代碼空間,并且要求嵌入式Web簡(jiǎn)潔,高效。所以使用的是PC+ARM9(嵌入式設(shè)備)的方式實(shí)現(xiàn)文件的映射,解決存儲(chǔ)的問(wèn)題。

3.1.2 嵌入式Web server交互方式

本系統(tǒng)為使客戶端能與嵌入式Web Server進(jìn)行交互,交互的方式有以下幾種,例如 SSI(Server Side Include)、CGI(Common Gateway Interface)、Java Servlet等技術(shù)。本系統(tǒng)采用了 CGI的交互方式。

3.2 Boa軟件平臺(tái)設(shè)計(jì)與實(shí)現(xiàn)

3.2.1 PC+ARM9平臺(tái)

1)PC+ARM9平臺(tái)建立

在原PC機(jī)上安裝linux系統(tǒng),文中所使用的是ubuntu的linux系統(tǒng).ARM9-Linux是建立在U-boot的基礎(chǔ)上,主要通過(guò)編譯、配置完成。建立交叉編譯環(huán)境就是解壓交叉編譯器壓縮包,主要通過(guò)tar指令來(lái)完成。在進(jìn)行交叉編譯錢需要對(duì)編譯的文件進(jìn)行配置,即修改定義內(nèi)容。最后通過(guò)make指令對(duì)文件編譯。

2)PC+ARM9平臺(tái)網(wǎng)絡(luò)聯(lián)機(jī)

將ARM9的串口線與網(wǎng)線連接到PC機(jī),打開PC機(jī)的超級(jí)終端,并進(jìn)行基本設(shè)置后。打開ARM9開發(fā)板電源,此時(shí)超級(jí)終端會(huì)讀取ARM內(nèi)容。由于初始ARM9地址與PC機(jī)不在同一網(wǎng)段,所以需對(duì)ARM9進(jìn)行地址修改。如原PC機(jī)IP地址為:192.168.6.236,網(wǎng)關(guān)為:192.168.6.1,子掩碼為:255.255.255.0.在超級(jí)終端中輸入命令ifconfig eth0 192.168.6.111修改后ARM9的IP地址為192.168.6.111.輸入命令ping即可拼通。此時(shí)PC機(jī)與ARM9開發(fā)板的網(wǎng)絡(luò)連接就完成了??梢酝ㄟ^(guò)FTP進(jìn)行文件的直接傳輸。

3.2.2 Boa的配置、移植與構(gòu)建

Boa是一個(gè)源代碼開放,性能較高、執(zhí)行代碼小的單任務(wù)服務(wù)器,缺點(diǎn)是同一時(shí)間只能響應(yīng)一個(gè)命令,是一個(gè)單進(jìn)程服務(wù)器。通過(guò)建立HTTP請(qǐng)求列表來(lái)處理多路HTTP連接請(qǐng)求,同時(shí)只為CGI程序創(chuàng)建新的進(jìn)程,很大程度上節(jié)省了系統(tǒng)資源,這些特點(diǎn)特別適合于系統(tǒng)資源比較少的嵌入式系統(tǒng),并且它的響應(yīng)速度比常規(guī)的服務(wù)器要快很多。

1)Boa的配置

下載boa源碼并解壓到boa目錄中。在linux中執(zhí)行./configure命令,在目錄src中將生成Makefile文件,打開并修改

CC=gcc:為CC=gcc-linux-gcc:

CPP=gcc-E:為CPP=arm-linux-gcc-E:

2)boa編譯并優(yōu)化

打開src目錄執(zhí)行make命令,生成boa的可執(zhí)行文件,繼續(xù)執(zhí)行arm-linux-strip boa命令。

3)構(gòu)建Boa服務(wù)器

在文件系統(tǒng)中的etc下新建boa目錄,輸入指令chmod-R777 boa改變文件屬性,將boa-0.94.13/boa.conf復(fù)制到系統(tǒng)etc/boa中。創(chuàng)建HTML文檔目錄、日志文件目錄、CGI腳本目錄和日志文件,拷貝mine.type文件到系統(tǒng)etc目錄下。

3.3 公共網(wǎng)關(guān)接口CGI

Web開發(fā)生成動(dòng)態(tài)Web頁(yè)面的方法主要有 ASP、ASP.NET、JSP、PHP等,但是這些程序都需要大型應(yīng)用平臺(tái)的支持,而嵌入式系統(tǒng)資源有限,支持不了以上語(yǔ)言,而CGI克服了以上缺點(diǎn)。CGI使Web服務(wù)器和瀏覽器之間建立了標(biāo)準(zhǔn)的信息交互方式使信息在瀏覽器或者服務(wù)器與外部程序之間流通,提供客戶端HTML頁(yè)面的接口。當(dāng)Web服務(wù)器接收到用戶信息,并將部分信息發(fā)送到指定的CGI口占程序。CGI擴(kuò)展程序?qū)⑿畔⑻幚聿⒎祷亟o服務(wù)器,服務(wù)器對(duì)信息進(jìn)行分析后就將結(jié)果發(fā)送給客戶端,并在客戶端瀏覽器顯示。CGI可以使用多種語(yǔ)言來(lái)實(shí)現(xiàn),包括 C、C++、Perl等,但是Perl怨言需要有解釋執(zhí)行的支撐模塊,占用了大量存儲(chǔ)空間。本系統(tǒng)采用C語(yǔ)言來(lái)編寫,采用的是可復(fù)用的CGIC庫(kù),它提供了以下強(qiáng)大的功能:1)分析數(shù)據(jù)并自動(dòng)校正;2)能夠接受上傳文件;3)能夠設(shè)置和接受cookies;4)提供CGI程序的調(diào)試手段,能夠回放CGI程序執(zhí)行時(shí)CGI狀態(tài);5)提供字符串、整數(shù)、浮點(diǎn)數(shù),單選和多選項(xiàng)功能來(lái)接受數(shù)據(jù)方;6)用一致的式處理From元素里的回車等。并且支持本系統(tǒng)的Linux操作系統(tǒng)。

4 服務(wù)器運(yùn)行測(cè)試

將制作好的網(wǎng)頁(yè)放到目錄html中,文件名要改為index.html。CGI程序放入boa/cgi-bin中。啟動(dòng)boa服務(wù)器,輸入ARM9開發(fā)板的地址192.168.6.111,此時(shí)瀏覽器就會(huì)顯示頁(yè)面。

圖3即為測(cè)試頁(yè)面。

5 結(jié)束語(yǔ)

圖3 測(cè)試頁(yè)面顯示圖Fig.3 Interface chart of the test system

基于ARM9的WEB服務(wù)器支持以太網(wǎng)連入Internet,通過(guò)類BSD套接口,綁定80號(hào)端口,監(jiān)測(cè)并處理實(shí)時(shí)任務(wù),使得用戶通過(guò)Internet即可通過(guò)遠(yuǎn)程的PC機(jī)訪問(wèn)并控制,管理系統(tǒng)的運(yùn)行,由于簡(jiǎn)化了系統(tǒng)結(jié)構(gòu),信息的采集與發(fā)布都集中到了ARM9設(shè)備中,便于維護(hù)和管理。其低廉的成本、可靠性高、反應(yīng)速率快等特點(diǎn)使其具有廣闊的推廣價(jià)值。

[1]鳥哥.鳥哥的Linux私房菜:服務(wù)器架設(shè)篇[M].2版.北京:機(jī)械工業(yè)出版社,2008

[2]韋東山.嵌入式Linux應(yīng)用開發(fā)完全手冊(cè)[M].北京:人民郵電出版社,2008.

[3]謝仕義,徐冰.嵌入式web服務(wù)器的設(shè)計(jì)及其CGI實(shí)現(xiàn)[J].計(jì)算機(jī)工程與設(shè)計(jì),2008,28(7):1598-1600.XIE Shi-yi,XU Bin.Embedded web server design and its realization CGI[J].Computer engineering and design,2008,28(7):1598-1600.

[4]郭妍.基于MPEG-4視頻監(jiān)控系統(tǒng)的研究和實(shí)[D].西安:西安科技大學(xué),2009.

[5]陳麗蓉,李際煒,于喜龍.嵌入式微處理器系統(tǒng)及應(yīng)用[M].北京:北京大學(xué)出版社,2010.

[6]李巖.基于ARM嵌入式uCLinux系統(tǒng)原理及應(yīng)用[M].北京:北京大學(xué)出版社,2009.

[7]馬群利.嵌入式web服務(wù)器及其安全機(jī)制研究[J].計(jì)算機(jī)測(cè)量與控制,2007,15(2):538-540.MA Qun-li.Embedded web server and its security mechanism study[J].Computer measurement and control,2007,19(2):538-540.

[8]孟旭霞,譚少華,唐雙雄,等.嵌入式web中SQLite訪問(wèn)技術(shù)的研究[J].微計(jì)算機(jī)信息,2008(24):95-97.MENG Xu-xia,TAN Shao-hua,TANG Shuang-xiong,et al.Embedded in web SQLiteaccesstechnology[J].micro computer information,2008:95-97.

猜你喜歡
宿主機(jī)開發(fā)板PC機(jī)
基于PC機(jī)與單片機(jī)的多機(jī)通信技術(shù)及抗干擾方法
虛擬網(wǎng)絡(luò)實(shí)驗(yàn)室在農(nóng)村職校計(jì)算機(jī)網(wǎng)絡(luò)技術(shù)教學(xué)中的應(yīng)用研究
嵌入式計(jì)算機(jī)軟件測(cè)試關(guān)鍵技術(shù)的思考
基于三菱FXPLC的感應(yīng)淬火機(jī)床與PC機(jī)的串行通信實(shí)現(xiàn)
Microchip最新推出兩款PIC32 Curiosity開發(fā)板
VC.NET下實(shí)現(xiàn)dsPIC單片機(jī)與PC機(jī)的通信
電子制作(2017年23期)2017-02-02 07:16:47
淺析單片機(jī)開發(fā)板的設(shè)計(jì)與制作
電子制作(2017年22期)2017-02-02 07:10:14
嵌入式計(jì)算機(jī)軟件測(cè)試關(guān)鍵技術(shù)研究
Mouser為您呈上開發(fā)關(guān)鍵之STMicroelectronics Nucleo開發(fā)板
Arduino和Atmel發(fā)布Arduino Zero開發(fā)板
调兵山市| 隆尧县| 巢湖市| 锡林郭勒盟| 邹平县| 常州市| 荃湾区| 临湘市| 抚远县| 延边| 云和县| 鄯善县| 哈尔滨市| 延长县| 漳州市| 郴州市| 靖远县| 华安县| 阳谷县| 云林县| 富裕县| 冀州市| 贡山| 英吉沙县| 盖州市| 榆中县| 申扎县| 星座| 邻水| 仪征市| 隆林| 茶陵县| 五峰| 德安县| 库车县| 盐城市| 沾益县| 永济市| 九江市| 漠河县| 朝阳县|