張琦 陳姚節(jié) 張昭宗 何世華
摘要:本文主要介紹利用安卓智能手機的硬件資源來實現(xiàn)可視化的遠(yuǎn)程操控系統(tǒng)。即利用智能手機的攝像頭拍攝視頻,再利用手機的聯(lián)網(wǎng)模塊連接局域網(wǎng),運行在pc機上的服務(wù)器應(yīng)用程序?qū)⒁曨l信息實時顯示到屏幕上,使用者根據(jù)回傳的視頻畫面做出決策,再通過按鍵發(fā)送相應(yīng)指令來控制遠(yuǎn)程設(shè)備的運行。
關(guān)鍵詞:安卓開發(fā);單片機;java服務(wù)器應(yīng)用程序
中圖分類號:G642 文獻(xiàn)標(biāo)志碼:A 文章編號:1674-9324(2013)52-0261-02
隨著無線互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,wifi、3G、4G等聯(lián)網(wǎng)方式快速普及,移動互聯(lián)網(wǎng)設(shè)備可以更方便的獲得帶寬較好的通信方式,當(dāng)今的智能手機流媒體技術(shù)發(fā)展得日趨成熟。基于智能手機強大的流媒體功能,本系統(tǒng)利用安卓智能手機的攝像頭來采集實時畫面,通過局域網(wǎng)來反饋到pc機上,使用者通過視頻獲取的信息來決策并發(fā)送操作指令來控制遠(yuǎn)程設(shè)備。在實驗中使用的是用51單片機作為控制單元的小車,這樣就可以實現(xiàn)遠(yuǎn)程控制小車運行,并且是可視的操控車輛,一定程度上還原了實際操控車輛的環(huán)境。
一、單片機控制系統(tǒng)
實驗用的小車的主控單元是C51單片機,單片機接收藍(lán)牙數(shù)傳模塊的指令信息,通過一個算法來得到一個控制信息,并且將此控制信息交給驅(qū)動電路來執(zhí)行。其中驅(qū)動電路的核心部分是芯片L298,L298N是專用驅(qū)動集成電路,屬于H橋集成電路,與L293D的差別是其輸出電流增大,功率增強。其輸出電流為2A,最高電流4A,最高工作電壓50V,可以驅(qū)動感性負(fù)載,從而很方便地受單片機控制。當(dāng)驅(qū)動直流電機時,可以直接控制步進(jìn)電機,并可以實現(xiàn)電機正轉(zhuǎn)與反轉(zhuǎn),實現(xiàn)此功能只需改變輸入端的邏輯電平。如圖1是驅(qū)動電路圖。
二、藍(lán)牙通訊模塊
HC—06是一個藍(lán)牙數(shù)傳模塊,通過AT指令可以修改它的波特率,名稱,待機模式等參數(shù)。手機藍(lán)牙模塊和該藍(lán)牙模塊配對,連接后,即可通過應(yīng)用軟件收發(fā)數(shù)據(jù)。
三、客戶端
由于安卓智能手機的系統(tǒng)比較穩(wěn)定,并且普及率比較高,所以采用了安卓智能手機來作為客戶端的硬件平臺。安卓智能手機硬件資源豐富,所以在客戶端方面,只需開發(fā)相應(yīng)的客戶端應(yīng)用軟件即可。我所開發(fā)的安卓應(yīng)用軟件運行環(huán)境最低為android2.2系統(tǒng),考慮到藍(lán)牙模塊有十米左右的控制距離,所以我增加了一個本地操控功能,即利用手機來直接無線操控模擬車輛。如圖2是它的功能模塊圖。
該應(yīng)用軟件是在Eclipse開發(fā)平臺下完成的,在登錄界面需要輸入賬號密碼,并且將此字段與SQLite數(shù)據(jù)庫的記錄做比較,具有創(chuàng)建用戶,更新用戶,刪除用戶等功能。如下圖3、圖4是部分操作界面。
四、服務(wù)器端
考慮到跨平臺的特性,我選擇了用java語言來編寫服務(wù)器端程序,選擇的開發(fā)平臺是Myeclipse,服務(wù)器端應(yīng)用程序時刻維護(hù)者一個關(guān)聯(lián)指令通道的Socket,單獨用來和客戶端收發(fā)命令,對于圖像數(shù)據(jù)則是單獨的開啟線程來顯示圖像,我在此應(yīng)用程序上面添加了一個狀態(tài)欄,用于顯示程序內(nèi)部運行的信息,從而告知用戶該程序運行的是否正確,收發(fā)指令是否得到響應(yīng)等。添加的滑動條用來調(diào)試遠(yuǎn)程模擬車輛的行駛速度,程序上面所有的按鈕都做了相應(yīng)的鍵盤映射,方便用戶操控遠(yuǎn)程設(shè)備。如圖5是服務(wù)器端應(yīng)用程序的功能結(jié)構(gòu)圖,圖6是軟件界面。
經(jīng)過研究,該系統(tǒng)已經(jīng)能夠比較流暢地回傳實時畫面,并且能夠很好地控制遠(yuǎn)程模擬車輛的運行狀態(tài)。此系統(tǒng)的應(yīng)用范圍比較廣泛,例如應(yīng)用到無人車輛駕駛。由于此系統(tǒng)的決策權(quán)仍然是由人來完成,所以可以規(guī)避應(yīng)用計算機智能算法駕駛車輛帶來的安全隱患,同時由于真正的駕駛員是在室內(nèi)完成駕駛操作的,所以即使發(fā)生事故,駕駛員的人生安全就得到很好的保護(hù)。此系統(tǒng)特別適用于需要駕駛車輛到危險地段工作的情形,將遠(yuǎn)程可視化操控應(yīng)用到無人駕駛是一個很好的選擇,例如地形勘探,復(fù)雜環(huán)境下的救援工作等,都可以使用依托這種技術(shù)的車輛或者設(shè)備來完成工作,從而避免了人直接面臨危險復(fù)雜的工作環(huán)境,保障了人的生命安全,還提高了工作效率。
參考文獻(xiàn):
[1]林立,張俊亮,曹旭東,劉得軍.單片機原理及應(yīng)用——基于Proteus和KeilC[M].北京:電子工業(yè)出版社,2011.
[2]鮑宏亞,李月華.MCS-51系列單片機應(yīng)用系統(tǒng)設(shè)及實用技術(shù)[M].中國宇航出版社,2005.
[3]張曉龍,邊小勇,劉釗,趙紅武.Java程序設(shè)計與開發(fā)[M].北京:電子工業(yè)出版社,2010.
[4]楊豐盛.Android應(yīng)用開發(fā)揭秘[M].北京:機械工業(yè)出版社,2010.