论文部分内容阅读
摘要:通过在单片机上实现网络化功能,从而进行远程控制已成为嵌入式系统发展的一个方向。本文就此需求介绍了动态Web Server的基本原理,讨论了在无操作系统单片机环境中开发动态Web Server的一种可行的方法。
关键词:单片机;动态Web Server;HTTP;HTML
中图分类号:TP368.1文献标识码:A文章编号:1007-9599 (2012) 02-0000-02
Implementation of Dynamic Web Server on MCU
Li Xingfu1,Gao Jingshu2,Hou Xuelian3
(1.Huachentel Technology Development Corpration,Shandong China,Jinan250101,China;2.Jinan Power Supply Company,Jinan250012,China;3.State Grid of China Technology College,Taishan Campus Information Center,Taian271000,China)
Abstract:Through nework functions on MCU to realize the remote control has become a direction of embedded system development.This article introduces the basic principles of the Dynamic Web Server,discussed a feasible method of developing dynamic Web Server in non-operating system chip microcomputer environment.
KeyWords:MCU;Dynamic Web Server;HTTP;HTML
在电力通讯及其它一些通讯应用中,越来越多的需要可以进行远程操作和配置的通讯设备。SNMP网管是一种比较通用的方法,但是在单机或者无网管系统的情况下,Web方式是一种更简便,甚至更有效的方法。在一些带操作系统(如Linux、vxWorks)的嵌入式系统中都有一些成熟的Web Server(如Boa、Go Ahead)解决方案可以使用,但是还有很多中、小型设备只能无操作系统的单片机作为主控,本文就是讨论在此环境下动态Web Server的具体实现。其中最大的难点是文件系统的模拟和CGI程序的实现。
一、Web Server、HTTP、HTML和CGI簡介
Web浏览器(如Internet Explorer)使用HTTP(Hypertext Transfer Protocol)协议与服务器(Web Server)进行交互,交互的内容主要使用HTML(HyperText Markup Language)语言描述。
HTTP定义了与服务器交互的不同方法,最基本的方法是GET和POST。GET适用于从服务器上获取数据,而POST主要用于更新站点。
表单(FORM)是HTML的一个重要部分。用户通过填写FORM向服务器请求或者提交数据,服务器根据用户的请求返回相应信息。FORM顶部的 ”
“ ”
……
“ ”
};
gif_logo表示一个名为“logo.gif”的gif图像文件,可以使用工具将真实的logo.gif文件按照十六进制方式转化成C语言数组的格式:
unsigned char gif_logo[]=
{
0x47,0x49,0x46,0x38,0x37,0x61,0x64
……
}
cgi_get代表一個名为“get.cgi”的CGI文件,其内部使用一个C语言函数来表示。此函数的主要作用是处理URL为./get.cgi带参数的GET请求,并把结果填充到HTTP发送缓冲区中。格式如下:
int cgi_get(int argc,char*argv[],char*httpsendbuf);
其中argc表示传入函数参数的个数,argv表示具体的参数,此处传入函数的参数即为HTTP GET请求所带的参数。
(二)Web Server设计流程
图4.1 Web Server设计流程图
四、结束语
本文详细分析了HTTP协议格式和HTML语言,提出了在无操作系统单片机上实现动态Web Server的一种切实可行的简便的方法。此方法已经大量应用在了变电所的一些光猫、接口转换器等设备上,且运行良好。
参考文献:
[1]RFC2616.Hypertext Transfer Protocol--HTTP/1.1
[2]Stevens.TCP/IP详解,卷3[M].北京:机械工业出版社,2001:129-141
[3]杜江.PHP5与MySQL5 Web开发技术详解[M].北京:电子工业出版社,2007:170-177
[4]刘伟,李小武,罗明.CGI技术全面接触[M].北京:清华大学出版社,2001:5-58
[5]马忠梅.单片机的C语言应用程序设计[M].北京:北京航天航空大学出版社,2007,4
[6]曾碧,蔡治,吕毅恒.基于ARM的嵌入式Web Server的构建技术[J].工业控制计算机,2007,7
[作者简介]李幸福,男,山东济南人,山东华辰泰尔科技发展有限公司,研发部,软件工程师;高靖姝,女,山东济南人,济南供电公司,信息中心,助理工程师;侯雪莲,女,山东济宁人,国网技术学院泰山校区信息中心,中级讲师。
关键词:单片机;动态Web Server;HTTP;HTML
中图分类号:TP368.1文献标识码:A文章编号:1007-9599 (2012) 02-0000-02
Implementation of Dynamic Web Server on MCU
Li Xingfu1,Gao Jingshu2,Hou Xuelian3
(1.Huachentel Technology Development Corpration,Shandong China,Jinan250101,China;2.Jinan Power Supply Company,Jinan250012,China;3.State Grid of China Technology College,Taishan Campus Information Center,Taian271000,China)
Abstract:Through nework functions on MCU to realize the remote control has become a direction of embedded system development.This article introduces the basic principles of the Dynamic Web Server,discussed a feasible method of developing dynamic Web Server in non-operating system chip microcomputer environment.
KeyWords:MCU;Dynamic Web Server;HTTP;HTML
在电力通讯及其它一些通讯应用中,越来越多的需要可以进行远程操作和配置的通讯设备。SNMP网管是一种比较通用的方法,但是在单机或者无网管系统的情况下,Web方式是一种更简便,甚至更有效的方法。在一些带操作系统(如Linux、vxWorks)的嵌入式系统中都有一些成熟的Web Server(如Boa、Go Ahead)解决方案可以使用,但是还有很多中、小型设备只能无操作系统的单片机作为主控,本文就是讨论在此环境下动态Web Server的具体实现。其中最大的难点是文件系统的模拟和CGI程序的实现。
一、Web Server、HTTP、HTML和CGI簡介
Web浏览器(如Internet Explorer)使用HTTP(Hypertext Transfer Protocol)协议与服务器(Web Server)进行交互,交互的内容主要使用HTML(HyperText Markup Language)语言描述。
HTTP定义了与服务器交互的不同方法,最基本的方法是GET和POST。GET适用于从服务器上获取数据,而POST主要用于更新站点。
表单(FORM)是HTML的一个重要部分。用户通过填写FORM向服务器请求或者提交数据,服务器根据用户的请求返回相应信息。FORM顶部的 ”
“ ”
……
“ ”
};
gif_logo表示一个名为“logo.gif”的gif图像文件,可以使用工具将真实的logo.gif文件按照十六进制方式转化成C语言数组的格式:
unsigned char gif_logo[]=
{
0x47,0x49,0x46,0x38,0x37,0x61,0x64
……
}
cgi_get代表一個名为“get.cgi”的CGI文件,其内部使用一个C语言函数来表示。此函数的主要作用是处理URL为./get.cgi带参数的GET请求,并把结果填充到HTTP发送缓冲区中。格式如下:
int cgi_get(int argc,char*argv[],char*httpsendbuf);
其中argc表示传入函数参数的个数,argv表示具体的参数,此处传入函数的参数即为HTTP GET请求所带的参数。
(二)Web Server设计流程
图4.1 Web Server设计流程图
四、结束语
本文详细分析了HTTP协议格式和HTML语言,提出了在无操作系统单片机上实现动态Web Server的一种切实可行的简便的方法。此方法已经大量应用在了变电所的一些光猫、接口转换器等设备上,且运行良好。
参考文献:
[1]RFC2616.Hypertext Transfer Protocol--HTTP/1.1
[2]Stevens.TCP/IP详解,卷3[M].北京:机械工业出版社,2001:129-141
[3]杜江.PHP5与MySQL5 Web开发技术详解[M].北京:电子工业出版社,2007:170-177
[4]刘伟,李小武,罗明.CGI技术全面接触[M].北京:清华大学出版社,2001:5-58
[5]马忠梅.单片机的C语言应用程序设计[M].北京:北京航天航空大学出版社,2007,4
[6]曾碧,蔡治,吕毅恒.基于ARM的嵌入式Web Server的构建技术[J].工业控制计算机,2007,7
[作者简介]李幸福,男,山东济南人,山东华辰泰尔科技发展有限公司,研发部,软件工程师;高靖姝,女,山东济南人,济南供电公司,信息中心,助理工程师;侯雪莲,女,山东济宁人,国网技术学院泰山校区信息中心,中级讲师。