基站/Wi-Fi/GPS定位相关示例来咯~记得收藏!!

电子说

1.3w人已加入

描述

在现代科技飞速发展的今天,定位技术已成为我们生活中不可或缺的一部分。今天特别分享定位相关示例。

 

一、基站/Wi-Fi/GPS定位示例

本文将通过基站/Wi-Fi/GPS定位具体应用示例教程,教你使用Air201来实现定位服务,在实际开发中可根据具体情况灵活应用。

▼ 定位示例主要内容 ▼
 

免费版本基站定位:

烧录示例demo,通过lbsLoc2.request接口发起请求,进行单基站定位。

收费版本Wi-Fi+基站混合定位:

烧录示例demo,通过airlbs.request接口发起请求,上报基站和Wi-Fi,进行混合定位。

GPS定位:

烧录示例demo,实现GPS定位。

 

接下来,我们详细讲解应用示例的具体操作。

2.1 搭建环境

可以在LuaTools项目管理中新建一个项目,重新选择底层CORE和脚本;或者在原有项目的基础上,不更换CORE,将原来的脚本删除,添加为所需的定位功能脚本。

2.1.1 硬件准备:

Air201 PCBA

配套USB_BOOT小板

可正常上网的SIM卡

带有数据通信功能的数据线

Win10及以上PC

2.1.2 软件准备:

LuaTools调试工具:

https://docs.openluat.com/Luatools

最新固件:https://gitee.com/openLuat/LuatOS-Air201/tree/master/core

最新脚本:

GPS定位:

https://gitee.com/openLuat/LuatOS-Air201/blob/master/demo/gps_lbs_wifi/gnss.lua

免费版本基站定位:

https://gitee.com/openLuat/LuatOS-Air201/blob/master/demo/lbsLoc2/main.lua

付费版本基站定位:

https://gitee.com/openLuat/LuatOS-Air201/blob/master/demo/airlbs/main.lua

2.1.3 烧录操作:

由于Air201单板子没有复位键和BOOT键,所以数据线与Air201开发板之间还需要接一个USB_BOOT小板(Air201套件里已包含)。

将Air201通过USB_BOOT小板连接电脑,如下图所示:

gps


1)根据下方操作进行烧录

此时就需要大家先点击Luatools工具上的【下载脚本】或【 下载底层和脚本】,再执行下方操作了。

新同学请先学习LuaTools使用和烧录教程:

https://docs.openluat.com/Luatools/

开发板处于未开机状态:

此时先按住下载模式按键(BOOT键)不放,再长按开机键(POW键)开机。若不出意外开发板将会进入下载模式,LuaTools工具下载进度条会开始跑,这时便可以松开BOOT键和POW键,等到工具提示下载完成即可。

开发板已经处于开机状态:

此时可以先按住BOOT键不放,再短按复位键(RST键)后开发板会重启并进入下载模式。

2)不同模式下的端口显示

正常开机模式:

gps

下载模式:

gps


2.2 示例代码

了解Air201的GPS定位、免费版本基站定位、付费版本基站定位示例代码之前,请注意:

免费版本基站定位为:单基站定位;

付费版本基站定位分为两种:

多基站定位、Wi-Fi+基站混合定位。

相对于免费的单基站定位服务来说,付费版本的基站定位方式精度更高。

 

▼ GPS定位示例 ▼
 

代码介绍:

1)打开GPS的供电和复位引脚。

gps

02)开机后初始化一些GPS和打印数据的端口,清空一下历史定位数据,设置端口参数,更新星历,绑定端口。

gps

03)订阅GNSS状态,GNSS有两种状态:FIXED-定位成功和LOSE-定位丢失。

gps

04)写入星历,即AGPS辅助定位。

gpsgpsgpsgps

运行结果展示:

定位成功后,获取位置字符串。

gps


▼ 免费版本基站定位示例 ▼

免费版本仅支持单基站定位,若需要更精准的定位服务,请查看付费版本多基站定位或GPS定位。

代码介绍:

gps

运行结果展示:

返回的经纬度信息如下图红框所示:

gps


▼ 付费版本多基站定位示例 ▼

代码介绍:

gps

运行结果展示:

返回的经纬度信息如下图所示:

gps


▼ 付费版本Wi-Fi + 基站混合定位示例 ▼

受限于模组设计,在使用Wi-Fi扫描时候,4G数据传输较慢丢包概率较大,所以尽量在Wi-Fi扫描完毕后,再进行数传工作。

代码介绍:

01)初始化:

等待联网,初始化wlan,扫码Wi-Fi频段。

gps


02)Wi-Fi + 基站混合定位:

Wi-Fi扫描成功后,通过airlbs.request发送定位请求,进行混合定位。

gps

运行结果展示:

本示例采用Wi-Fi + 多LBS混合定位,使用airlbs.request接口,上报基站和Wi-Fi信息,进行混合定位。

开通付费服务后,会显示附近多个基站定位信息,基站定位成功后返回获取到的经纬度信息。

如下图所示:

gps


二、基站/Wi-Fi/GPS定位常见问题

2.1 基站定位精度如何?

搜索到的小区越多,定位的精度越高;一般来说,城市中心定位精度比郊区和农村定位精度高,城市中心的定位精度在几十米到几百米不等,郊区和农村的定位精度更低,可能会有几千米甚至更多的误差。

通过多小区定位,将实时搜索到的所有小区同时上报给后台参与定位,基站定位的误差都比较大。如果需要准确定位,请使用GPS定位。

2.2 官方的基站定位能在国外使用吗?

不能,没有国外的基站数据库。

2.3 为什么基站定位失败?

1)后台基站数据库查询不到所有小区的位置信息;

在LuaTools脚本日志中向上搜索mcc,mnc,lac,ci:

gps

然后在电脑浏览器中打开:定位查询网站bs.openluat.com,手动查找mcc,mnc,lac,ci后的所有小区位置。

gps

如果手动可以查到位置,则服务器存在BUG,直接向技术支持人员反映问题;如果手动无法查到位置,则基站数据库还没有收录当前设备的小区位置信息,向技术支持人员反馈,我们会尽快收录。

2)达到了总的QPS限制数量。

2.4 基站/Wi-Fi定位定位获取的经纬度是什么格式的?

基站定位获取的经纬度为WGS-84格式,各种坐标系说明以及转换方法请网上搜索坐标系在线转换工具即可查询。

2.5 GPS定位经纬度不准确是什么原因?

坐标没有纠偏,GPS定位输出的坐标为WGS84坐标系,请网上搜索坐标系在线转换工具进行纠偏;

周围有比较高的障碍物,会导致定位误差;

在开阔地带,正常情况下定位精度只能做到5米;

不能在室内测试,必须到室外测试;如果只能在室内测试,可以搜索"GPS信号转发器"。

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

审核编辑 黄宇

打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分