×
嵌入式开发 > 详情

一种远程控制系统的实现

发布时间:2020-07-07 发布时间:
|

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

l。在编辑表单选项时由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服务器之间的通信协议采用HTTP 1.1;嵌人式实时多任务操作系统提供TCP/IP协议支持;Web服务器与数据库服务器间的交互接口为CGI(Common Gateway Interface)。

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

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

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

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

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

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

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

4 结束语

随着计算机、通信、嵌入式和互联网等技术的飞速发展,传统基于现场总线的控制系统已不能满足远程控制的要求,而基于以太网的控制系统正逐渐成为远程控制的首选。本文利用ARM内核的32位处理器及以太网控制器搭建硬件平台,移植了μClinux嵌入式操作系统,配置了BOA服务器,通过编写设备驱动程序和CGI程序,实现了远程控制系统,具有广阔的应用前景。



『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
发明专利在疫情影响下的逆势增长