摘要:主要介绍嵌入式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所示。