《電子技術(shù)應用》
您所在的位置:首頁 > 嵌入式技術(shù) > 設計應用 > 基于Windows Mobile的個人移動導航系統(tǒng)
基于Windows Mobile的個人移動導航系統(tǒng)
來源:微型機與應用2013年第2期
丁曉明,劉偉永,李 瑾
(山東科技大學 信息與電氣工程學院,山東 青島266590)
摘要: 借鑒現(xiàn)有導航產(chǎn)品優(yōu)點,結(jié)合GPS、GIS以及嵌入式開發(fā)技術(shù),開發(fā)了個人移動導航系統(tǒng)。導航系統(tǒng)以微軟的Windows Mobile 6.5為操作系統(tǒng),采用ST-92 GPS模塊接收GPS數(shù)據(jù)。軟件開發(fā)采用Visual Studio 2005開發(fā)環(huán)境,嵌入Mapx Mobile組件,通過RS232接口接收并處理模塊數(shù)據(jù),實現(xiàn)了實時定位、路徑記錄等功能。對地圖匹配算法進行了分析,并對系統(tǒng)功能進行了驗證。
Abstract:
Key words :

摘  要: 借鑒現(xiàn)有導航產(chǎn)品優(yōu)點,結(jié)合GPS、GIS以及嵌入式開發(fā)技術(shù),開發(fā)了個人移動導航系統(tǒng)。導航系統(tǒng)以微軟的Windows Mobile 6.5為操作系統(tǒng),采用ST-92 GPS模塊接收GPS數(shù)據(jù)。軟件開發(fā)采用Visual Studio 2005開發(fā)環(huán)境,嵌入Mapx Mobile組件,通過RS232接口接收并處理模塊數(shù)據(jù),實現(xiàn)了實時定位、路徑記錄等功能。對地圖匹配算法進行了分析,并對系統(tǒng)功能進行了驗證。
關鍵詞: Mapx Mobile;嵌入式;GPS

    如今,隨著交通工具的普及和交通狀況的改善,人們的移動性逐漸增強,對于空間信息的依賴更大。全球定位系統(tǒng)GPS(Global Positioning System)能有效解決此類問題,為出行提供便捷服務[1]。目前車載導航產(chǎn)業(yè)蓬勃發(fā)展,然而車載GPS系統(tǒng)受到道路限制,不能隨時隨地提供位置信息。個人移動導航系統(tǒng)基于移動終端(如手機、掌上電腦等)設計,可以彌補車載GPS系統(tǒng)受地形限制的不足,為個人用戶提供方便可靠的位置信息,幫助用戶在陌生環(huán)境中快速地找到目的地,具有體積小、便于攜帶等優(yōu)點。
1 系統(tǒng)構(gòu)成與功能
    個人移動地理信息系統(tǒng)GIS(Geographic Information System)是在傳統(tǒng)GIS基礎上利用空間定位手段結(jié)合嵌入式技術(shù),以數(shù)字地圖為顯示背景、與個人手持設備相結(jié)合,通過無線通信網(wǎng)絡提供移動目標實時位置及周圍信息的系統(tǒng)。本文根據(jù)大多數(shù)用戶需求及我國網(wǎng)絡通信現(xiàn)狀開發(fā)個人移動導航系統(tǒng),系統(tǒng)主要由五部分組成,如圖1所示。

    系統(tǒng)從GPS模塊獲取數(shù)據(jù),根據(jù)NMEA-0183協(xié)議對數(shù)據(jù)進行篩選處理;由地圖匹配模塊將獲取的位置信息與電子地圖進行匹配;位置顯示模塊在完成地圖匹配的前提下,將位置信息實時地在地圖上顯示出來,它是路徑記錄模塊的基礎;路徑記錄模塊將行進位置記錄下來,將之前和當前位置同時顯示出來,并不斷更新,從而實現(xiàn)行進軌跡顯示功能;將地圖的縮放及移動功能設計于輔助功能模塊中。
    本系統(tǒng)可根據(jù)用戶需求實現(xiàn)地圖縮放、平移、實時定位、路徑顯示等功能,有效地適用于個人移動定位。
2 開發(fā)平臺搭建
2.1 硬件平臺

    本系統(tǒng)采用Goeget公司生產(chǎn)的ST-92系列GPS模塊,該模塊使用SIFR III芯片組,可以同時追蹤20個衛(wèi)星信號,具有靈敏度高(-159 dBm)、定位坐標精度高(可達5 m(1 Ω))、體積小、支持NMEA-0183協(xié)議等特點。GPS數(shù)據(jù)通過RS232接口傳遞給搭載有Windows Mobile系統(tǒng)的開發(fā)板,進行數(shù)據(jù)提取利用。系統(tǒng)結(jié)構(gòu)示意圖如圖2所示。

2.2 軟件開發(fā)平臺
    Windows Mobile操作系統(tǒng)是微軟專門為手持移動設備推出的“移動版Windows”,它將Windows桌面擴展到個人設備,使用Windows Mobile操作系統(tǒng)的設備主要有手機、PDA等[2]。導航系統(tǒng)采用微軟的Windows Mobile 6.5操作系統(tǒng)以及Windows Mobile 6 Professional SDK。開發(fā)平臺選用Visual Studio 2005,它針對.net開發(fā),并且提供了智能設備模擬器,可真實地模擬物理機器代碼,把軟件安裝在這個模擬器上運行,可使開發(fā)更加方便。
2.3 Mapx Mobile組件的嵌入
    Mapx Mobile是Mapinfo公司提供的一種基于OLE(Object Linking and Embedding)的嵌入式GIS組件,可以嵌入在Pocket PC、Windows Mobile平臺下的應用程序中,運用Mapx Mobile建立的軟件可單獨在設備上運行,并且可以與Pocket PC的Windows CE操作系統(tǒng)兼容[3]。
    對Mapx Mobile組件的嵌入,首先需要在PC機安裝Mapx Mbile,在VS2005工具箱選項窗口中,選擇COM組件欄,勾選Mapinfo Mapx Mobile V5選項,然后在工具箱中可看到新增的Mapx工具。對地圖操作時需要將組件拖到對話框窗口中,然后在VS2005界面中可對地圖屬性進行操作,選擇載入需要的地圖。
    Mapx Mobile是移動GIS的高性能低成本的解決方案,具有標準用戶控制功能,可有效地嵌入到個人移動導航系統(tǒng)中[4]。
3 系統(tǒng)實現(xiàn)過程分析
3.1 定位數(shù)據(jù)流獲取與分析

    GPS模塊與應用程序間通過RS232接口交互信息,因此需要在VS2005平臺上編寫對串口的驅(qū)動。
    m_hComm=CreateFile(Port,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,0,0); //打開串口
    dcb.BaudRate=9600; //設置波特率為9 600
    dcb.ByteSize=8; //數(shù)據(jù)長度為8 B
    dcb.Parity=0; //無校驗位
    dcb.StopBits=0; //無停止位
    通過進入函數(shù)LRESULT CwindowsmobileDlg::OnData-
ArrivedMsg(WPARAM wParam,LPARAM lParam)來處理收到的數(shù)據(jù)。因為讀到的數(shù)據(jù)不是CString型,所以需要做進一步處理。
    unsigned char *data=(unsigned char*)wParam;
    m_strDataReceived=CString(data).Left(length);
    以下數(shù)據(jù)是GPS模塊接收到的部分數(shù)據(jù)。
    $GPGGA,014717.000,3600.1142,N,12007.3654,E,
1,06,4.7,-4.3,M,4.4,M,,0000*44
    $GPGSA,A,3,27,15,26,02,09,29,,,,,,,6.7,4.7,4.8*39
    $GPRMC,014717.000,A,3600.1142,N,12007.3654,E,
0.00,20.45,220410,,,A*5F
    本系統(tǒng)只需要提取經(jīng)度、緯度和時間數(shù)據(jù),根據(jù)NMEA-0183協(xié)議,這里篩選接收GPGGA下的數(shù)據(jù)[5]。
3.2 定位點與路徑線的建立
    首先創(chuàng)建圖層,并將其設置為動態(tài)圖層,然后創(chuàng)建動態(tài)圖元,對其進行初始化,將其與mapx插件建立關聯(lián)。初始化中可設置定位點的大小、形狀及顏色。
    CMapX LayergpsLayer=m_ctrlMapX;
    GetLayers().CreateLayer(_T("GPSLayer"),NULL,1);
//創(chuàng)建動態(tài)圖層GPSLayer
    m_ctrlMapX.GetLayers().SetAnimationLayer(gpsLayer);
//設置圖層GPSLayer為動態(tài)圖層
    CMapXFeature  mobileFtr;//動態(tài)點圖元
    mobileFtr.CreateDispatch(mobileFtr.GetClsid());//初始化
    mobileFtr.Attach(m_ctrlMapX.GetDispatch());
//與m_ctrlMapX建立關聯(lián)
    通過語句mobile.GetPoint().Set(gpsLongitude, gpsLatitude)將當前坐標數(shù)據(jù)與電子地圖進行關聯(lián),然后通過mobile.Update()更新到地圖上并顯示出來。
    對于路徑線的創(chuàng)建,需要對之前的定位點進行儲存,獲得定位點集[6]。通過CMapX Feature中的CreateLine函數(shù)將儲存的點用直線連接起來,可利用CMapXStyle中提供的函數(shù)設置線的寬度、顏色等屬性。
3.3 地圖匹配算法分析
    GIS基礎數(shù)據(jù)主要來源于地形圖、航片、衛(wèi)片等。車載及個人導航系統(tǒng)主要數(shù)據(jù)源是地形圖,地形圖通過掃描矢量化將地圖轉(zhuǎn)換成矢量化數(shù)字地圖。就掃描矢量化而言,除了原圖質(zhì)量影響數(shù)據(jù)經(jīng)度外,在掃描過程中圖像預處理、矢量化過程等各個環(huán)節(jié)對數(shù)據(jù)質(zhì)量都有一定程度的影響[7]。為保證定位準確性,在實際應用中需要對地圖進行匹配研究。
    地圖匹配需要確定在給定定位數(shù)據(jù)和地圖信息的基礎上獲得最可能的路段,以及行人在該路段上最可能的位置。
    本文采用最短距離匹配算法[8],該算法根據(jù)道路屬性預先設置一個閾值,通過計算當前GPS數(shù)據(jù)與各路段間的距離以及該數(shù)據(jù)在該路段上最短距離點,將在閾值范圍內(nèi)的各路段匹配距離進行比較,得到一條最短路徑。
    圖3表示基于投影的匹配算法基本原理,圖中V點表示行人當前位置,L1和L2表示附近的兩條路,V1、V2表示V點在兩條路上的投影,投影距離表示為d1、d2。在候選道路中選擇距離最短的作為匹配道路,并將在該條道路上的投影點認為是行人的當前位置。該算法可以在很大程度上消除地圖匹配中的各種誤差產(chǎn)生的影響。

    地圖匹配算法具體實現(xiàn)過程如圖4所示。

3.4 地圖縮放及平移
    地圖縮放及平移包括地圖的縮小、放大及平移。實現(xiàn)函數(shù)為SetCur2rentTool( )。
    m_ctrlMapX.SetCurrentTool(miZoomOutTool);//縮小
    m_ctrlMapX.SetCurrentTool(miZoomInTool);//放大
    m_ctrlMapX.SetCurrentTool(miPanTool);//平移
    m_ctrlMap為Map對象設定了以上工具,分別是縮小、放大和平移工具,點擊鼠標即可進行地圖瀏覽。
4 系統(tǒng)驗證
    在開發(fā)板(手機)上安裝MapX組件,該組件位于PC機的MapX安裝目錄下,將開發(fā)的軟件和對應的地圖拷貝到開發(fā)板中的maps文件夾中,雙擊運行即可。拷貝過程使用的是微軟的ActiveSync同步工具,它允許PC機與設備之間傳輸數(shù)據(jù)文件。
    系統(tǒng)驗證時采用青島市區(qū)地圖,軟件運行界面示意圖如圖5所示。測試中端口號選擇為COM1,波特率為9 600 b/s,單擊右下角按鈕后啟動系統(tǒng)。GPS數(shù)據(jù)通過RS232接口進入開發(fā)板中,軟件進行處理后將位置坐標與電子地圖進行匹配,將該點位置以紅色五星符號在地圖上顯示出來,同時用戶可在界面下方看到經(jīng)度及緯度數(shù)據(jù)。隨著位置的改變,定位點在地圖上會隨之實時移動,可準確地進行實時定位顯示。

 

 

    經(jīng)過如上測試,系統(tǒng)可正確地、實時地獲取顯示位置信息并記錄行進軌跡,可滿足用戶基本導航需求。
    本文利用Visual Studio平臺,嵌入MapX Mobile地圖化組件,設計了一款基于Windows Mobile系統(tǒng)的導航軟件,并結(jié)合ST-92 GPS模塊,開發(fā)了一個移動導航定位系統(tǒng),同時對其具體實現(xiàn)過程進行了闡述。本系統(tǒng)搭載青島市地圖進行測試,通過串口獲取GPS數(shù)據(jù),完成了數(shù)據(jù)與電子地圖匹配,完成了地圖的顯示、縮放、平移,實現(xiàn)了定位導航功能。
參考文獻
[1] 孫兵.基于AGPS的智能導航系統(tǒng)軟件開發(fā)與研究[D]. 北京:北京郵電大學,2010.
[2] 凌澤軍,魏文娟,孫震強.智能終端的主流平臺——Windows Mobile分析[J].移動通信,2010(9):78-82.
[3] MapInfo Corporation.MapInfo MapX Mobile production introduce[S].2003.
[4] 李凱鋒,呂志平.基于MapX Mobile開發(fā)的個人移動導航系統(tǒng)[J].海洋測繪,2006,26(9):99-103.
[5] 錢恭斌,尹文濤,王文富.基于WM6.0操作系統(tǒng)的智能手機定位監(jiān)控系統(tǒng)設計[J].電子技術(shù)應用,2009,35(12):24-30.
[6] 馬紅皎,胡永輝,張志武.使用Mapx Mobile開發(fā)Pocket PC上導航軟件[C].全國時間頻率學術(shù)交流會,2005.
[7] 曾波,江資斌.GPS車載導航系統(tǒng)的地圖匹配算法[J].測繪工程,2004,13(3):65-67.
[8] 吳忻.基于GPS定位和電子地圖的最佳路徑搜索[D].西安:西安電子科技大學,2006.

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
主站蜘蛛池模板: 久久久久一区二区三区 | 欧美黄色片在线播放 | 亚洲福利视频一区二区 | 伊人中文字幕在线观看 | 三级网址日本 | 99精品伊人久久久大香线蕉 | 91精品全国免费观看 | 国产一区二区视频在线 | 国产伦久视频免费观看视频 | 免费看的一级毛片 | 日韩中文字幕精品一区在线 | 国产成人无精品久久久 | a级黄色影片 | 国产精品成人免费观看 | 亚洲成年人影院 | 亚洲成a人片7777| 黄色三级在线观看 | 午夜网页| 视频一区二区在线播放 | 久草成人网 | 国产精品欧美一区二区三区不卡 | 欧洲精品在线视频 | 欧美一级黄色录相 | 在线免费观看成人 | 色视频网址 | 免费日韩网站 | 成人精品视频在线观看 | 麻豆91hd| 国产麻豆精品hdvideoss | 国产精品久久二区三区色裕 | 欧美特级特黄a大片免费 | 亚洲一区影音先锋色资源 | 成人性生交大片免费看午夜a | 日韩啪| 一个人看的免费在线视频 | 日日碰狠狠添天天爽五月婷 | 春意影院午夜爽爽爽免费 | 一级毛片不卡片免费观看 | 丁香婷婷激情 | 在线观看视频99 | 色护士精品影院www 色狠狠色综合久久8狠狠色 |