WebServer

2024-08-06

WebServer(共4篇)

WebServer 篇1

摘要:文章介绍了以Rabbit2000为核心的嵌入式Web Server在农村泵站管理中的应用;阐述了系统的优势:只需一个管理人员在电脑前通过浏览器就可以远程管理各个泵站, 开启或者关闭水泵, 设置水泵自动开启或者关闭;描述了系统软硬件的设计。

关键词:嵌入式Web Server,Rabbit2000,远程管理,泵站

1 引言

随着网络技术的迅速发展, 人们对于拥有网络化功能的智能设备的需求日益增大;另一方面, 近几年来嵌入式技术以其独特的灵活性和便捷性已经广泛应用于多个学科、领域。带网络化功能的嵌入式系统将成为未来生产控制的主流, 在各个行业拥有极为广阔的前景。本系统介绍的是以Rabbit 2000为核心, 实现远程监测控制功能的系统在农田灌溉方面的应用。

春天是农田防涝的主要季节, 到了夏天农田又要经常灌水防止干旱, 所以许多农村都建了泵站, 用来防涝防旱。然而由于泵房的分散分布, 以及排涝或者灌溉的不定时性, 给泵站管理增加了成本, 需要投入大量的人力。本系统介绍一种远程管理各个泵房的方法, 只需一个管理人员在电脑前通过网页就可以管理各个泵房, 及时的给农田排涝或者灌溉。

2 系统设计

基于嵌入式Web Server的农村泵站远程管理系统通过IE浏览器或者其他浏览器可实现Web远程登录, 与安装在泵房内的以Rabbit 2000为核心的硬件控制设备进行通讯, 从而达到远程管理各个泵房的目的。当农田有被淹的危险的时候, 开启泄洪泵把水位降到安全水位以下, 当农田需要灌溉的时候, 开启灌溉泵来灌溉农田。还可以设置自动开启关闭灌溉泵或者泄洪泵。

本系统以嵌入式Web Server技术为基础, 结合Rabbit 2000的网络通信功能, 利用现有的以太网技术 (如HTTP等) , 将采集到的现场数据通过网页的形式, 提供给远程用户使用。系统的结构图如图1:

2.1 硬件设计

系统硬件的核心芯片是由Z-World公司推出的Rabbit 2000, 它是一种低成本的嵌入式微控制器, 它采用Dynamic C的集成开发环境, 利用其内嵌的TCP/IP协议栈, 可以实现网络通信的快速开发。

系统硬件的网口模块和存储模块和芯片rabbit 2000集成到一个模块RCM2100上, 这样提高了开发的效率, 避免了重复工作, 扩展方便。RCM2100模块是针对集成了以太网的嵌入式系统来设计的。集成的以太网接口将设计者从串口通信和控制的限制中解脱出来, 允许使用廉价的网络设备来进行直接的本地连接或者全球连接。使用带以太网口的Rabbit核心模块的嵌入式系统能够通过任何网络或互联网进行控制和监视。RCM2100模块的主要外围设备有串行端口, 系统时钟, 定时/计数振荡器, 并行I/O口, 从口和定时器。其中, 并行I/O口有A, B, C, D, E一共5个, 即40位I/O可供使用, 但为了实现以太网接口, D, E中预先用掉了6位I/O口, 也就是说用户真正可以使用的I/O口一共是34位, 其中输入口为10位, 输出口为6位, 剩下的18位用户可以通过软件来设定它们的输入、输出状态。RCM2100模块的工作频率为22.1MHz, 带有512k的FLASH ROM、512k的SRAM以及RJ-45以太网接口, 并且可以根据需要扩展RS232接口。

硬件控制模块的整体流程如图2:

考虑到现场环境的恶劣和系统的可靠性, 对所有处理器的输入和输出信号进行了光电隔离, 使输入端与输出端完全实现电气隔离, 输入信号对输出端无影响, 抗干扰能力强, 工作稳定, 无触点, 使用寿命长, 传输效率高, 最重要是对主控芯片Rabbit2000提供了很好的保护。

考虑到水泵在开关的瞬间, 可能会有大电流的浪涌冲击, 所以系统选用30A的大电流继电器来保持系统的可靠性。

光耦原理图如图3:

继电器控制原理图如图4:

2.2 软件设计

软件程序用Dynamic C编写, Z-World公司的Dynamic C是一个C语言的集成开发环境, 包括编译器、编辑器和调试器, 程序可以使用Dynamic C软件和串行编程电缆进行编译和执行。系统处理流程如图5。

主要实现的功能有:

用IP地址以及用户名密码远程登录控制网页;查看农田泵站里各个水泵状态;开启关闭各个水泵;定时关闭各个水泵;设置各个水泵的自动开关;修改用户名密码及IP地址。

本系统设计的是一个Web服务器, 用到了TCP/IP协议和HTTP协议。

TCP/IP协议和HTTP协议的实现

IP包含编址方案, 并提供寻址功能;TCP则是在不同主机的对等进程之间提供可靠的进程通信。在TCP两端口所连接的实体中, 一端为应用程序进程或者用户, 另一端则为底层协议, 如IP协议。TCP在建立连接的过程中采用三向握手机制, 以保证数据的可靠性。HTTP服务器可使HTML (超文本链接标示语言) 页面, 如Web页和其它文件为客户端所使用。

以下是用Dynamic C实现TCP/IP协议和HTTP协议的程序主体框架。由于本程序中要用到修改IP的功能, 所以采用动态IP设置函数, “memmap”语句可以使程序在芯片中运行时, 如同在扩展代码窗口下被编译, “use”语句使编译器按照库文件配置编译代码, HTTP由http.lib来负责实现。

sock_init () 是TCP/IP函数库的基本函数, 为初始化TCP/IP协议栈函数, 使协议栈开始处理入栈数据报;Ifconfig () 是动态设置IP函数;http_init () 是初始化HTTP协议函数。

程序一开始对硬件设备的IP地址、网关以及子网掩码等参数做了设置, 同时设置可以访问的用户名及密码, 接着初始化rabbit芯片各个管脚的工作状态、接口电路芯片的状态和一些其他相关参数。然后一直监听80端口, 与PC机浏览器进行交互, 管理人员通过设备对应的IP地址以及用户名密码来访问设备。具体网页界面如图6。

进入主页后, 管理人员通过各个按钮来远程操作泵房中的水泵, 程序则把管理人员的操作指令转换对I/O口的读写操作等来实现水泵的响应。实现灌溉泵的开启或者关闭需要操作rabbit 2000里A口中的两个I/O口。开启灌溉泵的代码如下:

关闭灌溉泵则是刚好把这两个I/O置反:

Bit Wr Port I (PADR, &PADRShadow, 0, 4) ;

Bit Wr Port I (PADR, &PADRShadow, 1, 5) ;

定时功能采用芯片自带的定时器TIMER来实现, 用户名密码修改用removeuser () 和adduser () 函数实现, 修改IP用到上文中提到过的动态设置IP函数Ifconfig () 。

网页程序用Front Page编写, Dynamic C把设计好的网页用#ximport函数导入到设备中。

3 结束语

嵌入式设备的网络化是网络技术、嵌入式技术和检测控制技术的交叉与融合, 代表着检测控制设备的发展方向。本系统介绍的是嵌入式Web Server在农村泵站管理中的应用, 将嵌入式技术与Internet技术完美结合, 通过以太网实现信息传递, 保证了远程监控的实时性与可靠性, 相比以前每个泵站配置一个管理人员去泵站手动开关水泵, 本系统实现了只需一个管理人员在PC机就可以管理多个泵站, 节省了大量的人力财力。

参考文献

[1]Z-World.Rabbit2000User's Manual[Z].2001.

[2]Z-World.Dynamic C TCP/IP User's Manual[Z].2001.

[3]Z-World.RabbitCore RCM2100User's Manual[Z].2001.

[4]田泽.嵌入式系统开发与应用教程[M].北京:北京航空航天大学出版社, 2005:374-378.

[5]李农.因特网技术在嵌入式系统中的应用[J].测控技术, 2000, (4) :15-16.

WebServer 篇2

随着我国经济的迅速发展, 煤炭能源的消耗强度日渐加大, 煤矿生产的事故也呈增长趋势, 因此, 需要对煤矿重要的作业区域和设备配置实时视频监控系统, 从而使管理人员及时获取现场画面, 迅速有效地应对各种突发事件, 减少人员伤亡和财产损失。

嵌入式Web Server (简称EWS) 融合了Web技术和嵌入式技术, 能够很好地解决传统Web Server无法解决的实时性、安全性等问题, 被广泛应用于远程视频监控系统中。本文介绍的视频监控系统融合了EWS技术, 采用3层结构实现:底层为视频采集终端, 负责作业现场图象的采集和存储;第二层为Web Server层, 负责图象数据的编码和压缩, 并将数据包传递给监控端;第三层即为监控端, 通过浏览器与服务器交互, 接收视频数据流, 完成远端解码和回放, 并能动态改变视频采集终端的配置。

1系统硬件构成

基于嵌入式Web Server的煤矿视频监控系统的硬件结构如图1所示。采用三星公司生产的S3C2410作为中央处理器, 该芯片为内部集成ARM920T内核的32位微控制器, 带有全性能MMU (内存管理单元) , 具有指令和数据Cache、RAM控制器、触摸屏接口和2个USB接口控制器, 支持32位的高速AMBA总线接口, 主频最高可达203 MHz, 性价比高, 是目前常用于多媒体终端设备的微控制器[1]。采集图象的摄像头采用以OV511芯片为核心的MDC-30L型USB摄像头, 即插即用, 更换方便, 最大可输出分辨率为640×480的8倍CCIR-656 YUV 4∶2∶2格式的图象[2]。

系统的硬件平台分为核心板和底板2个部分。其中核心板上集成了S3C2410微处理器、 64 MB NandFlash芯片K9F1208UO和64 MB SDRAM芯片HY57V561620FTP-H, 用于存放引导加载程序bootloader、Linux内核、文件系统和应用程序, 此外还有网络控制器DM9000E, 并采用隔离变压器HR601680实现网络控制器与以太网线路的电气隔离, 抑制共模干扰。

底板上提供以下外设接口:

(1) USB HOST接口, 用于外接USB摄像头;

(2) SD/MMC卡接口, 用于外接大容量SD 存储设备;

(3) JTAG接口, 用于烧写引导加载程序bootloader;

(4) 10 M/100 M以太网接口, 用于下载调试Linux内核和文件系统及传输数据;

(5) 触摸屏接口, 作为人机交互界面。

核心板与底板组合构成一个完整的应用系统, 能够轻松装载、调试和运行嵌入式Linux系统, 功耗低、体积小, 为应用开发提供了良好的平台。

2嵌入式系统的构建与移植

本系统选用嵌入式Linux系统, 内核版本为2.6.14。其在硬件平台上的移植过程如下:

(1) 配置并编译内核

将下载的内核源码放到/home/neihe目录下, 进入该目录, 执行#make menuconfig命令, 对内核进行适当配置:启用MMU, 添加TCP/IP协议、USB协议及Video4Linux等组件的支持。保存并退出, 执行#make zImage命令, 最终在/arch/arm/boot/目录下生成zImage映像文件。

(2) 制作文件系统

文件系统集合了操作系统正常运行所需的文件和应用程序。使用Busybox制作文件系统, 包含视频采集应用程序、shell、可执行文件boa、CGI (Common Gateway Interface, 通用网关接口) 可执行文件及应用程序所需的库文件等。本系统的文件系统格式为jffs2。

嵌入式Linux系统的启动需用一个专用的引导程序bootloader, 本文选用韩国MIZI公司的vivi。先通过JTAG接口将编译好的vivi烧写进NandFlash中, 然后通过网线下载编译好的Linux内核映像文件和文件系统。

3嵌入式Web Server的实现

在嵌入式Linux下建立Web Server有多种选择, 如HTTPD、BOA和THTTPD等。为了满足系统实时性的要求, 选择了BOA作为Web Server, 其源码开放、性能较高且支持CGI功能, 可方便实现动态网页。

Web的核心是HTTP协议, 即在TCP/IP协议下使用标准同步请求/应答设计的基于ASCII的协议[3]。运行在不同系统上的浏览器和服务器是通过HTTP消息彼此交流的。在基于HTTP的客户/服务器交换数据时, 当HTTP请求产生时, 就开始一次HTTP通信。具体过程:浏览器提取出 URL中的主机后, 向DNS发出请求, 解析主机名的IP地址;DNS解析地址并将结果返回给浏览器;浏览器向该地址请求建立TCP连接;浏览器发出请求报文;服务器向浏览器发送应答报文, 并将指定数据发送给浏览器;断开连接。根据HTTP协议规定, 如果客户端没有发出请求, 则服务器不会自动发送页面。因此, 通过在网页程序中加入标记, 使浏览器在无用户干预下周期性地刷新页面, 从而可保证用户及时地获得远端作业现场的图象信息。HTTP请求报文格式分为请求行、可选报头、空行及报文实体;HTTP应答报文格式分为状态行、可选报头、空行及报文实体[4]。报文实体就是用HTML语言编写的网页。

HTTP的常用请求方法有GET和POST等。在使用HTML表单向服务器提交信息的语法通常定义如下:

。此处METHOD属性规定了数据提交的方式为GET或POST。由于POST在安全性和传输数据量上都优于GET, 因此, 本系统中提交信息方式设定为POST, 并修改定义为。

CGI是Web Server和外部应用程序 (以CGI标准编写) 之间的接口标准, 定义了Web Server 如何向外部应用程序发送信息、在收到应用程序消息后怎么处理等内容。CGI应用程序通过环境变量、标准输入和标准输出与Web Server通信, 以传递参数与处理结果。Web Server的标准输入为CGI的标准输出, Web Server的标准输出为CGI的标准输入。监控端通过浏览器向Web Server发送请求, Web Server再将请求信息送给CGI应用程序, 应用程序访问存储器上保存的视频信息, 并以HTML形式的结构文件返回, 通过Web Server送到监控端浏览器呈现给用户, 使得采集的图象动态地显示在监控端浏览器上。CGI应用程序可用C、shell、perl等语言编写, 本系统使用效率高的C语言开发应用程序。

嵌入式Web Server的软件编程基于套接字 (Socket) 实现, 其工作流程如图2所示。Web Server新建一个套接字绑定主机IP后进入监听状态并等待接收监控端浏览器的连接请求。当监控端有HTTP连接请求时, Web Server接受连接并进入HTTP处理程序:首先分析请求报文, 然后通过分析报体调用相关的应用程序, 执行完应用程序后向监控端发送应答信息并等待新的请求。

监控端程序采用Java语言的Applet编写, 其流程如图3所示。Applet可以直接嵌入到页面中, 由支持Java语言的浏览器解释执行, 能够大大提高Web页面的动态执行能力[5]。当监控人员访问Web Server时, Applet程序会自动下载到浏览器环境中运行。

4视频信息的采集与传输

在Linux环境中, 所有外设都看成是一种特殊的文件, 称为设备文件。系统调用是内核和应用程序之间的接口, 而设备驱动程序则是内核和外设之间的接口, 完成对设备的初始化和释放、对设备文件的各种操作, 使得应用程序可以像普通文件一样对外设进行操作。Video4Linux (简称V4L) 是Linux中视频设备的内核驱动, 为针对视频设备的应用编程提供了一系列接口函数。此处应用程序包括视频采集、视频编码和视频发送3个部分。为了在视频数据传输过程中防止码流读取编码和发送互相干扰、避免读取编码和发送相互冲突等问题, 系统采用了一种基于缓冲区的多线程传输技术。采集线程和发送线程是互斥的, 读入的视频数据经过编码后供发送线程处理, 用缓冲区和互斥锁可完全解决它们的同步问题, 只要不进入临界区, 2个线程可以同时工作。

视频采集线程流程如图4所示。

采集完一帧图象后, 将数据保存在缓冲区, 并置满信号。发送线程从缓冲区中读出图象数据, 若直接通过网络发送, 由于信息量大, 会增加数据传输系统的负担, 降低传输速率。因此, 在程序设计中将图象数据划分成每块为512 B的数据块, 经过JPEG压缩后加上序列号、图片号打包成Socket套接字后, 传输给监控端, 同时置缓冲区为空信号。发送完一帧数据后, 丢掉该帧数据以减少内存消耗。

5系统测试

在测试过程中发现图象含有横纹干扰, 经过尝试选用横向Prewitt算子滤波加二值分割的方法可很好地消除干扰;每幅图象大小约为6 KB, 放大图象不会出现明显失真, 传输过程中坏帧率在6%以下;经过ping测试, Web Server的响应时间小于100 ms。测试结果表明, 该系统的稳定性和实时性达到了预期效果。

6结语

本文介绍的基于嵌入式Web Server的煤矿视频监控系统具有成本低、开放性好、可移植性强、操作简单、便于维护和升级等优点, 提高了煤矿生产的自动化程度, 为煤矿生产的安全和远程管理提供了较为可靠的技术保障。

摘要:提出了一种基于嵌入式Web Server的煤矿视频监控系统的设计方案。该系统在S3C2410微处理器上搭建了嵌入式Web Server, 通过USB摄像头获取实时视频数据, 综合利用JPEG压缩方法、Video4Linux编程和多线程通信技术, 将视频数据提交给监控端, 最后由监控端将接收到的数据重组、复合成视频图象, 从而实现了远程视频监控功能。测试结果表明, 该系统图象清晰, 坏帧率低, 稳定性和实时性较好。

关键词:煤矿,视频监控,远程监控,嵌入式Web Server,嵌入式Linux,多线程通信

参考文献

[1]孙天泽, 袁文菊, 张海峰.嵌入式设计及Linux驱动开发指南:基于ARM9处理器[M].北京:电子工业出版社, 2005:16-41.

[2]吴英丽, 陈胜权, 刘旭明.一种改进的嵌入式智能视频监控系统[J].电视技术, 2008, 32 (4) :91-93.

[3]鲍可进, 吴健勇.基于嵌入式Web Server的电力系统远程监控的实现[J].计算机工程与设计, 2007, 28 (13) :3178-3180.

[4]TI MJ M, 姚作梁, 涂丹, 等.嵌入式系统TCP/IP应用层协议[M].北京:电子工业出版社, 2006:33-37.

[5]何梅.Java Applet编程实例[M].北京:清华大学出版社, 2003:48-54.

[6]韦东山.嵌入式Linux应用开发完全手册[M].北京:人民邮电出版社, 2008.

WebServer 篇3

嵌入式系统已成为计算机应用领域的一个重要组成部分,多种多样的以嵌入式系统为核心的数字化产品已开始成为信息处理的主流。随着后PC时代的到来,嵌入式系统将以PC机不可比拟的软、硬件可裁剪,结构灵活性,稳定性和经济性成为计算机领域的新的爆发点。随着嵌入式系统应用越来越广泛,人们自然想到了如何将Internet技术和嵌入式技术结合起来,使基于开放的、标准的、独立于系统平台的TCP/IP通信协议的Web技术在嵌入式系统中得到更广泛的应用和普及。

将精简后的TCP/IP协议引入到嵌入式系统中,尤其是低端的8位或16位处理器,实现的嵌入式Web服务器,利用已有的Internet网络通过B/S模式实现远程监测、远程控制和数据采集等功能。该结构费用低,操作、维护方便,适用范围广,将广泛地应用于工业自动化、信息家电、智能仪器仪表、虚拟现实中的应用、环境工程与自然、家庭医疗保健、安全保障服务业等领域,成为后PC时代研究的热点。本文主要介绍了嵌入式Web服务器的协议体系结构,并重点分析了各层协议的实现内容。

(二)精简TCP/IP协议栈的结构

TCP/IP协议是一个复杂的协议集,而嵌入式系统由于受到资源和速度的限制,不具有处理完整协议栈的能力,因此在具体实现时,必须对每一个协议进行仔细地评估,确定协议中哪些部分是必须的,从而根据系统要求有选择地加以实现,因此嵌入式Web服务器中并不实现所有的协议。在对TCP/IP协议进行精简时,以不影响网络基本功能为原则,以满足实用为目的,按照8位和16位等低端单片机的性能要求,对完整的TCP/IP协议进行一定程度的删减,量体裁衣。最终既要满足应用系统对数据传输和控制等功能的实际需要,又不能超出单片机系统的资源限制,实现联网功能。精简后的TCP/IP协议虽然功能不具备删减之前那样完善,但对于这种低端嵌入式系统的要求而言,还是完全可以胜任的。

TCP/IP协议在进行删减时应主要遵循两个原则:

1. 协议内容精简

嵌入式Web服务器的实现需要ARP, IP, TCP, ICMP等网络协议的支持,每一个完整协议都很庞大,全部实现是不现实的。应该在保证实现网络通信基本功能的前提下尽可能地精简协议,确定出协议的哪一部分是必需的,哪一部分可以省略,以满足系统要求。

2. 协议接口层次明确

TCP/IP协议分布在链路层、网络层、传输层和应用层上,协议是分层实现的,每一层只负责处理通信过程中的一部分问题。采用模块化的设计思路,如果需要修改哪个协议,只需修改相应模块的功能,其它模块不用改动。在网络系统中,按照分层的思想,从网络最底层开始每一层都为高层提供服务,明确层间接口对软件开发十分重要。

完整的TCP/IP协议是一个复杂的协议系统,但是在嵌入式Web服务器中并不是要实现所有的协议,应根据项目要求有选择地加以实现。以太网数据的传输是采用MAC地址来识别的,而ARP协议提供IP地址和数据链路层使用的MAC地址之间的转换功能,为了保证系统在以太网的通信,首先要实现ARP和RARP协议;嵌入式Web服务器与用户进行通信时,难免出现一些传输错误,为了保证计算机能够掌握网路和传输状态的准确信息,需要实现ICMP协议;由于嵌入式Web服务器要能在Internet上通信,在网络层一定要实现IP协议;在应用层,主要实现远端用户机通过浏览器的访问控制方式,所以要实现HTTP协议,而HTTP协议基于TCP协议实现传输的,加上TCP协议是面向可靠的数据流的传输,基于应用的需要和对可靠性的要求,在传输层采用TCP协议,并对TCP协议进行了简化处理,主要针对HTTP协议开发TCP协议。

考虑到系统的设计要求以及嵌入式系统的资源限制,最终在系统中实现了如下图所示几种协议,当然这并不是该协议子集的最优方案,但却是针对该系统的最恰当的方案,如图1所示。

(三)各层协议的具体实现

下文将详细阐述各层协议具体实现方案及其作用。

1. ARP协议

ARP (Address Resolution Protocol)也就是地址解析协议,是介于链路层与网络层之间,并不直接归属于具体的某一层。由于以太网底层硬件通过网卡的Mac地址进行寻址,而网络中传输的是含有IP地址的数据包。因此,当一台主机在以太网中要向另一台主机发送数据时,必须先找到与目标地址相对应的IP地址,换言之必须实现MAC地址到IP地址的映射,这就是地址解析协议的实质。

ARP协议主要有两种报文,即ARP请求报文和应答报文,该协议的实现主要是对这两种报文的实现,ARP协议的工作流程如下:当一台主机发送方要向另一台主机接收方发送数据时,发送方先在网络中广播含接收方IP地址的ARP请求报文,网络中所有主机都会收到这个请求。当接收方识别出该请求报文中的IP地址与自身相同时,它会返回一个包含自身MAC地址和IP地址的应答报文。发送方收到应答报文后,再根据接收方的MAC地址发送IP数据报。

在嵌入式WEB服务器环境中,服务器端一般是被动的接收来自客户的服务请求,为客户提供服务,也就是说服务器不会主动向某一IP地址发出数据帧。既然如此,始终处于被动状态的服务器完全不需要向任何主机发送ARP请求,因此,本方案中ARP协议只需能实现ARP应答报文即可。

2. IP协议

IP协议是TCP/IP核心协议之一,它负责将数据传输到正确的接收方,所有的TCP、UDP、ICMP及IGMP数据都封装在IP数据报内后再传输。

整个协议由数据报的接收和发送两个子程序构成。数据发送前,先对数据包添加20字节的IP报头形成IP数据报,再将构造好的数据报发送给对应IP地址的接收方。数据接收前,接收方先判断是否是发送给自己的IP数据报,再判断是哪种协议,是TCP协议,还是ICMP协议发送的数据,最后调用相应协议子程序来处理数据。

另外,无论是在接收还是发送的过程中,IP协议都会采取差错控制,通常使用计算校验和的方法来判断数据是否正确。

3. ICMP协议

IP数据报在网络中是不可靠传输的,很可能在传输过程中出错,为此,TCP/IP协议栈中专门设计了ICMP协议,将传输过程的错误或相关信息发送给发送方,还能实现故障检测、排除和优化网络性能。

ICMP协议的定义了五种差错报文和四种信息报文,对于本文所设计的系统,不必实现这样强大的功能。ICMP协议只需实现Ping(分组网间网探测器)响应。Ping响应的实质是利用回送请求与应答报文来检测网络是否可达,即检测网络的连通性。既可以查找数据分组的往返时间,还能统计出丢失的数据。当发送方向网络中发出回送请求,接收方将回送应答返回给发送方。如果应答回送成功,就表明该传输系统是连通的。

4. TCP协议

TCP (传输控制协议) 在IP协议软件提供的服务的基础上,支持面向连接的、可靠的、面向流的投递服务。TCP协议在进行数据传输时可分为建立连接、传输数据和关闭连接三个阶段,连接建立和终止过程通常叫做“握手”,TCP使用“三次握手”实现连接的建立,使用“四次握手”来终止连接。

要TCP协议的工作过程可以用状态变迁图来描述,完整的TCP协议状态变迁图是一个庞大的结构,所需的资源花费是巨大的。本论文设计中,根据系统的实际应用环境,Web服务器端只需要被动的接受用户的建立连接和终端连接的请求,因此,可以采用了一种简化的状态变迁图,如图2所示。

经过这样的裁减,整个状态变迁图显得结构简单易懂,实现起来也容易得多,同时又能满足嵌入式web服务器通信的需要,符合了设计方案对TCP协议精简的要求。

5. HTTP协议

HTTP (超文本传输协议) 协议是用来构建分布式、协同超媒体信息系统的应用层协议,它是一个通用的、无状态的协议。协议采用的是一种基于浏览器请求、服务器响应的工作模式,即B/S模式。

在已经建立TCP连接的基础上,一个HTTP会话包括两个过程:客户端发送请求数据报文,Web服务器端完成相应动作并发送应答数据报文。在HTTP协议的实现上,同样采用了精简的方法,Web服务器只响应GET方法,服务器端每当有请求报文到达时,先判断是否采用GET方法,如果是GET方法,准备符合协议的应答数据报文头部;从自身存储器中读出大量数据填入数据报文HTTP实体部分,并发送相应的网页,否则不做任何操作。

(四)结论

本论文提出应用于嵌入式系统的TCP/IP协议集,解决了TCP/IP的复杂性与低速处理器资源的有限性构成了一对较为尖锐的矛盾,从对Web服务器功能进行最小化定制的角度出发,通过两个层次来简化TCP/IP,缓解了这种矛盾,在低速处理器中实现简化的TCP/IP以实现功能最小化的Web服务器,具有较好的应用前景。

摘要:文章介绍在存储空间有限的嵌入式网络应用中, 通过合理选择TCP/IP协议子集, 实现了嵌入式Web服务器。详细分析了精简TCP/IP协议、嵌入式Web服务器在微嵌入式系统中的软件实现方法。

关键词:TCP/IP协议,嵌入式Web Server,精简

参考文献

[1]阿克塞尔森.嵌入式Ethernet和Internet通信设计技术[M].骆丽, 等译.北京航天航空大学出版社, 2006.

[2]WRichard Stevens.TCP/IP详解 (第1~2卷) [M].机械工业出版社, 2000.

[3]李刚.AduC8XX系列单片机原理与应用技术[M].北京航空航天大学出版社, 2002.

WebServer 篇4

随着电子技术和计算机技术的不断发展, 微控制器和单片机也通过各种形式被嵌入系统, 由于嵌入式系统综合了单片机和微控制器各方面的功能和性能, 因而它被广泛运用于自动化领域。为了加强嵌入式系统的远程监控功能和远程数据采集功能, 对系统进行网络化已成为嵌入式系统在未来的重要发展方向, 而以太网技术的迅速发展正好为嵌入式系统的形成创造了一个良好的契机。建立在以太网基础上的嵌入式远程监控系统可通过网络对任务进行监视和控制, 这种远程监控方式使得监控的范围有了进一步的扩展, 在发展远程监控技术的同时, 促进了控制技术的分散化和网络化。嵌入式网络服务器是整个嵌入式以太网技术的核心, 它相当于一个传统的协议转换工具, 除了负责协议的转换之外, 还需向用户管理设备提供硬件和软件支持, 特别是将微控制器作为服务器运用到嵌入式以太网技术这一创新理念, 更是为以太网与被监测设备的无缝连接奠定了理论基础。目前嵌入式系统的处理器除了有部分为32位以外, 大多数采用都是8位微控制器, 这类处理器由于价格低廉而被广泛运用于智能设备控制系统中, 若将之与以太网接入技术相结合, 创造的经济效益将无可估量。

2 硬件设计

本文构建的嵌入式网络服务器是由精简TCP/IP协议栈和价格低廉的微控制器两部分组成, 由于这种嵌入式Web server具远程监控功能, 因而他在监控领域被广泛使用。以太网是由德国Xerox公司创建并和其它公司联合开发的基带局域网规范, 以太网的软件由Nut/Net协议栈和Nut/OS实时操作系统两部分组成, 编程语言以C语言为主, 另外还包括少部分的源代码汇编语言, 因而它具有较强的移植性。另外, 以太网是一个具有8位单片机的嵌入式以太网, 由于它消耗的功率低、开发成本少且体积小, 因而它具备较强的实时性。将应用开发建立在该软件上可降低出错的概率。如图1所示为嵌入式Web server的硬件设计框图:

从上图中我们可以得知RJ-45可以通过滤波器FB2022与网络控制器相连接, RS-232串口与微控制器ATmegal28的连接是通过电平转换芯片MAX3222实现的, 外扩存储器与ATmega128的连接时通过锁存器74HC573D, LMH17可向n RF905芯片提供3V的电压, 而LM1086可向开发板的其他芯片提供5V的电压。

3 软件设计

CGI主要是指在网络环境下浏览器与Web Server之间的信息传递, 需要借助某些指定程序的启动来完成, 将网页内容转换成数据文件的形式, 与程序代码一同存储与ATmega128中中。当用户向服务器发送查看控制信息的请求时, CGI程序会将网页显示内容以及搜集到的设备参数变化以虚拟文件的形式传输给用户, 用户就可根据CGI程序发送的虚拟文件对设备进行实时监控;当用户对设备状态进行重新设置后, 重新设置后的参数会被提交至ATmega128, ATmega128根据接受的参数变化对设备进行重新设置, 设备状态设置完成后, 再将状态信息反馈至用户浏览器。不论是以太网驱动程序、串口驱动程序还是CGI程序都必须通过注册, 只有注册后的程序才能被Nut/OS所管理;尽管多线程运行和前台后台系统的运行很类似, 但前台线程运行始终只有一个, 而后台线程运行则有多个, 另外在ATmega128有限的资源内, 后台线程运行仅为6个;线程之间的连接需要套接字机制来完成, HTTP的请求则需调用CGI程序。

4 总结

以太网与嵌入式设备的结合为嵌入式系统的发展提供了新的方向, 随着研究的深入目前已有不少研究机构将嵌入式以太网技术作为研究的重点课题。基于这种背景本文将AVR单片机运用到嵌入式Web server监控系统的设计当中, 并将实时嵌入式操作系统和轻型TCP/IP协议栈结合起来, 构建一个嵌入式以太网系统平台。嵌入式Web server监控系统成本低、消耗的功率低和体积小等特征, 为它在控制领域的推广应用奠定了一定的基础, 由此可见, 对控制系统设计进行研究就具备一定的现实意义。

摘要:随着电子监控技术的不断发展, 监控系统在其它领域的运用范围越来越广, 嵌入式远程监控系统作为一种远程监控设备, 它不仅能及时反映设备的监测状态, 还能扩展设备的监控范围, 特别是改进后的监控系统它是建立在网络基础上, 不论是及时性还是灵活性都得到了有效的提升, 因而成为控制领域研究的热点课题。本文在嵌入式Web server监控系统的基础上引进AVR单片机, 使监控系统对数据的收集和发送进行有效的改善, 为监控系统的优化和升级提供一定的理论依据。

关键词:AVR单片机,嵌入式Web server监控系统

参考文献

[1]吕书东, 杨思祥.采用AVR单片机的家居远程监控系统[J].电子技术, 2006, 33 (7) :60-62.[1]吕书东, 杨思祥.采用AVR单片机的家居远程监控系统[J].电子技术, 2006, 33 (7) :60-62.

【WebServer】推荐阅读:

上一篇:建设知识型电子政务下一篇:设计中的自然观

本站热搜

    相关推荐