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