基于ARM平台嵌入式Web服务器设计.docVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于ARM平台嵌入式Web服务器设计

基于ARM平台嵌入式Web服务器设计   摘 要:由于嵌入式设备硬件资源有限,传统的Web服务搭建已不适用于现实需求。提出了基于Boa和CGI建立Web服务的理念,以解决远程控制、访问、监控嵌入式设备的问题。重点分析了嵌入式服务器的设计理念和Boa服务器的移植以及CGI的实现。将该设计应用于智能监控系统,使用结果表明:该嵌入式服务器运行稳定、速度相对较快、简单安全,达到了预期目标。   关键词:嵌入式;Web服务;智能监控;Boa;CGI   DOIDOI:10.11907/rjdk.151283   中图分类号:TP303 文献标识码:A 文章编号文章编号:1672-7800(2015)007-0010-03   0 引言   随着互联网技术的发展,越来越多的电子设备和个人电脑通过网络进行互联。嵌入式系统和设备近几年进入了高速发展时期,在工业控制和智能家居等领域得到了广泛应用。将嵌入式设备通过网络接入因特网或局域网以实现远程管理和监控,需要用到专门针对于嵌入式的Web服务器。用户可以使用浏览器作为接口来访问嵌入式设备,这样不仅能使嵌入式设备易用性大大提高,而且方便统一管理[1]。   1 嵌入式Web服务器设计   1.1 设计原理   嵌入式系统的特点就是软硬件可裁剪,以及功能的专用性[2],在处理器以及RAM和ROM受限的情况下,传统的Web服务器搭建在嵌入式设备上已不再适用。有的嵌入式系统没有文件系统或TCP/IP协议栈,在嵌入式设备资源受限的情况下,保证嵌入式Web服务器正常运行十分困难。为解决以上问题,结合当前嵌入式Web服务器的设计需求提出如下方案:将Boa服务器移植到嵌入式设备中,使其具备嵌入式Web服务器功能,并借助通用网关接口(Common Gateway Interface,CGI)技术连入到互联网,实现现场数据与嵌入式Web服务器之间的实时动态交互。   1.2 Boa与CGI组合实现原理   Boa是一款非常小巧的Web服务器,源代码开放、性能优秀,支持CGI通用网关接口技术,特别适合应用在嵌入式系统中。Boa服务器主要功能是在互联嵌入式设备之间进行信息交互,达到通过网络对嵌入式设备进行监控、并将反馈信息自动上传给主控设备的目的。它基于HTTP超文本传输协议,Web网页是Web服务最基本的传输单元。嵌入式Web服务的工作基于客户机/服务器计算模型,由Web浏览器(客户机)和Web服务器(服务器)构成,也即著名的B/S结构。   运行于客户端的浏览器首先要与嵌入式Web服务器Boa端建立连接:打开一个套接字虚拟文件,此文件建立标志着SOCKET连接建立成功。然后客户端浏览器通过套接字SOCKET以GET或者POST参数传递方式向Web服务器提交请求,Web浏览器提交请求后,通过HTTP协议传送给Web服务器。Web服务器接到请求后,根据请求的不同进行事务处理,返回HTML文件或者通过CGI调用外部应用程序,返回处理结果。服务器通过CGI与外部应用程序和脚本之间进行交互,根据客户端浏览器在请求时所采用的方法,服务器会搜集客户提供的信息,并将该部分信息发送给指定的CGI扩展程序,CGI扩展程序进行信息处理并将结果返回给服务器。然后服务器对信息进行分析,并将结果发送回客户端在浏览器上显示出来,其工作原理如图1所示。   2 嵌入式系统功能实现   2.1 Boa配置及在ARM上的移植流程   Boa的源程序从boa.c中的main( )主函数开始执行。在该源程序中对Web服务器进行配置:为了在用户访问Web服务器时能确定根目录的位置,首先需要指定服务器的根目录路径服务器,fixup_server root( )函数用来设置该服务器的根目录;接着read_config_files( )函数对其它服务器所需的参数进行配置,比如服务器端口server_port、服务器名server_name、根文件目录document_root等,其余大部分参数要专门从boa.conf文件中读取,然后为CGI脚本设置环境变量。   这些配置都正确完成后,就为Boa创建套接字,使用TCP/IP协议,创建一个特别适合嵌入式系统的Web服务器。Boa移植流程如图2所示。   2.2 Html页面设计   一般来说,浏览器只能通过HTTP请求,从服务器端获取静态页面,若用户想要通过浏览器提交一些数据或者参数给服务器处理,并要得到处理结果,达到用户和服务器的双向交互,就需要HTML表单,即form[3]。   HTML表单是专门用于用户从浏览器提交数据到服务器的一种常用方式,它由普通的HTML元素组成。用户通过填写或操作页面空间,通过提交表单的方式发送到服务器端进行处理。以下是一个表单示例:   从

文档评论(0)

fangsheke66 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档