新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 基于LINUX 的嵌入式WEB 服務(wù)器的設(shè)計(jì)

基于LINUX 的嵌入式WEB 服務(wù)器的設(shè)計(jì)

作者: 時(shí)間:2017-11-23 來(lái)源:網(wǎng)絡(luò) 收藏

  1 引 言

本文引用地址:http://2s4d.com/article/201711/371946.htm

  PC 機(jī)時(shí)代的到來(lái)引發(fā)了信息產(chǎn)品的產(chǎn)生, 而Interne t與信息產(chǎn)品的結(jié)合是當(dāng)今發(fā)展的一個(gè)趨勢(shì),嵌入式Internet技術(shù)的產(chǎn)生正好迎合了這個(gè)趨勢(shì)。

  由于Internet技術(shù)的滲透, 嵌入式系統(tǒng)正變得越來(lái)越智能化并具有越來(lái)越多的網(wǎng)絡(luò)友好特性。本文主要對(duì)嵌入式Web 服務(wù)器技術(shù)進(jìn)行了設(shè)計(jì)并測(cè)試,W eb服務(wù)器的功能是*客戶端的服務(wù)請(qǐng)求, 并根據(jù)客戶請(qǐng)求的類型提供相應(yīng)服務(wù)。嵌入式W eb服務(wù)器是指將W eb服務(wù)器引入到現(xiàn)場(chǎng)嵌入式設(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è)備的前端控制板。

  在嵌入式設(shè)備的管理與交互中, 基于W eb方式的應(yīng)用成為目前的主流, 這種程序結(jié)構(gòu)也就是大家非常熟悉的B /S結(jié)構(gòu), 即在嵌入式設(shè)備上運(yùn)行一個(gè)支持腳本或CG I功能的Web 服務(wù)器, 能夠生成動(dòng)態(tài)頁(yè)面, 在用戶端只需要通過(guò)Web瀏覽器就可以對(duì)嵌入式設(shè)備進(jìn)行管理和監(jiān)控 , 非常方便實(shí)用。

  2 系統(tǒng)的硬件及體系結(jié)構(gòu)

  2. 1 硬件設(shè)計(jì)平臺(tái)

  本系統(tǒng)硬件平臺(tái)如圖1所示。本硬件系統(tǒng)結(jié)構(gòu)簡(jiǎn)單、成本低, 不需要PC 機(jī)就可直接接人Internet。在客戶機(jī)上用標(biāo)準(zhǔn)瀏覽器通過(guò)In ternet就可以和嵌入式W eb 服務(wù)器通信, 成功取代了一臺(tái)專用PC服務(wù)器(插有專用的接口卡和以太網(wǎng)接口卡)或?qū)S玫耐ㄐ判酒?。方便地以低成本?shí)現(xiàn)了很多嵌入式設(shè)備與In ternet直接互聯(lián)互通的需求。

    

1.jpg

  圖1 硬件平臺(tái)

  2. 2 嵌入式w eb服務(wù)器的體系結(jié)構(gòu)

  如圖2所示, 在本設(shè)計(jì)中客戶端使用W eb瀏覽器與W eb 服務(wù)器進(jìn)行通信。W eb 服務(wù)器中使用HTTP協(xié)議, HTTP 是一個(gè)簡(jiǎn)單的協(xié)議, 每次連接只完成一個(gè)請(qǐng)求??蛻舳伺cW eb服務(wù)器交換數(shù)據(jù)之前, 首先用TCP / IP建立連接, 服務(wù)器端程序建立TCP類型SOCKET 并在80端口進(jìn)行通信, 服務(wù)器在接收到用戶端的請(qǐng)求后, 解析客戶請(qǐng)求的HTTP協(xié)議頭、分析客戶的請(qǐng)求, 根據(jù)客戶的請(qǐng)求返回相應(yīng)的數(shù)據(jù)。

    

2.jpg

  圖2.. 體系結(jié)構(gòu)圖

  3 技術(shù)分析及實(shí)現(xiàn)

  3. 1 軟件需求及功能需求

  根據(jù)本設(shè)計(jì)的要求, 軟件方面的需求過(guò)程如圖3所示。在圖中用戶作為核心需要完成相應(yīng)的7個(gè)方面需求。具體為: 客戶獲取服務(wù)器當(dāng)前目錄文件列表; 根據(jù)需求獲取指定文件, 將客戶請(qǐng)求的文件發(fā)送給客戶; 客戶根據(jù)需求將請(qǐng)求的HTML類型文件發(fā)送給客戶; 用戶獲取純文本文件; 獲取JPG 圖像文件; 獲取G IF圖像文件; 最后處理解析用戶請(qǐng)求,將請(qǐng)求信息解析為請(qǐng)求的命令、請(qǐng)求的文名和請(qǐng)求的文件類型。

  根據(jù)上述需求, 實(shí)現(xiàn)這個(gè)過(guò)程的具體數(shù)據(jù)流程如圖4所示。構(gòu)造的整個(gè)系統(tǒng)的結(jié)構(gòu)如圖5所示。

    

3.jpg

 

4.jpg

  由圖可知: 主程序首先建立環(huán)境設(shè)置并設(shè)置信號(hào)的處理方式, 建立偵聽TCP流方SOCKET 并綁定80端口, 然后接收到連接請(qǐng)求, 將請(qǐng)求傳送給連接處理模塊處理, 并繼續(xù)進(jìn)行*。

  3. 2 算法實(shí)現(xiàn)

  實(shí)現(xiàn)本設(shè)計(jì)的算法流程如圖6所示。

    

1.jpg

  4 測(cè) 試

  首先建立好基于S3C2410嵌入式開發(fā)環(huán)境, 把編譯好的booloader、ARML inux 內(nèi)核和ramdisk 燒入F lash中, 把數(shù)據(jù)采集和跑馬燈應(yīng)用程序編譯成動(dòng)態(tài)鏈接, 編譯時(shí)一定要用arrmv41- unknown - linuxgcc編譯器, 一般情況只要我們?cè)赑C 機(jī)平臺(tái)上編譯好, 把makefile稍做修改就可以, W eb服務(wù)器和動(dòng)態(tài)鏈接庫(kù)等其他文件必須在同一個(gè)目錄。運(yùn)行時(shí)先起動(dòng)設(shè)計(jì)服務(wù)器, 動(dòng)態(tài)加載相關(guān)驅(qū)動(dòng), 在PC 機(jī)的瀏覽器上輸入嵌入式系統(tǒng)的IP地址, 采集的數(shù)據(jù)就可以動(dòng)態(tài)地在網(wǎng)頁(yè)上顯示, 同時(shí)可以通過(guò)網(wǎng)頁(yè)上的控制按鈕來(lái)控制遠(yuǎn)程設(shè)備的工作狀態(tài)。

  本設(shè)計(jì)主要是實(shí)現(xiàn)本校主頁(yè)的動(dòng)態(tài)顯示。在臺(tái)式機(jī)的瀏覽器中輸入http: / /192. 168. 0. 115( 115為UP- AMR2410- S 實(shí)驗(yàn)板的IP 地址) , 觀察在客戶機(jī)的瀏覽器中的連接請(qǐng)求結(jié)果和在開發(fā)板上的服務(wù)器的打印信息。如圖7。

    

2.jpg

  圖7 本機(jī)測(cè)試結(jié)果

  5 結(jié) 論

  嵌入式W eb 服務(wù)器是實(shí)現(xiàn)嵌入式系統(tǒng)通過(guò)W eb方式與Internet互聯(lián)的關(guān)鍵組成部分, 直接影響網(wǎng)絡(luò)應(yīng)用系統(tǒng)運(yùn)行的質(zhì)量與效率, 對(duì)其進(jìn)行研究對(duì)Internet技術(shù)的發(fā)展有重要意義。本作品提出一種基于ARM - L inux 操作系統(tǒng)的嵌入式W eb服務(wù)器的設(shè)計(jì)方法, 該嵌入式Web 服務(wù)器具有成本低、開放性好、可移植性強(qiáng)等優(yōu)點(diǎn), 便于后期維護(hù)和升級(jí)。由于設(shè)計(jì)的嵌入式W eb服務(wù)器是一個(gè)單獨(dú)的模塊, 提供的是標(biāo)準(zhǔn)接口, 只要在軟件上作少許的修改就能很容易地應(yīng)用到其他的嵌入式設(shè)備(如智能家電、現(xiàn)場(chǎng)節(jié)點(diǎn)等)中, 具有一定的推廣價(jià)值。



關(guān)鍵詞: LINUX 嵌入式WEB

評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉