ARM7的嵌入式Web服務(wù)器設(shè)計(jì)技術(shù)
摘要:主要介紹嵌入式Web服務(wù)器技術(shù)的設(shè)計(jì)思想和軟件設(shè)計(jì)流程,以及應(yīng)用程序文件系統(tǒng)的構(gòu)造,將網(wǎng)頁文件轉(zhuǎn)化為可編譯的數(shù)據(jù)結(jié)構(gòu);并以32位ARM7微處理器LPC2210為硬件平臺(tái),在源碼公開的ZLG/IP軟件包的支持下,給出了一個(gè)嵌入式Web服務(wù)器的應(yīng)用實(shí)例。
關(guān)鍵詞:Web服務(wù)器;應(yīng)用程序文件系統(tǒng);LPC2210;ZLG/IP軟件包
1 概述
隨著嵌入式技術(shù)和網(wǎng)絡(luò)技術(shù)的發(fā)展,嵌入式設(shè)備通過網(wǎng)絡(luò)接入局域網(wǎng)或者Internet逐步成為一種發(fā)展趨勢(shì)。嵌入式Web服務(wù)器技術(shù)以其良好的通用性和交互性為嵌入式設(shè)備提供網(wǎng)絡(luò)接口,對(duì)嵌入式設(shè)備實(shí)現(xiàn)遠(yuǎn)程管理和控制,是實(shí)現(xiàn)嵌入式設(shè)備網(wǎng)絡(luò)化的重要技術(shù)。
本設(shè)計(jì)提出的基于ARM7的嵌入式Web服務(wù)器設(shè)計(jì)有三大技術(shù)亮點(diǎn):
①采用瀏覽器/服務(wù)器(B/S)通信架構(gòu)。與客戶機(jī)/服務(wù)器通信架構(gòu)相比,B/S架構(gòu)無需在客戶端上開發(fā)專門的應(yīng)用軟件,只需從瀏覽器上輸入IP地址,直接對(duì)設(shè)備進(jìn)行遠(yuǎn)程監(jiān)控。
②傳統(tǒng)的Web服務(wù)器需要一個(gè)數(shù)據(jù)庫系統(tǒng)的支持用來保存內(nèi)容,因而對(duì)用于存儲(chǔ)的硬件設(shè)備要求更高,增加了成本。本設(shè)計(jì)只需構(gòu)建一個(gè)簡單的文件系統(tǒng)對(duì)網(wǎng)頁文件進(jìn)行管理,通過網(wǎng)頁轉(zhuǎn)換程序?qū)⒕W(wǎng)頁文件轉(zhuǎn)換為十六進(jìn)制的可編譯的數(shù)據(jù)結(jié)構(gòu),是一種直接綁定在一個(gè)應(yīng)用程序
上面的文件系統(tǒng)。
③本設(shè)計(jì)構(gòu)造的Web服務(wù)器提供動(dòng)態(tài)內(nèi)容和動(dòng)態(tài)表單的支持,能滿足一般嵌入式設(shè)備的應(yīng)用要求。
2 HTTP協(xié)議討論
HTTP(超文本傳輸協(xié)議)是一種應(yīng)用層協(xié)議。Web服務(wù)器是基于HTTP協(xié)議運(yùn)行的,Web服務(wù)器和Web客戶機(jī)之間通過HTTP協(xié)議來進(jìn)行通信。在進(jìn)行通信前,先要建立客戶機(jī)與服務(wù)器之間的連接:啟動(dòng)Web服務(wù)器,啟動(dòng)后服務(wù)器將監(jiān)聽80端口號(hào),Web客戶機(jī)發(fā)送一個(gè)動(dòng)態(tài)隨機(jī)產(chǎn)生的連接端口號(hào)連上服務(wù)器,從而建立一個(gè)通信通道。
HTTP協(xié)議基于請(qǐng)求/響應(yīng)模式。一個(gè)客戶機(jī)與服務(wù)器建立好連接后,向服務(wù)器發(fā)送一個(gè)請(qǐng)求報(bào)文,服務(wù)器接到請(qǐng)求后給予相應(yīng)的響應(yīng)信息。響應(yīng)信息的格式為一個(gè)狀態(tài)行(包括信息的HTTP協(xié)議版本號(hào)、一個(gè)成功或錯(cuò)誤的代碼),再跟上MIME信息(包括某些通用且詳細(xì)的有關(guān)應(yīng)答的信息,如可選報(bào)頭、報(bào)文報(bào)體等)。HTTP協(xié)議結(jié)構(gòu)如圖1所示。
3 嵌入式Web服務(wù)器的設(shè)計(jì)
3.1 嵌入式Web服務(wù)器設(shè)計(jì)思想
嵌入式Web服務(wù)器主要有以下2個(gè)用途:根據(jù)Web客戶機(jī)的請(qǐng)求為其提供設(shè)備運(yùn)行狀態(tài)、參數(shù);從客戶機(jī)提取控制信息,更改設(shè)備運(yùn)行參數(shù)等。由于嵌入式系統(tǒng)資源的有限性,本文設(shè)計(jì)的Web服務(wù)器具有很強(qiáng)的針對(duì)性,具體包含以下性能:
①對(duì)動(dòng)態(tài)內(nèi)容和動(dòng)態(tài)表單的支持,Web服務(wù)器只需處理GET和POST請(qǐng)求方法,無需提供對(duì)其他請(qǐng)求方法的支持。
②用于內(nèi)容保存的“應(yīng)用程序”文件系統(tǒng),即將內(nèi)容文件轉(zhuǎn)換成數(shù)據(jù)結(jié)構(gòu),直接綁定在一個(gè)應(yīng)用程序上面。
③嵌入式Web服務(wù)器只實(shí)現(xiàn)與系統(tǒng)控制相關(guān)的頁面。
嵌入式Web服務(wù)器模型層次如圖2所示。
評(píng)論