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