嵌入式课设报告web远程控制系统设计
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课设报告
课程名称嵌入式系统课程设计
实验项目web远程控制系统设计
指导教师周金和、王勇
学院信息与通信工程专业电子信息工程
班级/学号电信1101/
学生姓名
实验日期
成绩____________________
实验步骤
一、搭建及移植web服务器
搭建及移植boa服务器是本次课题的要点所在,为了能够顺利搭建服务器,前期做了大量工作对其进行学习以及研究,在基本掌握boa服务器的搭建和移植的具体操作方法还有该服务器的工作方式、流程之后,才着手进行搭建和移植,即便如此,在搭建和移植的过程中还是遇到了不少问题,下文也进行了分析和解决。
1.1下载及配置BOA服务器
1.1.1 下载安装boa服务器
首先在http://www.boa.org/下载BOA服务器的源码:boa-0.94.13.tar.gz版本为0.94.13。
对其进行解压:
还要安装必要的工具bison,flex。否则会出现:
在输入上一条命令之前需要保证虚拟机联网,虚拟机联网方式如下
首先把主机联上网,虚拟机网络设置桥接改成nat
$ sudovim /etc/network/interfaces
static改成dhcp,在address,netmask, gateway加#注释
用:wq保存并退出
重启网路配置
$sudo /etc/init.d/networking restart
1.1.2 修改相关配置文件
修改src/compat.h文件:
打开compat.h找到这一条语句:
将其修改为:
这是由于本机所使用的交叉编译版本对语句用法的不同。
修改src/log.c文件。
否则会出现错误:
log.c:73unable todup2the error log:badfile descriptor。
修改src/boa.c文件。
否则会出现错误:boa.c:211- getpwuid:No such file or directory。
否则会出现问题:boa.c:228 -icky Linux kernel bug!: Nosuch file ordirectory。1.1.3 生成boa可执行文件
进入相关目录生成makefile文件:
修改makefile文件。
修改CC= gcc 为CC = arm-linux-gnueabihf-gcc
修改CPP =gcc -E 为CPP=arm-linux-gnueabihf-gcc -E
接下来进行编译。
然后为刚刚生成的二进制文件boa瘦身删除其调试信息。
1.1.4 修改配置
找到配置文件boa.conf并进行如下修改:
以下步骤需要在计算机上完成:
(1)对Group的修改
将Group nogroup(这是修改程序所属的组)。
修改为Group0
(2)对user的修改
将User nobody(这里是修改程序所属的用户)。
修改为User 0
(3)对ScriptAlias的修改
将ScriptAlias/cgi-bin//usr/lib/cgi-bin/(这里是配置服务器读取cgi程序的目录,需要在SD卡中同样的位置建立同样的目录)。
修改为ScriptAlias /cgi-bin//www/cgi-bin/
(5)对DoucmentRoot的修改
将DoucmentRoot/var/www(这里是服务器初始网页放置的位置同样需要在SD卡同样的位置建立同样的文件夹并将名为index.html的网页放置在其中)。
修改为DoucmentRoot /www
(6)对ServerName的修改
将#ServerName www.your.org.here(取消掉注释否则提示没有服务器名)。
修改为ServerName www.your.org.here
否则会出现错误“gethostbyname::No suchfile ordirectory”
(7)对AccessLog修改
将AccessLog /var/log/boa/access_log(在SD卡相应位置建立同名文件夹以存放日志文件,否则提示找不到文件夹)。
修改为#AccessLog/var/log/boa/access_log
否则会出现错误提示:“unable to dup2the errorlog:Badfile descriptor”
修改完成后直接点击文件左上方的保存按钮进行保存。
在目标板上需要做的配置:
创建目录/etc/boa并且把boa和boa.conf拷贝到这个目录下:
创建HTML文档的主目录/www:
创建CGI脚本所在的目录/www/cgi-bin:
1.2. 测试服务器动态网页功能
到此为止服务器已经搭建完成了,接下来就要测试服务器是否能够成功运行动态网页了,为了顺利完成测试,首先要做的是让目标板和主机能够通过交叉网线通信:
在虚拟机菜单栏中安照:虚拟机--设置--网络适配器--网络连接中选择桥街模式,这样就可以直接连接主机的物理网络。有时会出现无论怎样配置都无法联通的情况这时就需要使用虚拟机中的虚拟网络编辑器来重置网络配置。前面的设置完成后,先将windows下的ipv4设置为:IP地址:
181.168.1.10,子网掩码:255.255.255.0,默认网关:181.168.1.1。然后设置Ubuntu下的ip 地址:
sudo vi/etc/network/interfaces
将主机的ip地址设置为这一网段:address181.168.1.11 netmask:255.255.255.0 gateway:181.168.1.1
重启主机的网络服务:
sudo /etc/init.d/networking restart
再去配置目标板,同样将其置于同一网段:
sudo gedit/etc/network/interfaces
将目标板的ip地址设置为同一网段:address 181.168.1.12netmask:255.255.255.0 gateway:181.168.1.1
重启目标板的网络服务:
sudo /etc/init.d/networkingrestart
配置完后在目标板上输入ifconfig可以查看到如下内容
这时就可以测试主机与目标板之间的连通性了:
分别在主机和目标板上使用ping命令去测试相互之间的连通性: