一文搞定GPS接收机定位

结课大作业,把我网上找到的资料和我制作的过程整合了一下,希望对大家有所帮助

什么是GPS接收机

GPS接收机是接收全球定位系统卫星信号并确定地面空间位置的仪器。GPS卫星发送的导航定位信号,是一种可供无数用户共享的信息资源。对于陆地、 海洋和空间的广大用户,只要拥有能够接收、跟踪、变换和测量GPS信号的接收设备, 即GPS信号接收机。

一般的GPS接收机长这样:

 

而我们今天要用的就比较简陋了,它长这样

 

使用其usb串口与电脑相连,并进行相关环境的配置,我们就可以用电脑接受其数据流了。

数据流解读

GPS接收机协议

我们利用GPS接收机接收到的数据流格式是基于NMEA-0183 协议,NMEA协议是为了在不同的GPS(全球定位系统)导航设备中建立统一的BTCM(海事无线电技术委员会)标准,由美国国家海洋电子协会(NMEA-The National Marine Electronics Associa-tion)制定的一套通讯协议。GPS接收机根据NMEA-0183协议的标准规范,将位置、速度等信息通过串口传送到PC机、MCU等设备。

NMEA-0183 协议是目前 GPS 接收机上使用最广泛的协议,大多数常见的 GPS 接收机、GPS 数据处理软件、导航软件都遵守或者至少兼容这个协议。

数据格式

$信息类型,x,x,x,x,x,x,x,x,x,x,x,x,x
  • $ 为起始标志;

  • , 为域分隔符;

  • * 为校验和识别符,其后两位数为校验和,代表了 $* 之间所有字符的按位异或值(不包括这两个字符);

  • \r\n 为终止符(不可见),所有的语句必须以来结束,也就是 ASCII 字符的“回车”(十六进制的 0D)和“换行”(十六进制的 0A)。

NMEA-0183 协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有 GPGGA、GPGSA、GPGSV、GPRMC、GPVTG、GPGLL 等。下面给出这些常用 NMEA 0183 语句的字段定义解释:

GPRMC

Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐定位信息

 $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,<12>*hh

各字段描述如下:

  • <1> UTC 时间,格式 hhmmss.ssss,代表时分秒.毫秒

  • <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(西)

  • <12> 模式指示(仅 NMEA0183 3.0 版本输出,A=自主定位,D=差分,E=估算,N=数据无效)

  • 最后两个字节是校验和

注意:

  • 如果字段 4 的值等于 N,则字段 3 的值等于 ddmm.mmmmmm

  • 如果字段 4 的值等于 S,则字段 3 的值等于 -ddmm.mmmmmm

  • 如果字段 6 的值等于 E,则字段 5 的值等于 ddmm.mmmmmm

  • 如果字段 6 的值等于 W,则字段 5 的值等于 -ddmm.mmmmmm

  • 十进制北纬度数 = dd + mm.mmmmmm/60

  • 十进制南纬度数 = -(dd + mm.mmmmmm/60)

  • 十进制东经度数 = ddd + mm.mmmmmm/60

  • 十进制西经度数 = -(ddd + mm.mmmmmm/60)

GPGGA

Global Positioning System Fix Data(GGA)GPS定位信息

 $GPGGA,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,M,<10>,M,<11>,<12>*hh

各字段描述如下:

  • <1> UTC 时间,hhmmss(

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值