GPS-NMEA-8013协议

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

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

不过,也有少数厂商的设备使用自行约定的协议比如GARMIN的GPS设备(部分GARMIN设备也可以输出兼容NMEA-0183协议的数据)。软件方面,我们熟知的Google Earth目前也不支持NMEA-0183协议,但Google Earth已经声明会尽快实现对NMEA-0183协议的兼容。呵呵,除非你确实强壮到可以和工业标准分庭抗礼,否则你就得服从工业标准。

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

$GPGGA

例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F

字段0:$GPGGA,语句ID,表明该语句为Global Positioning System Fix Data(GGA)GPS定位信息

字段1:UTC 时间,hhmmss.sss,时分秒格式

字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0)

字段3:纬度N(北纬)或S(南纬)

字段4:经度dddmm.mmmm,度分格式(前导位数不足则补0)

字段5:经度E(东经)或W(西经)

字段6:GPS状态,0=未定位,1=非差分定位,2=差分定位,3=无效PPS,6=正在估算

字段7:正在使用的卫星数量(00 - 12)(前导位数不足则补0)

字段8:HDOP水平精度因子(0.5 - 99.9)

字段9:海拔高度(-9999.9 - 99999.9)

字段10:地球椭球面相对大地水准面的高度

字段11:差分时间(从最近一次接收到差分信号开始的秒数,如果不是差分定位将为空)

字段12:差分站ID号0000 - 1023(前导位数不足则补0,如果不是差分定位将为空)

字段13:校验值

$GPGSA

例:$GPGSA,A,3,01,20,19,13,,,,,,,,,40.4,24.4,32.2*0A

字段0:$GPGSA,语句ID,表明该语句为GPS DOP and Active Satellites(GSA)当前卫星信息

字段1:定位模式,A=自动手动2D/3D,M=手动2D/3D

字段2:定位类型,1=未定位,2=2D定位,3=3D定位

字段3:PRN码(伪随机噪声码),第1信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

字段4:PRN码(伪随机噪声码),第2信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

字段5:PRN码(伪随机噪声码),第3信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

字段6:PRN码(伪随机噪声码),第4信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

字段7:PRN码(伪随机噪声码),第5信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

字段8:PRN码(伪随机噪声码),第6信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

字段9:PRN码(伪随机噪声码),第7信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

字段10:PRN码(伪随机噪声码),第8信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

字段11:PRN码(伪随机噪声码),第9信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

字段12:PRN码(伪随机噪声码),第10信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

字段13:PRN码(伪随机噪声码),第11信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

字段14:PRN码(伪随机噪声码),第12信道正在使用的卫星PRN码编号(00)(前导位数不足则补0)

字段15:PDOP综合位置精度因子(0.5 - 99.9)

字段16:HDOP水平精度因子(0.5 - 99.9)

字段17:VDOP垂直精度因子(0.5 - 99.9)

字段18:校验值

$GPGSV

例:$GPGSV,3,1,10,20,78,331,45,01,59,235,47,22,41,069,,13,32,252,45*70

字段0:$GPGSV,语句ID,表明该语句为GPS Satellites in View(GSV)可见卫星信息

字段1:本次GSV语句的总数目(1 - 3)

字段2:本条GSV语句是本次GSV语句的第几条(1 - 3)

字段3:当前可见卫星总数(00 - 12)(前导位数不足则补0)

字段4:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)

字段5:卫星仰角(00 - 90)度(前导位数不足则补0)

字段6:卫星方位角(00 - 359)度(前导位数不足则补0)

字段7:信噪比(00-99)dbHz

字段8:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)

字段9:卫星仰角(00 - 90)度(前导位数不足则补0)

字段10:卫星方位角(00 - 359)度(前导位数不足则补0)

字段11:信噪比(00-99)dbHz

字段12:PRN 码(伪随机噪声码)(01 - 32)(前导位数不足则补0)

字段13:卫星仰角(00 - 90)度(前导位数不足则补0)

字段14:卫星方位角(00 - 359)度(前导位数不足则补0)

字段15:信噪比(00-99)dbHz

字段16:校验值

$GPRMC

例:$GPRMC,024813.640,A,3158.4608,N,11848.3737,E,10.05,324.27,150706,,,A*50

字段0:$GPRMC,语句ID,表明该语句为Recommended Minimum Specific GPS/TRANSIT Data(RMC)推荐最小定位信息

字段1:UTC时间,hhmmss.sss格式

字段2:状态,A=定位,V=未定位

字段3:纬度ddmm.mmmm,度分格式(前导位数不足则补0)

字段4:纬度N(北纬)或S(南纬)

字段5:经度dddmm.mmmm,度分格式(前导位数不足则补0)

字段6:经度E(东经)或W(西经)

字段7:速度,节,Knots

字段8:方位角,度

字段9:UTC日期,DDMMYY格式

字段10:磁偏角,(000 - 180)度(前导位数不足则补0)

字段11:磁偏角方向,E=东W=西

字段16:校验值

$GPVTG

例:$GPVTG,89.68,T,,M,0.00,N,0.0,K*5F

字段0:$GPVTG,语句ID,表明该语句为Track Made Good and Ground Speed(VTG)地面速度信息

字段1:运动角度,000 - 359,(前导位数不足则补0)

字段2:T=真北参照系

字段3:运动角度,000 - 359,(前导位数不足则补0)

字段4:M=磁北参照系

字段5:水平运动速度(0.00)(前导位数不足则补0)

字段6:N=节,Knots

字段7:水平运动速度(0.00)(前导位数不足则补0)

字段8:K=公里/时,km/h

字段9:校验值

$GPGLL

例:$GPGLL,4250.5589,S,14718.5084,E,092204.999,A*2D

字段0:$GPGLL,语句ID,表明该语句为Geographic Position(GLL)地理定位信息

字段1:纬度ddmm.mmmm,度分格式(前导位数不足则补0)

字段2:纬度N(北纬)或S(南纬)

字段3:经度dddmm.mmmm,度分格式(前导位数不足则补0)

字段4:经度E(东经)或W(西经)

字段5:UTC时间,hhmmss.sss格式

字段6:状态,A=定位,V=未定位

字段7:校验值

时间: 2024-08-03 12:23:56

GPS-NMEA-8013协议的相关文章

GPS NEMA 0183协议

GPS NEMA 0183协议 一. NMEA0183标准语句(GPS经常使用语句) $GPGGA 例:$GPGGA,092204.999,4250.5589,S,14718.5084,E,1,04,24.4,19.7,M,,,,0000*1F 字段0:$GPGGA.语句ID.表明该语句为Global Positioning System Fix Data(GGA)GPS定位信息 字段1:UTC 时间.hhmmss.sss.时分秒格式 字段2:纬度ddmm.mmmm,度分格式(前导位数不足则补0

GPS(NMEA)数据解析

一.GPS定位信息 设置好gps模式,启动gps,正常的话在gps通路有NMEA数据上报,如下: $GPGSV,3,1,11,01,62,130,42,07,61,201,43,11,72,075,28,17,20,251,38*7A $GPGSV,3,2,11,30,63,272,44,03,00,149,,08,34,046,,13,05,309,*76 $GPGSV,3,3,11,22,08,127,,27,03,057,,28,34,312,*4C $GPGGA,042523.0,341

GPS格式标准

GPS接收机串行通信标准摘要 参考NMEA-0183 美国国家海洋电子协会(NMEA-The NationalMarine Electronics Association) 为了在不同的GPS导航设备中建立统一的RTCM(海事无线电技术委员会)标准,先后制定了NMEA-0180.0182和0183三个标准.0183可以认为是前两种的升级,也是目前使用最为广泛的一种.目前广泛采用的是Ver 2.00版本.现在除少数GPS接收机外,几乎所有的GPS接收机均采用了这一格式. 接口电平 符合NMEAO1

北斗/GPS

北斗/GPS都是用的nmea通用协议. NMEA-0183协议定义的语句非常多,但是常用的或者说兼容性最广的语句只有$GPGGA.$GPGSA.$GPGSV.$GPRMC.$GPVTG.$GPGLL等. GPRMC具体细节: /* Format $GPRMC,123519,A,4807.038,N,01131.000,E,022.4,084.4,230394,003.1,W*6A | | | | | | | | | | | | | | | | | | | *6A Checksum data |

基于GPS和3G的智能公交终端设计方案

终端linux内核网络linux嵌入式操作系统嵌入式 随着经济的发展,城市公交事业有了迅猛的发展,主要表现在:车辆变靓,站点增加,营运时间延 长,线路增多,市民出行时已感到这种可喜的变化.但随着生活节奏的加快,对生活品质要求的提高,乘客们早已不能满足于现有的服务质量.乘客的服务要求不仅 体现在乘车过程中,还体现在乘车前后:不仅需要有车乘,而且需要乘好车.好乘车.这些多层次.多元化的需求都是传统运营模式.调度方式所无法做到的,只有 智能公交系统的实施才能够从根本上解决这些问题.智能公交系统的实施,

(gps)gps搜星流程(下)

上一篇讲到了loc eng是如何把sv status(sv是satellite value,可以看做是卫星信息的简称)信息传递给android framework的,都是一系列callback而已,本文需要讲的是sv status信息如何从modem层(由于QMI层是高通的ap跟modem的通信机制,不需要我们来处理,所以我这里把QMI+modem统称为modem层,可能不准确,但是大家理解了就行)传递到loc eng层. loc eng层的sv status信息是通过sv_status_cb函

路径规划(1)--连接GPS接收端

从淘宝上入手的GPS接收端U-BLOX M8N,带UART串口连接线. 一.打开树莓派上的UART串口通信 1.下载pi3-miniuart-bt-overlay.dtb,并将dtb文件拷贝到/boot/overlays/目录下 下载地址:http://pan.baidu.com/s/1qXS0hoK 2.编辑/boot目录下的config.txt文件,增加两行 sudo nano /boot/config.txt dtoverlay=pi3-miniuart-bt-overlay force_

【Android架构篇】之定位数据如何从GPS芯片到应用层(一)

Android:V4.2.2 Source Insight 写在前面 在漫长的Android源码编译等待过程中,想起之前写过一部分的Android定位实现的探究小品,于是继续探究. 注:代码都是片段化的代码,用来提纲挈领的说明问题. 定位的基础知识: 1.定位芯片和CPU之间通过串口进行通信 2.串口和CPU之间传输的是ASCII格式的NMEA(National Marine Electronics Association)信息,如: $GPGGA,092204.999,4250.5589,S,

qgis 源码学习

我已经编译出了qgis2.4的源码,进行了一些简单的二次开发,但是仍然感觉不爽,这么优秀的软件就单单在它上层做开发,太浪费了,我想学习qgis的源码的架构,顺便学习qgis的二次开发,为我将来的自己架构自己的软件吸取些经验. qgis的文档还是比较少的,并且1.0版本和2.0以上的版本差别很大,而中文的文档绝大部分针对1.0版本,如果照搬的话会导致编译出现问题.我以下的博文是边看编写. 1.qgis的源码文档如何找到? http://qgis.org/api/2.4/files.html 这里是

在ARM-linux上实现4G模块PPP拨号上网【转】

本文转载自:http://blog.csdn.net/zqixiao_09/article/details/52540887 在ARM平台上实现4G模块的PPP拨号上网,参考网上的资料和自己的理解,从一无所知到开发完成花了一周多.最后看到ARM板ping通www.baidu.com时甚是高兴,现将此过程整理如下.当然,除此之外要做的工作还有很多. 4G模块使用的SIMTECH 的SIM7100C,SIM7100C带有UART和USB接口,在考虑速度上我们使用USB接口和ARM进行通信.所以向Li