《電子技術應用》
您所在的位置:首頁 > 其他 > 設計應用 > 基于WM 6.0操作系統的智能手機定位監控系統設計
基于WM 6.0操作系統的智能手機定位監控系統設計
錢恭斌,尹文濤,王文富
(深圳大學 信息工程學院,廣東 深圳518060)
摘要: 設計了一套基于WM 6.0(Windows Mobile 6.0)操作系統和網絡電子地圖技術的智能手機定位監控系統,詳細介紹了其中的關鍵技術和具體方案的設計實現。
Abstract:
Key words :

摘  要: 設計了一套基于WM 6.0(Windows Mobile 6.0)操作系統和網絡電子地圖技術的智能手機定位監控系統,詳細介紹了其中的關鍵技術和具體方案的設計實現。
關鍵詞: Windows Mobile;全球定位系統;網絡電子地圖;GPRS

    GPS(Global Positioning System)以其精度高、速度快、成本低等顯著優勢,被廣泛應用于測距、定位、導航等領域,在社會生活各個方面起著越來越重要的作用[1]。隨著網絡電子地圖、智能手機及3G網絡的出現與不斷完善,人們對定位查詢的服務需求越來越大,相關產業已成當前最具前景的產業之一。
    目前市場上GPS相關產品已經很多,但由于各方面技術限制,普遍存在一些嚴重問題:大多數產品針對專用的硬件平臺,成本高、可移植性差;系統開發難度大、開發周期長、軟件支持少[2];采用本地地圖,地圖數據庫更新困難。
    本文針對上述問題,充分利用現有技術,整合各種現有資源,設計了基于Windows Mobile通用平臺和網絡電子地圖的位置查詢系統。該系統通信部分采用SMS實現,具有地圖數據更新獲取方便、使用簡單、成本低、操作方便等優點。
1 總體設計方案
    系統從功能上可以分為Pocket PC監控中心和Pocket PC監控對象兩部分。監控對象主要功能為接收GPS信號、提取所需信息和響應監控中心的監控命令。監控中心通過短消息(SMS)向監控對象發送監控命令,接收來自監控對象的數據并對接收來的數據進行處理。為了更好地顯示監控對象所在位置,監控中心同時采用Google地圖和Mapabc地圖2種網絡電子地圖。網絡電子地圖數據通過HTTP協議從Google地圖或Mapabc地圖服務器上實時下載。系統框圖如圖1所示。


    系統主要設計功能如下:
    (1)在Windows Mobile平臺上實現了GPS定位;
    (2)網絡電子地圖實時下載、顯示、拖動、放大/縮小;
    (3)監控對象的位置查詢與顯示;
    (4)實現了對監控對象的聲音監控。
2 PPC監控對象設計與實現
2.1 GPS定位數據提取的實現

    傳統GPS編程通過串口通信接收NMEA(National Marine Electronics Association)語句,然后通過解析NMEA語句[3]提取經緯度信息實現。應用程序獨占GPS設備,即同一時刻只允許一個應用程序訪問GPS設備。
    本文采用Windows Mobile提供的GID接口實現(GPS Intermediate Driver)。GID是一個位于應用程序和GPS設備中間層的設備驅動。使用GID時,允許多個應用程序同時使用GPS設備(所有的應用程序都通過GID間接訪問GPS設備),不需要解析NMEA語句,且可以使用相同的代碼訪問幾乎所有類型的GPS設備[4]。
    采用GID實現的主要步驟為:
    (1)引用gpsapi.dll。GID是一套在Mobile Device上的本地代碼,在.NET Compact Framework平臺上使用,需要采用跨平臺調用技術,引用相應的應用程序接口。
    (2)用CreateEvent創建Windows CE事件對象,這樣當有GPS設備獲取了新的數據或者設備狀態改變時就能收到通知。
    (3)使用GPSOpenDevice與GID建立一個連接。如果GPS設備關閉,則啟動GPS設備。
    (4)通過調用WaitForMultipleObjects(如果僅有一個事件則調用WaitForSingleObject),等待GPS設備獲取新的位置數據或設備狀態改變事件發生;當GPS設備獲取了新的位置數據時,調用GPSGetPosition取回位置信息。當GPS設備狀態改變時,調用GPSGetDeviceState取回設備狀態信息。
    (5)重復第(4)步,直到不再需要GPS信息。
    (6)調用GPSCloseDevice關閉與GID的連接。如果這個連接是GID唯一的連接,則GID自動關閉GPS設備。GPS設備耗電相當大,因此當不再需要訪問GPS設備時要關閉與GID的連接。
2.2 短消息發送與接收實現
    短消息收發一般采用AT(Attention)指令實現,本系統采用Pocket Outlook實現。Windows Mobile SDK對Pocket Outlook提供的服務進行了托管封裝,可以方便地完成所有的個人信息管理功能[3],所有這些類型構成了POOM(Pocket Outlook Object Model)。
    (1)短消息發送。POOM中的SmsAccount類可以方便地實現短消息的發送。首先,使用SmsMessage類構造一條短消息;然后,使用SmsAccount類中的Send方法即可發送短消息。
    (2)短消息的接收和截獲。Pocket Outlook可以實現短消息的接收和截獲,且只接收滿足特定條件的短消息。短消息接收和截獲過程如下:
    ①創建一個MessageInterceptor類型的對象。
    ②設置MessageCondition屬性,指定MessageInterceptor對象截獲條件。
    ③設置InterceptionAction屬性,指定截獲到消息后Pocket Outlook執行的動作。本系統中,通過將InterceptionAction屬性設置為NotifyAndDelete實現截獲所需的監控短消息,并且其他程序不會收到監控短消息,這樣監控短消息就不會進入短消息收件箱。
    ④為MessageInterceptor對象添加截獲短消息事件處理方法。截獲短消息事件定義如下:
    public event MessageInterceptorEventHandler MessageReceived
    當有滿足截獲條件的短消息到達設備時觸發此事件。添加了事件處理方法后,當有滿足截獲條件的短消息到達時,就會觸發MessageReceived事件,然后自動調用事件處理方法進行處理。
3 監控中心設計與實現
    PPC端監控中心通過GPRS網絡,主要以短消息的形式向監控對象發送監控命令,并通過處理來自監控對象的數據實現對監控對象的位置查詢及顯示、聲音監控等功能。
3.1 網絡電子地圖實現
    目前,Windows Mobile不支持JavaScript腳本,故PPC端監控中心電子地圖不能使用含JavaScript接口的地圖實現。本系統PPC端監控中心網絡電子地圖采用Google地圖和北京圖盟科技有限公司的Mapabc地圖。
    (1)地圖數據下載
    Google地圖由0~17級不同比例尺的256×256像素的小地圖拼塊拼接而成,每一個Google地圖拼塊叫做一個tile。tile的URI類似如下:
    http://mt2.google.com/mt?v=w2.89&hl=zh-CN&x=6688&y=3570&z=13&s=Galileo
其中,mt2.google.com為Google地圖服務器,x、y、z分別表示tile的坐標和放大因子。Google地圖服務器有4臺,分別為mt0.google.com、mt1.google.com、mt2.google.com和mt3.google.com。為了提高地圖下載速度,本系統從4臺服務器輪流下載。
    (2)地圖顯示
    任給一個經緯度,要將其代表的位置在地圖上顯示出來,就要將該經緯度轉換為對應放大因子的tile坐標。本系統采用一種近似的方法轉換,經過分析發現,經度與x坐標呈線性對應關系,其計算公式為:
       

其中,longitude為經度值,其范圍為-180~+180,西經用負值表示,東經用正值表示;0.0063為校正值;z為放大因子。
    緯度與y坐標轉換公式為:

   
其中,latitude為緯度值,其范圍為-90~+90,北緯用正值表示,南緯用負值表示;z為放大因子。將經緯度轉化為tile坐標后,就能將經緯度與地圖匹配了,這樣就可以將經緯度對應的位置在地圖上顯示出來。
    本系統采用的Windows Mobile Pocket PC的窗體客戶區寬度和高度分別為240像素和268像素,每個tile為256×256像素,這樣客戶區就需要4個或6個tile拼接而成,如圖2和圖3所示。


    (3)地圖拖動
    地圖移動相當于改變地圖的中心坐標。本系統實現地圖拖動的方法為:當在觸摸屏上點擊地圖某一點時,將地圖的中心坐標移到點擊處。如圖4所示,設點O為窗口客戶區中心,點P為點擊處,計算點P與點O的水平和垂直像素距離△Px和△Py,然后將地圖中心分別沿水平方向和垂直方向移動△Px和△Py像素,即可實現地圖的拖動功能,拖動后地圖如圖5所示。


    (4)地圖放大/縮小
    Google地圖的放大因子z的取值為0~17,分別代表0~17級不同比例尺的地圖。0~17級地圖分別用18張不同詳細程度的地圖實現,故實現地圖的放大/縮小功能只需要改變放大因子的大小,將當前現實的地圖切換到改變后的放大因子所對應的比例尺的地圖上,中心點經緯度不變。
3.2 監控中心界面設計及主要功能測試結果
    點擊“操作”菜單,依次選擇“監控”、“位置”,然后在彈出的菜單中設置監控對象手機號、報告次數、報告時間間隔,如圖6所示。


    按圖6所示設置,點擊“開始”按鈕,PPC端監控中心發送監控命令,監控對象收到位置查詢命令后,就按監控命令向監控中心報告自己的位置。PPC端監控中心收到監控對象發來的位置信息后即在地圖上顯示出來。圖7為目標位于深圳大學辦公樓前測試的結果,圖中地圖為Google地圖,點擊“設置”菜單,然后選擇“使用Mapabc地圖”切換到Mapabc地圖,如圖8所示。PPC端監控中心構造監控命令短消息如下:
    SmsMessage msg=new SmsMessage(15914175891,″★定◎位☆″+interval);
其中,interval指定監控對象報告位置信息的時間間隔,此處為“1”。


    本系統基于Windows Mobile通用平臺,充分利用了Windows Mobile界面友好、使用簡單和支持軟件豐富等特點。GPS數據通過Windows Mobile提供的GID接口實現,可以使多個應用程序同時使用GPS設備,通用性好,可移植性強。經實際測試,本系統獲取地圖數據方便快捷、成本低、維護方便、定位精度高,能滿足人們日益增長的應用需求。
參考文獻
[1] ZHENG Yu,WANG Long Hao,ZHANG Ruo Chi,et al.  Geolife:managing and understanding your past life over  maps.MDM′08.9th International Conference on Mobile Data Management,2008:211-212.
[2] 任義.基于Windows Mobile的急救車調度導航系統的設計與實現.中南大學碩士學位論文,2007.
[3] COLEMAN R.A self-healing plug-in parser for NMEA streams[C].Proceedings of the fifth international conference  on information technology:New Generations,2008:1023-1027.
[4] 劉彥博,胡硯,馬騏.Windows Mobile平臺應用與開發[M].  北京:人民郵電出版社,2006.

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 狠狠狠狠狠狠狠 | 亚洲经典千人经典日产 | avav在线看| 天天做天天爱天天做天天吃中 | 黄色一级片中国 | 日本黄色mv| 亚洲国产激情 | 成人a大片高清在线观看 | 玖玖爱zh综合伊人久久 | 日韩在线观看内窥镜 | www.日韩视频 | 精品手机在线视频 | 大象焦伊人久久综合网色视 | 真人一级一级特黄高清毛片 | 欧美一级欧美三级在线观看 | 久久久久精彩视频 | 亚洲成人精品在线 | 亚洲香蕉伊在人在线观看9 亚洲香蕉一区二区三区在线观看 | 在线色视频网站 | 日韩欧美亚洲综合久久影院d3 | s级毛片| 欧美一级www片免费观看 | a级aaaaaaaa毛片| 日日操夜夜添 | 免费成人小视频 | 国产99热99 | 天堂网在线www资源网 | 免费韩国伦理片在线观看 | 成年人小视频在线观看 | 免费国产成人高清视频网站 | 精品视频在线免费看 | 免费在线观看黄色小视频 | 亚洲成人黄色片 | 免费人成在线蜜桃视频 | 2022国产成人福利精品视频 | 无遮挡黄漫动漫yy动漫免费 | 日本高清三区 | 欧美国产亚洲精品高清不卡 | 天天综合天天添夜夜添狠狠添 | 韩国理论片最新第一页 | 天天做天天爽爽快快 |