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

上传人:h**** 文档编号:138433 上传时间:2018-07-10 格式:DOC 页数:16 大小:220.50KB
下载 相关 举报
基于ARM的嵌入式Web服务器设计.doc_第1页
第1页 / 共16页
基于ARM的嵌入式Web服务器设计.doc_第2页
第2页 / 共16页
基于ARM的嵌入式Web服务器设计.doc_第3页
第3页 / 共16页
基于ARM的嵌入式Web服务器设计.doc_第4页
第4页 / 共16页
基于ARM的嵌入式Web服务器设计.doc_第5页
第5页 / 共16页
点击查看更多>>
资源描述

1、 1 第 1 页 共 16 页 题目: 基于 ARM 的嵌入式 Web 服务器设计 学 号: 1020410211 姓 名: 洪室平 班 级: 10204102 专 业: 计算机科学与技术 课程老师: 高小辉 二零一二年十二月 2 第 2 页 共 16 页 摘 要 随着计算机、网络通信和 Internet 技术的飞速发展和不断进步,嵌入式系统在家庭和工业应用越来越广泛。如何将嵌入式系统和工业控制系统接入Internet,综合利用嵌入式系 统资源,实现嵌入式系统的远程管理和控制,已成为倍受关注的研究课题,而实现嵌入式系统的网络化则成为嵌入式系统的发展趋势。 网络通信时,应用程序使用 C/S(客户

2、 /服务器)模式进行信息交互。传统的服务器程序一般运行在大型的拥有高级操作系统的服务器的计算机上,这样服务器软件需要强大的硬件和系统软件支持。嵌入式网络服务器是利用嵌入式系统实现服务器的软件和硬件功能,是嵌入式技术和网络技术相结合的产物。与传统服务器相比,嵌入式 Web 服务器具有结构简单、体积小、可靠性强以及方便灵活等特点。这些让它具有很大的发展潜力。另一方 面,嵌入式 Web 服务器与传统的 web 服务器相比,也受到一些限制。传统的 Web 服务器主要用于处理较大的客户量的同时并发访问,硬件方面有强大的处理器和内存支持,软件方面有商业数据库支持,而嵌入式 Web 服务器的处理能力和存储容

3、量都有限,这就要求嵌入式 Web 服务器在设计过程中需要尽量合理利用资源。 将嵌入式技术与 Web 技术相结合,已成为目前嵌入式系统的一个重要发展方向和必然趋势。利用源代码开放的 uClinux 为操作系统平台,实现了以 ARM微处理器为核心的嵌入式 Web 服务器,在分析了嵌入式 Web 服务器的体系结构后,给出了系统的硬件结构组成和软件设计。对 Web 服务器的测试结果表明,该服务器运行稳定、控制方便,将在智能家居、远程数据采集、工业控制等领域有着广泛的应用前景。 关键词: 网络通信;嵌入式系统; ARM 处理器; uClinux; Boa 服务器;3 第 3 页 共 16 页 引言 随着

4、 Internet 技术的飞速发展,导致许多领域的传统控制方式发生变革。这些领域的控制系统可以通过 Web 服务器接入 Internet,这样用户在世界任何一个地方都可以通过 Internet 获取 Web 服务器提供的信息,进而实现系统的远程控制和管理。但以具有高运算处理能力和海量存储容量的工作站或 PC 机为硬件平台,以非实时操作系统为软件平台,运行着大型复杂程序的传统 Web 服务器,并非在任何环境下都适用,尤其是对实时性要求比较高的领域,如工业控制、远程数据采集等。基于嵌入式系统的 Web 服务器的出现,为以上问题的解决开辟了一条新途径。 1 发展背景 随着计算机技术的发展,嵌入式系统

5、已成为计算机领域的一个重要组成部分。广义讲,凡是带有微处理器的专用软硬件系统都可以称为嵌入式系统。所谓嵌入式设备,是指具有计算机功能,但又不称为计算机的设备或 器材,几乎包括了我们周期的所有 电路 设备: PDA、手机机顶盒、汽车、微波炉、电梯、安全系统、自动售货机、医疗仪器、自动取款机等。嵌入式系统可以通过各种无线形式(如 WAP、 BlueTooth 等)和有线形式( TCP/IP、 PPP 等)的网络连接方式实现它们之间的相互连接,因此,在网络通信市场上极具生命力。现在人们对 Internet应用的依赖程序日渐增加,也促进了嵌入式技术的增长。信息家电的发展也为 嵌入式 Internet

6、技术提供空间,如面向 Internet 的信息冰箱。这种信息家电的特点就是价格低廉、软件功能强大、全面支持 Internet 访问、软件可通过网络升级、有效保护用户投资。 嵌入式 Internet 技术主要包括 传感 器技术、通信技术、计算机技术和 集成电路 技术 等。以前的设备 控制 系统一般是通过专用通信线中进行的,其通信介质、通信协议、相关软件和硬件都是专用的,而 Internet 技术的发展使嵌入式设备的远程控制和管理方式有了改变。不需要专用的通信线路,并且传输的信息不局局于数据信号,还有声音和图像。最重要的是其通信协议是标准且公开的。随着Web 技术的发展,几乎改变了现在的信息表达形

7、式,很多应用都是基于 Web 技术的。由于 HTML 语言的标准统一性,只要在 嵌入式设备中有一个微型服务器, 就可以使用任意一种 Web 浏览器接收和发送信息。所以如何设计这种特别 Web服务器,如何在嵌入式设备中安装 Web 服务器,就成了嵌入式 Web 服务器的发展和研究方向。 对于嵌入式 Web 服务器的研究和应用,其意义是重大的。它为我们管理、控制和监测各种各样设备提供了一个很好的途径。这种设备可以是具有有限内存资源的 8 位或 16 位系统,已足够提供一个用户界面,而且这种方式是基于 Internet的。这种设备可以在世界任何一个地方,只要它连入 Internet 就能够控制它。

8、4 第 4 页 共 16 页 1.1 课题的 研究意义 Internet 的迅猛发展,传统的 Client/server 体系结构 (客户机 /服务器 ),渐渐的在某些方面显示出它的局限性, Browser/server 结构 (浏览器 /服务器 )的出现恰恰弥补了这种缺陷。 B/S 方式已成为一种时尚,大部分网络应用系统都是以这种B/S 方式与网络用户交换信息。 B/S 的基础是客户端要有一个浏览器程序,服务器端要有一个与之对应的 Web 服务器。显然, Web 服务器在 B/S 方式下起着决定性的作用,因此,一般互联网站都采用功能强大的通用 Web 服务器。 随着网络各个核心部分业务量的提

9、高,其 访问量和数据流量快速增长,处理能力和计算强度也相应增大,使得单一设备根本无法承担,而且许多企业级应用系统的应用请求具有突发性和紧急性的特点,当应用访问急剧上升时,容易造成网络瓶颈。解决这一问题的办法是采用多台嵌入式 Web 服务器为一个应用服务,集群负载均衡机制就是为解决多个网络设备之间实现合理的业务量分配而提出的。 1.2 论文研究内容 嵌入式 Web 服务器是指将 Web 服务器引入到现场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统的测试和控制设备转变为具备了以TCP/IP 为底层通信协议, Web 技术为核心的基于互联网的网络测试和控制设备。EWS 系统与传统的

10、Web 应用相比,简化了系统结构,将信息采集和信息发布都集成到现场的测控设备中。而有了标准的接口形式和通信协议,内嵌于设备的从Web 服务器同样可以向任何接入它所在网络的合法用户提供统一的基于浏览器方式的操作和控制界面,浏览器成了设备的前端控制板。由于 Web 技术的开放性和独立平台特性,大大降低了软件系统和通信系统的设计、维护工作量,节省了人员培训费用等,提高了现场测试和控制设备的管理水平。 本文设计的基于 ARM 的嵌入式 Web 服务器,响应速度快,实时 性强,用户通过浏览器中的表单向服务器发送控制信息,操作方便、快捷,经过适当修改,能够很好地适应智能家居等远程监控的需要。 2 嵌入式

11、Web 服务器的软件构成 嵌入式 Web 服务器主要解决的问题是通过 Internet 来进行远程访问和控制现场的设备,所以必须在嵌入式设备中配置 TCP/IP 协议和 Web 服务器 , 以解决网络互联问题。但是嵌入式服务器系统只需要使用其中的某些基本 的功能,也要减去一些使用不到有功能 ,以节省有限的嵌入式资源。 TCP/IP 此外还5 第 5 页 共 16 页 要用到的软件资源有嵌入式实时操作系统 、 HTTP 协议 ,同时带有 SMTP 和 SNMP 协议 ,使其具有网络管理的简单功能 ,通过网络可以对接 入到 Internet 上的设备进行管理和控制。 2.1 CGI 技术 2.1.

12、1 CGI 概述 由于传统的 Web 服务器无法实现 Web 数据库访问功能, CGI 技术充当了访问数据库的重要媒介。 CGI 是使用应用相关软件增强 Web 服务器的一种标准方法, 可以用任何语言书写。 CGI 根据需求更新网页, 是一种公共网关接口。它通过客户提供给 Web 服务器的各种信息, 由 Web 服务器启动指定 CGI 模块函数, 完成客户端与服务器端动态的交互, 从而实现静态 HTML 网页无法实现的功能 ( 如表单查询、数据库查询等 )。通常 CGI 应用程序处于休眠状态, 通过使用一定的网络事件触发回调函数来实现, 并显示动态页面。例如, Web 服务器收到一个 URL

13、里面包含的网页请求时, 将执行结果返回给 HTML 网页,CGI 可实现处理表格、数据库查询和电子邮件等操作。 2.1.2CGI 工作原理 系统嵌入式 Web 服务器通过 CGI 程序来获取用户的请求、查询条件,使用HTML 方式描述结果并直接回送到客户端的浏览器上,此过程中浏览器将用 户输入的数据发送到 Web 服务器, Web 服务器将数据使用 STDIN(标准输入)送到CGI 程序。在执行 CGI 程序后,会访问数据库的记录,最后使用 STDOUT 输出HTML 形式的结果文件,经 Web 服务器送回浏览器显示给用户。使用 CGI 实现客户与服务器的交互分一下九个标准步骤: Web 客户

14、(浏览器)通过 URL 与 Web 服务器相连; 服务发送 HTML(和别的组成请求页面的文件 )给用户,一旦页面内容传完,这个连接自动断开; 在客户方, HTML 脚本提示用户做动作或输入,当用户响应后客户请求 Web服务器建立一个新的连接; 一旦 建立连接,客户把用户输入的数据传送给 Web 服务器; Web 服务器把这些信息和别的进程变量传给由 HTML 以 URL 形式提交的CGI 程序; CGI 程序根据输入作出相应的操作,产生对客户的响应(一般以一个 HTML文档的形式),并将其传送给 Web 服务器; Web 服务器把应答数据传送给客户,并关闭连接; 6 第 6 页 共 16 页

15、 W e b 浏 览 器 C G I 脚 本W e b 服 务 器P O S T 用 S T D I N 输 入 数 据G E T 用 Q U E R Y - S T R I N G 输 入 数 据用 S T D O U T 输 出 数 据 运 行 结 果启 动 C G I图 2.4 CGI 工作原理 其中 CGI 与表单之间的信息交互方法有两种模式: “ GET” 和 “ POST” 。选择哪一种模式取决于表单( FORM)的 “ METHOD” 字段 的设置,如果 METHOD设定为 GET, CGI 程序从环境变量 QUER_STRING 中获取数据。为了解释数据和执行需要的动作, CG

16、I 程序必须要分析(处理)此字符串;如果 METHOD 设定为 POST,数据会以 STDIN,必须使用 CONTENT_LENGTH 值。在本设计中CGI 程序采用的是 POST 方法。如果想从服务器获得数据并且不改变服务器上的数据时,应该选用 GET 方法;也有例外,当传输的数据很长时,选用 POST 方法较好;使用 GET 方式编写 CGI 程序会更加简单,但是 POST 方式则更加先进;当发送的数据将改变 Web 服务 器端的数据时,或者想给 CGI 程序传输大量数据(一般地,超过 1024 字节,这是 URL 的极限长度)时,应该选用 POST 方法。 3 嵌入式 Web 服务器简述

17、 嵌入式 Web 服务器 (Embedded Web Server)是指将 Web 服务器嵌入到控制设备和现场测试中,借助于相关的软硬件平台系统,将传统嵌入式设备转变成了以 TCP/IP 为底层通信协议和 Web 技术为核心的网络测试及远程控制设备。嵌入式 Web 服务器基于 HTTP 协议运作,具有标准的接口形式和通信协议,所以它可以向接入其所在网络的用户提供统一的基 于浏览器的控制界面和相关操作。这种技术因具有平台独立特性和开放性,在某种程度上降低了开发难度,使通信系统和软件系统的设计维护工作更容易,提升了控制设备和现场测试的管理水平。 如图 1 所示是典型的嵌入式 Web 服务器的系统模

18、型: 7 第 7 页 共 16 页 嵌 入 式 W e b 设 备W e b 浏 览 器嵌 入 式 w e b 服 务 器图 形 用 户 界 面H T M L 解析 器H T M L 解析 器H T M L 解析 器H T M L 解析 器H T T P 引 擎T C P / I P 协 议 栈 T C P / I P 协 议 栈H T T P 引 擎静 态 W e b 页面嵌 入 式 设 备H T M L 解析 器H T M L 解析 器图 1 典型的嵌入式 Web 服务器系统模型 Internet 可以提供多种网络服务,比如通过 SMTP(简单邮件传输协议)收发邮件,通过 FTP(文件传输

19、协议)传输文件。 Internet 能得到如此大规模的流行, WWW( World Wide Web)技术居功至伟。可以说如果没有 WWW 和 HTTP技术就不会有这么多人使用 Internet,正是 WWW 技术把 Internet 的结构、服务和应用引上了一个新台阶。 3.1 嵌入式 Web 服务器的主要应用 目前嵌入式 Web 服务器主要用于设备管理和企业应用程序网络扩展,它作为后台程序在运行嵌入式设备上,用户可以通过网络对设备进行配置、监测和控制,以保证设备正常而高效地运作。 Web 接口可以让用户借助于 Web 浏览器和网络来访问嵌入式设备。以这种方式对设备进行管理不仅可以监测和控制

20、,而且可以根据设备的特点设计地更 加人性化和智能化。 Web 服务已成为支撑现代应用程序的技术和系统的核心组件,目前大部分企业用户都希望为他们的程序添加上基于 Web 的用户接口。 3.2 嵌入式 Web 服务器的优点 嵌入 Web 服务器的优点主要体现在以下几个方面: 1)它可以与 Internet 连接,不再使用专用的线路,这样就具有了最大的普及范围; 2)传输内容不局限于数据信息,还有图像和声音等多媒体信息; 3)通信协议 (HTTP)独立于系统平8 第 8 页 共 16 页 台,而且是标准而且公开的; 4) Web 页面使用的 HTML 语言是统一的网页语言, 这使标准化界面与客户端的

21、 软硬件平台相互独立, 节省了客户端的开发工 作; 5) Web 架构能够减少了在设计系统时的工作量; 6)存在大量的工具和函数库,减少了开发的工作量; 7)嵌入式 Web 服务器具有通用性,能够嵌入到任何设备当中。通过应用程序接口,服务器可以运行程序去实现高级功能,普通的监控方式达不到这样的效果。 3.3 嵌入式 Web 服务器实现原理 Web 服务器监听来自客户端请求,并根据请求类型提供相对应的服务。它将 Web 服务器引入到现场嵌入式设备中,并将信息采集与发布都集成到现场的嵌入式设备中。在相应的软硬件平台支持下,利用 标准的通信协议和接口形式,内嵌于嵌入式设备的 Web 服务器就具备了向

22、接入它所在网络的合法用户提供统一的基于浏览器方式的控制界面和操作,此时浏览器成了设备的前端控制板。当前在嵌入式应用领域,主要通过两种方式将嵌入式系统转变为嵌入式 WebServer:1)通过网关服务器实现 Internet 接入; 2)直接通过 TCP/IP 协议实现嵌入式设备的 Internet 接入。 4 嵌入式 Web 服务器硬件整体结构 嵌入式 Web 服务器的硬件系统包含了具有 Web 通信能力的微处理器,它可以通过现场总线与应用系统相连 ,也可以与前端的应用系统直接集成在一起。其硬件结构如图 2 所示。系统中的 FLASH ROM 存储器是用来存储软件系统的内核、 HTML 文档、

23、 TCP/IP 协议; RAM 存储器用于存储各种数据;网络接口用于与 Internet 连接;前端现场测控的硬件完成对现场设备的监测、监测、报警、自动控制等功能;微型处理器负责全体的管理与运行;人机接口是可选条件,实现在本地对现场设备的人工监控。 图 2 (a) 嵌入式系统 web 服务器硬件结构 存储器 FLASH ROM 数据存储器 RAM 微型处理器 网络接口部件 应用系统硬件 9 第 9 页 共 16 页 Internet 图 2( b) 嵌入式系统 Web 服务器软件系统 4.1 嵌入式 Web 服务器软件构成 嵌入式 Web 服务器主要解决的问题是通过 Internet 来进行远

24、程访问和控制 现场的设备,所以必须在嵌入式 设备中配置 TCP/IP 协议和 Web 服务器, 以解决网络互联问题。但是嵌入式服务器系统只需要使用其中的某些基本 的功能, TCP/IP 也要减去一些使用不到有功能,以节省有限的嵌入式资源。 此外还要用到的软件资源有嵌入式实时操作系统、 HTTP 协议, 同时带有 SMT P 和 SNMP 协议,使其具有网络管理的简单功能,通过网络可以对接 入到 Internet 上的设备进行管理和控制。 4.2 精简 TCP/IP 协议及实现 嵌入式 Web 服务器软件中必须实现 TCP/IP 协议,但要根据实际的需求作相应的 裁减。精简的 TCP/IP 协议

25、通常只包含 TCP, IP, ARP, ICMP 等协议。 4.2.1 ARP 协议及其实现 嵌入式 Web 服务器软件方面需实现 ARP 协议中的应答部分 : 嵌入式 Web 服务器在收到远程 ARP 请求后, 将 ARP 请求报文中目标机和本地 IP、物理地文档(网页页面小程序) 虚拟文件系统 配置模块 安全模块 应用程序接口 HTP引擎 嵌入式操作系统 应用系统管理 嵌入式应用系统 10 第 10 页 共 16 页 址进行了交换处理,并将 EWS 的物理地址写在 ARP 应答报文的本地物理地址段。实际上此 ARP 协议的实现是通过向网络接口层发送含有目标机物理地址和本机 IP 地址的 A

26、RP 应答报文这一过程来完成。 4.2.2 ICMP 协议及其实现 ICMP(网际控制报文协议)主要用来将处理一个 IP 数据过程中的错误显示出来,并提供相关状态和管理信息。 ICMP 的差错信息由 8 位代码和 8 位类型组成。嵌入式 Web 服务器简化了 ICMP 协议,只需简化实现与 Ping 命令相关的 ICMP 报文处理部分。具体可通过编制 PingACK()过程来完成,用 PingACK()监测 Ping 命令,如果监测到对本机的 Ping 连接,则发送类型为 0 的 ICMP 报文。 4.2.3 IP 协议及其实现 IP 协议提供无连接的、不可靠的数据分组传送服务,在嵌入式 We

27、b 服务器中, IP 协议只需要完成接收数据的 IP 解包和发送数据的 IP 封装。 IP 协议在嵌入式 Web 服务器中的实现可通过以下两个过程来完成: 1) IPPack(),此过程将传输层传来数据的前部添加 20 字节的 IP 报头。 2) IPUnpack( ),此过程提取网络接口层送来的 IP 报头的 20 字节数据并与本机的 IP 地址进行比较,如果相同, 记录对方的 IP 地址,并去除报数据的前 20 字节的报头;否则,丢弃。 4.2.4 TCP 协议及实现 TCP 协议提供面向连接的、可靠的字节流传输服务。建立 连接、数据传输和关闭连接的工作过程,保证了 TCP 协议数据传输的

28、可靠性。在数据传输前,必须在信源与信宿建立一条连接,只有连接成功才可以发送数据。此外,接收端也要对收到的第一个报文进行确认,未经确认的报文被认为是出错。由于嵌入式Web 服务器传输数据量较少,支持单进程的 TCP 任务即可,故只需要简化 TCP协议的数据重组和分组的功能。方法为 :嵌入式 Web 服务器在本地打开一个端口监听 TCP 报文数据,监测到远程用户对系统的 TCP 请求连接时,系统发送确认报文并建立 TCP 连接,然后开始传送数据。发送数据时, TCP 状态机会在数据前面加上 TCP 报头后发送到 IP 层; 接收数据时, 从 IP 层来的数据经过 TCP 状态机去掉 TCP 报头后送到应用层。 TCP 协议软件可通过两个过程来实现: 1) TCPPack( ),将 TCP 报头添加到应用层送来的数据前部; 2) TCPUnpack( ),将网络接口层送来的 TCP 报数据的 3 4 字节数据(目的端口号)与系统默认端口作对比,如相同,则去除数据报的前 20 字节的报头;否则,丢弃。 TCP 数据

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 学术论文资料库 > 毕业论文

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。