1 引 言
PC 機時代的到來引發(fā)了信息產(chǎn)品的產(chǎn)生, 而Interne t與信息產(chǎn)品的結(jié)合是當今發(fā)展的一個趨勢,嵌入式Internet技術的產(chǎn)生正好迎合了這個趨勢。
由于Internet技術的滲透, 嵌入式系統(tǒng)正變得越來越智能化并具有越來越多的網(wǎng)絡友好特性。本文主要對嵌入式Web 服務器技術進行了設計并測試,W eb服務器的功能是*客戶端的服務請求, 并根據(jù)客戶請求的類型提供相應服務。嵌入式W eb服務器是指將W eb服務器引入到現(xiàn)場嵌入式設備中,并駐留在有限的代碼空間內(nèi)。在當前的嵌入式應用領域, 多數(shù)嵌入式系統(tǒng)轉(zhuǎn)變?yōu)榍度胧絎 eb Server, 基于嵌入式設備的W eb服務器可以向任何接入它所在網(wǎng)絡的合法用戶提供統(tǒng)一的基于瀏覽器方式的操作和控制界面, 此時瀏覽器成了設備的前端控制板。
在嵌入式設備的管理與交互中, 基于W eb方式的應用成為目前的主流, 這種程序結(jié)構(gòu)也就是大家非常熟悉的B /S結(jié)構(gòu), 即在嵌入式設備上運行一個支持腳本或CG I功能的Web 服務器, 能夠生成動態(tài)頁面, 在用戶端只需要通過Web瀏覽器就可以對嵌入式設備進行管理和監(jiān)控 , 非常方便實用。
2 系統(tǒng)的硬件及體系結(jié)構(gòu)
2. 1 硬件設計平臺
本系統(tǒng)硬件平臺如圖1所示。本硬件系統(tǒng)結(jié)構(gòu)簡單、成本低, 不需要PC 機就可直接接人Internet。在客戶機上用標準瀏覽器通過In ternet就可以和嵌入式W eb 服務器通信, 成功取代了一臺專用PC服務器(插有專用的接口卡和以太網(wǎng)接口卡)或?qū)S玫耐ㄐ判酒7奖愕匾缘统杀緦崿F(xiàn)了很多嵌入式設備與In ternet直接互聯(lián)互通的需求。
圖1 硬件平臺。
2. 2 嵌入式w eb服務器的體系結(jié)構(gòu)
如圖2所示, 在本設計中客戶端使用W eb瀏覽器與W eb 服務器進行通信。W eb 服務器中使用HTTP協(xié)議, HTTP 是一個簡單的協(xié)議, 每次連接只完成一個請求??蛻舳伺cW eb服務器交換數(shù)據(jù)之前, 首先用TCP / IP建立連接, 服務器端程序建立TCP類型SOCKET 并在80端口進行通信, 服務器在接收到用戶端的請求后, 解析客戶請求的HTTP協(xié)議頭、分析客戶的請求, 根據(jù)客戶的請求返回相應的數(shù)據(jù)。
圖2.. 體系結(jié)構(gòu)圖。
3 技術分析及實現(xiàn)
3. 1 軟件需求及功能需求
根據(jù)本設計的要求, 軟件方面的需求過程如圖3所示。在圖中用戶作為核心需要完成相應的7個方面需求。具體為: 客戶獲取服務器當前目錄文件列表; 根據(jù)需求獲取指定文件, 將客戶請求的文件發(fā)送給客戶; 客戶根據(jù)需求將請求的HTML類型文件發(fā)送給客戶; 用戶獲取純文本文件; 獲取JPG 圖像文件; 獲取G IF圖像文件; 最后處理解析用戶請求,將請求信息解析為請求的命令、請求的文名和請求的文件類型。
根據(jù)上述需求, 實現(xiàn)這個過程的具體數(shù)據(jù)流程如圖4所示。構(gòu)造的整個系統(tǒng)的結(jié)構(gòu)如圖5所示。
由圖可知: 主程序首先建立環(huán)境設置并設置信號的處理方式, 建立偵聽TCP流方SOCKET 并綁定80端口, 然后接收到連接請求, 將請求傳送給連接處理模塊處理, 并繼續(xù)進行*。
3. 2 算法實現(xiàn)
實現(xiàn)本設計的算法流程如圖6所示。
4 測 試
首先建立好基于S3C2410嵌入式開發(fā)環(huán)境, 把編譯好的booloader、ARML inux 內(nèi)核和ramdisk 燒入F lash中, 把數(shù)據(jù)采集和跑馬燈應用程序編譯成動態(tài)鏈接, 編譯時一定要用arrmv41- unknown - linuxgcc編譯器, 一般情況只要我們在PC 機平臺上編譯好, 把makefile稍做修改就可以, W eb服務器和動態(tài)鏈接庫等其他文件必須在同一個目錄。運行時先起動設計服務器, 動態(tài)加載相關驅(qū)動, 在PC 機的瀏覽器上輸入嵌入式系統(tǒng)的IP地址, 采集的數(shù)據(jù)就可以動態(tài)地在網(wǎng)頁上顯示, 同時可以通過網(wǎng)頁上的控制按鈕來控制遠程設備的工作狀態(tài)。
本設計主要是實現(xiàn)本校主頁的動態(tài)顯示。在臺式機的瀏覽器中輸入http: / /192. 168. 0. 115( 115為UP- AMR2410- S 實驗板的IP 地址) , 觀察在客戶機的瀏覽器中的連接請求結(jié)果和在開發(fā)板上的服務器的打印信息。如圖7。
圖7 本機測試結(jié)果。
5 結(jié) 論
嵌入式W eb 服務器是實現(xiàn)嵌入式系統(tǒng)通過W eb方式與Internet互聯(lián)的關鍵組成部分, 直接影響網(wǎng)絡應用系統(tǒng)運行的質(zhì)量與效率, 對其進行研究對Internet技術的發(fā)展有重要意義。本作品提出一種基于ARM - L inux 操作系統(tǒng)的嵌入式W eb服務器的設計方法, 該嵌入式Web 服務器具有成本低、開放性好、可移植性強等優(yōu)點, 便于后期維護和升級。由于設計的嵌入式W eb服務器是一個單獨的模塊, 提供的是標準接口, 只要在軟件上作少許的修改就能很容易地應用到其他的嵌入式設備(如智能家電、現(xiàn)場節(jié)點等)中, 具有一定的推廣價值。
參考文獻:
[1]. PC datasheet