【随手笔记】GPS基础知识+模组使用

GPS数据格式的分析 GPS数据分析 阅读详情
AI摘要

本文详细解释了GPS的基本概念、卫星组成、定位方法(冷启动和AGPS)、坐标数据解读、NMEA-0183格式、GCJ-02坐标系、星历预测机制以及AT6556R模组的通信和数据解析。还提供了坐标查看的相关资源。

1. GPS基础知识

1. 方位的概念

  1. 上北下南,左西右东,表明方位
  2. 北 north
  3. 南 south
  4. 东 east
  5. 西 west
  6. 纬度 latitude
  7. 经度 longitude
    看懂方位才知道处于哪个位置

分不清经纬度的话简单记
经度长 long
108.924671

lat_value=34.359225
lon_value=108.924671

在这里插入图片描述
如图所示
横轴线为纬线,分为北纬和南纬
纵轴线为经线,分区东经和西经

2. gps是什么

GPS由24颗工作星和4颗备用星组成

在全球的任何地方、任何时间都可观测到4颗以上的GPS卫星
GPS终端收到卫星发送的数据,经解算即可确定当前位置,
并以NMEA0183格式,WGS-84坐标系输出数据

在这里插入图片描述

2.1 模组使用注意

  • 在无遮挡空旷地使用
  • 陶瓷天线上面的小圆点必须朝上
  • 楼间距小也可能定位失败

这是陶瓷天线

2.2 缩写标识

在这里插入图片描述

2.3 冷启动

定位模块上电开机后,通过天线搜索卫星,解析卫星发射的数据(导航电文),然后内部生成星历,再经过复杂的计算,从而得到当前精确的位置(3D Fix)。这个过程称之为“冷启动”。根据信号强度、芯片运算能力,通常耗时几十秒到几分钟不等
这个过程中,搜星+生成星历文件耗时最久

冷启动是指在一个默认的环境下启动GPS直到GPS和周围的卫星联系并计算出坐标
冷启动大概需要1-2分钟才会定位成功
在这里插入图片描述

2.4 AGPS辅助定位

是通过网络直接下载当前地区的可用卫星星历数据,并将之发送给定位模块,定位模块只搜索特定的卫星,从而提高了搜星速度,减少设备耗电

“AGPS辅助定位”能否提高定位精度?

不能,它只能加快定位速度。无法提升定位精度

2.5 读懂坐标数据

经纬度格式分为三种:度、度-分、度-份-秒

1.) ddd.ddddd °【度 . 度 格式】的十进制小数部分(5位)

2.) ddd°mm.mmm’ 【度 . 分 . 分 格式】的十进制小数部分(3位)

3.) ddd°mm’ss’’ 【度 . 分 . 秒 格式】

关系:
一度(°)等于60分钟(’)等于3600秒(“):
整度(d)等于十进制的度的整数部分(dd):
分钟(m)等于十进制的度的整数部分(dd)减去整数度(d)的60倍:
秒(s)等于十进制的度(dd)减去整数度(d)减分(M)除以60乘以3600:

Google使用的是第三种格式 : 度。分’秒’’

上面的经纬度坐标会看到那里呢?
度分转换:
将度分单位数据转换为度单位数据
度=度+分/60
例如:
经度 = 116°20.12’(度分)
纬度 = 39°12.34’
经度 = 116 + 20.12 / 60 = 116.33533°(度)
纬度 = 39 + 12.34 / 60 = 39.20567°

度分秒转换:
将度分秒单位数据转换为度单位数据
度 = 度 + 分 / 60 + 秒 / 60 / 60
例如:
经度 = 116°20’43”
纬度 = 39°12’37”
经度 = 116 + 20 / 60 + 43 / 60 / 60 = 116.34528°
纬度 = 39 + 12 / 60 + 37 / 60 / 60 = 39.21028°

模组输出的格式为度分格式
一般使用为度格式

输出格式:ddmm.mmmm(度-分)
日常使用格式:dd.dddddd(度)

ddmm.mmmm(度-分)
dd.dddddd(度)

转换公式:
ddmm.mmmm=
dd.mmmmmm(小数点前移2位)
dd.(mmmmmm/60)
结果是
dd.dddddd

2.7 GCJ-02 火星坐标系统纠偏

NMEA-0183输出格式和我们日常使用的格式不同

模块输出数据的格式为NMEA-0183,使用的坐标系是WGS-84
输出格式:ddmm.mmmm(度-分)
日常使用格式:dd.dddddd(度)

//国际原始坐标系
WGS-84
//中国坐标偏移标准(火星坐标系)
GCJ-02

模块输出数据的格式为NMEA-0183,使用的坐标系是WGS-84。通常,国际上其他国家的地图软件也都是使用WGS-84,相安无事。不过,中国国家测绘局要求所有从事地理测量、地图绘制的公司、单位机构、个人必须使用GCJ-02坐标系(G表示Guojia国家,C表示Cehui测绘,J表示Ju局)。

也就是说,国内的地图软件大都是使用的GCJ-02坐标系。所以开发者/用户如果将WGS-84的经纬度填入国内的地图软件,就会产生极大的偏差

(所有的电子地图、导航设备,都需要使用GCJ-02坐标系。第一步,地图公司测绘地图,测绘完成后,送到国家测绘局,将真实坐标WGS-84的电子地图,加密成“GCJ-02火星坐标”,这样的地图才是可以出版和发布的。第二步,所有的面向客户的设备厂商,要在软件中加入该转换算法,将定位模块输出的真实WGS-84坐标,转换成GCJ-02的坐标。这样一来,“以偏治偏”,坐标系才可以完全匹配,也就没有“偏差”了)

两者之间存在转换

公式如下:

ddmm.mmmm → 小数点前移两位 → dd.mmmm → dd + 0.(mmmm/60) = dd.dddddd

举例:

12023.4047 → 120.234047 → 120 + 0.(234047÷60) = 120.390078

在这里插入图片描述

2.8 什么是“星历预测”?

指在信号正常(CN值大于27)的情况下,硬件连续运行5-10分钟,即可在内部自动生成星历,并预测出未来2~3天的星历,此过程不需要耗费任何流量
实现“星历预测”这个功能,是有条件的:

1、星历被下载过一次(外部输入给GPS芯片星历文件,或者GPS芯片自主3D Fix)

2、GPS信号CN值不低于27

3、正常定位过一次;

4、RTC不掉电(当主电源断开后,只有RTC电源不断,星历预测功能才可以使用,RTC断开后星历预测功能将不再起作用)

2.9 分享

科普文章链接

参考文章1

参考文章2

参考文章3

2. ATGM336H模组

在这里插入图片描述
在这里插入图片描述

  • 模组内芯片是AT6558
  • 详细资料在官网

1. 通讯

使用串口通讯
NMEA0183 4.1 版本

国际标准 NMEA0183 协议
理解为航海协会的一个通用协议

在这里插入图片描述

2. 数据

在这里插入图片描述
NAME标准消息看需求,仅定位数据使用RMC即可

3.RMC

在这里插入图片描述

  • 解析注意协议中重要参数

/*
 * RMC数据解析
 */
uint8_t gps_rec_data_parse(uint8_t *data)
{
   
   
	uint8_t *data_p = data;
	uint32_t value1 = 0;
	uint32_t value2 = 0;

	LOG_OUT("$GNRMC rec ok\r\n");

	if(*(data_p+18) == 'A')//数据有效
	{
   
   
	    //取出数据
		gps_data.data_valid = 'A';
		memcpy(gps_data.latitude, data_p+20, 10);
		gps_data.lat_n_s = *(data_p+31);
		memcpy(gps_data.longitude, data_p+33, 11);
		gps_data.lon_e_w = *(data_p+45);

		LOG_OUT("%c\r\n", gps_data.data_valid);
		for(uint8_t t=0; t<10; t++)
		{
   
   
			gps_data.latitude[t] -= '0';
			LOG_OUT("%d-", gps_data.latitude[t]);
		}
		LOG_OUT("-%c\r\n", gps_data.lat_n_s);

		for(uint8_t t=0
GPS测量中涉及的坐标系 文章目录一、天球坐标系1、岁差2、章动3、天球坐标系二、地球坐标系1、极移2、瞬时地球坐标系3、协议地球坐标系 一、天球坐标系 物体在空间的位置、运动速度和运动轨迹等都需要在一定的坐标系中来加以描述。 1、岁差 由于天球赤道和天球黄道的长期运动而导致的春分点(天球赤道和天球黄道的一个交点)的进动(进动指一个自转的物体受外力作用导致其自转轴绕某一中心与自转方向相同的旋转)称为岁差。其中由于天球赤道的长期运动而引起的岁差称为赤道岁差,天球黄道长期运动而产生的岁差称为黄道岁差。 (1)赤道岁差 由于太阳、月球以 阅读详情

相关推荐

【杂项】常见的坐标系及其使用方法

这篇文章介绍了常见的坐标系分类

Bl_a_ck的博客 8227

gps l1带宽_一文看懂北斗GPS双模射频接收模组的设计与实现

当前,北斗导航系统在大众层级中的普及应用有一定难度, 相对于GPS 的市场占有率,走北斗/GPS 双模兼容之路不失为一种策略。为此本文提出了北斗/GPS 双模兼容射频接收模组的设计方案, 并详述了具体的设计经验, 方案可以满足用户对高定位精度的需求[ 1-2]。本文采用双MAX2769 芯片的设计方案, 芯片的工作性能比普通国产多模RFIC 好, 成本也远小于国产的相关射频接收模组。另外本文阐述的...

weixin_39942726的博客 1585

基于Arduino的GPS与单片机通信 GPS与PC机的通信

转载请注明出处:http://blog.youkuaiyun.com/lxk7280   使用到的主要材料:                   1.VK16E GMOUSE GPS模组 SIRF3芯片 陶瓷天线 TTL信号 9600波特率  型号:VK16E 主芯片:SiRF Ⅲ C/A 码,1.023MHz码流 接收频段:L1 [1575.42MHz] 跟踪通道:20个 支持D

lxk7280的专栏 9952

【Linux】从4G模组EC20中获取GPS信息

又又又又一次遇到采集GPS并解析的项目,稍稍整理下,分享给AI^V^

郭老二 2761

全志平台ap6476模组 GPS功能调试记录

1. 前言 全志平台ap6476模组 gps功能调试 2. android定位服务框架 Android上可通过gps、wifi或电话基站进行定位,g ps能提供最精准的定位但定位需要的时间是最多。 Android的定位服务框架图如图: 由应用至实际的数据接收,可把服务框架划分为五层: 应用层,android.location包中包含的内容,以Java语言提供的API; 框架层,包含系统服务的实现,主要由Java语言实现; 共享库层,由C以及C++语言实现,框架层与共享库层使用.

jzwjzw19900922的博客 832

GPS坐标与百度坐标的转换技术指南

GPS(全球定位系统)是利用卫星进行位置信息的捕捉,其工作原理涉及到卫星信号的捕获与跟踪。让我们深入到这个话题中,探讨其细节和背后的技术。WGS84,即世界大地测量系统1984(World Geodetic System 1984),是国际上广泛使用的全球定位系统(GPS)的基础坐标系。它是一个地心坐标系,意味着坐标原点位于地球质心。WGS84坐标系采用国际单位制,使用的是经纬度表示方法,经度范围为-180°到+180°,纬度范围为-90°到+90°,它们分别表示东西位置和南北位置。

weixin_42181686的博客 2790

COMSOL仿真避坑指南:列管反应器模拟中多孔介质与化学反应设置的5个常见错误

本文详细解析了COMSOL仿真中列管反应器模拟的5个常见错误,包括多孔介质模型选择、化学反应接口配置、对流扩散方程处理、薄层热阻设置及网格独立性验证。特别针对多孔介质与化学反应设置的误区,提供了实用的判断标准和修正方法,帮助工程师避免计算偏差,提升仿真精度。

weixin_29597551的博客 324

PredFormer实战:用Transformer搞定交通流量预测(附TaxiBJ数据集代码)

本文详细介绍了如何利用PredFormer这一基于Transformer的先进模型进行交通流量预测,特别针对TaxiBJ数据集提供了完整的实战代码和优化策略。PredFormer通过门控Transformer块(GTB)的创新设计,在时空预测任务中展现出显著优势,相比传统方法将MSE降低33.1%,推理速度提升4.4倍。文章还涵盖了模型轻量化、部署优化等实用技巧,为智慧城市建设中的交通预测提供了高效解决方案。

weixin_29194817的博客 447

手把手教你用ROS2 Humble给PX4无人机写个“画圆”程序:从C++代码到Gazebo仿真全流程

本文详细介绍了如何使用ROS2 Humble和PX4飞控实现无人机圆形轨迹控制,涵盖从环境配置、Gazebo仿真到C++代码实现的完整流程。通过实战教程,读者将掌握轨迹跟踪仿真的核心技术,包括ROS2与PX4的通信接口、圆形轨迹算法设计及Gazebo仿真调试技巧。

weixin_29056781的博客 257

【大模型】大模型知识蒸馏 综述解读(Knowledge Distillation of Large Language Models)

知识蒸馏的(论文)方法总结。归纳了通过数据(如指令、对话、多模态)和训练方法(SFT、RL、数据增强),将复杂技能(如对齐、工具使用、多模态)蒸馏到开源模型的核心框架,附典型模型示例(如Alpaca、LLaVA)。

songxia928_928的博客 4336

46、大数据助力SDN优化流量管理与控制器

本文探讨了大数据在软件定义网络(SDN)中的应用,重点分析了如何利用大数据技术优化SDN控制器的可扩展性和弹性。通过介绍SDN控制器的核心功能及其面临的挑战,提出了集中式、分布式、混合式和分层式控制器放置策略,并结合大数据分析系统架构与技术,详细阐述了在控制器放置优化、流聚合和备份路径识别等场景中的实际应用。文章还给出了大数据分析在SDN控制器优化中的操作流程与优势,展望了未来结合人工智能与物联网的发展方向,强调了数据安全与算法效率的重要性。

xx56789的博客 86

❤️爆肝十二万字《python从零到精通教程》,从零教你变大佬❤️(建议收藏)

文章目录强烈推荐系列教程,建议学起来!!一.pycharm下载安装二.python下载安装三.pycharm上配置python四.配置镜像源让你下载嗖嗖的快4.1pycharm内部配置4.2手动添加镜像源4.3永久配置镜像源五.插件安装(比如汉化?)5.1自动补码神器第一款5.2汉化pycharm5.3其它插件六.美女背景七.自定义脚本开头八、这个前言一定要看九、python入门十、python缩进十一、Python注释1.单行注释2.多行注释十二、Python 变量1.变量定义理解2. 变量名命名3. 分

全栈川川 26万+

【vsomeip3 教程】基于 vSomeIP 3.5 的路由域实践:从配置到运行状态的完整指南

___ > 前言(读者定位与准备) 目标读者:在 Linux 上做分布式/车载中间件通信的 C++ 工程师。 > 先决条件:CMake、Boost 基础;理解 TCP/UDP 与多进程通信。 > 文中术语:Routing Host(路由进程)、Application、Service/Instance、Method、Event/EventGroup、SOME/IP-SD。 > 演示环境:单机多进程 & 跨主机两套对照。

探索C++编程的奥秘,分享深入的技术见解和实践,旨在激发读者创造力与解决问题的思维。 1160

39-Halcon-- fit_primitives_object_model_3d函数功能(从3D数据中提取几何基元)

Halcon算子fit_primitives_object_model_3d工业应用精要 该算子专为3D几何特征提取设计,支持平面、球体、圆柱等基元拟合。核心优势: 参数化输出:返回几何元素的数学参数(如平面方程、球心半径) 智能控制:通过max_dist、min_size等参数调节拟合精度 工业场景适配:针对薄壁件、孔系等提供专用优化方案 典型应用流程: 数据预处理(点云降噪/采样) 基元类型与参数设置 多阶段拟合(先平面后圆柱) 几何精度验证 误差控制在0.1%-1.2%范围内(视点云密度而定),适用于

weixin_45590420的博客 1161

SIMATIC S7-1200, S7-1500 PID 控制[手册]

SIMATIC S7-1200, S7-1500 PID 控制[手册]

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

上一篇: 【随手笔记】单片机内存
下一篇: 【随手笔记】EEPROM之AT24C512
Long-Run
博客等级 码龄3年 4602粉丝 85原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值