基站&WIFI定位
作者:拓毅恒
一、基站/wifi/GPS 定位概述
在学习基站 WIFI 定位 AT 指令之前,我们先来了解一下常用的三大定位原理。
1.1 基站定位原理
基站定位也就是"LBS 定位",全称是 Location Based Service,它包括两层含义:首先是确定移动设备或用户所在的地理位置;其次是提供与位置相关的各类信息服务。意指与定位相关的各类服务系统,简称"定位服务"。
模块正常联网后,搜索并上报周围的基站信息, 上报到服务器后, 服务器根据三角定位法, 估算出一个大概的坐标,最后返回计算出来的经纬度给模块。
1.2 WIFI 定位原理
WIFI 定位的原理和基站定位原理类似,搜索并上报附近的 WIFI 信息, 上报到服务器后, 服务器根据三角定位法, 估算出一个大概的坐标,精度在 50~500 米不等。
1.3 GPS 定位原理
GPS 不限制终端数,在 GPS 卫星信号不被阻挡的情况下,在地球上任何地点、任何时间,任何 GPS 终端都可以得到正确的位置和时间。定位只需要一个条件,那就是能够接收到足够多的卫星信号。因此在室内通常无法定位。
二、免费和收费服务区别
在过去的时间里,合宙为您提供了免费的单基站(LBS)定位服务,为您创造了重要价值。
但是由于单基站定位技术本身的原因,无法提供相对精准的定位服务。
在产品不支持 GPS 功能的情况下,为了满足部分用户更精准的定位需求,合宙现在已推出了多 LBS/WIFI 定位收费服务,相对于免费的单 LBS 定位服务来说,定位精度更高。
2.1 免费服务
1. 免费服务仅支持单基站定位,无 wifi 定位, 使用旧的后台接口,只使用合宙的基站位置数据库,当前请求频率限制:2 分钟最多 1 次。
2. 超过频次的定位请求均会返回定位失败。返回错误码,不包含位置信息。
2.2 收费服务(开发中......)
在产品不支持 GPS 功能的情况下,为了满足部分用户更精准的定位需求,合宙现在正式推出了多 LBS/WIFI 定位收费服务,相对于免费的单 LBS 定位服务来说,定位精度更高。
收费服务有两种,一种是直接使用合宙的基站 WIFI 位置数据库,一种是直接使用高德的基站 WIFI 位置数据库;
这两种服务的主要区别是:
合宙数据库可能没有高德数据库的位置信息全;
虽然可能不是很全,但是合宙数据库每天都会自动收集更新新的位置信息到数据库中;
如果在位置的精准度和收费成本上,做个权衡,可以选择合宙数据库的收费服务;
如果对成本不敏感,对位置的精准度要求很高,可以选择高德数据库的收费服务;
1. 合宙数据库
注意:暂不支持。
相比与免费版的优势:支持多基站和 WIFI 定位,定位精度高
使用合宙数据库,根据请求频率限制,收费价格表如下:
每小时请求次数限制
每次请求间隔限制
单台设备年费(元)
12
至少 5 分钟
1 元
24
至少 2.5 分钟
2 元
60
至少 1 分钟
5 元
240
至少 15 秒
10 元
2. 高德数据库
注意:暂不支持。
相比与免费版的优势:支持多基站和 WIFI 定位,不请求合宙数据库,直接请求高德数据库,定位精度更高。
使用高德数据库,根据请求频率限制,收费价格表如下:
每小时请求次数限制
每次请求间隔限制
单台设备年费(元)
12
至少 5 分钟
10 元
24
至少 2.5 分钟
20 元
60
至少 1 分钟
50 元
3. 收费服务开通
在 iot 平台开启付费服务 iot.openluat.com
注:当前后台还未支持新的开启收费服务的前端自主缴费功能,待后续补充,目前如需开通收费服务,需告知合宙销售要开通的 iot 账号和设备 IMEI 列表,与合宙销售同事对接商务流程。
4. 查看已经开通的收费业务
首先登录平台 iot.openluat.com,点击 LBS 服务
进入后我们可以在我的订单中查看已开通的收费服务
三、本教程实现的功能概述
1. 基站定位。
2. WIFI 定位。
四、准备硬件环境
在介绍本功能示例之前,需要先准备好以下硬件环境。
本文章使用 Air780EG 核心板做演示;
参考:硬件环境清单,准备以及组装好硬件环境。
五、准备软件环境
在介绍本功能示例之前,需要先准备好以下软件环境。
本文章使用到工具:Luatools 下载工具,SSCOM测试工具;
1. Luatools工具;
2. SSCOM 串口通信工具;
3. 本教程使用的AT固件版本号是:AirM2M_780EG_V1174_LTE_AT,如果版本号不正确,参考:固件版本确认和烧录检查确认。
六、使用方法举例
6.1 确认开发板正常开机并联网正常
通过 Luatools 烧录过固件后可以通过打印来判断设备情况,具体参考下图:
6.2 基站定位和 WIFI 定位所需相关指令
点击链接查看合宙 4G 模组网络服务指令
6.3 基站定位操作(免费)
网络连接成功后,打开 SSCOM 来进行基站定位。
AT //训练波特率
OK
AT+SAPBR=3,1,"CONTYPE","GPRS" //设置承载类型为GPRS
OK
AT+SAPBR=3,1,"APN","" //设置APN,此处""表示使用从网络端自动获取到的APN
OK
AT+SAPBR=1,1 //激活PDP
OK
AT+SAPBR=2,1 //查询是否激活成功,成功能查询到IP
+SAPBR: 1,1,"10.150.29.242"
OK
AT+CIPGSMLOC=1,1 //查询基站定位的位置和时间(超时时间40S)
+CIPGSMLOC: 0,31.174749,121.600788,2021/05/11,11:29:41
OK
6.4 基站 WIFI 定位操作(收费)
网络连接成功后,打开 SSCOM 来进行基站 WIFI 定位
首先开通收费服务,然后把对应模块IMEI加到对应项目下,并记录下图所示对应项目的"project_id","project_key"
AT //训练波特率
OK
//设置密钥, 立即返回结果,超时时间1秒, 存盘。下面"project_id","project_key"需要换成上面记录的数据
AT+AIRLBS="key","project_id","project_key"
OK
//纯基站定位, 默认超时时间30秒
AT+AIRLBS="query",1,0
+AIRLBS: 1,31.813114,117.196766
OK
//纯wifi定位, 默认超时时间30秒
AT+AIRLBS="query",0,1
+AIRLBS: 1,31.814333,117.196613
OK
//基站+wifi定位, 默认超时时间30秒
AT+AIRLBS="query",1,1
+AIRLBS: 1,31.814769,117.196758
OK
返回值说明:
+AIRLBS:
location code:
- 0: 未找到数据
- 1: 成功
- 2: 请求超限
- 3: 设备欠费
- 4: 其他错误
- 6: 参数错误
- 404: 域名解析错误
- 408: 请求超时
- 601: 网络错误
- 602: 内存不足
- 603: DNS错误
- 604: 堆栈忙
- 65535: 未知错误