摘 要: 詳細(xì)討論了GpsOne" title="GpsOne">GpsOne技術(shù)及其優(yōu)越性、CDMA網(wǎng)絡(luò)“無線互聯(lián)網(wǎng)發(fā)射平臺”上增值業(yè)務(wù)開發(fā)運行的基本平臺BREW技術(shù),并對該移動定位系統(tǒng)的需求、可行性進(jìn)行了討論,最后詳細(xì)介紹了其實現(xiàn)方案。
關(guān)鍵詞: GpsOne 定位 增值服務(wù)" title="增值服務(wù)">增值服務(wù) 服務(wù)器輔助
手機作為一種使用越來越廣泛的手持設(shè)備,其增值應(yīng)用也正在蓬勃發(fā)展。而利用手機定位正是其中一項重要的應(yīng)用,并且有著廣闊的應(yīng)用前景。目前,可以用于定位的GPS手機都是采用服務(wù)器輔助類型的芯片。因為手機配備的微處理器性能無法滿足定位計算和低耗電方面的要求,因此只能由基站和與此相連的服務(wù)器進(jìn)行定位計算。而獨立定位是一種車載導(dǎo)航系統(tǒng)等終端使用的定位方法。它是根據(jù)從GPS衛(wèi)星接收到的信號,在終端內(nèi)部計算出用戶目前所在的位置?,F(xiàn)在使用這種類型芯片的手機很少。本文著重研究服務(wù)器輔助類型的手機上的定位增值業(yè)務(wù)的應(yīng)用。這種應(yīng)用的架構(gòu)如圖1所示。
1 手機增值服務(wù)
手機的增值業(yè)務(wù)是指在手機的基本語音業(yè)務(wù)和短信業(yè)務(wù)以外的新的業(yè)務(wù)。近年來隨著手機數(shù)據(jù)業(yè)務(wù)的迅猛發(fā)展,手機上的數(shù)據(jù)應(yīng)用越來越廣泛,如鈴聲及圖片下載、手機游戲、出行指導(dǎo)、交通信息、電子郵件和體育新聞等。這些都屬于手機增值業(yè)務(wù)。隨著GpsOne技術(shù)的推出,基于用戶位置的移動定位業(yè)務(wù)(Location Based Service,LBS)已經(jīng)開始受到越來越多的重視。
2 GpsOne技術(shù)概述
GpsOne是QUALCOMM 及其定位系統(tǒng)子公司 SnapTrack開發(fā)的一套用于CDMA網(wǎng)絡(luò)中的移動設(shè)備準(zhǔn)確定位的解決方案。GpsOne無線定位同時使用了衛(wèi)星定位和地面定位技術(shù),即使用了GPS衛(wèi)星系統(tǒng)和CDMA小區(qū)站點信號。通過這一混合式A-GPS(CDMA-GPS)方法,進(jìn)一步增強了定位服務(wù)的可用性,擴(kuò)大了地形覆蓋面,加快了定位過程。無論是在緊急情況下還是在使用GPS商業(yè)應(yīng)用時,都可為主叫方提供更高的精確度。借助內(nèi)置的按需定位特性,GpsOne技術(shù)能夠很好地保護(hù)用戶私密,使其能夠在大多數(shù)商業(yè)設(shè)施中控制其位置信息。因此GpsOne定位服務(wù)與傳統(tǒng)GPS或網(wǎng)絡(luò)定位解決方案相比,更加準(zhǔn)確可靠。這套解決方案即使在室內(nèi)和人口密集的區(qū)域中也能夠正常工作。使用這種技術(shù)的手機需要使用QUALCOMM的移動站調(diào)制解調(diào)器(MSM)芯片組和系統(tǒng)軟件,并要在網(wǎng)絡(luò)中使用SnapTrack的SnapSmart定位服務(wù)器軟件。
3 BREW技術(shù)
QUALCOMM公司推出的無線二進(jìn)制運行環(huán)境(Binary Runtime Environment for Wireless,BREW)是CDMA網(wǎng)絡(luò)無線互聯(lián)網(wǎng)發(fā)射平臺上開發(fā)和運行增值業(yè)務(wù)的基本平臺。它提供一個高效、低成本、可擴(kuò)展的應(yīng)用程序執(zhí)行環(huán)境(Application Execution Environment,AEE),著重開發(fā)可無縫植入任何實際手持設(shè)備的應(yīng)用程序。BREW技術(shù)與GpsOne技術(shù)的結(jié)合就是一套手機移動定位、可行、高效、可靠的解決方案。
4 開發(fā)與應(yīng)用
基于以上所述,下面討論在BREW平臺下,GpsOne手機移動定位系統(tǒng)" title="手機移動定位系統(tǒng)">手機移動定位系統(tǒng)增值業(yè)務(wù)的開發(fā)與應(yīng)用。
4.1 應(yīng)用需求描述
本系統(tǒng)通過GpsOne手機定位自己的位置,并把得到的定位信息發(fā)送給指定的朋友并獲得朋友的定位信息,同時實現(xiàn)地圖的放大和縮小等功能。
4.2 系統(tǒng)可行性
本系統(tǒng)采用SnapTrack技術(shù)的QUALCOMM GpsOne解決方案,實現(xiàn)目前最為先進(jìn)的手機定位。聯(lián)通移動定位中心(Mobile Position Center,MPC)收到SP(Server Provider)或用戶定位請求后,需要鑒別發(fā)出該請求的用戶是否有權(quán)進(jìn)行定位。如果有權(quán),則進(jìn)行定位處理,否則拒絕該請求。這個過程稱為聯(lián)通鑒權(quán)。
定位業(yè)務(wù)的觸發(fā)方式有2種:移動節(jié)點觸發(fā)和網(wǎng)絡(luò)觸發(fā)。由移動節(jié)點觸發(fā)的定位業(yè)務(wù)主要包括自身位置、查詢電子地圖等;由網(wǎng)絡(luò)觸發(fā)的定位業(yè)務(wù)主要包括他人位置、查詢車輛和跟蹤等。在這類業(yè)務(wù)的實現(xiàn)過程中,網(wǎng)絡(luò)需要通過一定的機制確認(rèn)目前被查詢方所在的服務(wù)區(qū),從而建立一定的信令聯(lián)接和TCP/IP聯(lián)接等。此外,系統(tǒng)還需要判斷檢索方是否有權(quán)對被檢索人進(jìn)行位置查詢。在本系統(tǒng)中定位自己采用節(jié)點觸發(fā)方式,無需聯(lián)通鑒權(quán);定位朋友可以采用節(jié)點觸發(fā)或網(wǎng)絡(luò)觸發(fā)2種方式,其中網(wǎng)絡(luò)觸發(fā)需要MPC開通鑒權(quán)服務(wù)。
4.3 方案規(guī)劃
4.3.1 定位自己
用戶通過GpsOne手機對自身進(jìn)行定位,并將位置信息發(fā)送到指定手機的過程(見圖1)說明如下:
(1)GpsOne手機向所屬聯(lián)通基站發(fā)出“自我定位”請求。
(2)手機獲得當(dāng)前位置的經(jīng)緯度。
(3)用戶手機向業(yè)務(wù)服務(wù)器發(fā)送經(jīng)緯度。
(4)業(yè)務(wù)服務(wù)器根據(jù)用戶提交的經(jīng)緯度向地圖平臺發(fā)出位置請求。
(5)地圖服務(wù)器根據(jù)經(jīng)緯度算出用戶當(dāng)前位置地圖,將結(jié)果(圖片和文字說明)返回給業(yè)務(wù)服務(wù)器。
(6)業(yè)務(wù)服務(wù)器將結(jié)果(圖片和文字說明)發(fā)送給指定的用戶手機。
4.3.2 定位對方
定位對方是會員對使用GpsOne手機的用戶進(jìn)行定位的過程。這里可以采用2種方式:
一種是聯(lián)通鑒權(quán)方式,使用標(biāo)準(zhǔn)的對他人進(jìn)行定位的方式。業(yè)務(wù)服務(wù)器向聯(lián)通發(fā)送定位請求,聯(lián)通進(jìn)行GpsOne定位。聯(lián)通鑒權(quán)方式流程如圖2所示。其流程說明如下:
(1)用戶使用GpsOne手機向業(yè)務(wù)服務(wù)器發(fā)出“對方位置”的請求。
(2)業(yè)務(wù)服務(wù)器判斷該用戶是否有權(quán)查詢對方位置。如果有權(quán)利,則向MPC發(fā)出“對方位置”的定位請求。
(3)MPC鑒權(quán),判斷是否有權(quán)查看對方位置。如果有權(quán)利,則向被定位手機發(fā)出定位需求。
(4)被定位手機返回相關(guān)參數(shù)以便MPC進(jìn)行定位分析。
(5)MPC將分析得出的被定位手機經(jīng)緯度發(fā)送給業(yè)務(wù)服務(wù)器。業(yè)務(wù)服務(wù)器再將數(shù)據(jù)傳給地圖服務(wù)器。
(6)地圖服務(wù)器根據(jù)經(jīng)緯度算出用戶當(dāng)前地圖,將結(jié)果(圖片和文字說明)返回給業(yè)務(wù)服務(wù)器。
(7)業(yè)務(wù)服務(wù)器將結(jié)果(圖片和文字說明)發(fā)送給指定的用戶手機。
另一種方式是非聯(lián)通鑒權(quán)方式,其流程如圖3所示。流程說明如下:
(1)用戶向業(yè)務(wù)服務(wù)器發(fā)出“定位朋友”的請求。
(2)業(yè)務(wù)服務(wù)器鑒權(quán),成功后判斷用戶是否在線。若在線,則向被定位手機發(fā)出定位要求;若不在線,則使用短信激活功能激活本系統(tǒng)。
(3)被定位用戶完成“定位自己”的功能調(diào)用,獲得經(jīng)緯度。
(4)被定位用戶手機向業(yè)務(wù)服務(wù)器發(fā)送經(jīng)緯度。
(5)業(yè)務(wù)服務(wù)器向地圖服務(wù)器發(fā)出位置請求。
(6)地圖服務(wù)器計算獲得地圖,將結(jié)果(圖片和文字說明)返回給業(yè)務(wù)服務(wù)器。
(7)業(yè)務(wù)服務(wù)器將結(jié)果(圖片和文字說明)發(fā)送給當(dāng)前用戶手機。
5 系統(tǒng)設(shè)計
5.1 服務(wù)器設(shè)計
業(yè)務(wù)服務(wù)器接受客戶端的請求,從地圖服務(wù)器上取數(shù)據(jù),再發(fā)送到相應(yīng)的客戶端,實現(xiàn)客戶端之間定位業(yè)務(wù)的數(shù)據(jù)通信。本服務(wù)器開發(fā)環(huán)境選擇VC++6.0。其業(yè)務(wù)開發(fā)流程如下:
(1)建Socket套節(jié)字,監(jiān)聽特定端口的數(shù)據(jù)。
(2)收到來自客戶端的定位請求,從客戶端的數(shù)據(jù)信息中提取出經(jīng)緯度,發(fā)送給指定的地圖服務(wù)器,繼續(xù)監(jiān)聽下一次請求。
(3)解析從地圖服務(wù)器傳送來的包含地圖信息的包,然后重新打包傳送給等待請求定位的客戶端。
這里需要注意:由于考慮到服務(wù)器的并發(fā)性,所以業(yè)務(wù)服務(wù)器都采用UDP連接。
系統(tǒng)選用MapInfo的MapXtreme地圖服務(wù)器。它能夠較好地支持各種Web開發(fā),有強大的地圖功能和安全認(rèn)證機制。它主要實現(xiàn)各種終端對地圖信息的請求,安裝好地圖服務(wù)器后,進(jìn)行配置即可使其響應(yīng)終端的請求。
5.2 客戶端設(shè)計
客戶端采用基于BREW平臺的設(shè)計,因此客戶端必須是支持BREW芯片的手機。BREW的特點是:它是一種面向?qū)ο蟮目沙浞謹(jǐn)U展的應(yīng)用程序執(zhí)行環(huán)境,允許使用C或C++開發(fā)小程序和共享模塊;支持Java和XML等語言;它提供了一套完善的對象技術(shù),使開發(fā)者可以非常方便地開發(fā)基于圖形的應(yīng)用服務(wù)和應(yīng)用程序服務(wù);支持簡單的、基于事件的AEE內(nèi)核服務(wù)以及對文件、網(wǎng)絡(luò)服務(wù)、內(nèi)存和屏幕的訪問增強型服務(wù)(如增強圖像性能、聲音播放器、GPS和語音綜合服務(wù)),使應(yīng)用程序開發(fā)者可以利用諸如瀏覽器、Outlook所支持的服務(wù)。
本業(yè)務(wù)在BREW平臺下的開發(fā)流程如下:
(1)創(chuàng)建實例:BREW 用于支持小程序和模塊創(chuàng)建的機制是ISHELL_CreateInstance方法。
(2)發(fā)出GPS定位:調(diào)用接口IPOSDET通過GpsOne手機發(fā)出定位請求,得到手機所在位置的經(jīng)緯度。
(3)聯(lián)接服務(wù)器:調(diào)用ISOCKET接口函數(shù),創(chuàng)建SOCKET套接字,通過套接字接口將經(jīng)緯度發(fā)送到服務(wù)器。實際工作過程中無線信號通過基站聯(lián)接到服務(wù)器,基站對于客戶端和服務(wù)器端來說是透明的。
(4)客戶端監(jiān)聽端口號:收到服務(wù)器相應(yīng)的包含地圖信息的包后,客戶端對包解析得到所需要的地圖位置信息,并在客戶端進(jìn)行顯示。
這里需要注意:為了保證客戶端數(shù)據(jù)的可靠性,客戶端采用TCP連接。
6 瓶頸分析
由于本系統(tǒng)中所采用的地圖服務(wù)器是MapXtreme,是基于Java開發(fā)環(huán)境的,所以對它的訪問實際是通過若干個Severlet程序?qū)崿F(xiàn)的。而Severlet程序的特點是必須等到上一次請求響應(yīng)返回后才能進(jìn)行下一次請求,所以它是一個同步的過程。而實際在定位過程當(dāng)中會有很多客戶端同時請求定位,這又是一個異步的過程。此處采用隊列緩存的辦法解決這個問題。另外一個可行的解決辦法是在業(yè)務(wù)服務(wù)器和地圖服務(wù)器之間加一個接入服務(wù)器,使其達(dá)到異步及并發(fā)的效果。
7 總 結(jié)
本系統(tǒng)經(jīng)過開發(fā)和測試已經(jīng)比較穩(wěn)定地運行在很多GPS手機上,如京瓷850和大顯808等。其定位速度和定位效果均達(dá)到比較好的實用效果。經(jīng)實驗,定位誤差范圍為50~100米。
參考文獻(xiàn)
1 王寶祥.信號與系統(tǒng).哈爾濱:哈爾濱工業(yè)大學(xué)出版社,1997
2 Stevens W R.TCP/IP詳解.北京:機械工業(yè)出版社,2000
3 胡峪,劉靜.VC++編程技巧與示例.西安:西安電子科技大學(xué)出版社,2001