




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于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版高考数学一轮复习第8章平面解析几何第7节抛物线教学案含解析理
- 烟台日光温室施工方案
- 中外合资企业合作合同书8篇
- 文化产品行业分析与发展趋势
- 25年1月跨境咖啡豆质押借款合同产地认证追溯条款
- 公司登记备案人员因私出国(境)管理办法
- 双重否定句句式转换
- “课堂教学大比武”活动课堂实录作品评价指标参考
- 风速与体感温度对照表(最新版)
- 《刘姥姥进大观园》课本剧剧本3篇
- 道路工程竣工报告
- 显示仪表ppt课件
- 文件模板(平行文)
- ASME B1.1-2003统一英制螺纹中文版_图文
- 电力环网柜箱变基础计算表
- 漱口水公司绩效计划(范文)
评论
0/150
提交评论