基于ARM的嵌入式Web服务器设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

1第1页共16页题目:基于ARM的嵌入式Web服务器设计与实现学号:1308010139姓名:吴明川班级:1308010139专业:计算机科学与技术课程老师:孔军二零一六年五月2第2页共16页摘要随着计算机、网络通信和Internet技术的飞速发展和不断进步,嵌入式系统在家庭和工业应用越来越广泛。如何将嵌入式系统和工业控制系统接入Internet,综合利用嵌入式系统资源,实现嵌入式系统的远程管理和控制,已成为倍受关注的研究课题,而实现嵌入式系统的网络化则成为嵌入式系统的发展趋势。网络通信时,应用程序使用C/S(客户/服务器)模式进行信息交互。传统的服务器程序一般运行在大型的拥有高级操作系统的服务器的计算机上,这样服务器软件需要强大的硬件和系统软件支持。嵌入式网络服务器是利用嵌入式系统实现服务器的软件和硬件功能,是嵌入式技术和网络技术相结合的产物。与传统服务器相比,嵌入式Web服务器具有结构简单、体积小、可靠性强以及方便灵活等特点。这些让它具有很大的发展潜力。另一方面,嵌入式Web服务器与传统的web服务器相比,也受到一些限制。传统的Web服务器主要用于处理较大的客户量的同时并发访问,硬件方面有强大的处理器和内存支持,软件方面有商业数据库支持,而嵌入式Web服务器的处理能力和存储容量都有限,这就要求嵌入式Web服务器在设计过程中需要尽量合理利用资源。将嵌入式技术与Web技术相结合,已成为目前嵌入式系统的一个重要发展方向和必然趋势。利用源代码开放的uClinux为操作系统平台,实现了以ARM微处理器为核心的嵌入式Web服务器,在分析了嵌入式Web服务器的体系结构后,给出了系统的硬件结构组成和软件设计。对Web服务器的测试结果表明,该服务器运行稳定、控制方便,将在智能家居、远程数据采集、工业控制等领域有着广泛的应用前景。关键词:网络通信;嵌入式系统;ARM处理器;uClinux;Boa服务器;3第3页共16页引言随着Internet技术的飞速发展,导致许多领域的传统控制方式发生变革。这些领域的控制系统可以通过Web服务器接入Internet,这样用户在世界任何一个地方都可以通过Internet获取Web服务器提供的信息,进而实现系统的远程控制和管理。但以具有高运算处理能力和海量存储容量的工作站或PC机为硬件平台,以非实时操作系统为软件平台,运行着大型复杂程序的传统Web服务器,并非在任何环境下都适用,尤其是对实时性要求比较高的领域,如工业控制、远程数据采集等。基于嵌入式系统的Web服务器的出现,为以上问题的解决开辟了一条新途径。1发展背景随着计算机技术的发展,嵌入式系统已成为计算机领域的一个重要组成部分。广义讲,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。所谓嵌入式设备,是指具有计算机功能,但又不称为计算机的设备或器材,几乎包括了我们周期的所有电路设备:PDA、手机机顶盒、汽车、微波炉、电梯、安全系统、自动售货机、医疗仪器、自动取款机等。嵌入式系统可以通过各种无线形式(如WAP、BlueTooth等)和有线形式(TCP/IP、PPP等)的网络连接方式实现它们之间的相互连接,因此,在网络通信市场上极具生命力。现在人们对Internet应用的依赖程序日渐增加,也促进了嵌入式技术的增长。信息家电的发展也为嵌入式Internet技术提供空间,如面向Internet的信息冰箱。这种信息家电的特点就是价格低廉、软件功能强大、全面支持Internet访问、软件可通过网络升级、有效保护用户投资。嵌入式Internet技术主要包括传感器技术、通信技术、计算机技术和集成电路技术等。以前的设备控制系统一般是通过专用通信线中进行的,其通信介质、通信协议、相关软件和硬件都是专用的,而Internet技术的发展使嵌入式设备的远程控制和管理方式有了改变。不需要专用的通信线路,并且传输的信息不局局于数据信号,还有声音和图像。最重要的是其通信协议是标准且公开的。随着Web技术的发展,几乎改变了现在的信息表达形式,很多应用都是基于Web技术的。由于HTML语言的标准统一性,只要在嵌入式设备中有一个微型服务器,就可以使用任意一种Web浏览器接收和发送信息。所以如何设计这种特别Web服务器,如何在嵌入式设备中安装Web服务器,就成了嵌入式Web服务器的发展和研究方向。对于嵌入式Web服务器的研究和应用,其意义是重大的。它为我们管理、控制和监测各种各样设备提供了一个很好的途径。这种设备可以是具有有限内存资源的8位或16位系统,已足够提供一个用户界面,而且这种方式是基于Internet的。这种设备可以在世界任何一个地方,只要它连入Internet就能够控制它。4第4页共16页1.1课题的研究意义Internet的迅猛发展,传统的Client/server体系结构(客户机/服务器),渐渐的在某些方面显示出它的局限性,Browser/server结构(浏览器/服务器)的出现恰恰弥补了这种缺陷。B/S方式已成为一种时尚,大部分网络应用系统都是以这种B/S方式与网络用户交换信息。B/S的基础是客户端要有一个浏览器程序,服务器端要有一个与之对应的Web服务器。显然,Web服务器在B/S方式下起着决定性的作用,因此,一般互联网站都采用功能强大的通用Web服务器。随着网络各个核心部分业务量的提高,其访问量和数据流量快速增长,处理能力和计算强度也相应增大,使得单一设备根本无法承担,而且许多企业级应用系统的应用请求具有突发性和紧急性的特点,当应用访问急剧上升时,容易造成网络瓶颈。解决这一问题的办法是采用多台嵌入式Web服务器为一个应用服务,集群负载均衡机制就是为解决多个网络设备之间实现合理的业务量分配而提出的。1.2论文研究内容嵌入式Web服务器是指将Web服务器引入到现场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统的测试和控制设备转变为具备了以TCP/IP为底层通信协议,Web技术为核心的基于互联网的网络测试和控制设备。EWS系统与传统的Web应用相比,简化了系统结构,将信息采集和信息发布都集成到现场的测控设备中。而有了标准的接口形式和通信协议,内嵌于设备的从Web服务器同样可以向任何接入它所在网络的合法用户提供统一的基于浏览器方式的操作和控制界面,浏览器成了设备的前端控制板。由于Web技术的开放性和独立平台特性,大大降低了软件系统和通信系统的设计、维护工作量,节省了人员培训费用等,提高了现场测试和控制设备的管理水平。本文设计的基于ARM的嵌入式Web服务器,响应速度快,实时性强,用户通过浏览器中的表单向服务器发送控制信息,操作方便、快捷,经过适当修改,能够很好地适应智能家居等远程监控的需要。2嵌入式Web服务器的软件构成嵌入式Web服务器主要解决的问题是通过Internet来进行远程访问和控制现场的设备,所以必须在嵌入式设备中配置TCP/IP协议和Web服务器,以解决网络互联问题。但是嵌入式服务器系统只需要使用其中的某些基本的功能,也要减去一些使用不到有功能,以节省有限的嵌入式资源。TCP/IP此外还5第5页共16页要用到的软件资源有嵌入式实时操作系统、HTTP协议,同时带有SMTP和SNMP协议,使其具有网络管理的简单功能,通过网络可以对接入到Internet上的设备进行管理和控制。2.1CGI技术2.1.1CGI概述由于传统的Web服务器无法实现Web数据库访问功能,CGI技术充当了访问数据库的重要媒介。CGI是使用应用相关软件增强Web服务器的一种标准方法,可以用任何语言书写。CGI根据需求更新网页,是一种公共网关接口。它通过客户提供给Web服务器的各种信息,由Web服务器启动指定CGI模块函数,完成客户端与服务器端动态的交互,从而实现静态HTML网页无法实现的功能(如表单查询、数据库查询等)。通常CGI应用程序处于休眠状态,通过使用一定的网络事件触发回调函数来实现,并显示动态页面。例如,Web服务器收到一个URL里面包含的网页请求时,将执行结果返回给HTML网页,CGI可实现处理表格、数据库查询和电子邮件等操作。2.1.2CGI工作原理系统嵌入式Web服务器通过CGI程序来获取用户的请求、查询条件,使用HTML方式描述结果并直接回送到客户端的浏览器上,此过程中浏览器将用户输入的数据发送到Web服务器,Web服务器将数据使用STDIN(标准输入)送到CGI程序。在执行CGI程序后,会访问数据库的记录,最后使用STDOUT输出HTML形式的结果文件,经Web服务器送回浏览器显示给用户。使用CGI实现客户与服务器的交互分一下九个标准步骤:Web客户(浏览器)通过URL与Web服务器相连;服务发送HTML(和别的组成请求页面的文件)给用户,一旦页面内容传完,这个连接自动断开;在客户方,HTML脚本提示用户做动作或输入,当用户响应后客户请求Web服务器建立一个新的连接;一旦建立连接,客户把用户输入的数据传送给Web服务器;Web服务器把这些信息和别的进程变量传给由HTML以URL形式提交的CGI程序;CGI程序根据输入作出相应的操作,产生对客户的响应(一般以一个HTML文档的形式),并将其传送给Web服务器;Web服务器把应答数据传送给客户,并关闭连接;6第6页共16页Web浏览器CGI脚本Web服务器POST用STDIN输入数据GET用QUERY-STRING输入数据用STDOUT输出数据运行结果启动CGI图2.4CGI工作原理其中CGI与表单之间的信息交互方法有两种模式:“GET”和“POST”。选择哪一种模式取决于表单(FORM)的“METHOD”字段的设置,如果METHOD设定为GET,CGI程序从环境变量QUER_STRING中获取数据。为了解释数据和执行需要的动作,CGI程序必须要分析(处理)此字符串;如果METHOD设定为POST,数据会以STDIN,必须使用CONTENT_LENGTH值。在本设计中CGI程序采用的是POST方法。如果想从服务器获得数据并且不改变服务器上的数据时,应该选用GET方法;也有例外,当传输的数据很长时,选用POST方法较好;使用GET方式编写CGI程序会更加简单,但是POST方式则更加先进;当发送的数据将改变Web服务器端的数据时,或者想给CGI程序传输大量数据(一般地,超过1024字节,这是URL的极限长度)时,应该选用POST方法。3嵌入式Web服务器简述嵌入式Web服务器(EmbeddedWebServer)是指将Web服务器嵌入到控制设备和现场测试中,借助于相关的软硬件平台系统,将传统嵌入式设备转变成了以TCP/IP为底层通信协议和Web技术为核心的网络测试及远程控制设备。嵌入式Web服务器基于HTTP协议运作,具有标准的接口形式和通信协议,所以它可以向接入其所在网络的用户提供统一的基于浏览器的控制界面和相关操作。这种技术因具有平台独立特性和开放性,在某种程度上降低了开发难度,使通信系统和软件系统的设计维护工作更容易,提升了控制设备和现场测试的管理水平。如图1所示是典型的嵌入式Web服务器的系统模型:7第7页共16页嵌入式Web设备Web浏览器嵌入式web服务器图形用户界面HTML解析器HTML解析器HTML解析器HTML解析器HTTP引擎TCP/IP协议栈TCP/IP协议栈HTTP引擎静态Web页面嵌入式设备HTML解析器HTML解析器图1典型的嵌入式Web服务器系统模型Internet可以提供多种网络服务,比如通过SMTP(简单邮件传输协议)收发邮件,通过FTP(文件传输协议)传输文件。Internet能得到如此大规模的流行,(WorldWideWeb)技术居功至伟。可以说如果没有,正是的结构、服务和应用引上了一个新台阶。3.1嵌入式Web服务器的主要应用目前嵌入式Web服务器主要用于设备管理和企业应用程序网络扩展,它作为后台程序在运行嵌入式设备上,用户可以通过网络对设备进行配置、监测和控制,以保证设备正常

1 / 16
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功