Cortex-M3平台上lwIP+AJAX的Web嵌入式应用
后台则包括服务器httpd程序设计,通过httpd响应前台index.htm网页请求。具体在Lwip/apps/httpserver_raw/fs.c中的struct fs_file *fs_open(char *name)函数中,增加对/PlantRT.xml请求的响应,详细软件可参考附件III服务器代码段部分。
将制作好的网页index.htm及AJAX代码ajax.js,样式mchp.css及logo图片sjtulogo.png等网页文件,通过TI提供的makefsfile.exe(此软件可在TI网站上下载)软件转换成webhtml.h文件,将此webhtml.h添加到整个软件工程中并编译整个工作软件,编译完成后下载到LM3S9D96中,即可实现嵌入式平台下的AJAX动态网页刷新。若要实现通过手机浏览index.htm的支持,只需要在设计样式mchp.css时考虑网页的缩放比例即可。
方案验证
在TI CCS5.1开发环境中编译整个系统软件成功后,通过XDS100V2仿真器与LM3S9D96的JTAG接口相连,将工程xx.bin文件下载到Flash中后给系统重新上电即可运行。
可借助网络分析软件如国外用的比较广的Sniffer,或是国内的科来网络分析系统等对AJAX工作时的数据报文进行分析,图7是index.htm网页正常工作时的效果。
总结
本文基于Lwip TCP/IP以太网协议栈将AJAX动态网页设计技术应用于嵌入式Cortex-M3平台上,实现Web嵌入式应用。相比于CGI技术,AJAX实现简易,移植性强。所选Cortex-M3平台内部集成PHY,功能强悍,lwIP TCP/IP以太网协议栈和实时操作系统FreeRTOS均是开源、免费,对于成本较敏感的网络互联产品提供了一种解决方案,并给出了硬件原理图及软件代码。(附件略)
参考文献:
[1] 吴巍,等.物联网与泛在网通信技术[M].北京:电子工业出版社,2012-06-01
[2] CGI Programming with Perl. Scott Guelich,Shishir Gundavaram, Gunther Birznieks[M].O'Reilly Media, 2000-07-06
[3] CGI-ASP-PHP-JSP-ASP.NE网站开发语言比较[EB/OL].http://blog.sina.com.cn/s/blog_6c8d8f7001016i2k.html.2013-03-27
[4] Adam Dunkels. Design and Implementation of the LwIP TCP/IP Stack[M].2001
[5] Anthony T.Holdener III. Ajax: The Definitive Guide[M].O'Reilly Media, 2008-02-01
[6] Ajax中国[EB/OL].http://www.okajax.com/a/200811/111D1M2008.html. 2013-03-27
[7] Joseph Yiu[著],宋岩[译].Cortex-M3权威指南[M].北京:北京航空航天大学出版社,2009-07-01
[8] SafeRTOS User Manual[Z].Texas Instruments Incorporated
[9] lwIP Documentation[EB/OL].http://lwip.nongnu.org/
[10] w3school[EB/OL].http://www.w3school.com.cn/h.asp
linux相关文章:linux教程
评论