• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      3G 網(wǎng)絡(luò)的移動(dòng)機(jī)器人遠(yuǎn)程監(jiān)控系統(tǒng)

      2013-08-27 08:33:16劉丙洋郭文成
      關(guān)鍵詞:表單移動(dòng)機(jī)器人線程

      劉丙洋,郭文成

      (天津工業(yè)大學(xué) 電氣工程與自動(dòng)化學(xué)院,天津300387)

      引 言

      3G 是第三代移動(dòng)通信技術(shù),結(jié)合了無(wú)線通信技術(shù)和互聯(lián)網(wǎng)等多媒體技術(shù)。隨著3G 技術(shù)的發(fā)展,它在聲音和數(shù)據(jù)的傳輸速度上有很大提升,并能夠在全球范圍內(nèi)實(shí)現(xiàn)無(wú)線漫游。其數(shù)據(jù)傳輸高速、永遠(yuǎn)在線、覆蓋范圍廣等優(yōu)點(diǎn),有效地解決了移動(dòng)機(jī)器人采用有線或者無(wú)線遠(yuǎn)程控制所帶來(lái)的信息傳輸和控制距離等方面的瓶頸問(wèn)題,使遠(yuǎn)程救援機(jī)器人、仿真機(jī)器人、家庭保姆機(jī)器人等移動(dòng)機(jī)器人技術(shù)在大數(shù)據(jù)量實(shí)時(shí)傳輸方面多了一種可利用的解決方案。

      1 系統(tǒng)總體架構(gòu)

      本系統(tǒng)主要用來(lái)將移動(dòng)機(jī)器人所采集到的視頻數(shù)據(jù)通過(guò)3G 網(wǎng)絡(luò)傳給服務(wù)器,再將服務(wù)器的控制信號(hào)傳給電機(jī)驅(qū)動(dòng)板,以驅(qū)動(dòng)移動(dòng)機(jī)器人平臺(tái)運(yùn)動(dòng),總體架構(gòu)如圖1所示。攝像頭OV9650采集的視頻圖像經(jīng)過(guò)JPEG 壓縮后,存入緩存區(qū),當(dāng)服務(wù)器監(jiān)聽到客戶端的接入請(qǐng)求后,再將緩存區(qū)的數(shù)據(jù)通過(guò)網(wǎng)絡(luò)傳輸給客戶端的監(jiān)控界面進(jìn)行顯示;當(dāng)需要控制機(jī)器人行動(dòng)時(shí),客戶端的控制按鈕發(fā)送控制信息給服務(wù)器,服務(wù)器通過(guò)程序解析后控制底層電機(jī)驅(qū)動(dòng)器,驅(qū)動(dòng)機(jī)器人平臺(tái)運(yùn)動(dòng)。

      系統(tǒng)硬件平臺(tái)核心處理器采用S3C6410,它基于ARM1176JZF-S內(nèi)核,是一個(gè)16/32位RISC微處理器,其內(nèi)部集成了強(qiáng)大的硬件加速器,包括音視頻處理、2D 加速等,為2.5G 和3G 通信服務(wù)提供了優(yōu)化的硬件性能,工作頻率最高可達(dá)677 MHz;采用2GB NAND Flash,主要用于存放內(nèi)核代碼、應(yīng)用程序、文件系統(tǒng)和數(shù)據(jù)資料;DDR SDRAM 采用兩片128 MB K4X51163PE 芯片;攝像頭采用CMOS圖像傳感器OV9650,最高輸出130 萬(wàn)像素(1 300×1 024),具有高敏感度、低功耗、支持多種常用的圖像格式輸出、支持自動(dòng)圖像控制等優(yōu)點(diǎn)。

      Linux作為一種類Unix操作系統(tǒng),具有穩(wěn)定健壯、低成本、高性能、互操作性好和源代碼開放等特點(diǎn)。而其良好的內(nèi)核結(jié)構(gòu),以及可裁剪的特性,滿足了嵌入式應(yīng)用的差異性需求,使其在嵌入式系統(tǒng)領(lǐng)域占有一席之地。本系統(tǒng)中采用的Linux 內(nèi)核為3.0.1 版本,文件系統(tǒng)采用YAFFS2,Bootloader選用uboot。

      圖1 系統(tǒng)總體架構(gòu)圖

      2 系統(tǒng)軟件設(shè)計(jì)

      2.1 視頻數(shù)據(jù)的采集與傳輸

      視頻數(shù)據(jù)的采集通過(guò)Linux中視頻設(shè)備OV9650的驅(qū)動(dòng)以及Video for Linux提供的相應(yīng)接口完成。為了方便,將視頻采集的相關(guān)信息封裝到以下結(jié)構(gòu)體中:

      采集程序通過(guò)函數(shù)init_s3c6410(struct vdIn*vd,char*device,int width,int height)來(lái)完成對(duì)攝像頭以及采集參數(shù)的初始化,并通過(guò)函數(shù)s3c6410_Grab(struct vdIn*vd)完成對(duì)圖像的抓取,用JPEG 壓縮算法對(duì)采集到的圖像進(jìn)行壓縮,圖像格式為RGB565。

      視頻數(shù)據(jù)傳輸通過(guò)Socket實(shí)現(xiàn),且直接在服務(wù)器設(shè)備端與Web客戶端之間進(jìn)行傳輸,通過(guò)視頻流服務(wù)器實(shí)現(xiàn)對(duì)視頻的開關(guān)控制。由于視頻傳輸是連續(xù)的過(guò)程,所以客戶端和服務(wù)器端都通過(guò)線程來(lái)實(shí)現(xiàn)發(fā)送與接收。接收線程由函數(shù)pthread_create(&(servers[id].threadID),NULL,server_thread,&(servers[id]))創(chuàng)建。

      視頻的采集和傳輸是在兩個(gè)線程中實(shí)現(xiàn)的,它們共享一個(gè)緩沖池。這兩個(gè)線程都是在視頻采集服務(wù)器端的程序啟動(dòng)時(shí)創(chuàng)建并運(yùn)行的。其中采集視頻圖像的線程不斷通過(guò)攝像頭采集現(xiàn)場(chǎng)圖像,經(jīng)過(guò)JPEG 壓縮后存放到緩沖池中,而傳輸視頻數(shù)據(jù)的線程創(chuàng)建一個(gè)Socket來(lái)監(jiān)聽等待遠(yuǎn)程客戶的連接請(qǐng)求。當(dāng)有客戶發(fā)送連接請(qǐng)求并建立連接后,就通過(guò)該連接向遠(yuǎn)程客戶發(fā)送視頻數(shù)據(jù),而發(fā)送的視頻數(shù)據(jù)就是從緩沖池中獲取的。也就是說(shuō),在視頻采集服務(wù)器端,視頻數(shù)據(jù)傳輸所需要的一切都已經(jīng)準(zhǔn)備好,就等著客戶的請(qǐng)求,一旦建立連接,就可以發(fā)送視頻數(shù)據(jù),從而實(shí)現(xiàn)較快的速度和較高的效率。

      視頻采集和傳輸?shù)墓ぷ髁鞒虉D如圖2所示。

      圖2 視頻采集與傳輸工作流程圖

      2.2 遠(yuǎn)程控制的實(shí)現(xiàn)

      為了監(jiān)控界面能被通用瀏覽器打開,需要移植Web服務(wù)器Boa。Boa服務(wù)器是一款小型開源的嵌入式Web服務(wù)器,交叉編譯后的可執(zhí)行代碼大小約為60 KB,在Linux3.0.1內(nèi)核下運(yùn)行時(shí)占用的內(nèi)存大小約為1.7 MB。其功能較為強(qiáng)大,支持身份認(rèn)證、CGI動(dòng)態(tài)Web技術(shù)等。它不像傳統(tǒng)的Web服務(wù)器那樣為每個(gè)訪問(wèn)連接開啟一個(gè)進(jìn)程,只能依次完成用戶的請(qǐng)求,即單進(jìn)程響應(yīng)多路請(qǐng)求,因此,Boa在同等硬件條件下相對(duì)于其他Web服務(wù)器表現(xiàn)出更快的速度,節(jié)省更多的資源。

      通用網(wǎng)關(guān)接口(CGI)是用于Web服務(wù)器與外部應(yīng)用程序之間信息交互的標(biāo)準(zhǔn)接口。CGI可以使外部程序處理客戶端傳來(lái)的表單和數(shù)據(jù),并對(duì)此作出某種反應(yīng)。這種反應(yīng)可以是HTML文件、圖片等可以在瀏覽器窗體上出現(xiàn)的任何數(shù)據(jù),也可以是對(duì)服務(wù)器端硬件資源的控制。

      調(diào)用CGI程序的方法主要有兩種:

      ①GET 方法,CGI 程序從環(huán)境變量QUERY_STRING 中獲得數(shù)據(jù);

      ②POST 方法,Web服務(wù)器通過(guò)STDIN 向CGI程序傳輸數(shù)據(jù),數(shù)據(jù)量超過(guò)1024字節(jié)時(shí)采用此方法。

      本系統(tǒng)采用GET 方法。

      在串口應(yīng)用程序中,數(shù)據(jù)的獲取通過(guò)以下代碼實(shí)現(xiàn):

      3 監(jiān)控界面的實(shí)現(xiàn)

      監(jiān)控界面用網(wǎng)頁(yè)實(shí)現(xiàn),如圖3所示。

      圖3 監(jiān)控界面截圖

      為了使頁(yè)面呈現(xiàn)出動(dòng)態(tài)效果,如顯示當(dāng)前時(shí)間、視頻數(shù)據(jù)傳輸速率等,頁(yè)面將嵌入Javascript代碼。整個(gè)界面分為兩個(gè)區(qū):視頻顯示區(qū)和控制面板區(qū)。視頻顯示區(qū)顯示視頻流服務(wù)器傳輸上來(lái)的視頻數(shù)據(jù),控制面板區(qū)通過(guò)按鈕與CGI串口應(yīng)用程序交互控制電機(jī)驅(qū)動(dòng)板。

      Javascript是一種流行的通用腳本語(yǔ)言,基于Javascript可以實(shí)現(xiàn)用戶與頁(yè)面的交互,并響應(yīng)頁(yè)面上發(fā)生的事件。

      HTML表單是Web文檔的一部分,用來(lái)將信息從瀏覽器傳遞到服務(wù)器,它提供多種接收輸入的方法,包括單選按鈕、多選框、文本框等,表單以<form>標(biāo)簽開始,以</form>標(biāo)簽結(jié)束。本系統(tǒng)控制面板的按鈕采用“button”輸入類型。傳統(tǒng)的HTML 表單需要通過(guò)提交按鈕(“submit”)來(lái)發(fā)送表單數(shù)據(jù),數(shù)據(jù)以名/值對(duì)的形式發(fā)送至服務(wù)器端的CGI程序。本系統(tǒng)的每個(gè)按鈕都需要實(shí)時(shí)提交,如果通過(guò)傳統(tǒng)方法來(lái)實(shí)現(xiàn),則需要對(duì)每個(gè)按鈕配對(duì)一個(gè)不同名的提交按鈕,這樣會(huì)使頁(yè)面代碼變得更復(fù)雜,因此本系統(tǒng)使用Ajax方法。使用Ajax創(chuàng)建HTML表單時(shí),不再需要提交按鈕來(lái)發(fā)送表單數(shù)據(jù),對(duì)于每個(gè)按鈕,只要在屬性中添加事件處理函數(shù)onClick(),就能在點(diǎn)擊按鈕時(shí)觸發(fā)Ajax建立瀏覽器和服務(wù)器CGI應(yīng)用程序間的通信,實(shí)現(xiàn)代碼如下:

      結(jié) 語(yǔ)

      本文所介紹的系統(tǒng)在實(shí)驗(yàn)中獲得了較好的結(jié)果,視頻圖像的傳輸具有較好的穩(wěn)定性,為了提高圖像的連續(xù)性,可以通過(guò)修改代碼提高攝像頭的采集頻率。該移動(dòng)機(jī)器人平臺(tái)可以根據(jù)實(shí)際需要進(jìn)行功能擴(kuò)充,并可以通過(guò)本文所闡述的方法,對(duì)控制面板的功能進(jìn)行相應(yīng)的擴(kuò)展,比如攝像頭的調(diào)焦、溫濕度顯示、機(jī)械手臂運(yùn)動(dòng)控制等。

      [1]Raj Kamal.嵌入式系統(tǒng)——體系結(jié)構(gòu)、編程與設(shè)計(jì)[M].賈建斌,李化,譯.2版.北京:清華大學(xué)出版社,2010.

      [2]李楠,房好帥,王慧娟.基于3G 的嵌入式無(wú)線視頻監(jiān)控系統(tǒng)典型方案及分析[J].北華航天工業(yè)學(xué)院學(xué)報(bào),2010(3).

      [3]夏澎,郝衛(wèi)東.基于嵌入式的智能家居監(jiān)控系統(tǒng)設(shè)計(jì)[J].微型機(jī)與應(yīng)用,2010(10).

      [4]普措才仁,馮旭.基于Linux的ARM9嵌入式車載信息系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)[J].自動(dòng)化與儀器儀表,2010(4).

      [5]F Gao,W Xue.Design and implementation of data transmission platform based on 3Gnetwork[C]//Proceedings of Second Pacific-Asia Conference on Circuits,Communications and System,Beijing,2010:359-362.

      [6]D Hess,C Rohrig.Remote controlling of technical systems using mobile devices[C]//Proceedings of IEEE International Workshop on Intelligent Data Acquisition and Advanced Computing Systems:Technology and Applications,Rende,2009:625-628.

      猜你喜歡
      表單移動(dòng)機(jī)器人線程
      移動(dòng)機(jī)器人自主動(dòng)態(tài)避障方法
      電子表單系統(tǒng)應(yīng)用分析
      華東科技(2021年9期)2021-09-23 02:15:24
      淺談網(wǎng)頁(yè)制作中表單的教學(xué)
      基于Twincat的移動(dòng)機(jī)器人制孔系統(tǒng)
      淺談linux多線程協(xié)作
      極坐標(biāo)系下移動(dòng)機(jī)器人的點(diǎn)鎮(zhèn)定
      基于引導(dǎo)角的非完整移動(dòng)機(jī)器人軌跡跟蹤控制
      基于Infopath實(shí)現(xiàn)WEB動(dòng)態(tài)表單的研究
      電子世界(2012年24期)2012-12-17 10:49:06
      動(dòng)態(tài)表單技術(shù)在教學(xué)管理中的應(yīng)用*
      Linux線程實(shí)現(xiàn)技術(shù)研究
      黔西| 泊头市| 东山县| 南丰县| 上饶市| 合江县| 文登市| 四川省| 定兴县| 榕江县| 北宁市| 比如县| 邵阳市| 太和县| 牡丹江市| 巴中市| 邵阳市| 汝州市| 柘城县| 浪卡子县| 长春市| 沙坪坝区| 莎车县| 商丘市| 府谷县| 武清区| 嫩江县| 本溪市| 和静县| 广宁县| 东港市| 定安县| 嘉祥县| 自贡市| 双城市| 调兵山市| 五华县| 沂源县| 勃利县| 舟曲县| 西贡区|