Java教程

NMEA-0183

本文主要是介绍NMEA-0183,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

说明

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

消息格式

$ address message checksum CRLF
起始字符'$' talkID + topic 每个字段以逗号','隔开 '*'号开始,两个字符表示16进制的校验 \r\n换行符
XXXXX,一般为五个字符,前两个表示talkerID,后三个表示消息的类型 校验的部分是address+message

例如:

$GNGGA,014727.000,4012.4898,N,11822.0078,E,1,5,4.51,-24.9,M,-6.3,M,,*52

Configured GNSS TalkerID
GPS,SBAS,QZSS GP
GLONASS GL
Galieo GA
BeiDou GB (BD on some products)
Any combination of GNSS GN

多星联合定位时为GN开头,表示使用了两个或以上的定位系统的卫星的信息

单定位系统定位时,例如GP表示GPS单定位系统定位;北斗定位系统在一些产品上是GB,另一些产品上则是BD。

常用的各字段解释

下列各字段的小数位数并不准确,例如:有些字段资料上是一位小数,但在产品上是2位小数。

XXGGA

Global Positioning System Fix Data:全球定位系统定位数据

字段名 Example Data Description
消息标题 GNGGA 联合定位的GGA消息
时间Time 014727.000 hhmmss.ss UTC时分秒
纬度Latitude 4124.8963 ddmm.mmmm 度分
南北 N N(北纬)或S(南纬)
经度Longitude 11622.0078 ddmm.mmmm
东西 E E(东经)或W(西经)
状态 1 0:未定位,1:非差分定位,2:差分定位,3:无效PPS,6:正在估算
卫星数量 5 正在使用的卫星数量(0-12)
水平精度因子HDOP 4.51 (0.5 - 99.9)数值越小精度越好
海拔高度Altitude 280.2 (-9999.9 - 9999.9)
单位 M 280.2米
大地水准面在WGS84椭球面上的高度 -34.0
单位 M
差分时间
差分站ID号0000 - 1023
校验 *48 校验和(此处是随便的示例)

RMC

Recommended minimum specific GPS/Transit data

字段名 Example Data Description
GNRMC
时间 014727.000 hhmmss.sss
定位状态 A A(有效定位)或V(无效定位)
维度
南北
经度
东西
地面速率
地面航向 0.0 - 359.9 度,以真北为参考
日期 ddmmyy (日月年)
磁偏角
磁偏角方向 E或W
定位模式 A:自主定位,D:差分,E:估算,N:数据无效。(仅3.00版本输出此字段)
校验和

GSA

GPS DOP and active satellites

GPGSA 这条语句是按定位系统分行的。
模式 A A:自动,M:手动
定位类型 3 1:未定位,2:2D定位,3:3D定位
PRN码(伪随机噪声码) 02 第1信道正在使用的卫星PRN码编号
。。。 总共12个PRN码,对应12个信道
PRN码 没有使用的信道值为空
PDOP综合位置精度因子 0.5 - 99.9
HDOP平面坐标精度因子 0.5 - 99.9
VDOP垂直座标精度因子 0.5 - 99.9
校验值

$GPGSA,A,3,17,01,14,21,19,,,,,,,,5.70,4.51,3.48*06

GSV

Satellites in view

按定位系统分开,即GPS和北斗的卫星不会在同一语句里出现

一条语句最多包含4颗卫星的信息数据

GPGSV
GSV语句的数目 仅代表本定位系统的GSV语句数目,在本示例中代表GPS的GSV语句数目
本条是第几句
可见卫星总数 本定位系统的可见卫星数目
PRN码
卫星仰角 00 - 90度
卫星方位角 00 - 359度
信噪比 00 - 99 dbHz,值越大信号质量越高
。。。上方四个字段参数重复 另一颗卫星的信息
。。。上方四个字段参数重复
。。。上方四个字段参数重复
校验值

GLL

Geographic Position, Latitude / Longitude and time.

GNGLL
维度
南北
经度
东西
时间 UTC时间,hhmmss.sss
定位状态 A:有效定位,B:无效定位
模式指示 A:自主定位,D:差分,E:估算,N:数据无效。(仅3.00版本输出此字段)

参考

https://github.com/adrianmo/go-nmea

说明

在一些产品中,可能有些消息不会出现,即使消息在标准协议里。

这篇关于NMEA-0183的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!