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