




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
基于ParrotAR.Drone2.0開發的學習(研究)ParrotAR.Drone2.0孫明星2013.05.21伊拉克戰爭中美軍使用的戰場情報偵察機六軸飛行器八軸飛行器1.NET、
C#、
VisualStudio2012及GoogleEarth目錄2GPS介紹3接下來要著重解決的問題1.NET、C#與VisualS/dotnet:一般指.NetFramework框架.它是由微軟開發的一種平臺,一種技術。我們選用了較新的4.0版。C#(sharp):是可用于創建要運行在.NET上的應用程序的語言之一,它是從C和C++語言演化而來,是Microsoft專門為使用.NET平臺而創建的。C#語言的的主要特點語法簡潔,不允許直接操作內存,去掉了指針操作。徹底的面向對象設計,C#具有面向對象語言所應有的一切特性:封裝繼承及多態。與Web緊密結合,C#支持絕大多數的Web標準,如HTML,XMLSOAP等。強大的安全機制,可以消除軟件開發中的常見錯誤(如語法錯誤).NET提供的垃圾回收器能夠幫助開發者有效地管理內存資源。兼容性,因為C#遵循.NET的公共語言規范(CLS),從而保證能夠與其他語言開發的組件兼容。靈活的版本處理技術,因為C#語言本身內置了版本控制功能,是開發人員更加容易的開發和維護。完善的錯誤及異常處理機制,C#提供完善的錯誤和異常處理機制使程序在交付應用時能更加健壯。1.1VisualStudio2012C#進行.net開發使用的工具---VisualStudi(微軟的一款集成開發環境).目前最新版本為VisualStudio2012.VisualStudio
簡介:一套完整的開發工具集用于開發桌面應用程序、
ASP.NETWeb應用程序、XML、WebService、移動應用程序.為快速開發提供強大支持1.2.NET、C#與VisualStudio2012三者關系圖開發工具:VisualStudio2102VB.NETF#VC++.net
C#.NETFramework………..提供函數庫及類庫CSharp開發桌面應用程序Winform
Internet應用程序ASP.NET手機開發(嵌入式開發)WP81.3.net
能干什么?安裝visualstudio2012后的圖標雙擊圖標啟動后132進入vs后新建項目選擇類型控制臺程序編寫運行簡單的HelloWrold!程序1.3.1一個簡單的由C#編寫的HelloWorld!控制臺程序
1.4.1GoogleEarth本節介紹的GoogleEarthAPI是目前Goolge官方網站上最新的GoogleEarthAPI接口定義,也是Google所推薦使用的。與早期的KeyHoleAPI相比有了很多新的特性,增加了很多接口,這些接口基本都是基于KeyholeAPI封裝的,我們將在以后的內容中介紹一些關于KeyholeAPI的應用,使得讀者能夠更加深入地理解GoogleEarthAPI的實質。IApplicationGE接口:是GoogleEarthAPI開發中最重要的一個接口,通過該接口可以控制GoogleEarth程序的開啟、關閉、獲取地圖窗口的句柄、操作主窗體句柄,還可以進行獲取地圖視場照相機對象、獲取GoogleEarth版本號、轉換坐標等一系列復雜操作。C#實例代碼:1.4.2KMLKML全稱是KeyholeMarkupLanguage(KML),是一個基于XML語法和文件格式的文件,用來描述和保存地理信息如點、線、圖片、折線并能夠在GoogleEarth客戶端顯示。什么是KML文件<kml
xmlns="/kml/2.0"><Placemark><description><![CDATA[<ahref=":8888/">GoogleSearch!</a>]]></description><name>GoogleHeadquarters</name><LookAt><longitude>-122.0839</longitude><latitude>37.4219</latitude><range>540.68</range><tilt>0</tilt><heading>3</heading></LookAt><Point><coordinates>-122.0839,37.4219,0</coordinates></Point></Placemark></kml>
1.4.2KML如何撰寫KML,有以下幾種方式:使用GoogleEarthclient撰寫KML文件:使用文本編輯器:使用開發環境來自動生成KML文件:
GoogleEarth客戶端支持了大量的顯示標簽用來創建和保存成KML文檔。在撰寫KML過程中,你可以先用文本編輯器修改KML文檔,然后在GoogleEarth客戶端中打開看顯示的效果,這和你修改一個HTML文檔并在瀏覽器之中觀看效果是一樣的。1.4.2KMLKML元素表1.5GE二次開發:開發的工具和環境:C#在VS環境為例在VS中引入GoogleEarthAPI如何把這些數據生成KML數據格式在GoogleEarth上顯示寫一個程序,來定時掃描GPS數據,通過將其數據解析后,生成一個kml文件,如Pathplanned.KML文件(kml文件實際就是xml文件,你按照生成xml文件的方式做就行。只是要注意里面的定義。具體定義,你可以在GoogleEarth自定義一個標簽,保存為一個kml文件,用記事本打開這個kml文件就知道是什么了。然后你只需要根據你搜索到的經緯度,替換掉里面對應的經緯度即可)。
1.5.1C#中如何把GPS的數據生成KML格式在GoogleEarth上顯示
xmlns="/kml/2.2"><Document><name>Pathplanned</name><Styleid="yellowLineGreenPoly"><LineStyle><color>ff0000ff</color><width>8</width></LineStyle><LookAt><longitude>123.407983300000</longitude><latitude>41.76337500000</latitude><range>10</range><tilt>10</tilt><heading>-10</heading></LookAt></Style><Placemark><name>AbsoluteExtruded</name><LineString><extrude>1</extrude><tessellate>1</tessellate><altitudeMode>clampToGround</altitudeMode><coordinates>123.407983300000,41.76337500000,10123.407983300000,41.76240556000,10</coordinates></LineString></Placemark></Document></kml>黑色=可見,紅色
=不可見,綠色=視線
總共24顆GPS衛星。地球任意一點可以看到5-12顆衛星。任一衛星的瞬時位置可根據星歷計算得到。2.1距離交會法觀測方程2.2.1GPS模塊所提供的數據幀介紹
$GPGGA,161229.48,3723.24757,N,12158.34167,W,1,07,1.0,9.0,M,,,,0000*18$GPGLL,3723.24757,N,12158.34167,W,161229.48,A*2C$GPGSA,A,3,07,02,26,27,09,04,15,,,,,,1.8,1.0,1.5*33$GPGSV,2,1,07,07,79,048,42,02,51,062,43,26,36,256,42,27,27,138,42*71$GPGSV,2,2,07,09,23,313,42,04,19,159,41,15,12,041,42*41$GPRMC,161229.48,A,3723.24757,N,12158.34167,W,0.13,309.62,120598,,*102.3ARM-Linux平臺下GPS信號的采集與處理定位和導航是很多便攜移動設備以及汽車電子設備的重要功能之一,所以GPS在上述設備中得到了廣泛的應用。基于ARM-Linux的嵌人式平臺以其開放性、安全性、健壯性和穩定性越來越成為各種便攜設備和車載導航設備的主要開發平臺。如何實現GPS模塊和嵌人式ARM-Linux平臺之間的通信成了實現系統定位導航的基礎。
GPS模塊與ARM-Linux平臺之間采用異步串行傳送方式進行數據傳送的,咱們實驗室購買的GPS模塊采用USB轉串口通信。ARM-Linux平臺與GPS通信可選的協議有很多種,目前普遍采用的是NMEA-0183通信協議。
2.3.1NMEA-0183通信協議
NMEA-0183協議是為了在不同的GPS導航設備中建立統一的海事無線電技術委員會(BTCM)標準,由美國國家海洋電子協會NMEA(NationalMarineElectronicsAssociation)制定的通信協議,其中規定了海用和陸用GPS接收設備輸出的定位位置數據、時間、衛星狀態、接收機狀態等信息。除NMEA-0183協議之外,還有差分用的RTCMSC-104格式,各個廠商互不兼容的二進制格式等,但以NMEA-0183使用最廣泛。為實現ARM-LINUX平臺與GPS之間的通信,應清楚協議規定的GPS輸出的數據格式和報文。NMEA-0183規定的格式如下:
波特率:9600b/s
數據位:8bit
奇偶校驗:無
開始位:1bit
停止位:1bit報文格式:報文的語句串(十進制ASCII碼)格式全部信息如圖1。圖1中具體內容:$為串頭,表示串開始;GP為交談識別符。XXX為語句名,NMEA規定的常用語句有以下6種:GGA,衛星定位信息;GLL,地理位置-經度和緯度;GSA,GNSSDOP偏差信息,說明衛星定位的信號的優劣情況;GSV,GNSS天空范圍內的衛星;RMC,最基本的GNSS信息,指能夠達到定位目的的基本信息等語句。ddd為數據字段,字母或數字,“,”為域分隔符;*表示串尾;hh表示$與*之間所有字符代碼的校驗和;為回車控制符;為換行控制符。在實際的GPS應用中,并不會用到NMEA的全部信息,而是根據具體的需要,從中選取有用的信息,忽略其余的信息內容。下面以GPRMC語句為例來介紹。該語句包含時間、日期、方位、速度和磁偏角等信息,基本上可以滿足一般的導航需求。GPRMC語句的結構為:$GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,*hh。
數據區說明如下:
(1)UTC時間,hhmmss.sss(時分秒.毫秒)格式;(2)定位狀態,A=有效定位,V=無效定位;
(3)緯度ddmm.mmmm(度分)格式(前面的0也將被傳輸);
(4)緯度半球N(北半球)或S(南半球);
(5)經度dddmm.mmmm(度分)格式(前面的0也將被傳輸);
(6)經度半球E(東經)或W(西經);
(7)地面速率(000.0~999.9節,前面的0也將被傳輸);
(8)地面航向(000.0~359.9度,以真北為參考基準,前面的0也將被傳輸);
(9)UTC日期,ddmmyy(日月年)格式;
(10)磁偏角(000.0~180.0度,前面的0也將被傳輸);
(11)磁偏角方向,E(東)或W(西)。
2.3.1NMEA-0183通信協議
2.5GPS信號的采集和處理
為實現ARM-Linux平臺下GPS信號的采集與處理,涉及到Linux下串口編程技術,首先給出Linux串口通信的原理,然后利用多線程編程技術來完成GPS數據采集與NMEA數據格式的解析。大多數GPS接收機與各種處理器平臺進行數據交換時,都采用異步串行傳送方式,提供一個符合RS-232C電氣標準的數據接口。在Linux操作系統中,所有設備以設備文件的形式存儲在目錄/dev/下,串口設備文件為/dev/ttyUSB*,在Linux中,若要設置串口的參數,如改變串口的波特率、字符大小等,可通過POSIX標準終端接口,該接口被稱為termios,在系統頭文件中定義。它包括一個數據結構和一系列操縱這些數據結構的函數組成。有關串口的所有參數配置都保存在接口termios的結構struct
termios中,該結構定義如下:
struct
termios
{
tcflag_t
c_iflag;/*輸人模式標志*/
tcflag_t
c_oflag;/*輸出模式標志*/
tcflag_t
c_cflag;/*控制模式標志*/
tcflag_t
c_lflag;/*本地模式標志*/
cc_t
c_cc[NCCS];/*特殊控制字符*/
}
其中的c_iflag成員是用來控制輸入處理選項的,它影響到終端驅動程序將輸入發送給程序前是否對其進行處理,及怎樣對其進行處理。c_oflag成員是用來控制輸出數據的處理,并決定在發送輸出數據到顯示屏和其他輸出設備之前,終端驅動程序是否以及如何來處理它們。c_cflag用于存放各種決定終端設備硬件特性的控制標志,如串口的波特率、奇偶校驗、停止位、數據位等。存放在c_lflag
中的本地模式標志用來操縱串口如何處理輸入字
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 設備維修說明
- 青海省西寧市2025屆九年級下學期中考二模地理試卷(含答案)
- 自動控制原理第五版 胡壽松課后習題答案
- 貴州省黔東南州2023-2024學年八年級下學期期末考試語文試卷(含答案)
- 財務會計人員崗位職責
- 打造獨具特色的文旅商品品牌之路
- 道德與法治(河北卷)(考試版A3)
- 建筑施工特種作業-建筑電工真題庫-5
- 森林防火管護題目及答案
- 掃盲運動題目及答案高中
- 2023-2024學年四川省涼山州小學數學五年級下冊期末自測試卷
- 十小咒注音版
- 2021國開電大操作系統形考任務 實驗報告-進程管理實驗
- 中醫藥膳學全解共94張課件
- 重慶市各縣區鄉鎮行政村村莊村名居民村民委員會明細及行政區劃代碼
- 學生公寓維修改造工程施工組織設計
- 小學高段語文審題能力的培養
- 護理人文關懷質量評價標準
- 【北師大版】七年級上冊數學 第四章 圖形的全等 單元檢測(含答案)
- 《教育學原理》期末考試試卷試題A及答案
- 安全知識進校園宣傳課件——XX小學
評論
0/150
提交評論