基于Google Earth的GPS導(dǎo)航系統(tǒng)設(shè)計
4)用戶圖形界面為了便于用戶的快捷使用,本系統(tǒng)提供類似與金山快譯的工具條按鈕組,所有的功能全都由工具條上的幾個形象的按鈕完成。十分便利。
3.3 核心模塊分析
3.3.1 GPS模塊
圖3 GPS模塊分析
這里GPS模塊的輸入是來至于GPS硬件設(shè)備發(fā)送過來的地理信息,而它的輸出是對這些地理信息解析提取出來的坐標和軌跡信息,傳遞給GoogleEarth控制模塊。內(nèi)部完成串口數(shù)據(jù)的接受與坐標軌跡的提取。
這個Google Earth控制模塊,有兩個輸入,一個是外部輸入,就是來自于Google Earth的請求,一個是用于構(gòu)造響應(yīng)這個請求時用到的坐標與軌跡信息,這些信息來至于GPS模塊,對外輸出就是響應(yīng)Google Earth的KML文件。
3.3.3 串口通訊模塊分析
圖5 串口通訊模塊
在這個過程中,首先GPS設(shè)備不斷的接受來至于各個衛(wèi)星的無線信號,通過它本身的固件計算得出當前的坐標等相關(guān)地理信息。然后與計算機進行藍牙通訊傳送這些地理信息,而在計算機中,操作系統(tǒng)底層把藍牙通訊模擬成基本的串口通訊,供應(yīng)用程序調(diào)用。我們的GPS導(dǎo)航系統(tǒng),自動識別當前計算機中的被模擬為串口的端口號,并開啟線程,不斷的讀取來至于GPS設(shè)備的地理信息。這里并不是所有的地理信息在本系統(tǒng)都是有用的,通過程序過濾,提取出當前坐標點經(jīng)緯度、速度、方向等幾個基本的數(shù)據(jù)信息。把這些信息存儲到結(jié)構(gòu)體中,并通過與之前的坐標點的累加,可以構(gòu)造出一連串的坐標,從而構(gòu)成行駛軌跡。
3.3.4 WEB服務(wù)器模塊分析
WEB服務(wù)器模塊中首先開啟HTTP服務(wù)線程, 等待來至于GoogleEarth的Network Link的請求,結(jié)合之前更新在結(jié)構(gòu)體中的坐標信息,生成用來改變Google Earth顯示的KML文件,并響應(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)航,串口通訊模塊不斷的讀取當前坐標信息,而系統(tǒng)專門啟動一個線程定時的去檢測當前坐標與預(yù)定軌跡之間的距離,當超出設(shè)置的預(yù)定軌跡的范圍的時候,即偏離預(yù)定軌跡時,啟動警報系統(tǒng),發(fā)出聲音警報,提醒用戶當前坐標已經(jīng)偏離預(yù)定的軌跡范圍了。若是沒有偏離預(yù)定軌跡,則線程睡眠一段時間,再次檢測當前位置與預(yù)定軌跡之間的距離,開始下一輪的檢測與警報。
評論