當(dāng)前位置:首頁 > 嵌入式 > 嵌入式軟件
[導(dǎo)讀]嵌入式Web服務(wù)器移植與測試

隨著計算機技術(shù)和現(xiàn)代通信技術(shù)的不斷發(fā)展,設(shè)備即網(wǎng)絡(luò)是后PC時代對嵌入式系統(tǒng)的客觀要求,因此也需要建立嵌入式設(shè)備的網(wǎng)絡(luò)Web服務(wù)器。嵌入式Web能夠?qū)崿F(xiàn)在各種工業(yè)監(jiān)控、檢測、以及自動化控制等領(lǐng)域的遠(yuǎn)程控制,世界上無論任何地方,只要是存在Internet網(wǎng)絡(luò),都能夠通過Web服務(wù)對各種現(xiàn)場進(jìn)行管理,甚至可以在有網(wǎng)絡(luò)的手持設(shè)備上對現(xiàn)場進(jìn)行控制管理操作。傳統(tǒng)的Web服務(wù)器大多在大型機,PC機上實現(xiàn),其成本比較高,而且不方便工業(yè)現(xiàn)場的應(yīng)用實施,嵌入式系統(tǒng)以及嵌入式小型Web服務(wù)器的出現(xiàn)使得Web服務(wù)運行在資源、性能有限的嵌入式設(shè)備上提供了條件。本文主要介紹嵌入式Web服務(wù)器BOA在ARM9嵌入式系統(tǒng)設(shè)備板上的移植,并對移植后的BOA服務(wù)器進(jìn)行測試驗證。

1 硬件設(shè)計需求
    根據(jù)系統(tǒng)要求,硬件電路部分核心處理器采用三星公司的S3C2440,該器件基于ARM920T內(nèi)核,主頻400 MHz,是性價比比較高的嵌入式32位處理器之一。S3C2440微處理器內(nèi)部資源豐富,包括1個LCD控制器、SDRAM控制器、4個通道的DMA等。開發(fā)板的存儲系統(tǒng)分SDRAM和Flash兩
部分,其中SDRAM存儲系統(tǒng)使用了兩片外接的32 M字節(jié)總共64 M字節(jié)的SDRAM芯片,其型號為HY57V561620FTP。這部分通常稱之為內(nèi)存,兩片SDRAM并在一起形成32位寬的數(shù)據(jù)總線,增加了數(shù)據(jù)訪問速度;開發(fā)板具有兩種Flash:一種是型號為SST39VFl60l的Nor Flash,大小為2 M字節(jié);另一種是型號為K9F1208的Nand Flash,大小為64 M字節(jié);開發(fā)板采用的網(wǎng)卡芯片為DM9000,它自適應(yīng)10/100 M網(wǎng)絡(luò),RJ45連接頭內(nèi)部已經(jīng)包含了耦合線圈,因此在開發(fā)板上沒有另接網(wǎng)絡(luò)變壓器,通過網(wǎng)線即可連接開發(fā)板到Internet網(wǎng)絡(luò)中,從而實現(xiàn)嵌入式Web服務(wù)。另外還包括電源、晶振、JTAG調(diào)試口,以及基本輸入輸出端口等部分。嵌入式硬件設(shè)計框圖如圖1所示。



2 嵌入式Web服務(wù)器BOA實現(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ù)的工作基于客戶機/服務(wù)器計算模型,由Web瀏覽器(客戶機)和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ā)送回客戶端在瀏覽器上顯示出來。

3 嵌入式Web服務(wù)器BOA移植
    首先,Web服務(wù)器BOA是要運行于ARM嵌入式設(shè)備上的,因此需要對BOA源文件進(jìn)行交叉編譯。編譯工具使用arm-linux-gcc-4.3.2交叉編譯工具鏈,拷貝文件arm-lin-ux-gcc-4.3.2.tgz到目錄/tmp下,執(zhí)行命令cd/tmp;tar zxvfarm-linux-gcc-4.3.2.tgz-C/.這樣交叉編澤工具就安裝到/usr/local/arm/4.3.2目錄下面。為確保在打開終端后能直接應(yīng)用交叉編譯工具鏈,要在/root/.bashrc文件中把編譯器路徑加入到系統(tǒng)環(huán)境變量。運行命令gedit/root/.bashrc編輯文件/root/.bashrc。在文件的最后添加export PATH=$PATH:/usr/local/arm/4.3.2/bin。保存退出。接著執(zhí)行source/root/.bashrc命令使設(shè)置生效。最后檢測交叉編譯工具是否安裝成功,命令為在終端中輸入arm-linux-gcc-v;若能在輸出的信息中看到arm-linux-gcc版本號4.3.2,說明安裝成功。
    其次,交叉編譯BOA源碼,拷貝BOA源碼包boa-0.94.13.tar.gz到/tmp目錄下,解壓縮掩碼包tar zxvf boa-0.94.13.tar.gz;
解壓后在Linux終端進(jìn)入BOA所在目錄,首先執(zhí)行命令./con-figure生成Makefile文件,然后打開文件夾,找到Makefile文件,用文本編輯器打開,找到CC=gcc,CPP=gcc-E兩行,分別將其設(shè)置成上一步生成的交叉編譯工具路徑CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc和CPP=/usr/local/arm/4.3.2/bin/arm-linux-gcc-E,然后將Makefile保存后退出,回到終端執(zhí)行make命令,進(jìn)行交叉編譯得到可執(zhí)行程序BOA,它就是能夠運行在ARM嵌入式設(shè)備上的執(zhí)行文件??赏ㄟ^命令fileboa查看文件信息??截惔薆OA文件到目標(biāo)板/bin目錄中。
    再次,配置boa服務(wù)器。配置BOA主要是為了使其能夠支持CGI程序的執(zhí)行。在文件系統(tǒng)的/etc目錄下mkdir boa建立一個BOA目錄,拷貝BOA源碼目錄中的boa.conf文件到文件系統(tǒng)目錄/etc/boa目錄下,然后根據(jù)嵌入式BOA的需求在此配置文件的基礎(chǔ)上進(jìn)行修改。在修改此配置文件時需要注意保證其他文件和設(shè)置必須與配置文件相一致,否則嵌入式Web服務(wù)器BOA就不能正常運行。boa.conf文件主要配置內(nèi)容如圖2所示。[!--empirenews.page--]



4 嵌入式Web服務(wù)器BOA移植測試
    測試的目的主要是驗證嵌入式Web服務(wù)器BOA移植以及配置是否正確,能否正常工作。根據(jù)以上配置文件boa.conf的內(nèi)容在文件系統(tǒng)目錄/var下創(chuàng)建www目錄用于存放html文檔以及html文檔所需的圖像資源。創(chuàng)建/www/cgi-bin目錄用于存放CGI程序。
    1)制作Web測試頁 Web測試網(wǎng)頁主要由Html語言、
    Javascript腳本語言完成,新建文本文檔輸入網(wǎng)頁代碼如圖3所示。


    保存此文件并重命名為index.html??截惔薍tml文件到目標(biāo)板/vat/www/目錄下。假設(shè)開發(fā)宿主機與目標(biāo)板在同一局域網(wǎng)中,并且無網(wǎng)絡(luò)故障,目標(biāo)板ip地址設(shè)置為192.168.1.156。在宿主機上運行瀏覽器進(jìn)行BOA頁面測試,在瀏覽器地址欄中輸入ip地址192.168.1.-1,則可以看到Web測試頁面如圖4所示。


    2)CGI腳本測試在目標(biāo)板打開一個終端輸入命令
    viceshi.cgi,新建一個腳本文件,輸入如圖5所示代碼。


    :wq保存此腳本文件,并拷貝此文件到/var/www/cgi-bin目錄中,chmod+x ceshi.cgi更改此文件的執(zhí)行權(quán)限。然后在宿主機(客戶端)瀏覽器中輸入http://192.168.1.156/cgi-bin/ceshi.cgi地址,經(jīng)過測試符合功能要求。

5 結(jié)論
    本文實現(xiàn)了嵌入式BOA Web服務(wù)器在ARM9目標(biāo)板的移植以實現(xiàn)微型機在各種控制領(lǐng)域的遠(yuǎn)程管理,并通過了移植后測試。嵌入式BOA的成功移植為以后在具體生活、工業(yè)現(xiàn)場中的應(yīng)用提供了條件,方便了未來Web應(yīng)用工程的開發(fā)。

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉