还在为GNSS定位的复杂代码头疼?exgnss扩展库为你扫清障碍!它提供简洁的接口和高效的工具链,从信号捕获到坐标解析一气呵成,开发效率直线飙升。
一、exgnss库的三种应用模式
exgnss库提供三种比较经典的应用模式,可根据实际项目需求灵活运用。
应用模式1:exgnss.DEFAULT
打开gnss后,gnss定位成功时,如果有回调函数,会调用回调函数;
使用此应用模式调用exgnss.open打开的“gnss应用”,必须主动调用exgnss.close;
或者exgnss.close_all才能关闭此“gnss应用”,主动关闭时,即使有回调函数,也不会调用回调函数。
通俗点说就是一直打开,除非自己手动关闭掉。
打开gnss后,如果在gnss开启最大时长到达时,没有定位成功,如果有回调函数,会调用回调函数,然后自动关闭此“gnss应用”;
打开gnss后,如果在gnss开启最大时长内,定位成功,如果有回调函数,会调用回调函数,然后自动关闭此“gnss应用”;
打开gnss后,在自动关闭此“gnss应用”前,可以调用exgnss.close或者exgnss.close_all主动关闭此“gnss应用”。主动关闭时,即使有回调函数,也不会调用回调函数。
通俗点说就是设置规定时间打开,如果规定时间内定位成功就会自动关闭此应用;如果没有定位成功,时间到了也会自动关闭此应用。
应用模式3:exgnss.TIMER
打开gnss后,在gnss开启最大时长时间到达时,无论是否定位成功,如果有回调函数,会调用回调函数,然后自动关闭此“gnss应用”;
打开gnss后,在自动关闭此“gnss应用”前,可以调用exgnss.close或者exgnss.close_all主动关闭此“gnss应用”。主动关闭时,即使有回调函数,也不会调用回调函数;
通俗点说就是设置规定时间打开,无论是否定位成功,到了时间都会自动关闭此应用;
和模式2的区别在于定位成功之后不会自动关闭,到时间之后才会自动关闭。

二、exgnss库应用示例
本文以Air8000整机开发板为例,分享exgnss库的三种应用模式应用要点。
最新源码下载及实操教程详见:https://docs.openluat.com/air8000/luatos/app/gnss/exgnss/
1. main.lua
主要用于加载exgnss扩展库,加载gnss代码。


2. gnss.lua
主要操作如下:
开启协程,运行gnss_fnc函数,通过exgnss.setup(gnssotps)配置gnss的参数,通过exgnss.open开启三种不同的应用。
等待40秒使用exgnss.close关闭TIMER模式,使用exgnss.close需要两个参数,第一个是exgnss应用模式,第二个是tag标签。
然后利用exgnss.is_active查询三种应用模式是否处于激活模式,查询应用是否处于激活状态同样需要两个参数,第一个是exgnss 应用模式,第二个是tag标签。
等待10秒使用exgnss.close_all关闭全部应用模式,再次查询三种模式是否处于激活模式。
然后使用xgnss.last_loc,获取最后一次的定位经纬度数据打印。
定位成功之后:
使用subscribe订阅"GNSS_STATE"消息,根据获取到的值判断是否定位成功,定位成功用exgnss.rmc获取rmc数据。



3. 示例效果展示
Air8000开发板通过LuaTools烧录内核固件和demo脚本代码,烧录成功后开机运行,查看示例运行结果。


4. 使用纠偏网站进行定位纠偏
所有的GNSS功能的坐标系均使用国际标准WGS-84坐标系,所以开发者在国内常见地图定位时,会发现与实际情况有几十米的误差。
这并非模组问题,而是国内地图采用了非标坐标系所致。
国内常见地图如高德地图使用GCJ-02坐标系,百度地图使用BD-09坐标系,故此开发者需要对模组输出的经纬度进行加偏处理,才能在国内的地图上实现精确定位。
定位纠偏网站:
http://old.openluat.com/GPS-Offset.html

今天的内容就分享到这里了!
审核编辑 黄宇
-
物联网
+关注
关注
2939文章
47311浏览量
407567 -
定位
+关注
关注
5文章
1552浏览量
36511 -
GNSS
+关注
关注
9文章
947浏览量
50706
发布评论请先 登录
Air8000 LuatOS exgnss扩展库应用秘籍:定位开发避坑指南!
LuatOS下GNSS定位开发实战:初识定位、NMEA解码与位置追踪上报
基于X-NUCLEO-GNSS2A1 GNSS评估扩展板的完整技术指南
X-STM32MP-GNSS1 GNSS扩展板技术解析
基于X-NUCLEO-LIV4A1 GNSS扩展板的技术解析与应用实践
GNSS模组实战指南:3秒精准定位全揭秘!
从功能到优势:物联网低代码云平台,让智能应用开发变简单
GNSS 模块选频关键:u-blox、Sony 芯片推荐频率与 TCXO 配置指南
本地网站秒变公网可访问!开发者必备的内网穿透工具

告别代码迷宫!exgnss扩展库让GNSS定位开发秒变简单
评论