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

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

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

 


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

 


  (1)用戶使用GpsOne手機(jī)向業(yè)務(wù)服務(wù)器發(fā)出“對(duì)方位置”的請求。
  (2)業(yè)務(wù)服務(wù)器判斷該用戶是否有權(quán)查詢對(duì)方位置。如果有權(quán)利,則向MPC發(fā)出“對(duì)方位置”的定位請求。
  (3)MPC鑒權(quán),判斷是否有權(quán)查看對(duì)方位置。如果有權(quán)利,則向被定位手機(jī)發(fā)出定位需求。
  (4)被定位手機(jī)返回相關(guān)參數(shù)以便MPC進(jìn)行定位分析。
  (5)MPC將分析得出的被定位手機(jī)經(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ā)送給指定的用戶手機(jī)。
  另一種方式是非聯(lián)通鑒權(quán)方式,其流程如圖3所示。流程說明如下:

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。