新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于Google Earth的GPS導(dǎo)航系統(tǒng)設(shè)計

基于Google Earth的GPS導(dǎo)航系統(tǒng)設(shè)計

作者: 時間:2011-12-16 來源:網(wǎng)絡(luò) 收藏
 3)預(yù)定軌跡導(dǎo)航模塊先加載文件,獲得預(yù)定的軌跡信息。啟動導(dǎo)航功能之后,實(shí)時地根據(jù)預(yù)定軌跡對當(dāng)前位置檢測,并在當(dāng)前位置偏離預(yù)定軌跡時,提供報警功能。


  4)用戶圖形界面為了便于用戶的快捷使用,本系統(tǒng)提供類似與金山快譯的工具條按鈕組,所有的功能全都由工具條上的幾個形象的按鈕完成。十分便利。

3.3 核心模塊分析


  3.3.1 模塊


圖3 模塊分析


  這里模塊的輸入是來至于GPS硬件設(shè)備發(fā)送過來的地理信息,而它的輸出是對這些地理信息解析提取出來的坐標(biāo)和軌跡信息,傳遞給控制模塊。內(nèi)部完成串口數(shù)據(jù)的接受與坐標(biāo)軌跡的提取。


  3.3.2 控制模塊


圖4 控制模塊分析


  這個Google Earth控制模塊,有兩個輸入,一個是外部輸入,就是來自于Google Earth的請求,一個是用于構(gòu)造響應(yīng)這個請求時用到的坐標(biāo)與軌跡信息,這些信息來至于GPS模塊,對外輸出就是響應(yīng)Google Earth的文件。


  3.3.3 串口通訊模塊分析


圖5 串口通訊模塊


  在這個過程中,首先GPS設(shè)備不斷的接受來至于各個衛(wèi)星的無線信號,通過它本身的固件計算得出當(dāng)前的坐標(biāo)等相關(guān)地理信息。然后與計算機(jī)進(jìn)行藍(lán)牙通訊傳送這些地理信息,而在計算機(jī)中,操作系統(tǒng)底層把藍(lán)牙通訊模擬成基本的串口通訊,供應(yīng)用程序調(diào)用。我們的GPS,自動識別當(dāng)前計算機(jī)中的被模擬為串口的端口號,并開啟線程,不斷的讀取來至于GPS設(shè)備的地理信息。這里并不是所有的地理信息在本系統(tǒng)都是有用的,通過程序過濾,提取出當(dāng)前坐標(biāo)點(diǎn)經(jīng)緯度、速度、方向等幾個基本的數(shù)據(jù)信息。把這些信息存儲到結(jié)構(gòu)體中,并通過與之前的坐標(biāo)點(diǎn)的累加,可以構(gòu)造出一連串的坐標(biāo),從而構(gòu)成行駛軌跡。


  3.3.4 WEB服務(wù)器模塊分析


  WEB服務(wù)器模塊中首先開啟HTTP服務(wù)線程, 等待來至于GoogleEarth的Network Link的請求,結(jié)合之前更新在結(jié)構(gòu)體中的坐標(biāo)信息,生成用來改變Google Earth顯示的文件,并響應(yīng)Google Earth.這里有三個KML文件,其中Network Link中的URL直接指向http://127.0.0.1:5080/index.kml.這里的5080是WEB服務(wù)器注冊的端口號。


  3.3.5 預(yù)定軌跡導(dǎo)航模塊分析


圖6 預(yù)定軌跡導(dǎo)航及越界警報模塊


  預(yù)定軌跡導(dǎo)航及越界警報模塊中,首先在導(dǎo)航之前要加載預(yù)定軌跡。


  為了便于繪制和存儲,我們就采用Google Earth中對軌跡的存儲的KML軌跡文件作為預(yù)定軌跡的載體。在加載完預(yù)定軌跡之后就可以開啟GPS導(dǎo)航,串口通訊模塊不斷的讀取當(dāng)前坐標(biāo)信息,而系統(tǒng)專門啟動一個線程定時的去檢測當(dāng)前坐標(biāo)與預(yù)定軌跡之間的距離,當(dāng)超出設(shè)置的預(yù)定軌跡的范圍的時候,即偏離預(yù)定軌跡時,啟動警報系統(tǒng),發(fā)出聲音警報,提醒用戶當(dāng)前坐標(biāo)已經(jīng)偏離預(yù)定的軌跡范圍了。若是沒有偏離預(yù)定軌跡,則線程睡眠一段時間,再次檢測當(dāng)前位置與預(yù)定軌跡之間的距離,開始下一輪的檢測與警報。


上一頁 1 2 下一頁

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉