基站&WIFI定位

基站&WIFI定位

基站&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: 未知错误