葉紅衛(wèi)
(河源職業(yè)技術學院電子與信息工程學院 廣東河源 517000)
在移動環(huán)境下基于Android的車輛位置信息監(jiān)控應用研究
葉紅衛(wèi)
(河源職業(yè)技術學院電子與信息工程學院 廣東河源 517000)
提出基于Android的車輛位置信息監(jiān)控,通過建立Web服務發(fā)布車輛的GPS信息,利用Android平臺的強大的網(wǎng)絡功能及Google Maps位置感知,解決了在移動環(huán)境下車輛GPS監(jiān)控系統(tǒng)對車輛位置信息進行監(jiān)控的問題。
Android;GPS監(jiān)控;Google Maps
車載GPS系統(tǒng)是集中應用了自動定位技術、地理信息系統(tǒng)(簡稱GIS)與數(shù)據(jù)庫技術、計算機技術、無線通信技術的高科技綜合系統(tǒng)[1]。GPS系統(tǒng)同時也廣泛應用于長途客運、出租、公交、物流、工程運輸、危險品運輸?shù)纫苿幽繕税卜馈⒈O(jiān)控、管理領域。該GPS系統(tǒng)一般分為兩部分,一部分由安裝在汽車上的GPS接收機和顯示設備組成;另一部分由計算機控制中心組成。計算機控制中心是由機動車管理部門授權和組建的,它負責隨時觀察轄區(qū)內(nèi)指定監(jiān)控的汽車的動態(tài)和交通情況。車輛的情況由計算機控制中心實施監(jiān)控,同時,也存在這樣的問題,要了解車的運行狀況只能通過控制中心,這就限定了該系統(tǒng)的移動性。為此,本文提出了一個在移動環(huán)境下(手持智能終端等移動設備)對車輛的位置信息監(jiān)控方案。
Android平臺的特點之一就是內(nèi)置應用程序和使用SDK創(chuàng)建的應用程序之間沒有任何區(qū)別。這就意味著開發(fā)人員可以編寫強大的應用程序來使用設備上的可用資源[2]。Android平臺的設計使得其比以前的平臺具有更強的容錯能力,Android手機設備運行在Linux操作系統(tǒng)下,這樣運行的應用程序具有很強的安全性。每個Android應用程序均在其自身的虛擬機中運行。Android應用程序為托管代碼,因此,由應用程序引發(fā)的系統(tǒng)崩潰的可能性非常小,同時也降低了設備崩潰的可能性[3]。
Web服務是一種構建應用程序的普遍模型,可以在任何支持網(wǎng)絡通信的操作系統(tǒng)中實施運行。Web服務是一個應用組件,它邏輯性的為其他應用程序提供數(shù)據(jù)與服務。各應用程序通過網(wǎng)絡協(xié)議和規(guī)定的一些標準數(shù)據(jù)格式(Http,XML,Soap)來訪問Web Service,通過Web Service內(nèi)部執(zhí)行得到所需結果。
Web服務是一種在技術中立的網(wǎng)絡端點上公開API的方式。POX、REST和SOAP是目前經(jīng)常使用的Web服務,它們有各自的優(yōu)缺點??紤]到本文提到的應用是基于移動設備的,且是處在Android的應用環(huán)境中,資源是非常有限的。所以,采用基于POX(plain old XML)的Web服務。
本系統(tǒng)通過車載的GPS系統(tǒng)獲取車輛的GPS數(shù)據(jù),并通過車載GPS數(shù)據(jù)發(fā)送模塊以GPRS接入移動運營商的移動網(wǎng)絡,通過Internet將車輛的GPS數(shù)據(jù)傳送至車載遠程監(jiān)控服務器。在服務器上通過Web服務形式提供的遠程調(diào)用,使用移動手持終端獲取車輛的GPS數(shù)據(jù)。并通過Google Maps進行車輛位置的感知,實現(xiàn)在移動環(huán)境下對車輛的實時監(jiān)控與調(diào)度。系統(tǒng)框架如圖1所示。
圖1 車輛位置信息移動監(jiān)控系統(tǒng)框架
在車載導航系統(tǒng)軟件設計過程中,主要利用了Android軟件平臺的Linux內(nèi)核層、Java程序運行環(huán)境、普通函數(shù)庫、應用框架層、Android應用程序?qū)印@肁ndroid的豐富的組件API接口進行開發(fā)。
車載GPS數(shù)據(jù)發(fā)送模塊將車輛的GPS數(shù)據(jù)以GPX(GPS Exchange Format,GPX是一種XML模式,支持存儲中轉(zhuǎn)站、軌跡和路線。)的格式上傳到車載遠程監(jiān)控服務器,GPS數(shù)據(jù)遠程獲取模塊通過調(diào)用車載遠程監(jiān)控服務器的Web服務獲取車輛的GPS數(shù)據(jù)。同時為了保證數(shù)據(jù)的安全性,獲取數(shù)據(jù)時應通過身份驗證。Android提供了java.net和org.apache.httpclient包支持聯(lián)網(wǎng)功能,其他相關包處理內(nèi)部聯(lián)網(wǎng)的細節(jié)和常規(guī)連接屬性等。
模塊應用Android的HttpClient API并結合使用Apache的ResponseHandler和Android的Handler,并使用線程技術,在非用戶界面線程進行網(wǎng)絡請求。使用POX對車載遠程監(jiān)控服務器發(fā)起網(wǎng)絡調(diào)用,自定義了performRequestGps()實現(xiàn)http調(diào)用,parseG-psResult()實現(xiàn)解析返回的GPX格式的GPS數(shù)據(jù)。performRequestGps()方法片段代碼:
接收來自GPS數(shù)據(jù)遠程獲取模塊的車輛GPS信息實施車輛定位,車輛的定位使用GPS信息中的經(jīng)度和緯度來確定,在Android中的GeoPoint類代表了一個地點的經(jīng)緯度,函數(shù)格式為:GeoPoint(int latitudeE6,int longitudeE6),E6是微度,即度數(shù)乘以1 000 000[4]。建立 GeoPoint后,調(diào)用 MapController對象的animateTo方法將該位置設定為地圖的中心點。下面為車輛定位模塊中的片段代碼:
在Android平臺中構建Google Maps位置感知應用程序,將會經(jīng)常使用LocationProvider和LocationManager。LocationProvider使用幾種度量提供位置數(shù)據(jù),數(shù)據(jù)則通過LocationManager進行訪問。LocationManager也支持添加一個 LocationListener,可以將設備位置的更新或根據(jù)指定的經(jīng)度和緯度的臨近位置直接觸發(fā)一個Intent。顯示車輛的位置地圖,主要采用Android中的MapActivity和MapView兩個類,通過擴展MapActivity類,確保每個進程僅使用一個實例,以及啟用com.google.android.maps包。MapView顯示地圖的拼接數(shù)據(jù),在移動和縮放地圖是通過網(wǎng)絡獲取這些數(shù)據(jù),MapView支持平面地圖模式、衛(wèi)星模式、街道視圖模式及交通模式[5]。車輛位置的標記使用Android中的Overlay類實現(xiàn),通過擴展該類實現(xiàn)車輛當前位置的標記。
利用Android通用框架和與設備無關的應用程序開發(fā)平臺,實現(xiàn)了在移動環(huán)境下對車輛位置信息監(jiān)控。通過一個真實的出租車的GPS信息(片段),在PC中將其GPX文件通過DDMS工具將其位置信息與軌跡發(fā)送到模擬器進行系統(tǒng)的模擬運行。實驗結果表明在Android中可以非常方便顯示車輛的位置信息和行駛的軌跡[6]。如圖2所示。截圖顯示的范圍是河源市中山大道附近區(qū)域,藍色點為出租車行駛的起始點,黃色點為出租車行駛的終點。深藍色的軌跡為出租車的行駛軌跡。
圖2 Android中顯示的車輛位置信息
將Android開發(fā)平臺和車載GPS系統(tǒng)進行結合,在移動環(huán)境下實現(xiàn)了對車輛位置信息的監(jiān)控,是對現(xiàn)有的計算機控制中心系統(tǒng)的不足進行有力的補充,滿足了人們在移動環(huán)境下對車輛的信息監(jiān)控,為其他開發(fā)平臺的類似系統(tǒng)開發(fā)提供一個可行的參考方案。
[1] 黃帥.嵌入式車載導航的設計和實現(xiàn)[J].微計算機信息,2008,24(10):284-285.
[2] 張波,高朝勤,楊越.Google Android揭秘[M].北京:人民郵電出版社,2010:8-11.
[3] 張魏,李卉.Android移動應用開發(fā)從入門到精通[M].北京:人民郵電出版社,2010:37-40.
[4] 農(nóng)麗萍,王力虎,黃一平.Android在嵌入式車載導航系統(tǒng)的應用研究[J].計算機工程與設計,2010,31 (11):2473-2476.
[5] 曾健平,邵艷潔.Android系統(tǒng)架構及應用程序開發(fā)研究[J].微計算機信息,2011(9):1-3.
[6] 黃志勇,趙霽.基于Android平臺的移動位置信息服務開發(fā)研究[J].計算機應用,2011(12):22-26.
Application Research on Vehicles Location Monitoring Based on Android in Mobile Environment
YE Hong-wei
(School of Electronic and Information Engineering,Heyuan Polytechnic,Heyuan 517000,China)
The paper proposes the vehicles location monitoring based on Android.Based on Web service,vehicles GPS information can be published.Through strong Web functions of Android platform and Google Maps,vehicles location can be monitored by vehicles location monitoring system in mobile environment.
Android;GPS monitoring;Google Maps
TP 311.52
A
1672-2434(2012)01-0022-03
2011-10-21
葉紅衛(wèi)(1979-),男,講師、網(wǎng)絡規(guī)劃設計師,從事研究方向:計算機應用技術、計算機網(wǎng)絡技術