基于Boa-web服务器的远程机器人控制(网络篇)

发布者:太和清音最新更新时间:2015-07-10 来源: 51hei关键字:Boa-web  服务器  远程机器人控制 手机看文章 扫描二维码
随时随地手机看文章
本人秉着对智能机器人的热爱在上个学期选修了智能机器人这门课,尽管最后因为没及时把作业交上去就挂了这门选修课,o(︶︿︶)o 唉(ps:老师呀,要是你看到我写的这篇文章后,你就发发慈悲就把我的成绩改过来哈)、

记得上这门课的老师先是讲诉了单片机的基本应用和单片机编程,然后课程结束的时候给我们介绍了下tiny6410开发板。后来我去查阅了相关资料,觉得用这这块板做个远程控制的机器人是可行的,因此哥儿最近刚入手了友善之臂的tiny6410开发板(ps:这可花了我600大洋,老师呀 怎么你也得把我成绩改及格撒),关于这块开发板的详细信息可以参照附件或者友善之臂的官方网发布的相关文档。

硬件资源

首先,我们先看下tiny6410在接口方面哪些接口:


 

 从tiny6410的布局可以看出它所提供的硬件资源是相当多的。

    软件资源

    接着,我们来看下tiny6410的软件资源。

Tiny6410可以搭载linux,安卓,winCE系统,下面是linux系统的简单介绍。


 

开发之路--网络篇

一、开发思路

如果提起linux,很多人会联想到嵌入式开发和linux下的网络服务器。可是,嵌入式开发对于一般学电子的人来说是有一定的难度的,因此我们可以利用linux下的网络服务器做一些开发。[page]

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;tar zxvfarm-linux-gcc- 4.3.2.tgz-C/.这样交叉编泽工具就安装到/usr/local/arm/4.3.2目录下面。为确保在打开终端后能直接应用交叉编译工具链,要在/root/.bashrc文件中把编译器路径加入到系统环境变量。运行命令gedit/root/.bashrc编辑文件/root/.bashrc。在文件的最后添加export PATH=$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目录下,解压缩掩码包tar zxvf boa- 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目录下mkdir boa建立一个BOA目录,拷贝 BOA源码目录中的boa.conf文件到文件系统目录/etc/boa目录下,然后根据嵌入式BOA的需求在此配置文件的基础上进行修改。在修改此配置文件时需要注意保证其他文件和设置必须与配置文件相一致,否则嵌入式Web服务器BOA就不能正常运行。

搭建Boa服务器完成后,可以在linux文件管理中的根目录会出现www文件夹,这个文件夹就是前面提到的动态网站系统的存放目录。如果要对这个网站系统的文件进行读写,这时候就要用到tftp服务器了,通过tftp服务,我们可以轻松的对文件夹www中的动态网站系统的文件进行读写。关于搭建tftp服务器的搭建在这里就不做介绍了。

三、Boa服务器移植测试

从tiny6410的硬件资源可以看到,开发板提供了四个LED,我们简单地编个程序来测试一下通过Boa服务器远程控制开发板上的LED。

程序如下:

    <input type=“radio”name=“speed”value=“show”checked>慢速

  <input type=“radio”name=“speed”value=“normal”>中速

  <input type=“radio”name=“speed”value=“rast”>高速

  <input type=“submit”value=确定“name=”submit>

  其中leds.cgi程序如下:

  #! /bin/sh

  Period=1+case$QUERY-STRING in

  *slow*)

  period=0.25

  ;;

  * normal *)

  period = 0.125

  ;;

  * fast *

  period=0.0625+;;

  *fast * ) + period =0.0626

  ;;

  esac

  /bin/echo $ period ? /tmp/led-control//通过Query_String的环境变量传递给应用程序。

  echo “Content-type:texe/html;charset=gb2312”

  echo

  /bin/cat led =result.template

  exit 0

其中led-control是编译好的可执行的应用程序,通过led驱动来实现对LED的控制。这些硬件资料可以在友善之臂提供PDF文件中会有介绍,如果用到开发板的其他的硬件设备可以查阅相关数据后进行对其他硬件设备的调用。

接着,假设开发板的IP为192.198.1.230,那么直接访问http://192.198.1.230就可以访问Boa服务器的网页了,通过这个网页可以控制开发板上LED的闪烁速度。这次测试暂时就不上图了,想看的话可以到我寝室来,嘿嘿。

结束语

         基于Boa-web服务器的远程机器人控制(网络篇)的介绍暂时到这里吧,下次做下调用其他硬件的测试。 比如做个开发底板控制电机的转动,一个远程控制的机器人就可以走动了。(*^__^*) 好了,先到这了,加油.......
关键字:Boa-web  服务器  远程机器人控制 引用地址:基于Boa-web服务器的远程机器人控制(网络篇)

上一篇:stm32驱动SST25VF程序
下一篇:NXP_LPC1114延时函数集合

推荐阅读最新更新时间:2024-03-16 14:24

配置SSH服务器到ARM开发板中使用
本例中所使用的硬件平台是GEC6818 ARM开发板 SSH_config.tar.bz下载 链接:https://pan.baidu.com/s/12xqy3ZxhBEjNm8lGQ0ZjAA 提取码:0pv5 将提前下载好的SSH_config.tar.bz压缩包放置到开发板中,配置SSH服务器 //配置SSH服务器 tar -xzvf SSH_config.tar.bz cd /SSH/openssh/ ./auto //设置SSH的登录密码 passwd root //重启开发板使SSH生效 reboot 在虚拟机上通过SSH协议登录ARM板上的Linux系统,命令如下: ssh 用户名@用户I
[单片机]
配置SSH<font color='red'>服务器</font>到ARM开发板中使用
一种嵌入式WEB服务器的设计与实现
  在企业自动化的工业现场,下层车间的监测设备之间都是采用现场总线相互连接,而企业的管理层和生产监控层都是连于以太网的PC,甚至是位于异地的连于互连网上的PC。为了使工业现场的现场总线上的设备和管理监控层之间的PC能够通信,同时改善故障检测和设备维护的远程访问能力,笔者在CAN总线网与以太网的互连系统中设计了一个嵌入式WEB服务器。 1 嵌入式WEB服务器硬件设计 通常嵌入式系统硬件包括微控制器、存储器及外设器件和I/O端口等,其核心是嵌入式微控制器。为适应上网需求,嵌入式微控制器不仅要具有传统的控制功能,还要具有与因特网连接的功能。而Ubicom公司的SX52芯片能比较容易实现TCP/IP协议,选择它作为微控制器。关于传输媒
[网络通信]
Nginx架构介绍 Nginx服务器模型分析
Nginx是一款免费的、开源的、高性能、、轻量级的HTTP服务器、反向代理服务器以及邮件(IMAP/POP3)代理服务器。 很多大型的网站都使用Nginx,如:百度、京东、新浪、网易、腾讯、淘宝等。 1.Nginx的整体架构简介 1)Nginx启动后,会产生一个主进程,主进程执行一系列的工作后会产生一个或者多个工作进程; 2)在客户端请求动态站点的过程中,Nginx服务器还涉及和后端服务器的通信。Nginx将接收到的Web请求通过代理转发到后端服务器,由后端服务器进行数据处理和组织; 3)Nginx为了提高对请求的响应效率,降低网络压力,采用了缓存机制,将应答数据缓存到本地。保障对缓存文件的快速访问;
[机器人]
凌华科技推出服务器等级之VPX军规单板计算机
北京2017年3月6日电 /美通社/ -- 全球智能云计算服务平台、网关、嵌入式计算机及行业应用平台供应商 -- 凌华科技推出服务器等级之3U VPX军规单板计算机VPX3010系列,其搭载高达12核心之Intel ® Xeon ® D-1500系统单芯片处理器,具备服务器等级的运算效能,有助于提升运算能力、GPGPU加速及提高工作产量。VPX3010快速入门工具组和GPGPU配套产品,例如选配的离散VPX3G10 GPGPU独立外插卡搭配384 CUDA核心之NVIDIA GeForce GT 745M GPU或选定XMC-G745模块,可直接安装于VPX3010达到节省空间并增强图形向量运算效能。 服务器等级Intel
[嵌入式]
凌华科技推出<font color='red'>服务器</font>等级之VPX军规单板计算机
基于ARM的多串口多总线服务器设计
  工业控制中,各设备的信号采集和监控只靠串口总线难以实现扩展,要将现场控制网络和信息网络相连,就需要解决串口通信协议和因特网通信协议的转换问题,即把原有设备转换为具备网络接口的外设,这样可以将传统串行链路上的数据传输到信息网络上,而无需更换原有设备。如此,可以提高原有设备利用率、增加多终端连接数、节约成本、简化布线的复杂度及延长通信距离。   近年来,因信息化和物联网发展的需要,串口服务器大量涌现,它们不占用主机资源,且具有终端服务器的功能。不过,设备体积庞大、价格昂贵、串口不易裁剪或扩展、传输大量数据帧时丢包、参数配置繁杂等问题也随之出现。   本设计采用的串口服务器的核心设备--树莓派,是一款体积小、价格便宜但功能非
[单片机]
基于ARM的多串口多总线<font color='red'>服务器</font>设计
ARM联合微软进军服务器市场 英特尔会哭晕?
  随着移动计算平台的崛起, ARM 和x86的楚河汉界逐渐被填平。两大阵营互挖墙脚,但始终突破不了对方的核心领域。正如 ARM 搞不定桌面端,Intel也在移动端铩羽而归。   不过情况似乎出现转机,Intel不再是 微软 唯一的小甜甜了。在WinHEC 2016硬件大会上, 微软 和高通实现Win10对于骁龙处理器的支持,以后连服务器都将采用 ARM 芯片,牙膏厂要哭晕了吗? ARM联合微软进军服务器市场 英特尔会哭晕?    复仇者AMD擦肩而过   一直以来,ARM处理器在移动端使用最为广泛。虽然性能远不及桌面x86平台,但功耗表现却十分优越,长期被Intel压着打的AMD便看中了这点。2012年AMD宣布与ARM
[网络通信]
回顾腾讯三次架构调整,六年一次应验了?
2005年9月30日,深圳体育场。周杰伦首次带着“无与伦比”巡回演唱会和当红金曲《我的地盘》,与接近32000名深圳市民近距离接触。中国老百姓没听过周杰伦歌的人不在少数,但是80、90一代几乎没有人不知道他那句广告语:“我的地盘听我的”——出自其代言中国移动后所推出的专辑主打歌。当日盛装打扮的周杰伦从天而降,音乐响起后他对着麦克风用台版儿话音尽情高唱:   “在我地盘这你就得听我的…我灌溉的原则培养一种独特…观念不及格其他全部都是垃圾”   当日演唱会在座的 腾讯 公司员工为数不少,他们却不知道自己将面临一场巨大的危机。   2004年10月-2006年12月29日,中国移动自行外包开发的“飞信”产品出于自己业务层面的考虑而强制要
[嵌入式]
如何配置及访问S7-1200的Web服务器功能?
TIA Portal 从 V17 版本开始、S7-1200 CPU 从 V4.5 版本开始,Web 服务器支持现代 API 和证书处理。并且在 Web 服务器属性中新增了 Security 属性,在其中设置安全通信所用的证书。 在使用 TIA Portal V17 对 V4.5 版本的 S7-1200 组态 Web 服务器时,必须在 Security 属性中的证书类型进行选择,以使用不同的证书。 本文档将介绍如何配置及访问 S7-1200 的 Web 服务器功能 硬件和软件版本 硬件:S7-1200 V4.5 及以上 (本文档使用硬件:6ES7214-1AG40-0XB0 V4.5 版本) 软件:TIA Portal V17
[嵌入式]
如何配置及访问S7-1200的Web<font color='red'>服务器</font>功能?
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved