# NMEA0183

可以输出 NMEA0183 数据指令,共计16类,如下表所示:

指令序号 具体语句 描述
1 GGA 卫星定位信息
2 RMC 卫星定位信息
3 GSA 参与卫星解算的定位信息
4 GSV 可视卫星信息
5 VTG 地面航向与速度信息
6 DTM 坐标信息
7 GBS 卫星故障检测
8 GLL 地理位置信息
9 GNS 定位数据输出
10 GRS 定位解算的卫星残差
11 GST 伪距观测误差信息
12 HDG 航向信息
13 HDT 航向信息
14 ROT 旋转速率
15 THS 航向信息
16 ZDA 日期和时间

# GGA

描述:本指令用于输出卫星系统定位数据。

语句输出示例:

$GPGGA,034441.00,3149.84761319,N,11707.67501693,E,1,22,1.0,-0.0,M,-4.5,M,,*5b

GGA 数据结构

ID 字段 数据描述
1 $--GGA Log头
2 utc Utc时间(hhmmss.ss)
3 lat 纬度
4 lat dir 纬度方向(N = 北纬,S = 南纬)
5 lon 经度
6 lon dir 经度方向(E = 东经,W = 西经)
7 qual GPS状态
8 #sats 可用卫星数量
9 hdop 水平精度因子
10 alt 海拔高度
11 a-units 海拔高度单位(M = m)
12 undulation 椭球面相对大地水准面的高度
13 u-units 椭球面相对大地水准面的高度单位(M = m)
14 age 差分数据年龄,非差分为空
15 stn ID 差分基站ID,0000-1023
16 *xx 校验和
17 [CR][LF] 语句结束符

# RMC

描述:本指令用于输出时间、日期、位置、速度等信息。

语句输出示例:

$GNRMC,064931.00,A,3149.83824550,N,11707.69057097,E,0.0,125.3,071223,0.0,E,A,V*51

RMC 数据结构:

ID 字段 数据描述
1 $--RMC Log头
2 utc Utc时间(hhmmss.ss)
3 pos status 状态(A可用,V不可用)
4 lat 纬度
5 lat dir 纬度方向(N = 北纬,S = 南纬)
6 lon 经度
7 lon dir 经度方向(E = 东经,W = 西经)
8 speed 地速,单位为节
9 track 地面航向,单位为度
10 date 日期:ddmmyy
11 mag var 磁偏角,单位为度
12 Var dir 磁偏角方向
13 Mode ind 模式
14 Mode status 定位状态
15 *xx 校验和
16 [CR][LF] 语句结束符

# GSA

描述:本指令用于输出接收机工作模式、参与定位解算的卫星及 DOP 等信息。

语句输出示例:

$GNGSA,A,3,04,26,27,28,29,31,32,47,57,58,59,66,1.9,1.3,1.0,0*3c

GSA 数据结构:

ID 字段 数据描述
1 $--GSA Log头
2 Mode MA 卫星工作模式
3 Mode 123 定位模式
4 PRN 参与解算的卫星ID
5
6
7
8
9
10
11
12
13
14
15
16 PDOP 位置几何因子
17 hdop 水平精度因子
18 vhop 垂直精度因子
19 sysID 定位模式
20 *xx 校验和
21 [CR][LF] 语句结束符

# GSV

描述:本指令用于输出可视卫星数量、ID等信息。

语句输出示例:

$GPGSV,2,1,08,27,30,180,31,28,42,078,38,29,16,042,39,31,57,048,43,1*61

$GPGSV,2,2,08,26,70,357,27,03,21,257,23,04,34,315,24,32,15,150,14,1*6c

$GPGSV,2,1,06,27,30,180,30,28,42,078,30,29,16,042,37,31,57,048,34,4*6d

$GPGSV,2,2,06,26,70,357,18,32,15,150,18,4*64

$GPGSV,1,1,02,27,30,180,17,26,70,357,21,8*67

GSV 数据结构:

ID 字段 数据描述
1 $--GSV Log头
2 #msgs GSV 消息总数,1~9
3 Msg# GSV 消息编号,1~9
4 #sat 可视卫星数
5 Sat  id 卫星ID
6 Elevation 卫星高度角,单位为度
7 Azi 卫星方位角
8 CN0 载噪比
9 Next sat 第 2-3 位 SV,“卫星 ID-高度角-方位角-SNR” 的集和,字符数可变。每条消息最多支持 4 个 集和。当传输少于四个集合时,未使用的集合 字段不需要为空 
10
11
12
13 第 4 位 SV,“卫星 ID-高度角-方位角-SNR”的 集和,字符数可变。每条消息最多支持 4 个集 和。当传输少于四个集合时,未使用的集合字 段不需要为空 
14
15
16
17 SignalID GNSS信号ID
18 *xx 校验和
19 [CR][LF] 语句结束符

# VTG

描述:本指令用于输出地面航向、速度等信息。

语句输出示例:

$GNVTG,125.3,T,0.0,M,0.0,N,0.0,K*55

VTG 数据结构:

ID 字段 数据描述
1 $--VTG Log头
2 Course true 地面航向,相对真北
3 Course ind 航向标志
4 Course mag 地面航向,相对于磁北
5 Course ind 航向标志
6 Speed Kn 地速,单位节
7 N 速率单位
8 Speed Km 地速,单位km/h
9 K 速率单位
10 Mode ind 模式
11 *xx 校验和
12 [CR][LF] 语句结束符

# DTM

描述:本指令用于输出大地坐标系信息。包含纬度、经度及偏移量等。

语句输出示例:

$GNDTM,W84,,0.0,N,0.0,E,0.0,W84*71

DTM 数据结构:

ID 字段 数据描述
1 $--DTM Log头
2 Datum code 本地坐标代码,默认W84
3 Sub code 坐标系子代码 默认为空
4 Lat offset 纬度偏移量
5 Lat dir 纬度偏移标记
6 Lon offset 经度偏移量
7 Lon dir 经度偏移标记
8 Alt offset 海拔偏移量
9 Rf detum code 参考坐标系代码,默认W84
10 *xx 校验和
11 [CR][LF] 语句结束符

# GBS

描述:本指令用于卫星故障检测(支持 RAIM)。

语句输出示例:

$GNGBS,073220.00,4.6,4.2,6.2,37,0.0,-17.8,45.5,4,1*53

GBS 数据结构:

ID 字段 数据描述
1 $--GBS Log头
2 utc Utc时间
3 Lat exp 纬度预期误差,单位米
4 Lon exp 经度预期误差,单位米
5 Alt exp 海拔预期误差,单位米
6 ID 故障卫星ID
7 pro 故障卫星漏检概率
8 est 故障卫星估计偏差,单位米
9 Dev std 偏差估计标准差
10 Sys id GNSS系统ID
11 Signal id GNSS信号ID
12 *xx 校验和
13 [CR][LF] 语句结束符

# GLL

描述:本指令用于输出卫星系统定位数据。

语句输出示例:

$GNGLL,3149.85227873,N,11707.67976616,E,073220.00,A,A*72

GLL 数据结构:

ID 字段 数据描述
1 $--GLL Log头
2 lat 纬度
3 Lat dir 纬度方向(N = 北纬,S = 南纬)
4 lon 经度
5 Lon dir 经度方向(E = 东经,W = 西经)
6 utc Utc时间
7 status 状态(V = 无效,A = 自主)
8 Mode ind 系统定位模式(N = 未定位,A = 自主)
9 *xx 校验和
10 [CR][LF] 语句结束符

# GNS

描述:本指令用于输出GNSS定位数据。

语句输出示例:

$GNGNS,073220.00,3149.85227873,N,11707.67976616,E,AAAAN,21,0.9,50.4307,-4.4955,,,S*47

GNS 数据结构:

ID 字段 数据描述
1 $--GNS Log头
2 utc Utc时间
3 lat 纬度
4 lat dir 纬度方向(N = 北纬,S = 南纬)
5 lon 经度
6 lon dir 经度方向(E = 东经,W = 西经)
7 mode 模式标识,前3个字符依次为GPS、GLONASS、 Galileo卫星系统(A = 自主,N = 未定位)
8 Use sat 可用卫星数量
9 hdop 水平精度因子
10 Ant Alt 天线高,单位米
11 Geo sep 地球椭球面相对大地水准面的高度,单位米
12 age 差分数据龄期
13 Station id 差分基站ID
14 status 导航状态指示(S = 安全,V = 不可用)
15 *xx 校验和
16 [CR][LF] 语句结束符

# GRS

描述:本指令用于输出定位解算的卫星的残差,支持 RAIM。

语句输出示例:

$GNGRS,073220.00,0,,5.2,,1.3,,,,3.4,0.6,1.7,,,4,8*75

GRS 数据结构:

ID 字段 数据描述
1 $--GRS Log头
2 utc Utc时间
3 mode 模式: 0 = 计算中1 = 计算后  
4 res 参 与定位解算的卫星的范围残 差,单位米。范围:±999。 如果范围残差超过±99.9,则舍弃 小数部分,取整数(如-103.7 取 - 103) 
5
6
7
8
9
10
11
12
13
14
15
16 Sys id GNSS系统ID
17 Signal id GNSS信号ID
18 *xx 校验和
19 [CR][LF] 语句结束符

# GST

描述:本指令用于输出伪距误差信息。

语句输出示例:

$GNGST,073220.00,8.4,6.8,3.6,115.6,3.3,3.1,7.2*4e

GST 数据结构:

ID 字段 数据描述
1 $--GST Log头
2 utc Utc时间
3 rms 伪距、DGNSS 改正数标准差(RMS 值)
4 Smjr std 误差椭圆长半轴的标准差,单位米
5 Smnr std 误差椭圆短半轴的标准差,单位米
6 orient 误差椭圆长半轴方向,与真北夹角
7 Lat std 纬度误差标准差,单位米
8 Lon std 经度误差标准差,单位米
9 Alt std 高程误差标准差,单位米
10 *xx 校验和
11 [CR][LF] 语句结束符

# HDG

描述:本指令用于输出磁航向相关信息。

语句输出示例:

$GNHDG,6.2,,E,,E*44

HDG 数据结构:

ID 字段 数据描述
1 $--HDG Log头
2 heading 磁航向,单位度
3 deviation 磁航向偏差,单位度
4 Deviation dir 偏差方向
5 variation 磁航向变化
6 Variation dir 变化方向
7 *xx 校验和
8 [CR][LF] 语句结束符

# HDT

描述:本指令用于输出真实地理航向。

语句输出示例:

$GNHDT,359.6,T*22

HDT 数据结构:

ID 字段 数据描述
1 $--HDT Log头
2 Heading 航向,单位为度
3 mode 模式(T = 可用)
4 *xx 校验和
5 [CR][LF] 语句结束符

# ROT

描述:本指令用于输出旋转速度和方向信息。

语句输出示例:

$GNROT,-2.1,A*01

ROT 数据结构:

ID 字段 数据描述
1 $--ROT Log头
2 rate 旋转速率,单位:度/分
3 status 状态(A = 可用,V = 不可用)
4 *xx 校验和
5 [CR][LF] 语句结束符

1.1 THS

描述:本指令用于输出航向,状态等信息。

语句输出示例:

$GNTHS,359.6,A*20

THS 数据结构:

ID 字段 数据描述
1 $--THS Log头
2 Heading 航向,单位为度
3 mode 模式(A = 可用,V = 数据不可用)
4 *xx 校验和
5 [CR][LF] 语句结束符

# ZDA

描述:本指令用于输出卫星系统定位数据。

语句输出示例:

$GNZDA,073220.00,07,12,2023,07,32*7d

ZDA 数据结构:

ID 字段 数据描述
1 $--ZDA Log头
2 utc utc时间
3 Day UTC 日,01~31
4 Month UTC 月,01~12
5 Year UTC年
6 Local zone hour 本地时区的小时
7 Local zone minute 本地时区的分钟,00~±59
8 *xx 校验和
9 [CR][LF] 语句结束符

#