Ublox 初探--获取经纬度信息

本文介绍如何使用UbloxNEO-7GPS模块获取经纬度信息,并对比NMEA、RTCM3及UBX协议特点。通过配置UBX-NVA-POSLLH指令,实现了高效的数据获取。

先说一下主要是做了些什么,便于理解。

Ublox模块能获取到经纬度等信息,上电后便按照设定的数据格式通过既定的接口不停的往外吐数据(1Hz?)
我们要做的就是接收并解析这些数据来获得我们需要的数据。

工具资料分享

硬件环境:Ublox NEO-7 GPS
数据接口:USRT(查资料还看到可以用SPI的,传送门
协议分析:手边有一份协议分析的资料
测试软件:u-Center

我是怎么做的

目标是获取经纬度的参数。
百度到的大部分都是使用NMEA协议,找到NMEALIB的代码看了半天大概理解了这种协议的格式,感觉这种格式更适合于给人看,而不是给MCU做处理。
在U-center里面,View–Message View里面能看到和设置协议,输出格式等。
看到下面的UBX,便使用协议分析的文档看了一下UBX的数据格式,搜索能输出经纬度信息的指令,选中了UBX-NVA-POSLLH。
这里写图片描述
设置好需要的格式之后。
在UBX-CFG-CFG里选中Save current configuration,然后Send保存即可。

总结

对于NMEA,UBX,RTCM的理解:
NMEA:资料比较全,但数据量大,分析困难,适用于上位机X86
RTCM3:没接触..
UBX:比较灵活,适用于嵌入式平台,解析数据方便。

所给引用内容中未提及ublox neo - m8t的相关信息,不过可以从一般性的ublox GNSS模块知识来介绍ublox neo - m8t。 ### 详细介绍 ublox neo - m8t是u-blox公司推出的一款高性能GNSS模块。它通常具备多星座定位能力,可同时接收GPS、GLONASS、Galileo等多个卫星系统的信号,从而提高定位的精度、可靠性和可用性。在技术参数方面,它可能拥有较高的灵敏度,能够在复杂的环境下快速捕获和跟踪卫星信号;定位精度可达到数米级别甚至更高,具体取决于使用的卫星信号、环境条件以及辅助定位技术等。 在功耗方面,neo - m8t可能进行了优化设计,以满足低功耗应用的需求,适合一些需要长时间运行的设备,如物联网终端、可穿戴设备等。它还可能具备抗干扰能力,能够在有电磁干扰的环境中稳定工作。 ### 使用指南 #### 硬件连接 需要将ublox neo - m8t模块与开发板或主机设备进行连接。一般可通过串口、I2C等接口进行通信,具体的引脚连接需要参考模块和开发板的引脚定义。例如,将模块的TX引脚连接到开发板的RX引脚,以实现数据的传输。 #### 软件配置 使用相应的开发环境和库来对模块进行配置和控制。可以使用u-blox官方提供的配置工具或相关的开源库。对于Arduino开发环境,可能会有类似SparkFun u-blox GNSS Arduino库这样的工具,来简化模块的配置和数据获取过程,避免繁琐的NMEA数据解析,直接获取所需的坐标信息等[^1]。 #### 初始化与校准 在使用模块之前,需要对其进行初始化设置,如选择卫星系统、设置定位模式等。还可能需要进行校准操作,以确保模块能够准确地获取卫星信号和进行定位。 #### 数据读取与处理 通过编程的方式从模块中读取定位数据,如经纬度、海拔高度、速度等。然后根据具体的应用需求对这些数据进行处理,例如在地图上显示位置、计算行驶距离等。 ```python # 以下是一个简单的伪代码示例,用于从串口读取ublox模块的数据 import serial # 打开串口 ser = serial.Serial('COM3', 9600) # 根据实际情况修改串口号和波特率 while True: if ser.in_waiting: data = ser.readline().decode('utf-8').rstrip() print(data) ```
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值