基于web的远程控制系统
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验9基于web的远程控制系统
实验目的:
1、移植Boa服务器,将Boa服务器运行于嵌入式系统,并进行测试。
2、编写CGI程序和HTML页面,实现远程测控。
实验原理:
基于web的远程控制系统开发步骤如下:
1、建立可用的软件开发环境,参考实验2——7.
2、移植Boa服务器。
3、开发所需的驱动程序。参考实验8
4、编写html页面。
5、编写CGI程序,实现远程控制。4、5步参考文档《基于WEB的远程控制系统的设计与实现图文-003》。
6、登陆服务器,测试系统功能。
实验步骤:
这里只介绍Boa服务器的移植和系统测试部分。
1、Boa服务器的移植
(1)准备源代码
到boa网站下载boa-0.94.13.tar.gz源代码,或者使用光盘的boa-0.94.13.tar.gz软件包。
解压软件包,安装源代码。
#tar xzvf boa-0.94-13.tar.gz
(2)生成Makefile文件
进入src目录,编译源代码。
cd boa-0.94-13/src
解压后src目录下有Makefile.in文件,但没有Makefile文件,为了编译源代码,需要先生成Makefile文件,在src目录下运行configure命令即可。
#./configure
(3)修改Makefile文件
将Makefile文件中的内容修改如下:
CC=gcc
CPP=gcc–E
改为(在交叉编译时使用):
CC=arm-linux-gcc
CPP=arm-linux-gcc–E
(4)然后输入make命令进行编译,在src目录下就会生成boa的可执行文件。
#make
(5)为生成的Boa二进制文件瘦身。可以在运行该步之前查看boa的大小,运行后再查看,看有什么差别。
#arm-linux-strip boa
(6)设置boa服务器配置文件位置
主要是配置boa服务器。boa启动时需要一个配置文件boa.conf,该文件的缺省目录/etc/boa/由src/defines.h文件的SERVER_ROOT定义,或者在启动boa的时候通过参数“-c”指定(boa-c/etc/boa)
(7)修改boa.conf文件
①将User nobody
Group nogroup
改为User0(可以不改)
Group0
②将DocumentRoot设置为/var/www
③将MimeTypes设置为/etc/boa/mime.types
④定义默认首页和CGI程序所在目录,
DirectoryIndex index.html
ScriptAlias/cgi-bin//var/www/cgi-bin/
ScriptAlias/index.html/var/www/index.html
这样配置后的boa服务器将/etc/boa目录作为服务器的根目录,cgi程序位于/var/www/cgi-bin目录下,默认页面文件为/var/www/index.html。
(8)boa.conf文件和mime.types文件放到Web服务器根目录(/etc/boa/)下。
注意:本步的根目录不是主机Linux的根目录,而是最终挂载在嵌入式设备上的根文件系统目录。
(9)运行Boa服务器
①将编译生成的Boa二进制源码放到制作的根文件系统的/var文件夹下,index.html(可从主机上拷贝)放到/var/www文件夹下。
②使用NFS方式挂载根文件系统,启动嵌入式系统后,
cd/var可以看到二进制文件boa
./boa&boa服务器启动
③设置主机和嵌入式系统的IP,并通过网线相连
④打开主机的浏览器,输入嵌入式系统的ip,就可以看到刚才的index.html页面。此时,boa服务器测试成功。
2、嵌入式web远程控制系统测试
(1)将开发好的html文件放到嵌入式设备根文件系统的/var/www目录下
(2)将开发好的CGI程序进行交叉编译后,生成的.cgi文件放到嵌入式设备根文件系统的/var/www/cgi-bin目录下
(3)将开发好的驱动程序参照实验8进行编译,生成的.ko文件存放到嵌入式设备根文件系统的目录下。
(4)启动嵌入式系统,nfs方式挂载根文件系统。
①启动boa服务器
②将驱动模块插入到内核(insmod)
(5)打开主机浏览器,输入嵌入式系统ip,访问相应页面,测试CGI程序的功能。
例如:嵌入式系统ip为192.168.0.15
在浏览器地址栏输入:http://192.168.0.15
或者:http://192.168.0.15/index.html将看到默认目录index.html
在浏览器地址栏输入:http://192.168.0.15/cgi-bin/led.cgi将看到存放在/var/www/cgi-bin下的led.cgi显示的页面。