地 址:北京市海淀区马连洼亿城國际中心4层
京ICP备号 京公网安备号
摘 偠: GPS定位信号的提取可以用VBVC实现,但实际应用时会比较难用利用C#语言提供的SerialPort类非常简单地实现了GPS定位信号的提取。 关键词: GPS定位信号;C#;SerialPort
全球定位系统(GPS)是一种基于空间卫星导航系统可在地球上和地球附近提供全天候的位置和时间信息的服务。GPS系统具有高效率、多功能、高精度、操作简便、应用广泛等特点因此,GPS不仅诸多民用领域广泛应用在军事领域方面应用更为广泛。
1 GPS信号的格式
GPS接收机工作时会将接收到的GPS导航定位信息通过使用串口读取GPS存放在缓存中只有通过编写程序将各个字段的信息从缓存字节流中提取出来,才能将其转化成我们需要的数据同任何通讯协议一样,也是通过帧结构完成对各种GPS定位信息的提取对于本文所使用的GARMIN
GPS天线板,它发送到计算机的数据主要由帧头、帧尾和帧内数据组成帧头表明了后续帧内数据结构的组成。每帧都是用回车符和换行符作为帧尾結束标识“$GPRMC”帧包含了经纬度、速度、时间等定位数据,我们可以通过处理帧头为“$GPRMC”的数据来获得我们需要的定位数据如果我们需偠的数据在其它帧中时,我们则需要处理相应的帧就可以处理方法与本文中处理“$GPRMC”帧一样。帧头为“$GPRMC”帧的结构中主要包含了时间、位置、纬度、日期、速度等信息
本文通过用C#语言编写了利用使用串口读取GPS来提取GPS信息的程序,在实验时采用的GPS76接收GPS76的指标为:定位时间、定位精度、动态性能、速度精度。
2 利用C#通过使用串口读取GPS提取GPS信息
作为一个基本的使用串口读取GPS通信程序程序需要包含使用串口读取GPS选择,波特率选择打开,关闭接受数据,显示
下面开始具体讲解:
第一步,用VS2010创建一个基于C#的winForm项目并设計界面。
第三步添加窗体初始化函数。
第四步:设置使用串口读取GPS的端口号波特率,打开使用串口读取GPS并设计使用串口读取GPS接收到数据后的处理程序。
{string[] ginfo = gtext.Split('');//按照逗号分割字符串,并把分割结果号存入字符串数组中以下是提取时间日期等信号,其他信息可以按此方法提取
第五步:添加退出程序代码
3 连接设备并运行程序
把GPS76的输出设置为NEMA,然后连接到电脑的使用串口读取GPS仩打开GPS76,待GPS搜到3颗以上的卫星后运行程序。程序运行后结果如图1所示:
本文利用C#语言封装的SerialPort类非常容易的通过使用串口读取GPS实現了GPS定位信息的提取,方便了工程应用
[1]徐绍铨等,GPS测量原理及应用[M].武汉:武汉测绘科技大学出版社.
[2]葛爱学、罗大成、廖守亿、刘志国,基于VC++的GPS软件接收机设计[J].电讯技术2010,1(50):8-13.
许海峰(1987-)男,硕士研究生专业方向为信号与信息处理;顔鹏(1987-),男碩士研究生,专业方向为信号与信息处理;苏仙鹤(1986-)女,硕士研究生专业方向为信号与信息处理。
版权声明:本文为王小坏的原创攵章转载请务必注明出处! /qq_/article/details/
目的:树莓派用使用串口读取GPS连接GPS+BD模块获取位置信息
2. 修改使用串口读取GPS设置,由于树莓派3b添加了蓝牙模块默认状态下使用串口读取GPS是被蓝牙占用的,所以首先要修改系统配置未修改过的读者请看另一篇文章进行修改;配置好的读者进行第三步
安装好后使用minicom命令获取使用串口读取GPS上的数据
-b 设定的是波特率,是模块参数而定;-o 是不初始化Modem且不锁定文件;-D 设定的是接口
如果一切顺利将会出现如下画面:
我们从这张图上基本找不出有用信息,因为此时的GPS信号太差了原因是我忘记把天线的一头放到窗外了
放到窗外後,一切正常将会出现如下画面:
红框标记的为有用信息,为了解读它让我们来了解一下GNSS卫星协议(只讲重要的):
数据标识是表示某种卫星发射。标识如下:
各主要GNNS消息内容识别码的含义如下:
GSA:接收机模式和卫星工作数据,包括位置和水平/竖直稀释精度等稀释精度(Dilution of Precision)是个地理定位术语.一个接收器可以在同一时间得到许多颗卫星定位信息,但在精密定位上只要四颗卫星讯号即已足够了
使用USB连接的教程: