<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于Google Earth的GPS導航系統(tǒng)設計

          基于Google Earth的GPS導航系統(tǒng)設計

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


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

          3.3 核心模塊分析


            3.3.1 模塊


          圖3 模塊分析


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


            3.3.2 控制模塊


          圖4 控制模塊分析


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


            3.3.3 串口通訊模塊分析


          圖5 串口通訊模塊


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


            3.3.4 WEB服務器模塊分析


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


            3.3.5 預定軌跡導航模塊分析


          圖6 預定軌跡導航及越界警報模塊


            預定軌跡導航及越界警報模塊中,首先在導航之前要加載預定軌跡。


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


          上一頁 1 2 下一頁

          評論


          相關推薦

          技術專區(qū)

          關閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();