新聞中心

        EEPW首頁 > 設計應用 > 基于WM 6.0 OS的智能手機定位監控系統設計

        基于WM 6.0 OS的智能手機定位監控系統設計

        作者: 時間:2010-03-24 來源:網絡 收藏

          采用GID實現的主要步驟為:
          
          (1)引用gpsapi.dll。GID是一套在Mobile Device上的本地代碼,在.NET Compact Framework平臺上使用,需要采用跨平臺調用技術,引用相應的應用程序接口。
          
          (2)用CreateEvent創建Windows CE事件對象,這樣當有設備獲取了新的數據或者設備狀態改變時就能收到通知。
          
          (3)使用OpenDevice與GID建立一個連接。如果設備關閉,則啟動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.89hl=zh-CNx=6688y=3570z=13s=Galileo
          
          其中,mt2.google.com為Google地圖服務器,x、y、z分別表示tile的坐標和放大因子。Google地圖服務器有4臺,分別為mt0.google.com、mt1.google.com、mt2.google.com和mt3.google.com。為了提高地圖下載速度,本系統從4臺服務器輪流下載。



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 诏安县| 揭东县| 长白| 孟州市| 雷山县| 闸北区| 寻甸| 河曲县| 兰考县| 白银市| 南京市| 迭部县| 永登县| 东城区| 屏东县| 历史| 志丹县| 正安县| 罗甸县| 临颍县| 康平县| 维西| 南阳市| 昌黎县| 安乡县| 龙口市| 扶风县| 红安县| 墨竹工卡县| 富顺县| 佳木斯市| 定襄县| 得荣县| 塔河县| 增城市| 工布江达县| 东至县| 昭觉县| 仪陇县| 天镇县| 长治县|