最后更新:2022-03-23 14:58:47 手机定位技术交流文章
NMEA协议是一项相当频繁的全球定位系统通信协议,许多人对此有困难,只要与全球定位系统设备接触过的人或将使用全球定位系统设备进行开发的人知道这一点。
说起NMEA协议,只要你有GPS设备 应该没问题你已经知道如何操作GPS工具了这是一个广泛使用的全球定位系统通信协议。对NEMA的交易也有一些投诉。我忽然有一个想法,只是根据你自己对协议的一些解释我不知道我该怎么办, 但我不确定我会做任何事情。看看他们能否帮助刚来的人回答一些问题。由于笔者水平有限,这只能是一个粗略的概览 。就算是知识普及吧,我想邀请你们中最优秀的人 出来谈谈好了,言归正传,我们开始吧!
制作人通常定制全球定位系统装置和手持设备之间的数据传输格式。普通用户将难以理解定义。由各种品牌和类型的全球定位系统接收器配置的控制应用程序也因制造商而异。所以,对于无处不在的GPS应用来说数据标准标准标准标准格式的要求,解决与任何全球定位系统装置的交互作用。这些问题的一个答案是NMEA-0183数据标准。NMEA协议旨在将各种全球定位系统导航系统的RRTCM标准标准化。美国国家海洋电子协会(NMEA-国家海洋电子协会)发明了它。NMEA协议分为三类:0180、0182和0183。0183可用作前两类改进的参考。这是最受欢迎的节目之一
NMEA通信协议界定了以下标准通信界面参数:
4800比特/秒的港口费率;
数据位:8位;
停止位:1位;
奇偶校验:无;
NMEA-OI83声明的解释
NMEA通信协议中使用了ASCII代码。NMEA-0183 协议语句的数据格式如下:“$”作为语句的起始符号;“”作为域分隔符;“*”作为检查和标识符。支票的总和由下面的两个数字代表。表示“$”和“*”之间所有字符的字节或值(不包括这两个字);“/”是终止,此后,所有发言都不得不停止。换句话说,ASCII字母是“回转”(十六进制时为0D)和“线变”(十六进制时为0A)。
以下GPGA声明是一份共同的NMEA0183声明的一个例子。
当全球定位系统正常运行时,该短语如下:
$GPGGA,053152,3957.7484,N,11626.7626,E,1,06,1.5,88.1,M,-8.0,M,,*64
当全球定位系统未能获得卫星信号时,GPGA的语句结果如下:
$GPGGA,053247,3957.7484,N,11626.7626,E,0,00,,,M,,M,,*46
NMEAO183规则允许个别制造商指定以“$P”开头的私人声明表格,然后是三个字符长度的制造商识别号,然后是制造商提供的数据,然后是标准格式的同一数据格式。
例如,在Garmin,《保护海洋环境免受陆上活动污染公约》的私人形式如下:
$PGRME,8.9,M,6.1,M,10.8,M*11
私人格式由“P”表示, Garmin 代码由“ GRM” 表示, 语句类型由“ E” 表示。
在处理NMEA数据时密切注意。
如果建立基于全球定位系统的应用,全球定位系统必须作为一种信息来源,以便适当接收和解决全球定位系统提供的NMEA 0183数据,在现阶段,必须解决各种方案编制问题。
1、
通讯端口的设置
虽然NMEA标准表明“Portrate:4800;Odg Check:0;数据位置:8;停止位数:1”的系列通信设置,但某些制造商的产品允许用户配置更高的港口费率,必须注意按照全球定位系统设备为计算机设定界面参数。
2. 正确提取基本信息
NMEA-O183以声明的形式传输数据。接收人可以发送各种声明。我们需要的只是几句话因此,必须审查获得的数据。取得所需的信息。另外,除其他原因外,这可能是由于小数点位置的变化。声明的长度是灵活的。这不是唯一会发生在我们身上的事情, 但它是唯一会发生在我们身上的事情。
无法在语句中的字符位置搜索信件,只要使用逗号分隔符即可。这对于数据提取程序至关重要。我经常遇到一些软件开发商,在从 NMEA 语句中提取信息时,要考虑字符的长度。这样编出来的程序,通用性差,数据提取失败也经常出现问题。
为了处理适当的信息提取和更好地重新使用程序的问题,可以开发适当的功能,例如用于分别声明的功能(即,用美元来判断报表的标题,直到以破门而入的车辆完成声明)。
; a 函数,以计算语句中的字段数量(使用 `,' 分隔符的摘录语句字段)
,函数返回语句中给出的字段的内容。使用这三个函数,您可以很容易地提取您需要的信息,而您现在的工作只是比较字符串并显示格式变化。
检验和的计算与比较
3. 最后,为了确认所获得的全球定位系统数据的准确性,必须测试、计算和比较这些数据。
“$”和“*”之间所有字符的位数测试和结果并转换成十六进制(资本)四位数高,四位数低。为此,需编写函数,从报表标题“*”开始,计算检验和,在"*"到来之前不会发生这种情况。"*"之后的两个字符代表测试数字。与以下两个测试代码字符对比您的计算。若不同,按出错处理,并且运行;如果结果相同,则说明通讯成功,数据接收正确,可以处理该语句,提取所需数据。
这是NMEA-0183界面描述和数据格式的高级别概览。遗憾的是,篇幅限制妨碍了对NMEA声明的彻底审查。该语句可通过提及每个全球定位系统接收器的NMEA标准或指示加以扩展。我现在有一份关于NMEA协议文件的详尽描述, 以普通话写成,我可以使用。当然,不是所有的人。该手册是根据GARMIN的技术手册改编的。如果你想联系你哥哥 你可以在他的收件箱里留言
AKA根据自己对NMEA协议的解释写出这些线条,
本文由 在线网速测试 整理编辑,转载请注明出处。