<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于Boa-web服務(wù)器的遠程機器人控制(網(wǎng)絡(luò )篇)

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

作者: 時(shí)間:2016-11-29 來(lái)源:網(wǎng)絡(luò ) 收藏

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


 

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

如圖:

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

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

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

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

二、Boa和tftp服務(wù)器的搭建

BOA服務(wù)器是要運行于A(yíng)RM嵌入式設備上的,因此需要對BOA源文件進(jìn)行交叉編譯。編譯工具使用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目錄下面。為確保在打開(kāi)終端后能直接應用交叉編譯工具鏈,要在/root/.bashrc文件中把編譯器路徑加入到系統環(huán)境變量。運行命令gedit/root/.bashrc編輯文件/root/.bashrc。在文件的最后添加exportPATH=$PATH:/usr/local/arm/4.3.2/bin。保存退出。接著(zhù)執行source/root/.bashrc命令使設置生效。最后檢測交叉編譯工具是否安裝成功,命令為在終端中輸入arm-linux-gcc-v;若能在輸出的信息中看到arm-linux-gcc版本號4.3.2,說(shuō)明安裝成功。

  其次,交叉編譯BOA源碼,拷貝BOA源碼包boa-0.94.13.tar.gz到/tmp目錄下,解壓縮掩碼包tarzxvfboa- 0.94.13.tar.gz;解壓后在Linux終端進(jìn)入BOA所在目錄,首先執行命令./con-figure生成Makefile文件,然后打開(kāi)文件夾,找到Makefile文件,用文本編輯器打開(kāi),找到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 命令,進(jìn)行交叉編譯得到可執行程序BOA,它就是能夠運行在arm嵌入式設備上的執行文件??赏ㄟ^(guò)命令fileboa查看文件信息??截惔薆OA文件到目標板/bin目錄中。

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

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

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

從tiny6410的硬件資源可以看到,開(kāi)發(fā)板提供了四個(gè)LED,我們簡(jiǎn)單地編個(gè)程序來(lái)測試一下通過(guò)Boa服務(wù)器遠程控制開(kāi)發(fā)板上的LED。

程序如下:

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

 ?。糹nputtype=“radio”name=“speed”value=“normal”>中速

 ?。糹nputtype=“radio”name=“speed”value=“rast”>高速

 ?。糹nputtype=“submit”value=確定“name=”submit>

  其中leds.cgi程序如下:

  #!/bin/sh

  Period=1+case$QUERY-STRINGin

  *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)境變量傳遞給應用程序。

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

  echo

  /bin/catled=result.template

  exit0

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

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

結束語(yǔ)

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

上一頁(yè) 1 2 下一頁(yè)

關(guān)鍵詞: Boa-web服務(wù)器遠程機器人控

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>