基于LINUX 的嵌入式WEB 服務器的設計
1 引 言
本文引用地址:http://www.104case.com/article/201711/371946.htmPC 機時代的到來引發了信息產品的產生, 而Interne t與信息產品的結合是當今發展的一個趨勢,嵌入式Internet技術的產生正好迎合了這個趨勢。
由于Internet技術的滲透, 嵌入式系統正變得越來越智能化并具有越來越多的網絡友好特性。本文主要對嵌入式Web 服務器技術進行了設計并測試,W eb服務器的功能是*客戶端的服務請求, 并根據客戶請求的類型提供相應服務。嵌入式W eb服務器是指將W eb服務器引入到現場嵌入式設備中,并駐留在有限的代碼空間內。在當前的嵌入式應用領域, 多數嵌入式系統轉變為嵌入式W eb Server, 基于嵌入式設備的W eb服務器可以向任何接入它所在網絡的合法用戶提供統一的基于瀏覽器方式的操作和控制界面, 此時瀏覽器成了設備的前端控制板。
在嵌入式設備的管理與交互中, 基于W eb方式的應用成為目前的主流, 這種程序結構也就是大家非常熟悉的B /S結構, 即在嵌入式設備上運行一個支持腳本或CG I功能的Web 服務器, 能夠生成動態頁面, 在用戶端只需要通過Web瀏覽器就可以對嵌入式設備進行管理和監控 , 非常方便實用。
2 系統的硬件及體系結構
2. 1 硬件設計平臺
本系統硬件平臺如圖1所示。本硬件系統結構簡單、成本低, 不需要PC 機就可直接接人Internet。在客戶機上用標準瀏覽器通過In ternet就可以和嵌入式W eb 服務器通信, 成功取代了一臺專用PC服務器(插有專用的接口卡和以太網接口卡)或專用的通信芯片。方便地以低成本實現了很多嵌入式設備與In ternet直接互聯互通的需求。

圖1 硬件平臺
2. 2 嵌入式w eb服務器的體系結構
如圖2所示, 在本設計中客戶端使用W eb瀏覽器與W eb 服務器進行通信。W eb 服務器中使用HTTP協議, HTTP 是一個簡單的協議, 每次連接只完成一個請求。客戶端與W eb服務器交換數據之前, 首先用TCP / IP建立連接, 服務器端程序建立TCP類型SOCKET 并在80端口進行通信, 服務器在接收到用戶端的請求后, 解析客戶請求的HTTP協議頭、分析客戶的請求, 根據客戶的請求返回相應的數據。

圖2.. 體系結構圖
3 技術分析及實現
3. 1 軟件需求及功能需求
根據本設計的要求, 軟件方面的需求過程如圖3所示。在圖中用戶作為核心需要完成相應的7個方面需求。具體為: 客戶獲取服務器當前目錄文件列表; 根據需求獲取指定文件, 將客戶請求的文件發送給客戶; 客戶根據需求將請求的HTML類型文件發送給客戶; 用戶獲取純文本文件; 獲取JPG 圖像文件; 獲取G IF圖像文件; 最后處理解析用戶請求,將請求信息解析為請求的命令、請求的文名和請求的文件類型。
根據上述需求, 實現這個過程的具體數據流程如圖4所示。構造的整個系統的結構如圖5所示。


由圖可知: 主程序首先建立環境設置并設置信號的處理方式, 建立偵聽TCP流方SOCKET 并綁定80端口, 然后接收到連接請求, 將請求傳送給連接處理模塊處理, 并繼續進行*。
3. 2 算法實現
實現本設計的算法流程如圖6所示。

4 測 試
首先建立好基于S3C2410嵌入式開發環境, 把編譯好的booloader、ARML inux 內核和ramdisk 燒入F lash中, 把數據采集和跑馬燈應用程序編譯成動態鏈接, 編譯時一定要用arrmv41- unknown - linuxgcc編譯器, 一般情況只要我們在PC 機平臺上編譯好, 把makefile稍做修改就可以, W eb服務器和動態鏈接庫等其他文件必須在同一個目錄。運行時先起動設計服務器, 動態加載相關驅動, 在PC 機的瀏覽器上輸入嵌入式系統的IP地址, 采集的數據就可以動態地在網頁上顯示, 同時可以通過網頁上的控制按鈕來控制遠程設備的工作狀態。
本設計主要是實現本校主頁的動態顯示。在臺式機的瀏覽器中輸入http: / /192. 168. 0. 115( 115為UP- AMR2410- S 實驗板的IP 地址) , 觀察在客戶機的瀏覽器中的連接請求結果和在開發板上的服務器的打印信息。如圖7。

圖7 本機測試結果
5 結 論
嵌入式W eb 服務器是實現嵌入式系統通過W eb方式與Internet互聯的關鍵組成部分, 直接影響網絡應用系統運行的質量與效率, 對其進行研究對Internet技術的發展有重要意義。本作品提出一種基于ARM - L inux 操作系統的嵌入式W eb服務器的設計方法, 該嵌入式Web 服務器具有成本低、開放性好、可移植性強等優點, 便于后期維護和升級。由于設計的嵌入式W eb服務器是一個單獨的模塊, 提供的是標準接口, 只要在軟件上作少許的修改就能很容易地應用到其他的嵌入式設備(如智能家電、現場節點等)中, 具有一定的推廣價值。
評論