基于Boa-web服务器的远程机器人控制(网络篇)
记得上这门课的老师先是讲诉了单片机的基本应用和单片机编程,然后课程结束的时候给我们介绍了下tiny6410开发板。后来我去查阅了相关资料,觉得用这这块板做个远程控制的机器人是可行的,因此哥儿最近刚入手了友善之臂的tiny6410开发板(ps:这可花了我600大洋,老师呀怎么你也得把我成绩改及格撒),关于这块开发板的详细信息可以参照附件或者友善之臂的官方网发布的相关文档。
硬件资源
首先,我们先看下tiny6410在接口方面哪些接口:
从tiny6410的布局可以看出它所提供的硬件资源是相当多的。
软件资源
接着,我们来看下tiny6410的软件资源。
Tiny6410可以搭载linux,安卓,winCE系统,下面是linux系统的简单介绍。
开发之路--网络篇
一、开发思路
如果提起linux,很多人会联想到嵌入式开发和linux下的网络服务器。可是,嵌入式开发对于一般学电子的人来说是有一定的难度的,因此我们可以利用linux下的网络服务器做一些开发。
Linux的web服务器有Hapd、Thttpd和Boa,其中Boa服务器源代码开放、性能优秀、支持CGI通用网关接口技术,比较适合做web开发。Boa服务器可以通过CGI与外部应用程序和脚本之间进行交互,根据客户端浏览器在请求时所采用的方法,服务器会搜集客户所提供的信息,并将该部分信息发送给指定的CGI扩展程序,CGI扩展程序进行信息处理并将结果返回给服务器,然后服务器对信息进行分析,并将结果发送回客户端在浏览器上显示出来。其实这就是B/S(浏览器/服务器)模式,可以用下图来表示
这个模式将是本次基于Boa-web服务器的远程机器人控制开发的主要模式,下面是对这个模式的说明!!!
如图:
1、浏览器可以是windows下的浏览器,也可以是手机上的浏览器,控制端只是一个html网页而已。
2、Web服务器就是linux下的Boa服务器。基于Boa服务器,可以建立一个动态的网站,通过这个网站可以进行嵌入式设备和用户的之间进行信息交互。
3、CGI部分。CGI是一种脚本语言,可以和perl,PHP,C语言一起用,为了方便动态网站的搭建,本次开发主要以PHP+CGI为主。
4、应用程序部分。其实在本次开发中,应用程序就是一个个CGI程序。这个一个个CGI程序处理由用户通过Boa服务器传递过来的信息,然后通过硬件的驱动程序调用开发板的硬件设备。
二、Boa和tftp服务器的搭建
BOA服务器是要运行于ARM嵌入式设备上的,因此需要对BOA源文件进行交叉编译。编译工具使用arm-linux-gcc-4.3.2交叉编译工具链,拷贝文件arm-lin-ux-gcc-4.3.2.tgz到目录/tmp下,执行命令cd/tmp;tarzxvfarm-linux-gcc- 4.3.2.tgz-C/.这样交叉编泽工具就安装到/usr/local/arm/4.3.2目录下面。为确保在打开终端后能直接应用交叉编译工具链,要在/root/.bashrc文件中把编译器路径加入到系统环境变量。运行命令gedit/root/.bashrc编辑文件/root/.bashrc。在文件的最后添加exportPATH=$PATH:/usr/local/arm/4.3.2/bin。保存退出。接着执行source/root/.bashrc命令使设置生效。最后检测交叉编译工具是否安装成功,命令为在终端中输入arm-linux-gcc-v;若能在输出的信息中看到arm-linux-gcc版本号4.3.2,说明安装成功。
其次,交叉编译BOA源码,拷贝BOA源码包boa-0.94.13.tar.gz到/tmp目录下,解压缩掩码包tarzxvfboa- 0.94.13.tar.gz;解压后在Linux终端进入BOA所在目录,首先执行命令./con-figure生成Makefile文件,然后打开文件夹,找到Makefile文件,用文本编辑器打开,找到CC=gcc,CPP=gcc-E两行,分别将其设置成上一步生成的交叉编译工具路径 CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc和 CPP=/usr/local/arm/4.3.2/bin/arm-linux-gcc-E,然后将Makefile保存后退出,回到终端执行make 命令,进行交叉编译得到可执行程序BOA,它就是能够运行在arm嵌入式设备上的执行文件。可通过命令fileboa查看文件信息。拷贝此BOA文件到目标板/bin目录中。
再次,配置boa服务器。配置BOA主要是为了使其能够支持CGI程序的执行。在文件系统的/etc目录下mkdirboa建立一个BOA目录,拷贝 BOA源码目录中的boa.conf文件到文件系统目录/etc/boa目录下,然后根据嵌入式BOA的需求在此配置文件的基础上进行修改。在修改此配置文件时需要
Boa-web服务器远程机器人控 相关文章:
- Windows CE 进程、线程和内存管理(11-09)
- RedHatLinux新手入门教程(5)(11-12)
- uClinux介绍(11-09)
- openwebmailV1.60安装教学(11-12)
- Linux嵌入式系统开发平台选型探讨(11-09)
- Windows CE 进程、线程和内存管理(二)(11-09)