《電子技術應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > GpsOne手機移動定位系統(tǒng)增值服務的研究與開發(fā)
GpsOne手機移動定位系統(tǒng)增值服務的研究與開發(fā)
方方明
摘要: 詳細討論了GpsOne技術及其優(yōu)越性、CDMA網(wǎng)絡“無線互聯(lián)網(wǎng)發(fā)射平臺”上增值業(yè)務開發(fā)運行的基本平臺BREW技術,并對該移動定位系統(tǒng)的需求、可行性進行了討論,最后詳細介紹了其實現(xiàn)方案。
Abstract:
Key words :

  摘  要: 詳細討論了GpsOne技術及其優(yōu)越性、CDMA網(wǎng)絡“無線互聯(lián)網(wǎng)發(fā)射平臺”上增值業(yè)務開發(fā)運行的基本平臺BREW技術,并對該移動定位系統(tǒng)的需求、可行性進行了討論,最后詳細介紹了其實現(xiàn)方案。
  關鍵詞: GpsOne  定位  增值服務  服務器輔助

   手機作為一種使用越來越廣泛的手持設備,其增值應用也正在蓬勃發(fā)展。而利用手機定位正是其中一項重要的應用,并且有著廣闊的應用前景。目前,可以用于定位的GPS手機都是采用服務器輔助類型的芯片。因為手機配備的微處理器性能無法滿足定位計算和低耗電方面的要求,因此只能由基站和與此相連的服務器進行定位計算。而獨立定位是一種車載導航系統(tǒng)等終端使用的定位方法。它是根據(jù)從GPS衛(wèi)星接收到的信號,在終端內部計算出用戶目前所在的位置?,F(xiàn)在使用這種類型芯片的手機很少。本文著重研究服務器輔助類型的手機上的定位增值業(yè)務的應用。這種應用的架構如圖1所示。

 


1  手機增值服務
  手機的增值業(yè)務是指在手機的基本語音業(yè)務和短信業(yè)務以外的新的業(yè)務。近年來隨著手機數(shù)據(jù)業(yè)務的迅猛發(fā)展,手機上的數(shù)據(jù)應用越來越廣泛,如鈴聲及圖片下載、手機游戲、出行指導、交通信息、電子郵件和體育新聞等。這些都屬于手機增值業(yè)務。隨著GpsOne技術的推出,基于用戶位置的移動定位業(yè)務(Location Based Service,LBS)已經開始受到越來越多的重視。
2  GpsOne技術概述
  GpsOne是QUALCOMM 及其定位系統(tǒng)子公司 SnapTrack開發(fā)的一套用于CDMA網(wǎng)絡中的移動設備準確定位的解決方案。GpsOne無線定位同時使用了衛(wèi)星定位和地面定位技術,即使用了GPS衛(wèi)星系統(tǒng)和CDMA小區(qū)站點信號。通過這一混合式A-GPS(CDMA-GPS)方法,進一步增強了定位服務的可用性,擴大了地形覆蓋面,加快了定位過程。無論是在緊急情況下還是在使用GPS商業(yè)應用時,都可為主叫方提供更高的精確度。借助內置的按需定位特性,GpsOne技術能夠很好地保護用戶私密,使其能夠在大多數(shù)商業(yè)設施中控制其位置信息。因此GpsOne定位服務與傳統(tǒng)GPS或網(wǎng)絡定位解決方案相比,更加準確可靠。這套解決方案即使在室內和人口密集的區(qū)域中也能夠正常工作。使用這種技術的手機需要使用QUALCOMM的移動站調制解調器(MSM)芯片組和系統(tǒng)軟件,并要在網(wǎng)絡中使用SnapTrack的SnapSmart定位服務器軟件。
3  BREW技術
  QUALCOMM公司推出的無線二進制運行環(huán)境(Binary Runtime Environment for Wireless,BREW)是CDMA網(wǎng)絡無線互聯(lián)網(wǎng)發(fā)射平臺上開發(fā)和運行增值業(yè)務的基本平臺。它提供一個高效、低成本、可擴展的應用程序執(zhí)行環(huán)境(Application Execution Environment,AEE),著重開發(fā)可無縫植入任何實際手持設備的應用程序。BREW技術與GpsOne技術的結合就是一套手機移動定位、可行、高效、可靠的解決方案。
4  開發(fā)與應用
  基于以上所述,下面討論在BREW平臺下,GpsOne手機移動定位系統(tǒng)增值業(yè)務的開發(fā)與應用。
4.1 應用需求描述
  本系統(tǒng)通過GpsOne手機定位自己的位置,并把得到的定位信息發(fā)送給指定的朋友并獲得朋友的定位信息,同時實現(xiàn)地圖的放大和縮小等功能。
4.2 系統(tǒng)可行性
  本系統(tǒng)采用SnapTrack技術的QUALCOMM GpsOne解決方案,實現(xiàn)目前最為先進的手機定位。聯(lián)通移動定位中心(Mobile Position Center,MPC)收到SP(Server Provider)或用戶定位請求后,需要鑒別發(fā)出該請求的用戶是否有權進行定位。如果有權,則進行定位處理,否則拒絕該請求。這個過程稱為聯(lián)通鑒權。
  定位業(yè)務的觸發(fā)方式有2種:移動節(jié)點觸發(fā)和網(wǎng)絡觸發(fā)。由移動節(jié)點觸發(fā)的定位業(yè)務主要包括自身位置、查詢電子地圖等;由網(wǎng)絡觸發(fā)的定位業(yè)務主要包括他人位置、查詢車輛和跟蹤等。在這類業(yè)務的實現(xiàn)過程中,網(wǎng)絡需要通過一定的機制確認目前被查詢方所在的服務區(qū),從而建立一定的信令聯(lián)接和TCP/IP聯(lián)接等。此外,系統(tǒng)還需要判斷檢索方是否有權對被檢索人進行位置查詢。在本系統(tǒng)中定位自己采用節(jié)點觸發(fā)方式,無需聯(lián)通鑒權;定位朋友可以采用節(jié)點觸發(fā)或網(wǎng)絡觸發(fā)2種方式,其中網(wǎng)絡觸發(fā)需要MPC開通鑒權服務。
4.3 方案規(guī)劃
4.3.1 定位自己
  用戶通過GpsOne手機對自身進行定位,并將位置信息發(fā)送到指定手機的過程(見圖1)說明如下:
  (1)GpsOne手機向所屬聯(lián)通基站發(fā)出“自我定位”請求。
  (2)手機獲得當前位置的經緯度。
  (3)用戶手機向業(yè)務服務器發(fā)送經緯度。
  (4)業(yè)務服務器根據(jù)用戶提交的經緯度向地圖平臺發(fā)出位置請求。
  (5)地圖服務器根據(jù)經緯度算出用戶當前位置地圖,將結果(圖片和文字說明)返回給業(yè)務服務器。
  (6)業(yè)務服務器將結果(圖片和文字說明)發(fā)送給指定的用戶手機。
4.3.2 定位對方
  定位對方是會員對使用GpsOne手機的用戶進行定位的過程。這里可以采用2種方式:
  一種是聯(lián)通鑒權方式,使用標準的對他人進行定位的方式。業(yè)務服務器向聯(lián)通發(fā)送定位請求,聯(lián)通進行GpsOne定位。聯(lián)通鑒權方式流程如圖2所示。其流程說明如下:

 


  (1)用戶使用GpsOne手機向業(yè)務服務器發(fā)出“對方位置”的請求。
  (2)業(yè)務服務器判斷該用戶是否有權查詢對方位置。如果有權利,則向MPC發(fā)出“對方位置”的定位請求。
  (3)MPC鑒權,判斷是否有權查看對方位置。如果有權利,則向被定位手機發(fā)出定位需求。
  (4)被定位手機返回相關參數(shù)以便MPC進行定位分析。
  (5)MPC將分析得出的被定位手機經緯度發(fā)送給業(yè)務服務器。業(yè)務服務器再將數(shù)據(jù)傳給地圖服務器。
  (6)地圖服務器根據(jù)經緯度算出用戶當前地圖,將結果(圖片和文字說明)返回給業(yè)務服務器。
  (7)業(yè)務服務器將結果(圖片和文字說明)發(fā)送給指定的用戶手機。
  另一種方式是非聯(lián)通鑒權方式,其流程如圖3所示。流程說明如下:

  (1)用戶向業(yè)務服務器發(fā)出“定位朋友”的請求。
  (2)業(yè)務服務器鑒權,成功后判斷用戶是否在線。若在線,則向被定位手機發(fā)出定位要求;若不在線,則使用短信激活功能激活本系統(tǒng)。
  (3)被定位用戶完成“定位自己”的功能調用,獲得經緯度。
  (4)被定位用戶手機向業(yè)務服務器發(fā)送經緯度。
  (5)業(yè)務服務器向地圖服務器發(fā)出位置請求。
  (6)地圖服務器計算獲得地圖,將結果(圖片和文字說明)返回給業(yè)務服務器。
  (7)業(yè)務服務器將結果(圖片和文字說明)發(fā)送給當前用戶手機。
5 系統(tǒng)設計
5.1 服務器設計
  業(yè)務服務器接受客戶端的請求,從地圖服務器上取數(shù)據(jù),再發(fā)送到相應的客戶端,實現(xiàn)客戶端之間定位業(yè)務的數(shù)據(jù)通信。本服務器開發(fā)環(huán)境選擇VC++6.0。其業(yè)務開發(fā)流程如下:
  (1)建Socket套節(jié)字,監(jiān)聽特定端口的數(shù)據(jù)。
  (2)收到來自客戶端的定位請求,從客戶端的數(shù)據(jù)信息中提取出經緯度,發(fā)送給指定的地圖服務器,繼續(xù)監(jiān)聽下一次請求。
  (3)解析從地圖服務器傳送來的包含地圖信息的包,然后重新打包傳送給等待請求定位的客戶端。
這里需要注意:由于考慮到服務器的并發(fā)性,所以業(yè)務服務器都采用UDP連接。
  系統(tǒng)選用MapInfo的MapXtreme地圖服務器。它能夠較好地支持各種Web開發(fā),有強大的地圖功能和安全認證機制。它主要實現(xiàn)各種終端對地圖信息的請求,安裝好地圖服務器后,進行配置即可使其響應終端的請求。
5.2 客戶端設計
  客戶端采用基于BREW平臺的設計,因此客戶端必須是支持BREW芯片的手機。BREW的特點是:它是一種面向對象的可充分擴展的應用程序執(zhí)行環(huán)境,允許使用C或C++開發(fā)小程序和共享模塊;支持Java和XML等語言;它提供了一套完善的對象技術,使開發(fā)者可以非常方便地開發(fā)基于圖形的應用服務和應用程序服務;支持簡單的、基于事件的AEE內核服務以及對文件、網(wǎng)絡服務、內存和屏幕的訪問增強型服務(如增強圖像性能、聲音播放器、GPS和語音綜合服務),使應用程序開發(fā)者可以利用諸如瀏覽器、Outlook所支持的服務。
  本業(yè)務在BREW平臺下的開發(fā)流程如下:
  (1)創(chuàng)建實例:BREW 用于支持小程序和模塊創(chuàng)建的機制是ISHELL_CreateInstance方法。
  (2)發(fā)出GPS定位:調用接口IPOSDET通過GpsOne手機發(fā)出定位請求,得到手機所在位置的經緯度。
  (3)聯(lián)接服務器:調用ISOCKET接口函數(shù),創(chuàng)建SOCKET套接字,通過套接字接口將經緯度發(fā)送到服務器。實際工作過程中無線信號通過基站聯(lián)接到服務器,基站對于客戶端和服務器端來說是透明的。
  (4)客戶端監(jiān)聽端口號:收到服務器相應的包含地圖信息的包后,客戶端對包解析得到所需要的地圖位置信息,并在客戶端進行顯示。
  這里需要注意:為了保證客戶端數(shù)據(jù)的可靠性,客戶端采用TCP連接。
6  瓶頸分析
  由于本系統(tǒng)中所采用的地圖服務器是MapXtreme,是基于Java開發(fā)環(huán)境的,所以對它的訪問實際是通過若干個Severlet程序實現(xiàn)的。而Severlet程序的特點是必須等到上一次請求響應返回后才能進行下一次請求,所以它是一個同步的過程。而實際在定位過程當中會有很多客戶端同時請求定位,這又是一個異步的過程。此處采用隊列緩存的辦法解決這個問題。另外一個可行的解決辦法是在業(yè)務服務器和地圖服務器之間加一個接入服務器,使其達到異步及并發(fā)的效果。
7  總  結
  本系統(tǒng)經過開發(fā)和測試已經比較穩(wěn)定地運行在很多GPS手機上,如京瓷850和大顯808等。其定位速度和定位效果均達到比較好的實用效果。經實驗,定位誤差范圍為50~100米。
參考文獻
1   王寶祥.信號與系統(tǒng).哈爾濱:哈爾濱工業(yè)大學出版社,1997
2   Stevens W R.TCP/IP詳解.北京:機械工業(yè)出版社,2000
3   胡峪,劉靜.VC++編程技巧與示例.西安:西安電子科技大學出版社,2001

此內容為AET網(wǎng)站原創(chuàng),未經授權禁止轉載。