ARM7的嵌入式Web服务器设计技术
对handleConneetion()功能函数(请求报文分析程序)分析如下: 4 应用程序文件系统的构造 本设计采用HTML语言设计的嵌入式网页文件如图4所示。使用buildfs应用程序生成该网页文件的数据结构,如图5所示。 5 测试HTTP服务器的应用实例 图6中TCP/IP协议栈使用周立功公司提供的ZLG/IP软件包。修改软件包中的cfg_net.h文件,子网掩码设置为与PC机相同,IP地址设置为192.168.0.174(与PC机同一网段),网关设为PC机的IP地址。用双绞线将PC机与RJ45以太网接口相连,启动微处理器LPC2210。在PC机上打开Web浏览器,在地址栏输入http://192.168.O.174/server.html,将出现如图4所示的网页文件。此时,测得的室内温度为26 ℃。 结语
①在HTTP请求报文中进行读操作,从该套接字循环读取,直到满足以下两个条件之一:查找到Content_Length报头,确定报文报体大小;请求若为post方法,简单地查找+QUERY文本。
②处理HTTP请求类型。对请求报文的第一个令牌进行识别。如果为GET请求,则从中分析请求的文件名,使用lookupFilename()功能函数查找该文件名,若没有则发送适当的状态码给请求者,若有则调用returnFile原语通过套接字来发送请求文件。如果为HTTP POST请求,则再次分析文件名,然后通过call Dynamic Handle功能函数调用一个用户定义的功能处理请求。若既非GET请求,也非POST请求,则返回状态码“not implemented”。
本设计使用一个特殊的buildfs应用程序将网页文件编译为顺序的数据结构,它将网页文件所在的目录路径作为变量,将这个变量作为内容树的根。遍历内容树,将遇到的每个文件累计到应用程序文件系统结构中,并写入文件filedata.c。文件filedata.c作为工程文件的一部分,一同被编译、下载到硬件上。buildfs生成的应用程序文件系统结构如表1所列。当定位一个文件时,只需找到文件报头,将文件项目的文件名和源文件名进行比较。若文件匹配,则可将后来检索的元素调出。
本设计的软件平台构成如图6所示。硬件平台由NXP公司的32位ARM7微处理器LPC2210和RTL8019AS网卡芯片构成,如图7所示。LPC2210是基于一个支持实时仿真和嵌入跟踪的32/16位ARM7TDMI-SCPU。
在Parameters Setring栏中输入预设温度和开关的开或关,单击Upload按钮,在Web服务器的表单分析程序中会将预设值和开关值复制到用户缓冲器中,从而进行相应的处理。
本文介绍了基于ARM7微处理器LPC2210的嵌入式Web服务器的设计方法,并用一个应用实例对其进行了验证。结果表明,该方法是可行的,可用于对嵌入式设备进行远程监控的应用中。
嵌入式 相关文章:
- Linux嵌入式系统开发平台选型探讨(11-09)
- 基于Winodws CE的嵌入式网络监控系统的设计与实现(03-05)
- 嵌入式系统实时性的问题(06-21)
- 嵌入式实时系统中的优先级反转问题(06-10)
- 嵌入式Linux系统中MMC卡驱动管理技术研究(06-10)
- FPGA的DSP性能揭秘(06-16)