用W5500构成的低成本嵌入式Web服务
2016-08-31茅胜荣肖家文乔东海
茅胜荣,肖家文,乔东海
(苏州大学 电子信息学院,苏州215006)
茅胜荣,肖家文,乔东海
(苏州大学 电子信息学院,苏州215006)
在HTML5的时代下,随着Web服务器的数量与日俱增,B/S(Browser/Server)模型得到了更加广泛的应用。在嵌入式领域,客户端可以实现远程监控服务器的功能,这不仅需要服务器解析用户请求,而且需要对用户指令作出快速准确的响应。本文在OSI互联参考模型的基础上,深入研究HTTP通信机制,抛弃了现有复杂的Web服务器框架,自主搭建了一个在单片机上运行的Web服务器,它能即时响应HTML网页、JavaScript脚本和CSS样式的请求,且具有占用资源少、运行效率高、安全性好、低功耗、低成本的特点。
Web服务器;W5500;嵌入式以太网;DHCP协议;HTTP协议
引 言
在PC上搭建Web服务器的主流做法是LAMP(Linux+Apache+MySQL+PHP)或者LNMP(Linux+Nginx+MySQL+PHP),这两种方式都需要底层操作系统的支持。而在一些点对点通信的物联网情境中,如果用户想通过浏览器或者App向节点发送请求,那么前面两种框架就显得冗余、复杂且成本高。本文通过对HTTP通信机制的研究,在MSP430单片机和W5500以太网芯片上搭建了一个精简、安全的Web服务器。
1 W5500芯片介绍
传统的以太网芯片例如ENC28J60、DM9000,仅封装了PHY(物理层)和MAC(介质访问控制层),从网络层开始都需要软件实现,如LwIP协议栈。软件协议栈占用的系统资源是非常可观的,如果运行在低性能的处理器上,处理器将无法及时响应用户的请求。而本文采用的W5500芯片不仅集成了PHY和MAC层,内部的逻辑门电路还实现了TCP/IP协议栈里的传输层和网络层,如TCP、UDP、ICMP、IPv4、IGMP等协议[1],这样主控芯片只需要承担TCP/IP应用层控制信息的逻辑任务,大大提高了系统效率。……
