【随手笔记】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

实战指南 | 利用TSMaster的C小程序实时监控DBC报文发送周期

本文提供了一份利用TSMaster的C小程序实时监控DBC报文发送周期的实战指南。通过创建用户变量、编写C小程序核心逻辑并关联图形模块,工程师可以直观地可视化关键报文(如ID 0x64)的发送间隔,从而快速发现周期异常,提升汽车电子开发和测试中总线问题定位的效率与实时性。

weixin_29178069的博客 418

PLSQL Developer新手必看:如何避免安装过程中的常见坑

本文为PL/SQL Developer新手提供了详尽的安装与配置避坑指南。从版本选择、注册码使用、汉化包安装到Oracle客户端连接配置,逐一解析常见问题并提供解决方案,帮助开发者快速搭建稳定的PL/SQL开发环境,顺利开启Oracle数据库编程工作。

g9h0i1的博客 653

深入解析CRC16查表法:从原理到Modbus协议实践

本文深入解析了CRC16查表法的核心原理与实现,重点阐述了其“空间换时间”的优化思想。通过对比直接计算法,详细说明了查表法如何通过预计算表格将计算速度提升数十倍,并提供了完整的Modbus CRC16查表法代码生成、解析及实战避坑指南,帮助开发者在嵌入式及工业通信场景中高效实现可靠的数据校验。

weixin_29166013的博客 555

【华为OD机试】真题A卷-Linux发行版的数量(Python)

【华为OD机试】真题A卷-Linux发行版的数量(Python):Linux操作系统有多个发行版,distrowatch.com提供了各个发行版的资料。这些发行版互相存在关联,例如Ubuntu基于Debian开发,而Mint又基于Ubuntu开发,那么我们认为Mint同Debian也存在关联。 发行版集是一个或多个相关存在关联的操作系统发行版,集合内不包含没有关联的发行版。给你一个nxn的矩阵isConnected,其中isConnected[i][i]=1表示第i个发行版和第j个发行版直接

u014481728的博客 944

将指定文件夹下每张用LabelImg标注的图片中标注部分抠出来保存到指定文件夹下。

将指定文件夹下每张用LabelImg标注的图片中标注部分抠出来保存到指定文件夹下。

weixin_44119674的博客 440

x2-DFD:A framework for explainable and explainable deepfake detection

该文章提出了X2-DFD框架,用于可解释和可扩展的深度伪造检测。通过评估大型多模态语言模型(MLLMs)在深度伪造检测中的内在能力,发现它们在不同伪造相关特征上的有效性各异。基于此,实施了针对性的微调策略,显著提高了MLLMs的解释能力,并整合了外部深度伪造检测器(EDDs),以结合MLLMs和传统检测器的互补优势,实现更好的检测和解释。

志在山顶的人,不会贪念山腰的风景 510

【树莓派安装Homeassistant及基本配置】

时隔一年,我又重新开始玩Homeassistant,发现其中奥妙无穷,惊喜不断。在我浅薄的认知中要学好嵌入式,必须玩过Homeassistant,并且玩出自己的名堂!因为这是最贴切实际的生活应用没有之一,每月更新使得唯有活水来;拥抱大千使得永葆青春的活力;鬼斧神工的操作精彩纷呈,可以堪称软件与硬件的完美落地!

vor234的博客 1万+

Allegro如何画Photoplot_Outline操作指导

在用Allegro进行PCB设计的时候,最后进行光绘输出前,Photoplot_Outline是必备一个图形,所有在Photoplot_Outline中的图形将被输出,Photoplot_Outline以外的图形都将不被输出。如何绘制Photoplot_Outline,具体操作如下。如何画Photoplot_Outline操作指导。

weixin_54787054的博客 2636

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

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

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

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: 【随手笔记】单片机内存
下一篇: 【随手笔记】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、付费专栏及课程。

余额充值