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

專注電子技術學習與研究
當前位置:單片機教程網 >> MCU設計實例 >> 瀏覽文章

基于Boa-web服務器的遠程機器人控制(網絡篇)

作者:佚名   來源:本站原創   點擊數:  更新時間:2012年11月19日   【字體:
    

本人秉著對智能機器人的熱愛在上個學期選修了智能機器人這門課,盡管最后因為沒及時把作業交上去就掛了這門選修課,o(︶︿︶)o 唉(ps:老師呀,要是你看到我寫的這篇文章后,你就發發慈悲就把我的成績改過來哈)、

記得上這門課的老師先是講訴了單片機的基本應用和單片機編程,然后課程結束的時候給我們介紹了下tiny6410開發板。后來我去查閱了相關資料,覺得用這這塊板做個遠程控制的機器人是可行的,因此哥兒最近剛入手了友善之臂的tiny6410開發板(ps:這可花了我600大洋,老師呀 怎么你也得把我成績改及格撒),關于這塊開發板的詳細信息可以參照附件或者友善之臂的官方網發布的相關文檔。

硬件資源

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


 

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

    軟件資源

    接著,我們來看下tiny6410的軟件資源。

Tiny6410可以搭載linux,安卓,winCE系統,下面是linux系統的簡單介紹。


 

開發之路--網絡篇

一、開發思路

如果提起linux,很多人會聯想到嵌入式開發和linux下的網絡服務器。可是,嵌入式開發對于一般學電子的人來說是有一定的難度的,因此我們可以利用linux下的網絡服務器做一些開發。

Linuxweb服務器有HapdThttpdBoa,其中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服務器傳遞過來的信息,然后通過硬件的驅動程序調用開發板的硬件設備。

二、Boatftp服務器的搭建

   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/htmlcharset=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服務器的遠程機器人控制(網絡篇)的介紹暫時到這里吧,下次做下調用其他硬件的測試。 比如做個開發底板控制電機的轉動,一個遠程控制的機器人就可以走動了。(*^__^*) 好了,先到這了,加油.......
關閉窗口

相關文章

主站蜘蛛池模板: 婷婷中文字幕 | 欧美精品99久久久 | 日韩午夜在线观看 | 亚洲一区在线观看视频 | 男男成人高潮片免费网站 | 亚洲国产精品视频 | 秋霞av在线| 日韩中文一区 | 亚洲欧美日韩成人 | 福利视频二区 | 国产精品无遮挡 | 一级香蕉视频 | 国产美女免费 | 蜜桃av一区二区三区 | 亚洲精品久久久蜜桃 | 免费看片网站91 | 一级黄色av | 国产成人精品亚洲男人的天堂 | 日本黄色免费视频 | 一个色综合网 | 九九九热 | 亚洲在线一区二区 | 麻豆做爰免费观看 | 色婷婷综合网 | 亚洲美女爱爱 | 欧美黄色网| 黄色av免费看 | 可以免费看的毛片 | 亚洲性av | 久久在线免费观看 | 亚洲二级片 | 你懂的在线网站 | 日韩在线视频免费观看 | 日韩精品三区 | 六月色婷婷| 精品久久久久久久久久久久久 | 国产小精品| 免费在线小视频 | 91禁蘑菇在线看 | 羞羞网站在线观看 | 欧美黄色一区二区 |