中移OneNET 云平台 >>> 一块ESP8266 的WiFi 定位之旅

こ雲淡風輕ζ 提交于 2020-01-14 08:55:05

前言

WiFi 定位功能是OneNET 继基站定位之后最新推出的一项定位服务。(编稿时仍处于灰度测试阶段)

然后我有幸参与了WiFi 定位功能的灰度测试,测试成功,在此记录一下

开始

1)为设备开启WiFi 定位功能

  1. WiFi 定位功能门户(编稿时处于半开放状态,官网不能查询到,直接点击下方链接进入):
    https://open.iot.10086.cn/develop/lbs/#/wifi/wifiab

  2. 登录OneNET 账户
    创建好产品、设备。

  3. 开通WiFi 服务
    在这里插入图片描述
    在这里插入图片描述
    在这里插入图片描述

2)上传数据

首先进入WiFi 定位开发文档:
https://open.iot.10086.cn/doc/develop/lbs/book/wifi/introduce.html

可以看到:
在这里插入图片描述
要进行WiFi 定位,我们需要做三件事:

  1. 首先设备需要获取周边WiFi 数据并能够成功访问互联网
    ESP8266 输入AT+CWLAP 指令即可获取周边WiFi 信息:
    在这里插入图片描述
  2. 然后将WiFi 数据信息上传到OneNET 平台
    我们需要向$OneNET_LBS_WIFI这个数据流上传规定格式的WiFi 信息数据点,平台收到数据点后,会将数据点转化为对应的经纬度信息。

$OneNET_LBS_WIFI

字段名称 数据类型 字段 是否必填
移动用户识别码 String imsi 选填,移动用户识别码,可以提高精度
设备接入基站时对应的网关ip String serverip 选填,可以提高精度,无法定位时,可根据该参数排查问题
可以接收到的热点mac信息 String macs 必填,单mac信息同 mmac,mac之间使用“
已连热点mac信息 String mmac 选填,格式mac,signal,ssid。如:f0:7d:68:9e:7d:18,-41,TPLink,可以提高精度
手机mac码 String smac 选填,可以提高精度,无法定位时,可根据该参数排查问题
IOS手机的idfa String idfa 选填,可以提高精度,无法定位时,可根据该参数排查问题

对于WiFi 信息数据的上传和之前上传传感器数据的格式有些不一样,参照MQTT 上传数据点方式:
https://open.iot.10086.cn/doc/multiprotocol/book/develop/mqtt/api/15.%E4%B8%8A%E4%BC%A0%E6%95%B0%E6%8D%AE%E7%82%B9.html

所以最后我们需要上传的数据简单来就是这样:
在这里插入图片描述
这样一来,我们就得出了需要通过ESP8266 透传给OneNET 平台的数据如下 👇:

POST http://api.heclouds.com/devices/xxxxxx666/datapoints HTTP/1.1
api-key: Wl=WlxxxxxxxxxxxxxxxxxxCoo=
Host:api.heclouds.com
Connection:Keep-Alive
Content-Length:154

{"datastreams":[{"id":"$OneNET_LBS_WIFI","datapoints":[{"value":{"macs":"d8:xx:xx:xx:xx:70,-40|00:xx:xx:xx:xx:a2,-88","mmac":"d8:xx:xx:xx:xx:70,-40"}}]}]}

上传成功 👇:
在这里插入图片描述

  1. 最后调用经纬度查询API 进行位置的查看
    这就比较简单了,跟着文档说的走就对了,那我就直接贴出格式:

查询最新位置
(发送给OneNET 的GET 请求下面必须有两行回车

GET http://api.heclouds.com/devices/xxxxxx666/lbs/latestWifiLocation  HTTP/1.1
api-key: Wl=WlxxxxxxxxxxxxxxxxxxCoo=
Host:api.heclouds.com
Connection:close


在这里插入图片描述
经纬度正确 👆

查询历史轨迹
(发送给OneNET 的GET 请求下面必须有两行回车

GET http://api.heclouds.com/devices/xxxxxx666/lbs/getWifiTrail  HTTP/1.1
api-key: WlxxxxxxxxxxxxxxxxxxCoo=
Host:api.heclouds.com
Connection:close


在这里插入图片描述

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!