嵌入式web服务器毕业论文

上传人:1888****888 文档编号:36159868 上传时间:2021-10-29 格式:DOC 页数:46 大小:1.62MB
返回 下载 相关 举报
嵌入式web服务器毕业论文_第1页
第1页 / 共46页
嵌入式web服务器毕业论文_第2页
第2页 / 共46页
嵌入式web服务器毕业论文_第3页
第3页 / 共46页
点击查看更多>>
资源描述
嵌入式WEB服务器摘 要随着计算机、网络通信和Internet 技术的飞速发展和不断进步,嵌入式系统在家庭和工业应用越来越广泛。如何将嵌入式系统和工业控制系统接入Internet,综合利用嵌入式系统资源,实现嵌入式系统的远程管理和控制,已成为倍受关注的研究课题,而实现嵌入式系统的网络化则成为嵌入式系统的发展趋势。嵌入式Web在网络视频监控系统、电力系统的远程监测与故障诊断、工业自动化系统中设备的保护和控制、智能小区及智能家电灯诸多领域都有良好的应用,为人们管理、控制和监测各种各样的设备提供了一个很好的途径。因此,对嵌入式Web服务器的研究具有重大的意义。 本文首先介绍了嵌入式Web系统的基本概念、历史和发展状况,同时阐述了设计及实现嵌入式Web服务器的关键技术和相关的理论基础。对嵌入式Web服务器的相关理论做了重点分析,最后做出实验,完成了基于ARM平台的简单嵌入式Web服务器的实现,为嵌入式Web服务器开发人员提供了必要了理论和实践基础。关键词:嵌入式;ARM;Web服务器;Socket;InternetThe embedded WEB serverABSTRACTWith the rapid development and advances of computers, network communications and Internet technology, the applications of the embedded systems in the home and industrial are more and more extensive. How to make the embedded systems and industrial control system access to Internet, comprehensive make use of resources of embedded systems, realization the embedded systems of remote management and control, has become times be subjected to concern of research topic, and the realization of networked embedded systems has become a trend.Embedded Web in the network video monitoring system, remote power system monitoring and fault diagnosis, industrial automation system protection and control devices, smart appliances and smart residential area of lights have a good number of applications, which for people to manage, control and monitoring of a variety of equipment types provided a good way. Therefore, the study of embedded Web server has the meaning of great significance.This article first introduced the embedded Web systems basic concept, the history and the development condition, simultaneously elaborated design and realizes the embedded Web servers key technologies and the correlation theories foundation. Here it makes a selective analysis to the embedded Web servers correlation theories, finally make the experiment done, and complete the realization based on ARM platform simple embedded Web server, which has provided essential theory and practice foundation for the embedded Web server development personnel.Key words: Embedded ;ARM ;Web server ;Socket; Internet39 目录 目录嵌入式WEB服务器IThe embedded WEB serverII第1章 绪论11.1 课题的研究意义11.2 国内外研究现状11.3 论文研究内容3第2章 相关理论与知识42.1 嵌入式Web服务器的硬件构成42.1.1金牛开发板42.1.2CPU芯片62.1.3以太网控制芯片62.2嵌入式Web服务器的软件构成72.3CGI技术82.3.1CGI概述82.3.2CGI工作原理82.4开发工具介绍92.4.1Keil介绍92.4.2Keil综述102.5本章小结10第3章 嵌入式WEB服务器的分析113.1 嵌入式Web技术113.2嵌入式Web服务器的应用123.2.1 在网络配置和监控方面的应用123.2.2 在Internet方面的应用123.3 嵌入式Internet技术的应用前景133.4嵌入式Web服务器中TCP/IP栈的实现143.4.1嵌入式TCP/IP协议栈概述143.4.2 ARP协议实现143.4.3 IP协议实现153.4.4ICMP协议实现153.4.5TCP协议实现153.5 协议标准163.6 超文本传输协议(HTTP)163.6.1 HTTP协议简介163.6.2 HTTP协议工作过程183.6.3 HTTP协议信息交换的实现193.6.4 HTTP访问的常见响应状态203.7 嵌入式Web服务器实现方法203.8本章小结21第4章 简单的嵌入式Web服务器的实现224.1 需求分析与设计224.1.1 设计总体需求说明224.1.2硬件的系统框架图224.1.3 软件的数据处理流程234.2 程序设计与实现244.2.1 主程序设计244.2.2 网络连接设计254.2.3 CGI网页的设计294.2.4 协议的设计314.3 程序编译、运行及测试334.3.1 编译应用程序334.3.2 下载调试344.3.3 本机测试354.4 本章小结36结 论37参考文献38致 谢39 第1章 绪论 第1章 绪论 1.1 课题的研究意义Internet的迅猛发展,传统的Client/server体系结构(客户机/服务器),渐渐的在某些方面显示出它的局限性,Browser/server结构(浏览器/服务器)的出现恰恰弥补了这种缺陷。B/S方式已成为一种时尚,大部分网络应用系统都是以这种B/S方式与网络用户交换信息。B/S的基础是客户端要有一个浏览器程序,服务器端要有一个与之对应的Web服务器。显然,Web服务器在B/S方式下起着决定性的作用,因此,一般互联网站都采用功能强大的通用Web服务器。随着网络各个核心部分业务量的提高,其访问量和数据流量快速增长,处理能力和计算强度也相应增大,使得单一设备根本无法承担,而且许多企业级应用系统的应用请求具有突发性和紧急性的特点,当应用访问急剧上升时,容易造成网络瓶颈。解决这一问题的办法是采用多台嵌入式Web服务器为一个应用服务,集群负载均衡机制就是为解决多个网络设备之间实现合理的业务量分配而提出的。1.2 国内外研究现状中国的嵌入式系统开发走过了二十多年的历程,有超过数十万名从事开发应用的工程师,但大多数以上是几个人的小组以孤军奋战的封闭方式开发几乎不可重用的软件。今天面对的是嵌入式系统工业化的潮流,如果不能认识到嵌入式软件必须以工业化的方式生产开发,不理解在短时间内装配集成“数百人/年”的嵌入式产品,那么将失去更多的上游产品的市场机遇。嵌入式软件方面逐渐形成了系统软件、应用软件的架构。国际上用于信息电器的嵌入式操作系统有40种左右。其中,国外涌现了一些著名的嵌入式操作系统,如:Vxworks、pSOS、WinCE、RTEK、palmOS、EpOC、QNX、LynxOS、DSPhnux等。其中Vx/Orks是目前嵌入式系统领域中使用最广泛、市场占有率最高的系统:WinCE是一种32位的多任务操作系统,可以移植,能够开发多种企业和客户类设备,是微软公司的“维纳斯计划”的核心:3COM公司的Palm0S在PDA市场上占有很大的市场份额,它有开放的操作系统应用程序接口(API),开发商可以根据需要自行开发所需要的应用程序。这些商业性嵌入式系统,价格昂贵,而且每个系统上的应用软件与其它系统很难兼容。并且,由于这种封闭性还导致了商业性嵌入式系统在对各种设备的支 西安工业大学毕业设计(论文) 持方面存在很大的问题,使得对它们的软件移植变得很困难。这时Linux操作系统适时地出现了,它的源代码公平,并有非常丰富的文档。Linux的出现,打破了微软在PC操作系统上的长期垄断地位,使得用户在选用操作系统时有了更多的选择。目前我国开发的主要产品有中科院系统的女娲Hopen、桑夏2000、Delta0.5、中科院红旗Linux,深圳蓝点Linux,北京科银京成(原电子科大的)CRTOS等。“中国Linux产业就像90多度的水”,它的应用市场不断扩大,应用领域已扩大到政府、金融、电信、教育、交通等行业及各种数字设备领域。国内外有大量嵌入式应用软件已广泛用于各类嵌入式系统中。大有国内紧跟国外趋势的形势。但是对于嵌入式Web服务器方面的研究国内现状不容乐观,目前国外的相关研究相对多些。如林C/IP研究项目,它是一个为微控制器和嵌入式系统而设计的小型TCP/IP协议栈:又如CMX公司的MieroNetTCP/IP,它是为8位或16位微处理器而设计的,支持大部分的标准协议,连接方式有以太网连接、拨号连接和直接连接方式。而国内也相应提出了Webito协议标准,但是相对滞后,缺少具体的工程实现方面的研究和具体产品的开发。应用方面国内外基本相近。目前都是主要应用于各种计算机网络设备的配置与监控方面。有些公司己经推出了多种以不同方式连接Internet的网络化仪器和设备,例如Agileni公司研制出了具有Web浏览器远程接入功能的逻辑分析仪:Cisco公司己开始销售具备Web管理界面的交换机等。但是随着这一技术的成熟与发展,加之这一技术的优点,目前的文献大都预见:这一技术必将广泛的应用于其它领域。面对国内外嵌入式Web服务器技术发展的差距,考虑到其广泛的应用前景,这一技术的研究和开发具有一定的迫切性和必要性。网络流量的爆炸似的增加,使得嵌入式Web服务器必须得面对不断增加的负载压力,将过去单一的服务器模式扩充为多服务器模式,用多台计算机来协作完成本来由一台服务器完成的功能,这种技术可以显著提高服务器的总体性能,并且具有良好的可扩展性与高可靠性。由于集群系统的优越性能,国内外各大研究机构及企业都对集群的研究与应用方面进行了探索。美国DEC公司开发的VMSeluster系统开发最早,技术也较成熟,应用也很广泛,但由于VMS操作系统只能在DEC公司的VAX系列和AIPha系列服务器上运行,VMScluster的应用受到很大限制。Platform公司开发的高可用性集群系统LSF提供了分布式集群系统的解决方案,通过将物理上分离的多个集群连接在一起使多个同构或异构的计算机能够通过局域网或广域网共享计算资源,并能够为用户提供对资源的透明访问。国内也有不少公司进行了集群系统的研究和开发工作。联想公司在1999年9月推出了用于分布式高性能计算的NS10000高性能集群服务,该系统是一个四节点的系统,主要基于联想万全45008服务器,以总体成本相对较低的设备组合,足以替代传统班SC小型机和中型机的工作,而价格仅为市场上同等性能小型机的1/2-1/40。朗讯公司也推出了类似于Urboduster的高可用性集群系统LongshineClusterServer。从国内外的研究现状看,目前集群系统的应用大都致力于高可用性问题的解决,真正基于负载均衡的集群系统还比较少,而且在大部分负载均衡集群中采用的都是轮转调度、加权轮转调度等静态调度算法。1.3 论文研究内容嵌入式Web服务器是指将Web服务器引入到现场测试和控制设备中,在相应的硬件平台和软件系统的支持下,使传统的测试和控制设备转变为具备了以TCP/IP为底层通信协议,Web技术为核心的基于互联网的网络测试和控制设备。EWS系统与传统的Web应用相比,简化了系统结构,将信息采集和信息发布都集成到现场的测控设备中。而有了标准的接口形式和通信协议,内嵌于设备的从Web服务器同样可以向任何接入它所在网络的合法用户提供统一的基于浏览器方式的操作和控制界面,浏览器成了设备的前端控制板。由于Web技术的开放性和独立平台特性,大大降低了软件系统和通信系统的设计、维护工作量,节省了人员培训费用等,提高了现场测试和控制设备的管理水平。本文采用stm32f107的硬件构架,基于超文本传输协议(HTTP1.0)传输控制数据和用户信息,设计了简单的嵌入式Web服务器,通过以太网和HTTP数据传输共享小型嵌入式设备的信息,实现了嵌入式系统的Internet接入,远程用户可通过浏览器访问嵌入式Web服务器,实现了嵌入式系统的远程控 第2章 相关理论知识 第2章 相关理论与知识2.1 嵌入式Web服务器的硬件构成 2.1.1金牛开发板 金牛嵌入式开发板采用 STM32F107VC,是意法半导体推出全新 STM32 互连 型(Connectivity)系列微控制器中的一款性能较强产品,此芯片集成了各种高 性能工业标准接口,且 STM32 不同型号产品在引脚和软件上具有完美的兼容性, 可以轻松适应更多的应用。新 STM32 的标准外设包括10 个定时器、两个 12 位 1-Msample/s AD(模数转换器) (快速交替模式下2M sample/s)、两个 12 位DA(数 模转换器)、两个I2C 接口、五个USART 接口和三个 SPI 端口和高质量数字音频 接口IIS, 另外STM32F107 拥有全速USB (OTG)接口,两路CAN2.0B 接口,以 及以太网 10/100 MAC 模块.此芯片可以满足工业、医疗、楼宇自动化、家庭音响 和家电市场多种产品需求. 开发板硬件配置: STM32F107VC 32 位 RISC 性能处理器 32 位ARM Cortex-M3 结构优化 72 MHz 运行频率,1.25 DMIPS/MHz 硬件除法和单周期乘法 快速可嵌套中断,612 个时钟周期 具有 MPU 保护设定访问规则 高达256KBFlash, 高达64KB 的SRAM 网络通信功能 一个 RJ45 网络接口,支持10M/100M 自适应网络 一个 RS485 网络通讯接口 两个 CAN BUS 网络通讯接口 人机交互接口 一个3.2寸或 2.8 寸大屏幕320*240,26 万色TFT-LCD,支持 8/16 位总线接口,镜面屏,超高高度 电阻式触摸屏,含专业高精度触摸屏控制芯片 (RSM1843) 四个LED 发光管指示,一个电源发光管指示 两个GPIO 按键 西安工业大学毕业设计(论文) 一个RESET 按键 两个RS232 串行通信接口(DB9) 串口1 用于通信,需设置跳线选择连接串口 1 串口2 用于通信支持 ISP,需设置跳线选择连接串口2 一个mini AB 型 USB 插座,支持最新 USB OTG 技术,配备 USB 主 机转接线 ,从机转接线 USB OTG 功能,支持外接优盘 SPI 接口 一路连接 DATAFLASH (AT45DB161D) 一路连接到TFT 模块的触摸驱动芯片(RSM1843) IIC 接口 IIC 接口外接 EEPROM (24LC02) 一个SD 卡座SPI 操作方式(不含SD 卡),提供文件系统(FATFS) 外接两路独立的ADC 输入通道 外接两路独立的DAC 输出通道 一路电位器输入模拟信号 一个标准JTAG/SWD 调试接口(20pin) 供电方式: 5V 电源适配器或USB 供电,通过跳线选择 引出芯片所有 IO,方便二次开发 图2.1 开发板正面图2.1.2CPU芯片STM32F107VCT6:存储器容量, RAM:64KB,计时器数:10,PWM通道数:16,工作温度范围:-40C to +85C,针脚数:100,封装类型:LQFP,接口类型:CAN, I2C, SPI, UART, USART, USB,时钟频率:72MHz,模数转换器输入数:16,电源电压 最大:3.6V,电源电压 最小:2V,芯片标号:32F107VCT,表面安装器件:表面安装,输入/输出线数:80,闪存容量:256KB图2.2 STM32F107VCT6参考图2.1.3以太网控制芯片DP83848C是美国国家半导体公司生产的一款鲁棒性好、功能全、功耗低的10100 Mbps单路物理层(PHY)器件。它支持MII(介质无关接口)和RMII(精简的介质无关接口),使设计更简单灵活;同时,支持10BASET和 100BASE-TX以太网外设,对其他标准以太网解决方案有良好的兼容性和通用性。MII(Medium Independent InteRFace)是IEEE8023u规定的一种介质无关接口,主要作用是连接介质访问控制层(MAC)子层与物理层(PH-Y)之间的标准以太网接口,负责MAC和PHY之间的通信。由于MII需要多达16根信号线,由此产生的IO口需求及功耗较大,有必要对MII引脚数进行简化,因此提出了RMII(Reduced Medium Independent Interface,精简的介质无关接口),即简化了的MII。图2.3 以太网控制芯片参考图2.2嵌入式Web服务器的软件构成嵌入式 Web 服务器主要解决的问题是通过 Internet 来进行远程访问和控制现场的设备,所以必须在嵌入式设备中配置 TCP/IP 协议和 Web 服务器 , 以解决网络互联问题。但是嵌入式服务器系统只需要使用其中的某些基本 的功能,也要减去一些使用不到有功能 ,以节省有限的嵌入式资源。TCP/IP 此外还要用到的软件资源有嵌入式实时操作系统 、HTTP 协议 ,同时带有 SMTP 和 SNMP 协议 ,使其具有网络管理的简单功能 ,通过网络可以对接 入到 Internet 上的设备进行管理和控制。软件用到的主要开发工具以及语言技术有:(1) C语言:大部分程序都是用C语言编写的;(2) CGI:在Web上主要用到的是CGI脚本语言(3) Keil:开发工具用到的是Keil uvision4. 注:以上工具和技术在接下来的章节会有介绍。2.3CGI技术2.3.1CGI概述CGI(通用网关接口)是用于Web服务器和外部应用程序之间信息交互的标准接口。Web服务器原本是为静态HTML文档以及其它相关静态文件而设计的。如果一个Web服务器的功能只限于提供静态页面的话,那么与之通信的Web浏览器就只能显示在页面请求和显示过程之间文档内容不变化的页面。CGI规范在Web服务器和浏览器(又称客户机)之间建立了标准的信息交换方式。使用它使得信息在浏览器或服务器与外部程序之间流动,外部程序在处理之后将处理结果送回用户端浏览器。外部程序通常称为CGI程序、CGI脚本、CGI应用程序或简称网关,因为它运用了CGI规范并为实现Web平台的功能而专门设计。在HTML中,当客户填写了表单,并按下发送(submit)按钮后,表单的内容被发送到了服务器端,一般的,这时就需要有一个服务器脚本来对表单的内容进行一些处理。没有了CGI,Web的世界就完全失去了它的交互性,所有的信息都变成单向的了,而不能够有任何的反馈。2.3.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服务器把应答数据传送给客户,并关闭连接;图2.4 CGI工作原理其中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方法。2.4开发工具介绍2.4.1Keil介绍Keil C51是美国Keil Software公司出品的51系列兼容单片机C语言软件开发系统,与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。Keil提供了包括C编译器、宏汇编、连接器、库管理和一个功能强大的仿真调试器等在内的完整开发方案,通过一个集成开发环境(uVision)将这些部分组合在一起。运行Keil软件需要WIN98、NT、WIN2000、WINXP等操作系统。如果你使用C语言编程,那么Keil几乎就是你的不二之选,即使不使用C语言而仅用汇编语言编程,其方便易用的集成环境、强大的软件仿真调试工具也会令你事半功倍2.4.2Keil综述C51工具包的整体结构,uVision与Ishell分别是C51 for Windows和for Dos的集成开发环境(IDE),可以完成编辑、编译、连接、调试、仿真等整个开发流程。开发人员可用IDE本身或其它编辑器编辑C或汇编源文件。然后分别由C51及C51编译器编译生成目标文件(.OBJ)。目标文件可由LIB51创建生成库文件,也可以与库文件一起经L51连接定位生成绝对目标文件(.ABS)。ABS文件由OH51转换成标准的Hex文件,以供调试器dScope51或tScope51使用进行源代码级调试,也可由仿真器使用直接对目标板进行调试,也可以直接写入程序存贮器如EPROM中。 使用独立的Keil仿真器时,注意事项:* 仿真器标配11.0592MHz的晶振,但用户可以在仿真器上的晶振插孔中换插其他频率的晶振。 * 仿真器上的复位按钮只复位仿真芯片,不复位目标系统。 * 仿真芯片的31脚(/EA)已接至高电平,所以仿真时只能使用片内ROM,不能使用片外ROM;但仿真器外引插针中的31脚并不与仿真芯片的31脚相连,故该仿真器仍可插入到扩展有外部ROM(其CPU的/EA引脚接至低电平)的目标系统中使用Keil的优点:1.Keil C51生成的目标代码效率非常之高,多数语句生成的汇编代码很紧凑,容易理解。在开发大型软件时更能体现高级语言的优势。 2.与汇编相比,C语言在功能上、结构性、可读性、可维护性上有明显的优势,因而易学易用。用过汇编语言后再使用C来开发,体会更加深刻。 Keil C51软件提供丰富的库函数和功能强大的集成开发调试工具,全Windows界面。2.5本章小结本章主要介绍了本次设计所揽括的软硬件设备,详细的说明了本设计使用的开发板的资料,以及硬件的一部分主要芯片。在软件设计上所使用的技术主要是CGI和C,而C语言不用多说,对于CGI做出了详细的介绍。 第3章 嵌入式Web服务器的分析 第3章 嵌入式WEB服务器的分析3.1 嵌入式Web技术嵌入式Web服务器,本身就是在嵌入式设备中运行的基于HTTP协议的Web服务器,以网页的形式为计算机提供嵌入式设备的状态、参数表示等信息川。将Web服务器植入嵌入式系统后接入Internet,嵌入式Web服务器不仅可以利用浏览器提供的丰富的图形用户界面实现远程管理、监控嵌入式系统的功能,并且可以在服务器端结合嵌入式Web服务器提供的接口进行进一步开发,以此丰富各种嵌入式功能。嵌入式Web服务器更易于和Internet实现无缝连接,它使得嵌入式设备的远程控制和管理方式都有了改变,不再需要专用的通信线路,传输的信息也不再局限于数据信息5。如图3.1所示是典型的嵌入式Web服务器的系统模型:图3.1 典型的嵌入式Web服务器系统模型Internet可以提供多种网络服务,比如通过SMTP(简单邮件传输协议)收发邮件,通过FTP(文件传输协议)传输文件。Internet能得到如此大规模的流行,WWW(World Wide Web)技术居功至伟。可以说如果没有WWW和HTTP技术就不会有这么多人使用Internet,正是WWW技术把Internet的结构、服务和应用引上了一个新台阶。 西安工业大学毕业设计(论文) 嵌入式系统几乎包括了生活中的所有电器设备,如掌上PDA、移动计算设备、手机上网、数字电视、多媒体、汽车、微波炉、数字相机、家庭自动化系统、电梯、空调、安全系统、自动售货机、蜂窝式电话、消费电子设备、工业自动化仪表与医疗仪器等。嵌入式系统和Internet技术的结合,前景非常乐观。嵌入式Web技术除了可以用于构建智能家庭外还可以用于很多工业领域。在工业控制系统中,采用嵌入式Web技术的远程监控系统和传统的基于现场总线的监控系统相比,前者更容易和Internet实现无缝连接,它使得嵌入式设备的远程控制和管理方式都有了改变,不再需要专用的通信线路,传输的信息也不再局限于数据信息。在电力系统中嵌入式Web技术也有用武之地。电力系统是一个包含电能生产、传输和使用的复杂系统,各种生产设备地域分布广泛,设备类型众多、数量巨大,对于这些设备的监控。诊断和维护称为提高系统管理水平的重要内容。因此可以将嵌入式Web技术用于电力系统的远程检测与故障诊断。 3.2嵌入式Web服务器的应用3.2.1 在网络配置和监控方面的应用嵌入式Web服务器目前都是主要应用于各种计算机网络设备的配置与监控方面。有些公司己经推出了多种以不同方式连接Interment的网络化仪器和设备,例如Abilene公司研制出了具有Web浏览器远程接入功能的逻辑分析仪:Cisco公司己开始销售具备Web管理界面的交换机等。但是随着这一技术的成熟与发展,加之这一技术的优点,目前的文献大都预见:这一技术必将广泛的应用于其它领域。例如:水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,实时气象,水源和空气污染监测,家政系统:水、电、煤气表的自动抄表,安全防火、防盗系统等。随着微处理器技术、计算机网络技术的进步,基于嵌入式Web的网络数字视频监控系统逐渐得到了人们的广泛关注。把图像采集、视频压缩和WEB功能集中到一个体积很小的设备内,可以直接连入局域网和Internet,达到即插即用,省掉多种复杂的电缆,安装方便,用户也无须安装任何硬件设备即可观看,这使得由嵌入式网络视频监控服务器组成的监控网络组网和扩展都极为灵活方便。3.2.2 在Internet方面的应用传统的通用的Web服务器被设计用来处理成千上万个用户对普通网站的同时并发访问。它可以有强有力的数据库作为后盾来开展内容繁多的商业服务,但是由于嵌入式设备的处理器能力和有限的存储容量,这样的服务器并不能用来在嵌入式设备上面运行。对于一般的管理信息系统或中小型应用系统,所需的Web服务功能比较简单,如果仍然采用大型的通用Web服务器,无疑是一种资源的浪费。解决方法是使用功能相对简单、体积更小、消耗资源更少的简单Web服务器,于是嵌入式Web服务器就应运而生了。WWW(World Wide Web)的飞速发展和广泛应用得益于其提供的大量服务,这些服务为人们的信息交流带来了极大的便利。环球信息网是一个基于超文本方式的信息查询方式。它提供了一个友好的界面,大大方便了人们对信息的浏览。而嵌入式系统链接入互联网也是大势所趋。3.3 嵌入式Internet技术的应用前景嵌入式Internet技术具有广阔的应用前景,其应用领域可以包括:智能公路交通管理、车辆导航、流量控制、信息监测与汽车服务;植物工厂特种植物工场,如实现野生名贵药材的远程监控培养和种植,无土栽培技术应用,智能种子工程等;虚拟现实(VR)机器人交通警察、门卫、家用机器人等;信息家电冰箱、空调等的网络化;工业制冷冷库、中央空调、超级市场冰柜;VR库房粮库、油库、食品库等;VR家政系统水、电、煤气表的自动抄表,安全防火、防盗系统;VR精品店客户可以在Internet上实时地看到存货状况;工业自动化目前已经有大量的8、16、32位嵌入式微控制器在应用中,网络化是提高生产效率和产品质量、减少人力资源的主要途径,如制药工业过程控制、电力系统、电网安全、电网设备监测、石油化工系统;POS网络及电子商务公共交通无接触智能卡(ContactlessSmartcard,CSC)发行系统,公共电话卡发行系统,自动售货机;环境工程与自然水文资料实时监测,防洪体系及水土质量监测、堤坝安全,地震监测网,实时气象信息网,水源和空气污染监测8。3.4嵌入式Web服务器中TCP/IP栈的实现3.4.1嵌入式TCP/IP协议栈概述嵌入式系统中实现的协议要根据系统自身的特点及功能来设计自己的协议族,因此,在嵌入式Web服务器中并非TCP/IP协议族中所有的协议都要实现,必须针对不同的网络应用对协议栈进行删减,保留其基本功能,以满足网络应用的需要。考虑到嵌入式Web服务器的硬件处理速度慢并且存储容量相对较小的条件限制,在TCP/IP协议栈中主要能够实现ARP,IP,ICMP,TCP协议即可。具体分析如下:以太网数据的传输是采用MAC地址来识别的,而ARP协议提供IP地址和数据链路层使用的MAC地址之间的转换功能,为了保证系统在以太网的通信,首先要实现ARP协议;由于嵌入式Web服务器要能在Internet上通信,在网络层一定要实现IP协议,还要实现能报告数据传送差错等情况的ICMP协议;同时,Web服务器同Web浏览器之间的通信是通过HTTP协议进行的,在传输层采用TCP协议,能保证可靠的数据传输,进而实现其基础之上的HTTP协议。3.4.2 ARP协议实现嵌入式Web服务器中ARP协议主要功能是进行IP地址与以太网地址之间的转换,当系统收到发送数据请求时,协议栈就需要返回IP数据报,所有的 IP数据报都要进一步封装成以太网帧才能发送给网络控制器,而所加的以太网首部中就包含了由ARP协议解析目的IP地址所得来的对应的物理地址。首先ARP程序检测以太网帧的类型字段以判断其协议类型。以太网标准规定,当一个以太网帧携带一个ARP消息时,类型字段必须包含十六进制值0806。接着,检测消息中的操作字段以确认是一个请求消息还是一个应答消息。若是一个请求消息,ARP程序比较目标IP地址与自己的IP地址,如果一样,则要回发一个应答消息。对接收到的来自远程主机的任何试图解析Web服务器地址的ARP请求,Web服务器都会做出回应。当Web服务器向客户机发送一个ARP消息时,此消息是嵌入一个以太网帧中广播给网上的所有计算机,每台计算机收到这个请求后都会检测其中的IP地址。与该IP地址匹配的计算机发送一个应答,这个应答消息被放进一个帧中直接发回给Web服务器,而其他的计算机则会丢弃收到的请求,不发任何应答。这种方式虽然对网络造成一定的压力,但节省嵌入式设备的宝贵资源。在等待应答的时间里,ARP将到达的TCP包丢弃,一旦收到应答,ARP高速缓存就用目的以太网地址更新,然后等待分组就用高速缓存中的目的以太网地址更新,分组就被发送了。 3.4.3 IP协议实现IP协议主要功能是用于主机之间发送数据报的传输,实现比较复杂,但对于Web服务器来说,只需完成IP协议两项最基本的功能:第一,处理接收到的IP数据报,向上层网络提交。第二,负责对TCP报文、ICMP报文进行封装,交给数据链路层进行装帧。当Web服务器收到发给自己的数据帧后,需要对以太网首部中的帧类型字段进行判断,如果该字段为0x0800,说明后面的数据是IP数据报,将此数据提交IP层处理。IP协议判断此数据报的IP头部中目的IP地址字段与本地IP地址是否一致,若不一致,则丢弃该数据报;若一致,进行IP头部校验和检查,当证明数据在传输中没有出现错误时,去掉IP头部,将IP数据提交上层处理,即根据IP首部中的协议字段决定交给ICMP 协议还是TCP协议处理。在程序运行时,当所接收的数据被判定为IP数据报后,IP处理程序将严格按照以上的过程接收处理数据并进行处理。IP协议还要查询是否有上层数据要发送,如果有数据发送,则将上层数据进行IP封装,交给数据链路层装帧发送。3.4.4ICMP协议实现ICMP提供了一种让互联网中的路由报告错误或提供有关意外情况信息的报文机制。它不是独立的,是IP的一部分,在每个IP实现中必须有它。虽然它提供的信息十分丰富,但在嵌入式Web服务器应用中,只要实现回送请求(echo request)和回送应答(echo reply)就足够了。3.4.5TCP协议实现TCP是嵌入式Web服务器的核心。在设计嵌入式Web服务器时,系统应用层只需支持HTTP协议。嵌入式系统把要传送的数据,参数等存入网页的相关位置。对于任何TCP连接,每次只需支持HTTP协议发送网页服务。在单片机这样的系统中,资源十分有限,因此要精简TCP 协议,简化的原则有两个:第一,不能改变其面向连接的特性;第二,简化必须能配合其所采用的应用层协议。作为嵌入式Web服务器,TCP连接时只需处于被动服务的状态,所以将标准的TCP有限状态机的主动创建连接的SYN-SENT状态,主动关闭连接的FIN-WAIT1,FIN-WAIT2,CLOSING,TIME-WAIT状态都省去,在设计中,还可以舍弃CLOSED状态,让它开始就处于LISTEN状态来监听客户端的连接请求。这样,TCP的三次握手机制中,建立连接的过程时,嵌入式系统作为监听状态的服务器,始终为被动方,相当于被动打开后的LISTEN状态,等待对方发起连接。当它接收到SYN数据片,它发出SYN+ACK数据片并确认它己经收到对方的SYN,此时变为SYN_RECEIVED状态。再接收到对方返回的一个仅含ACK的空数据片,则三次握手完成,进入ESTABLISHED状态,之后可以进行TCP数据通讯。这样,既节省了系统开销,同时也保证了所有的数据段都能安全正确地到达目的端。3.5 协议标准现在直接采用的标准为TCP/IP协议栈,包括TCP、IP、ICMP、RARP等,这些标准的协议对嵌入式Internet系统的大量使用有着很重要的意义。但是,这些协议的实现在嵌入式系统中有着特别的要求,如图形和数据的显示、实时分布式对象计算等。所以研究嵌入式TCP/IP协议栈以满足嵌入式系统的性能要求是很重要的,我们应该尽量减小TCP/IP协议栈而又不失一般的标准性。现在国外对此已经有很多的相关研究,如国外的C/IP项目的研究,它是一个为微控制器和嵌入式系统而设计的小型TCP/IP协议栈:又例如CMX公司的MicroNet TCP/IP,它是为8位或16位微处理器而设计的,支持大部分的标准协议,连接方式有以太网连接、拔号连接和直接连接方式。嵌入式Web服务器技术的核心是HTTP引擎。HTTP协议是WEB应用的标准协议,其已经从HTTP1.0发展到HTTP1.1,性能有很大改变,增加了缓存功能,同志就是TCP连接形式的改变。HTTP10在每次HTTP请求中都需要TCP连接。一个典型的页面可能含有许多单独的HTT请求,如基本页面请求、每个HTML框架请求、每个图形请求等。建立每个请求并且产生每TCP连接需要占用大量的CPU和内存资源:而HTTP1.1标准可以为多个HTTP事务在浏览器和服务器之间只保持一个TCP连接,这样就大大提高网络和系统的性能。所以,在嵌入式Web服务器中为了得到一个稳定的用户界面而又不影响嵌入式系统的CPU和内存资源,我们应该使用HTTP1.0标准。3.6 超文本传输协议(HTTP)3.6.1 HTTP协议简介HTTP协议即超文本传送协议(HypertextTransferProtoeol)是用来构建分布式信息系统的,建立在TCP/IP协议之上的应用层协议。HTTP协议是一种用于网络通信的标准应用层协议。它是使用在Web服务器和客户端直接传送数据的一种协议。HTTP协议是基于请求/回应机制的。HTTP协议具有支持客户/服务器模式,简单快速的特点,而且具有无连接、无状态、元信息的特点。HTTP协议它指定了客户和服务器如何建立连接、客户如何从服务器上请求数据、服务器如何响应以及如何关闭连接。客户端与服务器端建立连接后,以请求方法、URL、协议版本等方式向服务器端发出请求,该请求可跟随包含请求修饰符、客户信息、及可能的请求体(body)内容的MIME类型消息。服务器端通过状态行(Status1ine)来回应,内容包括消息的协议版本、成功或错误代码,也跟随着包含服务器信息、实体元信息及实体内容的MIME类型消息。HTTP协议最初的原型是在1990年的Internet上出现的。最初只是在实验室应用,用于提供一种新型的信息组织方法,便于将信息组织成为Web文档,这种就是所谓的超文本链接。当这种方法被公开应用到Internet上之后,得到了广泛的应用,事实证明HTTP协议比以前的任何一种协议都能将信息很好地组织起来,可方便、直接地从Internet检索和获取所需的信息。与其他流行的Internet协议一样,HTTP协议的发展也经历了一个不断完善的,功能不断增加的过程。从HTTP协议出现到制定相应的面,HTTP协议的版本经历了HTTP0.9.HTTP1.0以及HTTP1.1协议主要内容包括:请求周期、消息、请求、响应、访问认证、URL编码等6部分内容。当用户要浏览服务器上的一个网页时,一个HTTP请求就会从用户的浏览器发到HTTP服务器。服务器响应这个请求,指定的网页传送回来,用户才看到了网页。HTTP协议被设计成适应快速、小流量,比其他协议花费服务器的CPU或内存资源小的协议。HTTP(Hyper Text Transfer Protocol)协议是一套计算机通过网络进行通信的规则。计算机专家设计出HTTP,使HTTP客户(如Web浏览器)能够从HTTP服务器(Web服务器)请求信息和服务,HTTP目前协议的版本是1.1。HTTP是一种无状态的协议,无状态是指Web浏览器和Web服务器之间不需要建立持久的连接,这意味着当一个客户端向服务器端发出请求,然后Web服务器返回响应(Responses),连接就被关闭了,在服务器端不保留连接的有关信息。HTTP遵循请求(Request)/应答(Response)模型。Web浏览器向Web服务器发送请求,Web服务器处理请求并返回适当的应答。所有HTTP连接都被构造成一套请求和应答9。HTTP使用内容类型,是指Web服务器向Web浏览器返回的文件都有与之相关的类型。所有这些类型在MIME Internet邮件协议上模型化,即Web服务器告诉Web浏览器该文件所具有的种类,是HTML文档、GIF格式图像、声音文件还是独立的应用程序。大多数Web浏览器都拥有一系列的可配置的辅助应用程序,它们告诉浏览器应该如何处理Web服务器发送过来的各种内容类型。我们在浏览器的地址栏里输入的网站地址叫做URL(Uniform Resource Locator,统一资源定位符)。就像每家每户都有一个门牌地址一样,每个网页也都有一个Internet地址。当你在浏览器的地址框中输入一个URL或是单击一个超级链接时,URL就确定了要浏览的地址。浏览器通过超文本传输协议(HTTP),将Web服务器上站点的网页代码提取出来,并翻译成漂亮的网页。因此,在我们认识HTTP之前,有必要先弄清楚URL的组成,例如: 1、http:/:代表超文本传输协议,通知服务器显示Web页,通常不用输入;2、www:代表一个Web(万维网)服务器;3、M4、China/:为该服务器上的子目录,就好像我们的文件夹;5、Index.htm:index.htm是文件夹中的一个HTML文件(网页)。我们知道,Internet的基本协议是TCP/IP协议,然而在TCP/IP模型最上层的是应用层(Application layer),它包含所有高层的协议。高层协议有:文件传输协议FTP电子邮件传输协议SMTP、域名系统服务DNS、网络新闻传输协议NNTP和HTTP协议等。HTTP协议(Hypertext Transfer Protocol,超文本传输协议)是用于从WWW服务器传输超文本到本地浏览器的传送协议。它可以使浏览器更加高效,使网络传输减少。它不仅保证计算机正确快速地传输超文本文档,还确定传输文档中的哪一部分,以及哪部分内容首先显示(如文本先于图形)等。这就是你为什么在浏览器中看到的网页地址都是以“http:/”开头的原因。自WWW诞生以来,一个多姿多彩的资讯和虚拟的世界便出现在我们眼前,可是我们怎么能够更加容易地找到我们需要的资讯呢?当决定使用超文本作为WWW文档的标准格式后,于是在1990年,科学家们立即制定了能够快速查找这些超文本文档的协议,即HTTP协议。经过几年的使用与发展,得到不断的完善和扩展,目前在WWW中使用最广泛的是HTTP/1.0的第六版。3.6.2 HTTP协议工作过程由于HTTP协议是基于请求/响应范式的(相当于客户机/服务器)。一个客户机与服务器建立连接后,发送一个请求给服务器,请求方式的格式为:统一资源标识符(URL)、协议版本号,后边是MIME信息包括请求修饰符、客户机信息和可能的内容。服务器接到请求后,给予相应的响应信息,其格式为一个状态行,包括信息的协议版本号、一个成功或错误的代码,后边是MIME信息包括服务器信息、实体信息和可能的内容。许多HTTP通讯是由一个用户代理初始化的并且包括一个申请在源服务器上资源的请求。最简单的情况可能是在用户代理和服务器之间通过一个单独的连接来完成。在Internet上,HTTP通讯通常发生在TCP/IP连接之上。缺省端口是TCP80,但其它的端口也是可用的。但这并不预示着HTTP协议在Internet或其它网络的其它协议之上才能完成。HTTP只预示着一个可靠的传输。以上简要介绍了HTTP协议的宏观运作方式,下面介绍一下HTTP协议的内部操作过程。在WWW中,“客户”与“服务器”是一个相对的概念,只存在于一个特定的连接期间,即在某个连接中的客户在另一个连接中可能作为服务器。基于HTTP协议的客户/服务器模式的信息交换过程,它分四个过程:建立连接、发送请求信息、发送响应信息、关闭连接。其实简单说就是任何服务器除了包括HTML文件以外,还有一个HTTP驻留程序,用于响应用户请求。你的浏览器是HTTP客户,向服务器发送请求,当浏览器中输入了一个开始文件或点击了一个超级链接时,浏览器就向服务器发送了HTTP请求,此请求被送往由IP地址指定的URL。驻留程序接收到请求,在进行必要的操作后回送所要求的
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸下载 > CAD图纸下载


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!