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