1092.基于Internet的测控系统的设计.doc

上传人:文库蛋蛋多 文档编号:2387721 上传时间:2023-02-17 格式:DOC 页数:42 大小:513.50KB
返回 下载 相关 举报
1092.基于Internet的测控系统的设计.doc_第1页
第1页 / 共42页
1092.基于Internet的测控系统的设计.doc_第2页
第2页 / 共42页
1092.基于Internet的测控系统的设计.doc_第3页
第3页 / 共42页
1092.基于Internet的测控系统的设计.doc_第4页
第4页 / 共42页
1092.基于Internet的测控系统的设计.doc_第5页
第5页 / 共42页
点击查看更多>>
资源描述

《1092.基于Internet的测控系统的设计.doc》由会员分享,可在线阅读,更多相关《1092.基于Internet的测控系统的设计.doc(42页珍藏版)》请在三一办公上搜索。

1、本 科 生 毕 业 论 文题 目:基于Internet的测控系统的设计 院 系:信息科学与技术学院电子与通信工程系 专 业:电子信息科学与技术 学生姓名: 学 号: 指导教师: (职 称)二 九 年 四 月 摘 要随着Internet技术的不断普及推广,以此为基础的各种应用不断地被开发以及应用。本文主要介绍一种基于Internet技术的远程家庭设备测控系统,即远程计算机通过Internet与家庭设备测控系统连接,以实现对家庭设备的监视与控制等功能。本系统的设计可以划分为三个模块。首先是家庭设备控制系统,即以八位单片机为控制核心的嵌入式系统,以实现家庭设备检测信息的收集和远程控制信息的发送的功能

2、。其次是网络连接模块,主要采用WIZnet公司的W5100网络接口芯片的Internet接入模块,实现跨网的Internet的连接。使用W5100最大的特点是可以实现没用操作系统的Internet的连接。第三个模块是Web功能模块,以实现操作人员在远程计算机上通过Web浏览器获取家庭设备的信息以及发送控制命令的功能。该模块主要涉及HTTP协议、CGI技术。本文所设计远程家庭设备测控系统,具有成本低,体积小,易实现等特点,是一种可以推广的、实用的系统。关键词:嵌入式系统 W5100 Internet接入 Web技术 HTTP协议 AbstractWith the popularity of In

3、ternet technology ,a variety of applications based on it constantly are being developed and applied. This paper introduces an Internet-based remote home monitoring and controling technologies systems.The remote computer implement the home security surveillance and control functions through the Inter

4、net and home control systems. The design of the system can be divided into three modules. First of all, home control systems,which is using a single-chip to control this systems, can receive information from home security equipments and send control command from remote computer to those equipments.

5、Followed by the network connection module, mainly using W5100 network interface chip of WIZnet company, implement Internet connection. The most important feature of W5100 network interface chip is realizing Internet connection without operating system . The third module is a Web function modules. Th

6、is module is to achieve up geting information from home monitoring and control system and sending control commands through Web browser. The module is mainly related to HTTP protocol and CGI technology. This remote home monitoring and control system has the feature of low cost, small size, easy to ac

7、hieve,and so on.It is a replicable, practical system for our live.Keywords: Embedded Systems;W5100;Internet access;Web Technology;HTTP protocol目 录第一章前言4第二章系统的关键技术及实现62.1家庭总线62.2TCP/IP通信72.2.1TCP/IP协议简介72.2.2W5100芯片的简介82.2.3MCU与W5100的连接112.3WEB服务器技术和原理132.3.1WEB服务器原理132.3.2HTTP协议142.3.3CGI原理142.3.4嵌入

8、式服务器特点15第三章系统软件的设计173.1总体程序的设计173.2网络通信程序的实现183.3.1W5100的初始化183.3.2W5100的数据通信183.3WEB服务器功能的实现233.3.1嵌入式Web服务器的工作流程233.3.2嵌入式Web服务器的主要函数及功能25第四章结论27参考文献28致谢29附录30第一章 前言在当前信息技术日益成熟和普及的背景下,其所涉及的应用领域越来越广泛,对我们日常生活也有了很大的影响。其中家庭用电设备测控系统的应用就是一个典型的代表。该系统通过Internet的连接,实现家庭设备与远程计算机信息的交换,以达到对家庭设备的监控。在之前大多数的研究方案

9、中,为实现该系统,大部分的研究者均采用一台位于家庭室内的计算机作为家庭设备信息采集的控制器,然后通过该计算机与网络的连接,将信息与远程计算机进行交换。例如此类系统采用B/S技术框架, 简化客户端电脑负荷,用户通过浏览器来实现远控功能, 利用计算机并行接口连接多个保持继电器, 以实现对家庭电器的开关控制1。这种设计方案由于计算机的功能齐全,实现的时候固然是简单易行,但是很明显的缺点是成本高,稳定性低。从如今嵌入式系统技术的发展成熟的角度来看,我们新的设计方案会很自然地采用这种设计思路。嵌入式系统的特点正是我们所需的:低成本、稳定性高、易实现。新方案实现的关键在于以嵌入式系统取代计算机作为家庭设备

10、信息收发的控制系统。在前人开发的“计算机Internet计算机”的测控系统中,实现计算机的网络互联是很容易的。而在我们的设计方案中,实现的是“嵌入式系统Internet计算机”的系统。嵌入式系统与网络的连接方案可以有两种。第一种常被人们采用的方案是软件实现的方式,即在MCU中装载实现网络协议的程序,再通过与以太网控制芯片的连接实现接入网络。这种连接方案的不足之处在于网络协议的复杂性使得相关程序在应用时会较大地占用MCU硬件资源,从而影响整个系统的性能。而且实现这种连接方式的MCU硬件资源必须较为丰富,如ARM处理器,这样也在一定程度上增加了成本。因此我们有必要设计另外一种更为有效的方案。该方案

11、采用支持硬件化TCP/IP协议的芯片,如WIZnet公司的W5100网络接口芯片,实现嵌入式系统接入网络。我们可以采用“嵌入式系统W5100网络接口芯片Internet计算机”的模式。在这种模式下,不必通过软件实现网络协议,可以降低MCU的要求,从而也提高了系统的稳定性。图1-1为本文设计的系统模型图。Internet单片机 系统家庭设备1家庭设备2家庭设备3远程PC机Web页面 图 1-1 系统模型图当该系统正常工作时,用户可以通过Internet网络进行访问,以实现设备的远程控制;相应转换器采集到的家庭设备信息触发信息控制终端,将信息通过家庭总线系统发往控制核心,并通过相应的网络控制模块将

12、信息通过Internet发送到远程请求浏览的PC机。亦可以由该系统根据远程PC机的命令设置家庭设备的状态。本文研究内容主要安排如下:第一章前言:介绍基于Internet的远程测控系统的研究背景,举出当前人们的研究方向以及成效,对比已有成果提出另一种新的设计设计方案,并简单概述。第二章:描述系统实现过程中重要的技术和协议。主要涉及网络通信协议层到应用层的技术。在本设计中,提出以硬件实现TCP/IP协议的方案,实现基于芯片W5100的网络连接。并在此基础上实现HTTP的应用,提出设计嵌入式服务器的思路。第三章:系统软件设计的实现。首先提出主程序的架构,然后主要介绍TCP/IP通信和嵌入式服务器的实

13、现。第四章结论:对设计做出总结,提出不足以及改进的方法。第二章 系统的关键技术及实现2.1 家庭总线在本设计中,以8位的单片机作为控制核心,因为8位单片机资源丰富、性价比高,目前应用最为广泛2。并外接必要的电路。MCU通过家庭总线系统与各家庭设备连接。图2-1即为系统的模型图。图 2-1 家庭设备测控系统结构图M C U现场总线转换器1转换器2转换器3家庭设备1家庭设备2家庭设备3必需的外部电路网络接入家庭设备测控系统硬件电路主要由AT89C51单片机、A/D转换器等等部分组成3。系统中的现场总线可以采用一种基于SCI(UART)数据格式的低成本的单总线串行通信协议的总线LIN总线。LIN总线

14、最开始是出现在汽车制造行业,后来也应用于智能家庭网络之中。作为串行通讯方式的现场总线的一员,LIN总线除了具有现场总线的一般特点外, 还具有其自身独特的特点4:(1)基于UART通用接口, 几乎所有微控制器都具备实现LIN所必需的硬件, 易于实现, 硬件成本低。(2)LIN是一种单数据线总线, 系统的布线量少(加上电源和地线, 只需要三根线就可以实现节点间的串接)。(3)通讯方式为单主控器多从设备模式, 无需仲裁机制。数据传输速率最高达20Kbit/s。网络标识有64个, 但网络节点一般不超过16个。2.2 TCP/IP通信2.2.1 TCP/IP协议简介在互联网的TCP/IP参考模型中,TC

15、P/IP协议层处于物理层、网络接口层之上,应用层之下5。所谓的TCP/IP是指在互联网上通信协议的总称,是TCP和IP这两个有代表性的协议的名称合在一起组成的。TCP/IP作为互联网的协议急速发展,现在它成为世界标准的通信协议。可以互访的计算机基本上全都安装了具有TCP/IP的操作系统6。在本设计中,选用的通信模式是TCP模式。TCP是以连接为基础的通信方式,它必须首先建立连接,然后利用连接的IP地址和端口号进行数据传输。TCP有两种连接方式:一种是服务器模式(被动开启),即等待接受连接请求以建立连接;另一种是客户端模式(主动开启),即发送连接请求到服务器。图2-2是TCP模式的两种不同的连接

16、方式。 图2-2 TCP模式的两种连接方式考虑到本文所设计的系统是由远程计算机进行控制,因此我们采用的通信连接方式为服务器模式。在这种模式下,嵌入式系统时刻侦听来自远程PC机的信息。收到连接请求进行成功的连接之后就可以收发数据。2.2.2 W5100芯片的简介在本设计中,考虑到核心控制器资源的有限性,以一款全新的网络接口芯片W5100硬件实现TCP/IP协议,取代传统的软件实现方法。W5100内部集成了全硬件的、且经过多年市场验证的TCP/IP协议栈、以太网介质传输层(MAC)和物理层(PHY)。硬件TCP/IP协议栈支持TCP,UDP,IPv4,ICMP,ARP,IGMP和PPPoE,这些协

17、议已经在很多领域经过了多年的验证。W5100内部还集成了16KB存储器用于数据传输。使用W5100不需要考虑以太网的控制,只需要进行简单的端口(Socket)编程7。W5100具有丰富的功能,极大方便了使用者。其特点如下列所示: 支持硬件化TCP/IP协议:TCP,UDP,IPv4,ICMP,ARP,IGMP,PPPoE,以太网 内嵌10BaseT/100BaseTX以太网物理层 支持自动通信握手(全双工和半双工) 支持自动MDI/MDIX,自动校正信号极性 支持ADSL连接(支持PPPoE协议中的PAP/CHAP认证模式) 支持4个独立端口同时运行 不支持IP的分片处理 内部16KB存储器用

18、于数据发送/接受缓存 0.18CMOS工艺 3.3V工作电压,I/O口可以承受5V电压 80脚LQFP小型封装 环保无铅封装 支持SPI接口(SPI模式0、3) 多功能LED信号输出(TX、RX、全双工/半双工、地址冲突、连接、速度等)图2-3为W5100芯片80LQFP封装的管脚示意图。 图 2-3 W5100芯片的管脚W5100的80个管脚信号,可以归类分为MCU接口信号引脚、以太网物理层信号引脚、电源引脚、时钟信号引脚、LED信号一脚以及其他信号引脚。其中W5100的第5、6、8和9引脚是PHY 信号线,用于与RJ45接口相连接,以接入网络。W5100内部寄存器主要有两种:通用寄存器和端

19、口寄存器。主要寄存器的作用如下说明。通用寄存器: MR(模式寄存器):该寄存器用于软件复位、Ping关闭模式、PPPoE模式以及间接总线接口。 GWR(网关IP地址寄存器): 该寄存器设置默认网关地址。 SUBR(子网掩码寄存器): 该寄存器用来设置子网掩码(Subnet mask)值。 SHAR(本机物理地址寄存器): 该寄存器用来设置物理地址。 SIPR(本机IP地址寄存器): 该寄存器用来设置本机IP地址。 IR(中断寄存器): CPU通过访问该寄存器获得产生中断的来源。 IMR(中断屏蔽寄存器):用来屏蔽中断源。 RTR(重发时间寄存器):该寄存器用来设置溢出的时间值。每一单位100微

20、秒。 RCR(重发计数寄存器):该寄存器的数值设定可重发的次数。若重发次数超过设定值则产生超时中断。 RMSR(接收存储器空间大小寄存器):该寄存器配置全部8K的RX存储空间到各指定端口。 TMSR(发送存储空间大小寄存器):用来将8K的发送存储区分配给每个端口。端口寄存器: Sn_MR(端口n模式寄存器):该寄存器设置相应端口的选项或协议类型。 Sn_CR(端口n命令寄存器):该寄存器用来设置端口的初始化、关闭、建立、断开连接、数据传输以及命令接收等。 Sn_IR(端口n中断寄存器):该寄存器指示建立和终止连接、接收数据、发送完成以及时间溢出等信息。 Sn_SR(端口n状态寄存器):该寄存器

21、指示端口n的状态数值。 Sn_PORT(端口n的端口号寄存器):该寄存器在TCP或UDP模式下设定对应端口的端口号。 Sn_DHAR(端口n的目的物理地址寄存器):设置每个端口的目的物理地址。 Sn_DIPR(端口n的目的IP地址寄存器):TCP模式下,该寄存器设置端口的目的地址。UDP模式下收到ARP响应后该寄存器才确定用户写入的值。 Sn_DPORT(端口n的目的端口号寄存器):TCP模式下,该寄存器设置端口的目的端口号。UDP模式下,收到ARP响应后,该寄存器才确定为用户写入的值。 Sn_TX_FSR(端口n发送存储器剩余空间寄存器):指示用户可使用的发送数据空间的大小。 Sn_TX_R

22、R(端口n发送存储器读指针寄存器):该寄存器指示端口在发送过程完成后发送存储器的当前位置。 Sn_TX_WR (端口n传输写指针寄存器):指向TX存储器写入数据时的地址。 Sn_RX_RSR(接收数据字节数寄存器):指示端口接收数据缓冲区中接收数据的字节数。 Sn_RX_RD(端口n接收缓冲区读指针寄存器):指示端口接收过程完成后的读地址信息。2.2.3 MCU与W5100的连接W5100与MCU的连接方式有三种:直接总线接口、间接总线接口和SPI总线接口。W5100与MCU接口非常简单,就像访问外部存储器一样。直接总线接口:直接总线接口采用15为地址线,8位数据线,另外加/CS,/RD,/W

23、R及/INT等信号线。如图2-4所示。 图 2-4 直接总线接口间接总线接口:间接总线接口采用2位地址线,8位数据线,另外加/CS,/RD,/WR及/INT等信号线。14:2没用到的地址线经过电阻接地。如图2-5所示。 图 2-5 间接总线接口SPI总线接口:串行接口模式只需要4个引脚进行数据通信。这四个引脚的定义分别为:SCLK、/SS、MOSI、MISO。W5100的SPI_EN引脚选择SPI操作。如图2-6所示。 图 2-6 SPI总线接口W5100与主MCU 采用中断的方式进行通信,以太网模块被客户端唤醒,接收到控制命令,则通过中断触发启动对W5100的接收数据读取和数据的发送。为了方

24、便MCU判断W5100的工作状态,也必须将W5100的中断引脚INT与MCU的外部中断线相连接。2.3 WEB服务器技术和原理2.3.1 WEB服务器原理Web是WWW(World Wide Web)的简称,即Web等同于WWW。Web是互联网提供信息的一个手段。通过这种手段,能够实现以页面为单位管理庞大的信息及其之间的联系,并且可以对其进行无缝检索6。作为应用层的实现,Web是建立在TCP/IP协议之上的应用。Web的功能是基于B/S(Browser/Server)的模型实现的。从功能上讲,服务器监听用户端的服务请求, 根据用户请求的类型提供相应的服务, 用户端使用Web 浏览器和Web服务

25、器进行通信。Web 服务器在接收到用户端的请求后,处理用户请求并返回需要的数据。图2-7是Web的B/S模型图。 图2-7 Web的B/S模型图Web服务器是以发送Web信息为目的而发挥功能的,因此,Web服务器软件是常驻内存的,无论何时都可以对来自客户端的要求做出应答。客户端和服务器之间是通过使用称为HTTP的协议进行交换的,Web服务器对应于来自客户端的要求,发送HTML信息或者是图形信息。2.3.2 HTTP协议HTTP( 超文本传输协议) 是Web 服务器用来与浏览器通信的协议,HTTP 规定了发送和处理请求的标准方式,规定了浏览器和服务器之间传输的消息格式及各种控制信息,从而定义了所

26、有Web通信的基本框架8。HTTP协议主要是为了传送超文本,而所谓的超文本(Hyper Text)是文本和文件,或者文件和多媒体信息(语言、照片、动画等),与此相关联的可能内容的总称。用作Web网页制作时的HTML(Hyper Text Mark up Language)是最有代表性的。HTTP在TCP/IP中位于应用层。实际上Web服务器和Web浏览器进行交换的时候,在双方的应用层,HTTP之间通过反复的请求和应答,实现Web信息的收取和发送。2.3.3 CGI原理CGI(Common Gateway Interface)即通用网关接口,是一种实现Web服务器动态服务的手法。采用CGI技术,

27、可以实现浏览器与嵌入式WEB服务器的动态数据交互。CGI程序保存在服务器中,当WEB页面打开时客户端调用CGI应用程序9。CGI定义了Web 服务器与CGI 脚本之间的接口标准。其主要功能是在Web 环境下, 从客户端传送信息给Web 服务器,Web 服务器把接收到的有关信息放入环境变量,然后再去启动所指定的CGI 脚本以完成特定的工作, CGI 脚本从环境变量中获取相关信息来运行, 最后以HTML 格式输出相应的执行结果返回给浏览器端。由于用户能传递不同的参数给CGI 脚本,所以CGI 技术使得浏览器和服务器之间具有交互性。CGI 在整个数据传送的过程中, 要从Web 服务器传递有关数据给C

28、GI 脚本, 因此Web 服务器先将从浏览器接收到的有关数据转换为各种环境变量, 然后CGI脚本就可以从这些环境变量中读取所需要的内容。也就是说,环境变量是Web 服务器和CGI脚本进行数据传递的途径。图2-8所示为CGI运行示意图。 图 2-8 CGI运行示意图CGI输入方式是使用HTML表单向Web服务器发送信息。基本语法如下10:。METHOD属性指定将数据传送到Web服务器的方法,输入方法有两种:(1)GET方法: 使用GET方法时, 表单数据会附加在所指向CGI 脚本的URL后一起发送给Web服务器,Web服务器将收到的表单数据赋予环境变量QUERY-STRING。(2)POST方法

29、: 通过使用标准输入(STDIN)将表单数据传送给Web 服务器,Web 服务器启动指定的脚本, 并将用户提供的数据传入该脚本。ACTION 属性定义要对表单数据进行处理的CGI 脚本的URL。CGI输出方式是将执行结果送给标准输出(STDOUT)进行输出,执行结果必须是浏览器能够显示的HTML 标准格式。2.3.4 嵌入式服务器特点嵌入式的Web服务器有其自身的特点。首先,在嵌入式系统中,由于处理器能力、存储器容量等等外部条件地制约,嵌入式Web服务器不能对系统资源占用量很大的程序(如:JAVA应用程序)提供支持,也不需处理外部的很大流量的访问,但是要能够为远程访问、管理和监控设备提供服务支

30、持,且嵌入式的Web服务器要做到尽可能的小。在这样的系统中没有成熟可用的操作系统, 涉及到内存管理、文件管理、进程管理这样的程序就不能在8位MCU系统中运行。其次,为达到远程管理、监控设备的目的,必须使客户机能同本地系统进行交互,这种交互可以使用很多种方法来实现,如:SSI、JavaServerlet等,但最适合嵌入式系统的方法是通用网关接口CGI。不过,在8位的MCU中,标准的CGI也是无法完全实现的。最后,在实际应用中,控制设备的嵌入式服务器的工作流程往往是基本固定的,因此只要实现某一种交互功能,就可以满足对设备的控制。基于以上种种考虑,我们设计的嵌入式Web服务器是具有CGI功能的。在这

31、种嵌入式环境中只实现CGI的功能, 没有系统对文件、内存、进程等的管理,但是可以满足用户和所控制的设备进行交互的要求。该系统Web 服务器和Web 浏览器需进行必要的交互,因此遵循HTTP 协议,也符合CGI标准和Web基本原理。通常CGI是作为单独的可执行文件来运行的,在该系统中CGI是Web服务器的一部分。在该系统中没有标准的输入输出,CGI函数可以直接获取浏览器送来的信息,也可以把数据送回给浏览器。环境变量是Web服务器和CGI进行数据传递的途径。在该系统中没有环境变量,CGI和Web服务器在同一程序中实现。第三章 系统软件的设计3.1 总体程序的设计 系统必须具备的基本功能包括:可控制

32、与其连接的设备并获取设备的状态和数据;现场信息可以网页形式发布;可及时响应远程用户的控制命令11。系统的总体程序的流程图如图3-1所示。初始化MCU开始初始化W5100,设置为TCP服务器模式W5100中断事件处理处理接收到的数据端口接收数据?W5100事件中断?YYNN 图 3-1 系统的总体程序流程图程序启动之后,开始初始化MCU和W5100。其中初始化W5100将其设置为TCP下的服务器模式,可以通过设置W5100相关的内部寄存器来实现。接下来是一个循环体。通过检测中断寄存器IR来判断是否有中断事件发生。如果是端口中断事件发生,则通过访问端口中断寄存器Sn_IR来判断是否端口接收数据。在

33、接收到数据之后,程序进行数据的处理。在数据处理的程序中,主要负责收发数据、解析HTTP 协议和响应用户的不同请求,发送设备的状态信息或者根据客户端的要求设置设备的新状态,即实现嵌入式服务器的功能。如果是其他中断事件的发生,如超时等,进入相应的中断处理。3.2 网络通信程序的实现3.3.1 W5100的初始化通过设置寄存器和存储器,W5100就可以进行Internet连接。W5100的初始化包括对通用寄存器和端口寄存器的设置。而其中通用寄存器的设置包括基本设计和网络信息的设置。 通用寄存器的设置 W5100的操作需要设置一下寄存器的参数:1、模式寄存器(MR)2、中断屏蔽寄存器(IMR)3、重发

34、时间寄存器(RTR)4、重发计数寄存器(RCR)5、网关地址寄存器(GAR)6、本机物理地址寄存器(SHAR)7、子网掩码寄存器(SUBR)8、本机IP地址寄存器(SIPR)对应的初始化程序用W5100_Init()实现。 端口(Socket)初始化端口的初始化包括对相应寄存器的设置以及完成端口的连接。对应的端口初始化程序用Socket_Init(s)实现。3.3.2 W5100的数据通信我们采用的通信连接方式为服务器模式,即W5100模块是被动开启。TCP模式下以服务器连接方式的数据通信流程图如3-2所示。OPENLISTENESTABISHEDReceivedata?Send data?R

35、eceive fin?Discorrect?Time out?ReceivingprocessSendingprocessDiscorrecting processClosed?DTimeout?CLOSEYYYYYYYYNNNNNNNN图 3-2 TCP模式下服务器连接方式数据通信流程图设置服务器模式,需要设置运行模式和端口号,并在端口命令寄存器打开(OPEN)端口。建立服务器连接方式的程序用Socket_Listen(s)实现。至此完成了Socket的打开和设置侦听工作,至于远程客户端是否与它建立连接,则需要等待Socket中断,以判断Socket的连接是否成功。参考W5100数据手册的S

36、ocket中断状态,在服务器侦听模式不需要设置目的IP和目的端口号设置W5100为服务器模式的调用过程为:W5100_Init()-Socket_Init(s)-Socket_Listen(s),设置过程即完成,等待客户端的连接。连接成功之后,就可以进行接收或者发送数据了。端口接收和发送数据的流程图如图3-3、图3-4所示。读取接收数据的字节数计算实际物理偏移量将数据缓存到数组中计算下一次偏移量读取接收缓冲区偏移量设置RECV命令,等下一次接收开 始返回接收的数据字节数 图 3-3 端口接收数据的流程图设置目的主机IP端口号读剩余空间长度寄存器计算下一次的偏移量开始UDP模式?设置SEND命令

37、,启动发送读发送缓冲区偏移量,并计算实际偏移量计算实际写入地址把要发送数据从Tx_buffer写入发送数据缓冲区剩余空间足够?返回false返回trueYNYN 图 3-4 端口发送数据的流程图W5100产生的连接成功、终止连接、接收数据、发送数据、超时等事件,都可以从中断状态中获得。W5100中断处理可以用中断程序程序W5100_interrupt_handler() 来实现。3.3 WEB服务器功能的实现3.3.1 嵌入式Web服务器的工作流程Web服务器接收到浏览器请求之后进行分析,判断如果如果是GET 请求,即没有从客户端传来参数,则调用设备信息获取函数取得设备的当前状态显示给客户端浏

38、览器。如果是POST请求,Web服务器则利用CGI处理模块分解出传来的参数,并通过设备信息设置函数,设置设备的新状态,同时回送给客户端,客户端浏览器可以和Web 服务器进行交互,以此监控设备的运行。该Web服务器只提供跟设备进行必要交互的CGI功能,对Web服务器的其它功能则不支持。原先标准的CGI作为独立可执行文件完成的功能,现在移到Web服务器内部作为一个函数处理,和设备管理函数,即设备信息获取、设置函数,统一编译后作为一个整体运行。图3-5为嵌入式服务器的工作流程图。该程序在主程序中实现的功能即为数据处理。开始读请求,分解请求GET/POST读 请 求设置设备新状态分解FORM数据读取设

39、备当前状态把数据封装成HTML格式结 束GETPOST发送数据 图 3-5 嵌入式服务器工作流程图3.3.2 嵌入式Web服务器的主要函数及功能void http_service(int sd);该函数是主要处理函数,完成读请求,分析请求,判断是哪种连接请求。把请求中传来的参数送给CGI处理函数。void cgi_service (char *input);该函数用来把FORM提交的数据分解开, 这其实是把标准CGI脚本所做的工作引入了Web服务器程序中。这是因为单片机的资源限制而不能有文件操作所做的一种改进,符合Web和CGI的基本概念,同时解决了单片机中不支持文件操作的问题。void ht

40、ml_service (char *form_cgi );该函数用来把要发送回浏览器的系统状态数据封装成HTML格式待发送。void get_status(char *s_list );该函数用来获取设备当前状态,根据具体设备来完成。可以把获取到的各个控制选项值转换为字符型按固定顺序放入数组s_list 。void set_status (char *s_list );该函数从s_list 中取出客户端传来的新参数设置控制设备中相应选项来控制设备的运行。void html_formation(char *form_cgi );用该函数设置适合的HTML格式来显示自己的操作界面。把固定显示的数据

41、放入form_cgi 数组中的相应位置。而每次运行时临时生成的要显示数据初始化时用特定的标签表示,程序运行时,将实际值读到内存,再用实际值代替标记,生成一个新的页面12。如图3-6所示。 图 3-6 测控系统的Web页面第四章 结论本文提出了一种基于Internet网络远程控制家居系统设计方案。该系统采用B/S技术框架,客户端以嵌入式系统实现,设计一个嵌入式服务器使得用户可以通过浏览器来实现远控功能。与以往设计方案不同,本设计最大的特点是采用了最新网络芯片W5100以实现嵌入式系统与计算机的网络通信。在这种设计方案下,网络通信协议实现简易,而且系统在运行中更为稳定。另外,设计中在应用层上实现B

42、/S结构的应用则结合了当今Internet技术中最为广泛应用的HTTP协议,切合人们日常生活工作中的实际情况,使得论文设计的系统更趋于实际应用性。在本文设计中,考虑到成本问题,因此采用的是8位的单片机。但是由于8位MCU的硬件资源是很有限的,在进一步的研究中,我们可以采用资源更为丰富的MCU(如32位的ARM9等等)来实现类似系统。在这种设计方案中,可以实现的测控功能将更为丰富。而且可以在这样的微控制器上实现有操作系统的嵌入式服务器(如 Linux嵌入式操作系统),这样整个B/S架构所能实现的功能将更为全面。 参考文献1 饶文碧、周剑波、张露,智能家居远程控制系统的设计,软件导刊,7(2),2

43、8-29,20082 李林功、吴飞青、王兵、丁晓,单片机原理与应用,北京:机械工业出版社,20073 王庆敏、江东、徐军、高中文,基于LonWorks现场总线的家庭保安系统,哈尔滨理工大学学报,7(5):19-21,20024 谷威昭、方滨,家庭网络系统的新选择LIN总线,技术平台,2004(4):23-27,20045 张光昭、吴筠、刘星成,计算机网络,广州:中山大学出版社,20016 小泉修,Web技术HTTP到服务器端,王浩译,北京:科学出版社,2004 7 W5100数据手册,Version 1.1.5,20078 张昭昭、郭伟,嵌入式WEB服务器的研究,科技信息,2008(18):5

44、1-59,2008 9 杨林楠、李红刚、张素萍、方佳,基于ARM9的嵌入式WEB服务器的研究,计算机测量与控制,16(12),1939-1942,2008 10 张曦煌、柴志雷,嵌入式WEB服务器中CGI的特点及实现,小型微型计算机系统:24(11),2046-2048,2003 11 王铁流、高嵩、袁海英、李宗方、秦璐璐,基于Cortex-M3内核处理器的嵌入式Web服务器设计,电子产品世界,2009(4),1-8,200912 索明何、饶运涛、邢海霞,基于单片机的嵌入式Web服务器设计与实现,科技广场,2008(5),185-186,2009致谢在这里要特别感谢我的指导老师xxx老师。在她成为我的毕业论文指导老师之后,便一直很关心我各方面的学习。特别是在进行毕业设计的阶段,细心指导我正确地完成了毕业论文。如果没有xxx老师的指导,我的毕业论文是不可能圆满完成的。再次感谢xxx老师。附录/*

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 建筑/施工/环境 > 项目建议


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号