文雪巍,馬 策,黃 巍
(1.哈爾濱德強(qiáng)商務(wù)學(xué)院,黑龍江 哈爾濱150025;2.黑龍江測繪局第一測繪工程院,黑龍江 哈爾濱150081)
本文基于全球定位系統(tǒng)以及Google Maps API設(shè)計1套車輛調(diào)度管理系統(tǒng)。管理人員可以通過該管理系統(tǒng)平臺對車輛進(jìn)行實時監(jiān)控、調(diào)度管理以及人員管理,從而對車隊進(jìn)行有效的監(jiān)控,提高人車安全系數(shù),增加企業(yè)利潤收入,降低交通擁堵幾率,為社會提供更高水平的服務(wù)[1-3]。該系統(tǒng)與以 GIS、Google earth為平臺進(jìn)行二次開發(fā)的系統(tǒng)相比,有著開發(fā)流程簡便、可移植性強(qiáng)等優(yōu)點(diǎn)。只要擁有1臺裝有Web瀏覽器能聯(lián)網(wǎng)的電腦,用戶就可以通過本系統(tǒng)對車輛進(jìn)行實時監(jiān)控。
本系統(tǒng)通過GPS進(jìn)行車輛導(dǎo)航,即應(yīng)用GPS定位技術(shù)獲取車輛所在地的經(jīng)度和緯度坐標(biāo)、行駛車速、時間等相關(guān)信息。GPS接收模塊默認(rèn)為每秒輸出一次定位數(shù)據(jù),用戶通過設(shè)置主控器使其每隔一定時間向服務(wù)器發(fā)送一次數(shù)據(jù)[4]。ARM CortexTM-M3為高級的32位微處理器內(nèi)核,其任務(wù)是負(fù)責(zé)讀取GPS的定位信息,由GPRS模塊通過移動通信GPRS網(wǎng)絡(luò)傳送到服務(wù)器,服務(wù)器端程序?qū)④囕v所在的位置和行走的軌跡繪制在Google地圖上。
服務(wù)器端主要分為前臺實時監(jiān)控模塊和基于Web的后臺監(jiān)控管理模塊。前臺實時監(jiān)控模塊主要采用TCP/IP協(xié)議與車載終端進(jìn)行通信、解析和自定義編碼各種通信協(xié)議,管理和維護(hù)車載終端日常的運(yùn)行情況?;赪eb的后臺監(jiān)控管理模塊主要采用PHP+Ora-tie、JavaScript及XML技術(shù),采用自頂向下的思想構(gòu)建關(guān)系數(shù)據(jù)庫模型,結(jié)合Google Maps API提供的AJAX技術(shù)獲取查詢結(jié)果,這樣做一方面減少流量,另一方面使得網(wǎng)頁實現(xiàn)局部自動更新的功能,提高用戶體驗速度。
車載終端由中央處理單元、GPS接收機(jī)、GPRS模塊、LCD顯示單元和其它外圍設(shè)備組成。主要完成微處理器與GPS定位模塊和GPRS無線通信模塊之間的通信,接收車輛位置信息[5],并經(jīng)過無線數(shù)據(jù)鏈路實現(xiàn)與監(jiān)控中心之間的數(shù)據(jù)傳輸,如圖1所示。
圖1 車載終端組成結(jié)構(gòu)
在車載端,單片機(jī)通過串口0接收GPS模塊發(fā)來的具有固定格式的串口數(shù)據(jù),同時通過串口1控制GPRS模塊。
首先,對系統(tǒng)初始化,獲得中心端的動態(tài)IP后建立GPRS鏈路。然后,對GPS模塊傳輸?shù)臄?shù)據(jù)進(jìn)行提取,將這些數(shù)據(jù)轉(zhuǎn)換成標(biāo)準(zhǔn)格式,并按照監(jiān)控中心和車載終端的協(xié)議約定進(jìn)行封裝。如果需要向監(jiān)控中心發(fā)送車輛信息,就通過GPRS模塊向中心發(fā)送數(shù)據(jù)[6]。如果中心端有數(shù)據(jù)傳來,接收數(shù)據(jù),并顯示在LCD屏上供車主參考。如果有報警按鍵按下,同樣要向監(jiān)控中心發(fā)出報警信息。
在此過程中,如果檢測到RI引腳有電話或者短消息信號,就需要將GPRS模塊從GPRS數(shù)據(jù)模式切換到AT命令模式來接收、處理短信或接電話[7]。同樣,如果車主需要撥打電話或是發(fā)送短消息,也需要從GPRS數(shù)據(jù)模式切換到AT命令模式,相應(yīng)的AT命令為“+++”。
要實現(xiàn)這樣一個流程,就要對GPS的數(shù)據(jù)格式有所了解,能夠在很多具有固定格式的輸出數(shù)據(jù)里提取有用的信息,為接下來的傳輸作準(zhǔn)備。同時還要了解如何通過控制GPRS模塊將數(shù)據(jù)通過GPRS網(wǎng)絡(luò)傳輸給中心監(jiān)控機(jī)[8],這些內(nèi)容在此不介紹。
系統(tǒng)利用Google Maps API計算行車總路程。首先假設(shè)地球作為一個完美的球體,半徑為常量R=6 378.137km。計算球面兩點(diǎn)間弧長的算法為半徑乘以弧度,而弧度可以從兩點(diǎn)間的經(jīng)緯度算出[9]。此時,利用Google Maps API提供的4個類方法推算出行車路程。它們分別為返回角度值緯度Glatlng.lat()函數(shù)、返回角度值經(jīng)度 Glatlng.lng()函數(shù)、返回弧度值緯度Glatlng.latRadians()函數(shù)和返回弧度值精度Glatlng.lngRadians()函數(shù)。
若令var lat1=first.Glatlng.lat();var lng1=first.Glatlng.lng();
通過上述公式可以近似求出相鄰兩點(diǎn)間行車路程,遍歷所有行車點(diǎn),把相鄰兩點(diǎn)間的行車路程進(jìn)行疊加,即可近似求出行車總路程[10]。由于發(fā)送數(shù)據(jù)的時間間隔很短,所以通過這個算法得出的行車路程和車輛實際行駛的路程公里數(shù)基本一致。
隨著GPS全球定位技術(shù)的成熟,可以實現(xiàn)將GPS定位得到的經(jīng)度、緯度、速度、方向、車輛狀態(tài)等詳細(xì)信息通過GSM/GPRS sim300模塊傳送到服務(wù)器中,利用服務(wù)器端實現(xiàn)對車輛的管理及調(diào)度;隨著GPS全球定位技術(shù)的廣泛使用以及GoogleMaps API的不斷完善,可以對車輛實現(xiàn)更精確的定位及監(jiān)控;隨著3G技術(shù)的不斷發(fā)展,未來完全可以通過手機(jī)實現(xiàn)對車輛的管理及調(diào)度,屆時,該導(dǎo)航產(chǎn)品和管理系統(tǒng)不僅僅是應(yīng)用在商業(yè)領(lǐng)域,還是人們娛樂、生活的必備工具。該車輛調(diào)度管理系統(tǒng)可以應(yīng)用在物流車隊、私家車、租賃公司、120急救車輛調(diào)度、公交車隊、銀行價款車等領(lǐng)域,具有較廣泛的應(yīng)用前景。
[1]高超.車載導(dǎo)航系統(tǒng)的研究及其軟件設(shè)計[D].哈爾濱:哈爾濱工程大學(xué),2004:1-3.
[2]G.Loganathan.GPS and GIS Technology Trends[Z].IEEE,2000:292-294.
[3]許進(jìn).城市通信網(wǎng)絡(luò)地理信息系統(tǒng)圖形實現(xiàn)及其應(yīng)用研究[D].哈爾濱:哈爾濱工程大學(xué):18-21.
[4]文志成.通用分組無線業(yè)務(wù)一GPRS[M].北京.電子工業(yè)出版社,2004.
[5]曲廣強(qiáng),李丹,常國權(quán).GPRS無線通信模塊 MC35I及其外圍電路設(shè)計[J].東北電力大學(xué)學(xué)報,2006,26(2):79-82.
[6]Ning Chai,Boon S Y,Yong H C,Location management for GPRS[J].ComputerNetworks,2006,50(15):2888-2901.
[7]BATES R J.通用分組無線業(yè)務(wù)(GPRS)技術(shù)與應(yīng)用[M].朱洪波,譯.北京:人民郵電出版社,2004.
[8]閆正龍,陳正江,黃強(qiáng),等.基于GIS/GPS/GSM/GPRS技術(shù)的車輛監(jiān)控系統(tǒng)的設(shè)計與實現(xiàn)[J].西北大學(xué)學(xué)報:自然科學(xué)版,2008,38(1):127-130.
[9]張佐經(jīng),吳旭光.基于GPS和GPRS模塊的車載導(dǎo)航定位系統(tǒng)設(shè)計[J].計算機(jī)測量與控制,2008,16(7):997-1000.
[10]韓斌杰.GPRS原理及其網(wǎng)絡(luò)優(yōu)化[M].北京:機(jī)械工業(yè)出版社,2004.