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