一种远程控制系统的实现-设计应用_第1页
一种远程控制系统的实现-设计应用_第2页
一种远程控制系统的实现-设计应用_第3页
一种远程控制系统的实现-设计应用_第4页
一种远程控制系统的实现-设计应用_第5页
已阅读5页,还剩4页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

精品文档-下载后可编辑一种远程控制系统的实现-设计应用随着计算机技术和网络通信技术的飞速发展,人们日常生活和工业生产等方面对基于以太网进行远程通信和控制的要求日益强烈。如今嵌入式技术发展迅速,嵌入式处理器的性能不断提高,基于嵌入式的控制系统得到广泛应用。考虑到嵌入式系统高性能、低成本、低功耗等诸多特点,这里通过32位嵌入式处理器和以太网控制器构建了嵌入式Web服务器,实现设备远程控制。

ARM(AdvancedRISCMachines)是微处理器行业的一家企业,设计了大量高性能、廉价、耗能低的RISC处理器、相关技术及软件。技术具有性能高、成本低和能耗省的特点。适用于多种领域,比如嵌入控制、消费/教育类多媒体、DSP和移动式应用等。这次远程控制系统有ARM公司设计的。

1系统总体设计

本文采用基于基于嵌入式Web服务器的远程控制。系统直接在普通32位微处理器上实现嵌入式服务器,通过嵌入式Web服务器将被控制设备接入Intemet,用户可以通过标准浏览器对被控设备实现远程控制。

2远程控制系统的硬件结构

基于嵌入式Web服务器的远程控制系统主要由嵌入式Web服务器以及被控制的现场设备组成。服务器通过交换机或调制解调器与Intemet互联网连接,用户端只需在已联网的计算机上通过网页浏览器访问该远程服务器的IP地址,即可使用该服务器并实现对设备的远程控制。远程控制系统的结构如图1所示。

该嵌入式web服务器采用三星公司的S3C44B0X器件作为整个系统的处理器,该器件是以ARM7TDMI为内核的RISC处理器,是一种性价比较高的嵌入式32位处理器。系统的Flash选用AMD公司的容量为2MB,NORFlash型AM29LVl60存储器,SDRAM选用现代公司的容量为8MB的HY57V641620HGT存储器。图2为该硬件系统设计框图。

3远程控制系统的软件结构

系统软件主要包括操作系统的选取、网页服务器的配置、网页的编辑、驱动程序和服务器应用程序的配置移植,软件层次如图3所示。

由于该处理器不具有MMU(存储器管理单元)且需要完备以太网协议构建网页服务器,故选择开源的嵌入式μClinux操作系统。其中功能简单的是httpd.不支持、CGI。Thttpd和BOA服务器都支持、CGI(CommonGatewayInterface,公共网关接口)等,但由于Thttpd服务器需要的资源比BOA大得多,故该系统终采用BOA服务器作为远程控制的网页服务器。

3.1BOA服务器的配置

BOA是一个单任务的http服务器,安全性高、源代码开放、性能高。在μClinux的发行版中,在主目录下的user目录里,有BOA服务器的目录,在example子目录中,有2个文件boa.conf和mime.types,这里需要修改配置boa.conf文件,它是BOA服务器的参数配置文件,配置如下:

另外该系统将src目录下的defines.h头文件SERVER_ROOT宏定义设置为home目录,即服务器目录,配置操作系统时,boa.conf和mime-.typs都必须复制到此服务器目录下,从而完成服务器的配置。

3.2服务器与客户端动态交互的实现

在动态网页交互设计中,主要有CGI(CommonGatewayInterface),PHP(PersonalHomePage),ASP(ActiveServerPage)和JSP(JavaServerPage)4种技术。CGI程序的编写可以采用任何编程语言,只要这种语言具有标准输入、输出和环境变量。由于C语言具有较强的平台无关性,因此该系统采用C语言来编写CGI程序。

动态网页是通过网页内嵌表单的方式进行信息传递的。该系统首先采用网页编辑软件Dreamweaver编辑登陆界面index.html及远程控制界面remote.html。在编辑表单选项时由action属性指向相应CGI程序路径,由method属性决定提交数据的方式是GET方式还是POST方式。客户端传送到服务器的数据采用URL编码的方式传送,例如参数采用name=value的形式,每对之间用”&”连接。特殊字符用”%”加一个十六进制数字编码,输入的空格用”+”来表示等,所以服务器端的CGI在接收数据时需经过解码操作。

环境变量在CGI程序设计中很重要,客户端和服务器端都将信息存储在某些变量中,环境变量有3类:与服务器相关的环境变量、与客户端相关的环境变量以及与请求相关的环境变量。其中常用的环境变量有REQUEST_METHOD记录请求方式,QUERY_STRING存储传递的数据,CO-NTENT_LENGTH传递数据的长度。

编程时先创建数据结构entry,用来记录要使用的变量和变量名。

当采用GET方式传递信息时,可使用如下代码获得传输的数据:当采用POST方法传递信息时,可使用如下代码获得传输的数据:

当采用GET方式传递信息时,可使用如下代码获得传输的数据:

当采用POST方法传递信息时,可使用如下代码获得传输的数据:

3.3嵌入式Web服务器体系结构

嵌入式Web服务器的体系结构如图1所示。其中,客户端和Web服务器之间的通信协议采用HTTP1.1;嵌人式实时多任务操作系统提供TCP/IP协议支持;Web服务器与数据库服务器间的交互接口为CGI(CommonGatewayInterface)。

客户端使用Web浏览器与Web服务器进行通信。Web服务器中使用HTTP协议,HTTP(超文本传输协议)为标准WWW传输协议,使用可靠的TCP连接,通常采用端口80。这些数据可来自静态主页和文件,也可以根据请求动态产生

3.4驱动程序和应用程序设计

设备驱动程序是是一种可以使计算机和设备通信的特殊程序,可以说相当于硬件的接口,操作系统只能通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作,它为应用程序屏蔽了硬件的细节,在应用程序看来,硬件设备已抽象为设备文件,可以像操作普通文件一样对硬件设备进行操作。

编写CGI应用程序时,只需打开相应的设备文件,就可通过调用驱动中的命令控制接口实现对端口的控制。

然后可通过ioctl系统调用实现对端口的控制,程序结束时再调用close(fd)关闭设备。

在配置BOA服务器时,这里设定CGI程序的目录是/home/www/cgi-bin/目录,使用交叉编译工具生成CGI程序并放入此目录下,然后对整个操作系统内核进行配置裁剪,终生成的系统镜像中就可以包含编写的程序功能,实现对设备的远程控制。图4为远程控制界面。

通过测试该远程控制系统,实现了对外部设备的远程控制,只需对CGI程序进行适当修改即可实现较复杂系统的控制。

4结束语

随着计算机、通信、嵌

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论