久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專(zhuān)注電子技術(shù)學(xué)習(xí)與研究
當(dāng)前位置:單片機(jī)教程網(wǎng) >> MCU設(shè)計(jì)實(shí)例 >> 瀏覽文章

基于Boa-web服務(wù)器的遠(yuǎn)程機(jī)器人控制(網(wǎng)絡(luò)篇)

作者:佚名   來(lái)源:本站原創(chuàng)   點(diǎn)擊數(shù):  更新時(shí)間:2012年11月19日   【字體:
    

本人秉著對(duì)智能機(jī)器人的熱愛(ài)在上個(gè)學(xué)期選修了智能機(jī)器人這門(mén)課,盡管最后因?yàn)闆](méi)及時(shí)把作業(yè)交上去就掛了這門(mén)選修課,o(︶︿︶)o 唉(ps:老師呀,要是你看到我寫(xiě)的這篇文章后,你就發(fā)發(fā)慈悲就把我的成績(jī)改過(guò)來(lái)哈)、

記得上這門(mén)課的老師先是講訴了單片機(jī)的基本應(yīng)用和單片機(jī)編程,然后課程結(jié)束的時(shí)候給我們介紹了下tiny6410開(kāi)發(fā)板。后來(lái)我去查閱了相關(guān)資料,覺(jué)得用這這塊板做個(gè)遠(yuǎn)程控制的機(jī)器人是可行的,因此哥兒最近剛?cè)胧至擞焉浦鄣膖iny6410開(kāi)發(fā)板(ps:這可花了我600大洋,老師呀 怎么你也得把我成績(jī)改及格撒),關(guān)于這塊開(kāi)發(fā)板的詳細(xì)信息可以參照附件或者友善之臂的官方網(wǎng)發(fā)布的相關(guān)文檔。

硬件資源

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


 

 從tiny6410的布局可以看出它所提供的硬件資源是相當(dāng)多的。

    軟件資源

    接著,我們來(lái)看下tiny6410的軟件資源。

Tiny6410可以搭載linux,安卓,winCE系統(tǒng),下面是linux系統(tǒng)的簡(jiǎn)單介紹。


 

開(kāi)發(fā)之路--網(wǎng)絡(luò)篇

一、開(kāi)發(fā)思路

如果提起linux,很多人會(huì)聯(lián)想到嵌入式開(kāi)發(fā)和linux下的網(wǎng)絡(luò)服務(wù)器。可是,嵌入式開(kāi)發(fā)對(duì)于一般學(xué)電子的人來(lái)說(shuō)是有一定的難度的,因此我們可以利用linux下的網(wǎng)絡(luò)服務(wù)器做一些開(kāi)發(fā)。

Linuxweb服務(wù)器有HapdThttpdBoa,其中Boa服務(wù)器源代碼開(kāi)放、性能優(yōu)秀、支持CGI通用網(wǎng)關(guān)接口技術(shù),比較適合做web開(kāi)發(fā)。Boa服務(wù)器可以通過(guò)CGI與外部應(yīng)用程序和腳本之間進(jìn)行交互,根據(jù)客戶端瀏覽器在請(qǐng)求時(shí)所采用的方法,服務(wù)器會(huì)搜集客戶所提供的信息,并將該部分信息發(fā)送給指定的CGI擴(kuò)展程序,CGI擴(kuò)展程序進(jìn)行信息處理并將結(jié)果返回給服務(wù)器,然后服務(wù)器對(duì)信息進(jìn)行分析,并將結(jié)果發(fā)送回客戶端在瀏覽器上顯示出來(lái)。其實(shí)這就是 B/S(瀏覽器/服務(wù)器)模式,可以用下圖來(lái)表示


 

這個(gè)模式將是本次基于Boa-web服務(wù)器的遠(yuǎn)程機(jī)器人控制開(kāi)發(fā)的主要模式,下面是對(duì)這個(gè)模式的說(shuō)明!!!

如圖:

1、瀏覽器可以是windows下的瀏覽器,也可以是手機(jī)上的瀏覽器,控制端只是一個(gè)html網(wǎng)頁(yè)而已。

2、Web服務(wù)器就是linux下的Boa服務(wù)器。基于Boa服務(wù)器,可以建立一個(gè)動(dòng)態(tài)的網(wǎng)站,通過(guò)這個(gè)網(wǎng)站可以進(jìn)行嵌入式設(shè)備和用戶的之間進(jìn)行信息交互。

3、CGI部分。CGI是一種腳本語(yǔ)言,可以和perl,PHP,C語(yǔ)言一起用,為了方便動(dòng)態(tài)網(wǎng)站的搭建,本次開(kāi)發(fā)主要以PHP+CGI為主。

4、應(yīng)用程序部分。其實(shí)在本次開(kāi)發(fā)中,應(yīng)用程序就是一個(gè)個(gè)CGI程序。這個(gè)一個(gè)個(gè)CGI程序處理由用戶通過(guò)Boa服務(wù)器傳遞過(guò)來(lái)的信息,然后通過(guò)硬件的驅(qū)動(dòng)程序調(diào)用開(kāi)發(fā)板的硬件設(shè)備。

二、Boatftp服務(wù)器的搭建

   BOA服務(wù)器是要運(yùn)行于ARM嵌入式設(shè)備上的,因此需要對(duì)BOA源文件進(jìn)行交叉編譯。編譯工具使用arm-linux-gcc-4.3.2交叉編譯工具鏈,拷貝文件arm-lin-ux-gcc-4.3.2.tgz到目錄/tmp下,執(zhí)行命令cd/tmp;tar zxvfarm-linux-gcc- 4.3.2.tgz-C/.這樣交叉編澤工具就安裝到/usr/local/arm/4.3.2目錄下面。為確保在打開(kāi)終端后能直接應(yīng)用交叉編譯工具鏈,要在/root/.bashrc文件中把編譯器路徑加入到系統(tǒng)環(huán)境變量。運(yùn)行命令gedit/root/.bashrc編輯文件/root/.bashrc。在文件的最后添加export PATH=$PATH:/usr/local/arm/4.3.2/bin。保存退出。接著執(zhí)行source/root/.bashrc命令使設(shè)置生效。最后檢測(cè)交叉編譯工具是否安裝成功,命令為在終端中輸入arm-linux-gcc-v;若能在輸出的信息中看到arm-linux-gcc版本號(hào)4.3.2,說(shuō)明安裝成功。

  其次,交叉編譯BOA源碼,拷貝BOA源碼包boa-0.94.13.tar.gz到/tmp目錄下,解壓縮掩碼包tar zxvf boa- 0.94.13.tar.gz;解壓后在Linux終端進(jìn)入BOA所在目錄,首先執(zhí)行命令./con-figure生成Makefile文件,然后打開(kāi)文件夾,找到Makefile文件,用文本編輯器打開(kāi),找到CC=gcc,CPP=gcc-E兩行,分別將其設(shè)置成上一步生成的交叉編譯工具路徑 CC=/usr/local/arm/4.3.2/bin/arm-linux-gcc和 CPP=/usr/local/arm/4.3.2/bin/arm-linux-gcc-E,然后將Makefile保存后退出,回到終端執(zhí)行make 命令,進(jìn)行交叉編譯得到可執(zhí)行程序BOA,它就是能夠運(yùn)行在arm嵌入式設(shè)備上的執(zhí)行文件。可通過(guò)命令fileboa查看文件信息。拷貝此BOA文件到目標(biāo)板/bin目錄中。

  再次,配置boa服務(wù)器。配置BOA主要是為了使其能夠支持CGI程序的執(zhí)行。在文件系統(tǒng)的/etc目錄下mkdir boa建立一個(gè)BOA目錄,拷貝 BOA源碼目錄中的boa.conf文件到文件系統(tǒng)目錄/etc/boa目錄下,然后根據(jù)嵌入式BOA的需求在此配置文件的基礎(chǔ)上進(jìn)行修改。在修改此配置文件時(shí)需要注意保證其他文件和設(shè)置必須與配置文件相一致,否則嵌入式Web服務(wù)器BOA就不能正常運(yùn)行。

搭建Boa服務(wù)器完成后,可以在linux文件管理中的根目錄會(huì)出現(xiàn)www文件夾,這個(gè)文件夾就是前面提到的動(dòng)態(tài)網(wǎng)站系統(tǒng)的存放目錄。如果要對(duì)這個(gè)網(wǎng)站系統(tǒng)的文件進(jìn)行讀寫(xiě),這時(shí)候就要用到tftp服務(wù)器了,通過(guò)tftp服務(wù),我們可以輕松的對(duì)文件夾www中的動(dòng)態(tài)網(wǎng)站系統(tǒng)的文件進(jìn)行讀寫(xiě)。關(guān)于搭建tftp服務(wù)器的搭建在這里就不做介紹了。

三、Boa服務(wù)器移植測(cè)試

從tiny6410的硬件資源可以看到,開(kāi)發(fā)板提供了四個(gè)LED,我們簡(jiǎn)單地編個(gè)程序來(lái)測(cè)試一下通過(guò)Boa服務(wù)器遠(yuǎn)程控制開(kāi)發(fā)板上的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//通過(guò)Query_String的環(huán)境變量傳遞給應(yīng)用程序。

  echo “Content-type:texe/htmlcharset=gb2312”

  echo

  /bin/cat led =result.template

  exit 0

其中l(wèi)ed-control是編譯好的可執(zhí)行的應(yīng)用程序,通過(guò)led驅(qū)動(dòng)來(lái)實(shí)現(xiàn)對(duì)LED的控制。這些硬件資料可以在友善之臂提供PDF文件中會(huì)有介紹,如果用到開(kāi)發(fā)板的其他的硬件設(shè)備可以查閱相關(guān)數(shù)據(jù)后進(jìn)行對(duì)其他硬件設(shè)備的調(diào)用。

接著,假設(shè)開(kāi)發(fā)板的IP為192.198.1.230,那么直接訪問(wèn)http://192.198.1.230就可以訪問(wèn)Boa服務(wù)器的網(wǎng)頁(yè)了,通過(guò)這個(gè)網(wǎng)頁(yè)可以控制開(kāi)發(fā)板上LED的閃爍速度。這次測(cè)試暫時(shí)就不上圖了,想看的話可以到我寢室來(lái),嘿嘿。

結(jié)束語(yǔ)

         基于Boa-web服務(wù)器的遠(yuǎn)程機(jī)器人控制(網(wǎng)絡(luò)篇)的介紹暫時(shí)到這里吧,下次做下調(diào)用其他硬件的測(cè)試。 比如做個(gè)開(kāi)發(fā)底板控制電機(jī)的轉(zhuǎn)動(dòng),一個(gè)遠(yuǎn)程控制的機(jī)器人就可以走動(dòng)了。(*^__^*) 好了,先到這了,加油.......
關(guān)閉窗口

相關(guān)文章

主站蜘蛛池模板: 日韩在线观看一区二区三区 | 久久99精品久久 | 日韩精品av | 在线视频一区二区三区 | 一级做a爰片性色毛片16美国 | 亚洲欧美成人影院 | 国产精品久久久久久久久久不蜜臀 | 97在线观看| 欧美日韩亚洲在线 | 网站黄色在线免费观看 | 天天干天天草 | 精品国产乱码久久久久久88av | 九九综合 | 国产一区二区欧美 | 精品久久久久久久久亚洲 | 国产又爽又黄的视频 | 色婷婷av一区二区三区软件 | 欧美亚洲第一区 | 久久伊人在 | 91免费在线看 | 亚欧精品| 亚洲国产一区二区三区, | 国产精品视频999 | 欧美区在线 | 91久久综合亚洲鲁鲁五月天 | 在线国产精品一区 | 亚洲人人 | 成人精品在线观看 | 91中文字幕 | 欧美性高潮 | 国产91色在线 | 亚洲 | 成人精品鲁一区一区二区 | 精品一二三区视频 | 久久精品99国产精品日本 | 欧美日韩亚洲三区 | 成人欧美一区二区三区在线播放 | 97精品国产| 欧美精品一区三区 | 久久综合久久自在自线精品自 | 欧美福利视频 | 中国一级特黄视频 |