李佐彪,陳海娃
(華南農業(yè)大學珠江學院,廣東 廣州 510900)
基于Android的智能控制小車APP
李佐彪,陳海娃
(華南農業(yè)大學珠江學院,廣東 廣州 510900)
本設計是開發(fā)一個可以通過用戶自己部署或者連接AnyChat視頻云平臺的服務器登錄進入到功能主界面,通過藍牙串口通信技術實現視頻監(jiān)控、視頻參數設置及控制小車行駛等功能的智能APP.視頻監(jiān)控可以實時在線遠程監(jiān)控小車狀況;視頻參數設置體現視頻信息設置的管理;無線控制是APP終端發(fā)送指令實現對小車的運動控制.本項目軟件部分是基于Android平臺下通過Java語言編寫程序,通過APP驅動智能小車的硬件電路,最終實現對小車的各種控制.
Android APP;軟件編程;硬件電路
隨著科技的進步,手機的各項技術給人們帶來極大地便利,小車的遙控技術運用在手機上將會方便人們對小車的控制.本項目是通過軟件編程來控制小車的硬件電路進而實現對小車的控制.藍牙是一種支持短距離通信的無線電技術,本項目的APP是通過手機藍牙控制小車運動.
安卓手機普遍使用之前,大部分智能小車是通過計算機進行控制的,但是計算機不方便攜帶,可操作性低且開發(fā)成本高,因此隨著安卓手機的流行,以APP形式控制小車運動越來越廣泛.本設計占用手機內存少、執(zhí)行效率高、攜帶方便、操作簡單.通過該APP用戶既可以控制小車運行又可以監(jiān)控小車的狀態(tài).
本系統(tǒng)主要分為四個模塊:APP登錄、視頻監(jiān)控、視頻參數設置和無線控制小車.用戶通過服務器登錄操作進入到主界面即可對小車進行控制.研究的內容如下:
2.1 APP登錄
設計登錄界面輸入框,包括服務器的IP,端口號和用戶名設計,未點擊“登錄”按鈕時顯示的按鈕是登錄狀態(tài)的標識,點擊“登錄”按鈕之后,顯示的是“登錄”按鈕等待狀態(tài)的標識.登錄時可以連接自主部署的服務器,也可以連接AnyChat視頻云平臺,連接自主部署服務器的地址為自設的服務器IP地址或域名、端口,連接AnyChat視頻云平臺的服務器地址為:cloud.anychat.cn;端口為:8906,用戶名可以任意輸入.
2.2 視頻監(jiān)控
攝像頭采集模塊和視頻處理模塊通過WiFi藍牙串口通信技術,實現攝像頭遠程監(jiān)控智能小車等功能.
2.3 視頻參數設置
視頻參數設置主要包含視頻清晰度的設置,視頻旋轉模式設置等等.
2.4 無線控制小車
首先,手機和迅為4412-A8 ARM開發(fā)板上的藍牙進行配對,迅為4412-A8 ARM開發(fā)板和小車上的藍牙也進行匹配,匹配成功后手機APP,開發(fā)板和小車之間就能相互通信了.然后利用Android終端APP發(fā)送控制指令給開發(fā)板,然后開發(fā)板通過藍牙對轉發(fā)控制指令給小車,最終實現控制小車前進、后退、向左向右行駛和停止的功能.
3.1 軟件設計思路
系統(tǒng)軟件設計功能結構圖見圖1所示.APP設計包括APP登錄、視頻監(jiān)控、視頻參數設置和無線控制小車四個模塊的設計.
圖1 軟件設計功能結構框圖
3.2 硬件藍牙模塊設計思路
系統(tǒng)控制核心是小車上的K60單片機,k60單片機外接的模塊主要有藍牙通信模塊,電機驅動模塊,以及電機模塊.K60單片機通過外接藍牙從機模塊,APP發(fā)送指令給同時也具備藍牙功能的4412-A8 ARM開發(fā)板,然后K60單片機通過藍牙接收到4412-A8 ARM開發(fā)板發(fā)送的指令,K60單片機根據相關指令進行相應處理,接著輸出控制信號利用電機驅動模塊驅動電機實現小車運轉,K60單片機接藍牙模塊如圖2所示.藍牙從機接上K60后,LED燈常亮,表示藍牙連接狀態(tài),閃爍表示沒有藍牙連接.
圖2 藍牙接口
3.3 系統(tǒng)工作流程
用戶通過服務器成功登錄本系統(tǒng)后,可以進行APP登錄、視頻監(jiān)控、視頻參數設置和無線控制小車等操作.在登錄時,用戶可以用自主部署的服務器IP和端口登錄,也可以連接AnyChat視頻云平臺的服務器登錄,用戶名可以任意輸入.在進行藍牙配對時,如果是已配對的則略過,得到顯示,否則把需要配對的藍牙添加到列表中進行顯示.藍牙配對成功以后便可以通過手機APP終端對小車進行操作.智能控制小車APP系統(tǒng)的系統(tǒng)流程圖如圖3所示.
圖3 系統(tǒng)流程圖
4.1 環(huán)境及平臺搭建
4.1.1 系統(tǒng)主要軟件環(huán)境
本系統(tǒng)采用Java語言的安卓技術為開發(fā)環(huán)境,其運行環(huán)境是:使用Windows 2007,Android手機4.0以上的系統(tǒng),IIS 5.1(信息服務管理器5.1)以及帶有藍牙設備的真機.
4.1.2 系統(tǒng)主要硬件環(huán)境
安卓APP的硬件運行環(huán)境主要是目前流行的安卓手機以及燒寫有安卓系統(tǒng)的4412-A8 ARM開發(fā)板,與之匹配的機器人小車硬件環(huán)境有K60單片機、機器人小車底盤、藍牙串口模塊、電機驅動模塊、機器人小車電源模塊、7.2V鎳鎘電池等組成.
4.2 功能模塊實現
本設計主要涵蓋四個模塊:APP登錄、視頻監(jiān)控、視頻參數設置和無線控制小車.后面三個模塊是基于WiFi藍牙模塊的連接實現的.連接藍牙時先初始化設備存儲數組,注冊接收查找到設備action接收器,得到本地藍牙句柄,通過句柄去獲取已配對藍牙的設備列表.
4.2.1 APP登錄
本次設計登錄界面的服務器IP和端口號主要以AnyChat視頻云平臺的服務器為主,連接Any-Chat視頻云平臺的服務器地址為:cloud.anychat. cn;端口為:8906,用戶名可以任意輸入.本次設計用戶名以Android為例,ip輸入框為cloud.anychat. cn,端口為8906.
4.2.2 視頻監(jiān)控
用戶通過自己部署或者連接AnyChat視頻云平臺的服務器登錄成功以后,點開視頻監(jiān)控界面,通過藍牙串口通信技術連接攝像頭,實現對小車的視頻監(jiān)控.
4.2.3 視頻參數設置
可以設置視頻清晰度,視頻旋轉模式信息等等.其中視頻清晰度包括:普通視頻質量、中等視頻質量和較好視頻質量.
4.2.4 無線控制
通過藍牙串口通信技術對小車進行匹配,匹配成功后利用Android終端APP發(fā)送控制指令對小車進行操作.實現控制小車前進、后退、左轉、右轉、停止和行駛的功能.用戶點擊“up”按鈕,小車向前行駛,點擊“down”,小車后退,點擊“l(fā)eft”,小車向左,點擊“right”,小車向右,點擊“stop”,小車停止.
5.1 軟件調試
完成調試的步驟:(1)判斷藍牙的匹配、小車正常行駛的動作、方向及APP對小車的監(jiān)控等情況.(2)處理登錄界面輸入框出現服務器IP和端口號不匹配時是否能夠登錄,用戶名登錄成功以后,用戶是否出現在設備列表里面等情況.(3)登陸APP成功之后出現沒有自動跳轉到首頁的情況時,點開測試的每個模塊,檢查是否有bug存在,直到每一項都通過為止.
5.2 硬件電路調試
在調試過程中,第一,檢查對應模塊的原理圖接線是否正確;第二,檢查原理圖與所用器件的引腳是否吻合,進而排除邏輯上的錯誤;第三,用萬用表檢查是否出現虛焊,短路或者開路的現象,進而排除線路問題和電源故障問題;第四,利用IAR下載調試K60過程中,最容易出現下載不了的情況,這時要注意Jlink的接線是否正確,查看驅動Jlink固件有沒有解鎖.
該系統(tǒng)通過結合硬件調試,整體達到了預想的效果,APP無線監(jiān)控可以控制小車的行駛狀態(tài)和方向,視頻監(jiān)控可以捕捉到小車的周圍環(huán)境,視頻參數設置模塊實現了對視頻清晰度和旋轉方向的調整.只是開發(fā)的時候登錄界面使用的是公共服務器,可以在列表里面看到其他用戶的信息,今后會繼續(xù)完善.
〔1〕王國輝,李永強.視頻學Java Web[M].北京:人民郵電出版社,2010.
〔2〕王瑛,張玉花,李祥勝,等.Oracle數據庫基本教程[M].北京:人民郵電出版社,2008.
〔3〕Thomas Kyte.Oracle Database 9i/10g/11g編程藝術:深入數據庫體系結構[M].北京:人民郵電出版社,2011.
〔4〕斳巖,姚尚朗.Android開發(fā)入門與實踐[M].北京:人民郵電出版社,2009.
〔5〕吳善財.Android基礎開發(fā)與實踐[M].北京:清華大學出版社,2012.
〔6〕張躍平.JSP程序設計[M].北京:清華大學出版社,2009.
〔7〕黃敏偉.Android平臺的即時通信系統(tǒng)客戶端設計方案[D].陜西渭南:陜西鐵路工程事業(yè)技術院校,2011.
〔8〕任趙強.網頁制作與JSP技術[M].北京:機械工業(yè)出版社,2009.
TP242.6
A
1673-260X(2017)06-0029-03
2017-04-19
2016年廣東大學生科技創(chuàng)新培育專項資金(攀登計劃)支持項目(pdjh2016b0972)