原创 GNSS定位调试方法:稳准快轻松达成!

2025-6-18 12:53 20 0 分类: 物联网

遵循下面的科学步骤,即可系统性优化GNSS定位性能。本文详解每步操作,让您轻松获得稳定、精准、快速的定位效果。


 

一、定位相关基础知识


1.1 GPS工作原理简介

1)GPS技术的发展历程

全球定位系统(GPS)起初由美国国防部开发,用于提供精确的定位和导航信息。随着时间推移,它从军事应用扩展到商业和民间领域,实现了全天候、全球范围内的精确地理位置服务。

2)GPS系统组成

GPS系统主要由三个部分构成:太空中的卫星群、地面控制站和接收器。卫星负责发送信号,地面控制站监测卫星运行状态并进行数据修正,而接收器则用于接收信号并计算位置信息。

3)信号接收与定位计算

GPS接收器通过与至少四颗卫星的信号进行交差定位,借助卫星轨道数据、时间戳和用户位置等信息,使用三角测量法计算出接收器的精确位置、速度和时间。


1.2 不同地球坐标系的区别


1)WGS-84坐标系

国际标准,GPS坐标(Google Earth使用或者GPS模块)。即地球坐标系,国际上通用的坐标系。

设备一般包含GPS芯片或者北斗芯片获取的经纬度为WGS-84地理坐标系。谷歌地图采用的是WGS-84地理坐标系(中国范围除外,谷歌中国地图采用的是GCJ-02地理坐标系)。

2)GCJ-02坐标系

中国坐标偏移标准,Google Map、高德、腾讯使用。

GCJ-02坐标系即火星坐标系,WGS-84坐标系经加密后的坐标系。出于国家安全考虑,国内所有导航电子地图必须使用国家测绘局制定的加密坐标系统,即将一个真实的经纬度坐标加密成一个不正确的经纬度坐标。

3)BD-09坐标系

百度坐标偏移标准,Baidu Map使用,GCJ-02坐标系经加密后的坐标系。

 

- Air8000定位纠偏 -   

Air8000使用国际标准WGS-84坐标系,所以开发者在国内常见地图定位时,会发现与实际情况有几十米的误差。

这并非模块问题,而是国内地图采用了非标坐标系所致。国内常见地图如高德地图使用GCJ-02坐标系,百度地图使用BD-09坐标系。

因此开发者需要对Air8000输出的经纬度进行纠偏处理,才能在国内的地图上实现精确定位。

坐标系纠偏参考:http://www.openluat.com/GPS-Offset.html



二、GNSS报文格式


Air8000的GNSS输出数据报文,符合NMEA-0183标准格式。

NMEA(National Marine Electronics Association)是美国国家海洋电子协会制定的标准通信协议,旨在解决航海电子设备间的数据互通问题。其核心价值在于通过统一接口规范,实现不同厂商设备(如GPS、雷达、声呐)的兼容性,提升系统集成效率。


2.1  通用NMEA语句类型



2.2 NMEA语句格式


NMEA-0183协议采用ASCII码来传递GPS定位信息,我们称之为帧。

帧格式形如:$aaccc,ddd,ddd,…,ddd*hh(CR)(LF)

“$”:帧命令起始位;

aaccc:地址域,前两位为识别符(aa),后三位为语句名(ccc);

ddd…ddd:数据;

“*”:校验和前缀(也可以作为语句数据结束的标志);

hh:校验和(check sum),$ 与*之间所有字符 ASCII 码的校验和(各字节做异或运算,得到校验和后,再转换 16 进制格式的 ASCII 字符);

(CR)(LF):帧结束,回车和换行符。


核心语句和字段解析可参考下方扩展知识:



三、GNSS测试环境


有部分用户,需要测试Air8000内部GNSS的稳定性,但因为Air8000的UART2(也就是GPS对应的串口)RX不能直接和外部通讯,只能通过Cat.1主控给它发指令控制。

所以使用我们提供的测试工具,不能直接测试100次或者1000次冷热启动,需要使用Lua脚本控制模块对接PC端测试工具。如果只是想看看CN值、当前位置,那可以直接接UART2的TX出来对接PC端工具。

软件环境及最新实操教程详见:

https://docs.openluat.com/air8000d/luatos/app/gnss/gps_debug/  

本文主要讲解硬件环境及测试工具相关要点,后续会分享测试工具的详细用法。

 

3.1 硬件环境

 

1)主要硬件准备

Air8000核心板+GPS天线套件;

支持数据传输的USB数据线;

TTL转USB工具;

Win10及其以上PC电脑。

2)接线要点说明

核心板套件组装好连接USB数据线,将TTL转USB连接到Air8000核心板的UART2上面。

 

需要注意的是需要将TTL转USB的RX与核心板UART2的RX连接,TX与和核心板UART2的TX相连接(这是因为GPS芯片串口与Cat.1芯片的串口是交叉相连的)。

连接好后如下图所示:


3.2 GNSS PC端测试工具


1)工具下载链接

https://docs.openluat.com/air8000d/luatos/app/gnss/gps_debug

下载好的GNSS PC端测试工具为一个压缩包,需要解压后打开如图所示EXE文件:


2)测试工具使用要点

打开测试工具后,可以看见如下界面:


选择左上角的“打开串口”后,选择对应的端口号以及波特率即可,Air8000的GPS对应的波特率为115200。其他的不用管,默认即可。

打开端口后,等待片刻,即可看见模块定位成功输出的位置信息以及其他信息,左上角为NMEA原始数据,下面的均为从NMEA数据中解析出的各种信息(注:此处地图视图需要电脑链接网络,才可找到对应经纬度的坐标)。

如果没有输出经纬度:则证明GNSS未打开,需要检查脚本 GPS电源是否打开,如果长时间没有定位成功,可以参考教程“Air8000无法定位情况分析”进行排查。

如果连接成功,则可以看到下面的现象:



测试工具更多操作详见:https://docs.openluat.com/air8000/luatos/app/gnss/gnss_test/

 

今天的内容就分享到这里了~

PARTNER CONTENT

文章评论0条评论)

登录后参与讨论
我要评论
0
0
关闭 站长推荐上一条 /4 下一条