1. 查询网关环境
获取某个时间段某个网关的环境
GET:http://api.xdua.com/gwenv
字段名 | 位置 | 类型 | 字段说明 | 举例 | 可选 |
---|---|---|---|---|---|
apiv | head | string | API版本(默认1.0.0) | 1.0.0 | 可选 |
Authorization | head | string | 鉴权token | Authorization字符串 | 必选 |
filter | query | string | 完全OTS的查询条件 | 仅仅支持范围查询 | 必选 |
page | query | int | 搜索页号 | page出现的时侯,忽略offset和limit一起表达第page页,有limit条记录 | 可选 |
offset | query | int | 搜索开始的偏移条件 | 偏移,不设置默认为0 | 可选 |
limit | query | int | 搜索数量 | 数目,不设置默认为20 | 可选 |
dataform | query | int | 查询后的加工方式 | heatmap | 可选 |
order | query | string | 顺序 | 正序或倒序:"forward"/"backward" | 可选 |
gwenv后台使用OTS,不支持分页,所以page,offset,limit是无意义的。
where字段构成解析
字段名 | 位置 | 类型 | 字段说明 | 举例 | 可选 |
---|---|---|---|---|---|
gmac | where | string | 网关的MAC地址 | "AC233FC0422D" | 必选 |
time0 | where | int | 起始时间戳(UTC) | 1563037033 | 必选 |
time1 | where | int | 结束时间戳(UTC) | 1563037035 | 必选 |
type | where | int | 环境的种类 | 1 | 必选 |
dmac | where | int | 设备的MAC地址 | 1 | 必选 |
一个典型的查询条件如下:
{
"where": {"gmac":"AC233FC0422D","time0":1563037033,"time1":1563037035,"type":1,"dmac":"AC233FC0422D"},
"order":"forward",
}
一个热图的查询条件如下
{
"where": {"gmac":"AC233FC0422D","time0":1563037033,"time1":1563037035,"type":1,"dmac":"AC233FC0422D"},
"order":"forward",
"dataform":"heatmap"
}
浏览器调用SDK
query = {
"where": {"gmac":"AC233FC0422D","time0":1563036033,"time1":1564037078,"type":1,"dmac":"AC233FC0422D"},
"limit":10
}
const dua = await lovearth({
APP_KEY: "EIxcPdpT",
APP_SECRET: "b8466f37b99bea6496b192be399cfbd2",
})
api_name = "查询环境"
res = await dua.qryGwenv(obj_key)
console.log(JSON.stringify(res));
if(res.error == 0){
console.log(api_name+"成功");
}else{
console.log(api_name+"失败 "+res.reason);
}
返回数据
默认成功成功返回数据格式
{
"result": {
"data": [
{
"dmac": "AC233FC0422D",
"time": 1563121560,
"park": "AC233FC0422D",
"rssf": "-81:101001000000000000000001010000000000000000000000000001",
"rssv": -63,
"type": 1,
"rssc": 6,
"rssd": 20.23857702507763
},
{
"dmac": "AC233FC0422D",
"time": 1563121561,
"park": "AC233FC0422D",
"rssf": "-83:111000000000001000000000010100000000100000000000000000001",
"rssv": -62.875,
"type": 1,
"rssc": 8,
"rssd": 19.80935925984771
},
],
"where": {
"dmac": "AC233FC0422D",
"time1": 1564037078,
"time0": 1563036033,
"type": 1,
"gmac": "AC233FC0422D"
}
},
"error": 0,
"reason": "success"
}
字段名 | 字段类型 | 字段说明 |
---|---|---|
gmac | string | 网关mac地址 |
dmac | string | 设备mac地址 |
time | string | 设备广播发生的时间 |
name | string | 广播设备的名字 |
json | string | 广播设备的额外字段,一般从响应字段解析出来 |
rssi | string | 广播设备的一秒内的rssi列表 |
type | string | 设备类型 |
uuid | string | 如果设备是ibeacon的话,这个地方显示uuid |
data | string | 如果设备的广播包有效负责没有解析的话,这里是原始数据 |
rssv | int | 广播设备在这1秒内的所有广播包rssi信号的平均值取整 |
major | string | 同uuid |
minor | string | 同uuid |
txp | string | ibeacon的txp |
失败返回
{
"error": >0,
"reason": "失败原因",
"result": {"失败返回的参考数据"},
}
当数据模式是heatmap的时候返回数据
{
"result": {
"heat": {
"max_time": 1563121569,
"min_time": 1563121560,
"rssv": [-63,-62.88,-61.57,-60.57,-63.25,-60.57,-61,-60.57,-57.33,-61.29],
"rssc": [6,8,7,7,8,7,7,7,6,7],
"rssd": [20.24,19.81,19.16,20.48,18.47,19.86,20.42,19,18.07,19.47]
"heat": {
"xyvs": [
"0.000,0.638,0.016",
"0.000,0.622,0.016",
"0.000,0.598,0.016",
"0.000,0.457,0.016",
"0.000,0.441,0.016",
"0.000,0.220,0.016",
"0.111,0.654,0.016",
"0.111,0.646,0.016",
"0.111,0.638,0.016",
"0.111,0.543,0.016",
"0.111,0.457,0.016",
"0.111,0.441,0.016",
"0.111,0.370,0.016",
"0.111,0.213,0.016",
"0.222,0.685,0.016",
"0.222,0.606,0.016",
"0.222,0.543,0.016",
"0.222,0.457,0.032",
"0.222,0.433,0.016",
"0.222,0.213,0.016",
"0.333,0.654,0.016",
"0.333,0.622,0.016",
"0.333,0.606,0.016",
"0.333,0.449,0.016",
"0.333,0.441,0.016",
"0.333,0.354,0.016",
"0.333,0.213,0.016",
"0.444,0.661,0.016",
"0.444,0.638,0.016",
"0.444,0.606,0.016",
"0.444,0.543,0.016",
"0.444,0.449,0.016",
"0.444,0.441,0.016",
"0.444,0.425,0.016",
"0.444,0.220,0.016",
"0.556,0.669,0.016",
"0.556,0.630,0.016",
"0.556,0.543,0.016",
"0.556,0.449,0.016",
"0.556,0.441,0.016",
"0.556,0.402,0.016",
"0.556,0.205,0.016",
"0.667,0.661,0.016",
"0.667,0.614,0.016",
"0.667,0.606,0.016",
"0.667,0.457,0.016",
"0.667,0.441,0.016",
"0.667,0.378,0.016",
"0.667,0.205,0.016",
"0.778,0.661,0.016",
"0.778,0.622,0.016",
"0.778,0.535,0.016",
"0.778,0.457,0.016",
"0.778,0.433,0.016",
"0.778,0.417,0.016",
"0.778,0.213,0.016",
"0.889,0.622,0.016",
"0.889,0.535,0.016",
"0.889,0.512,0.016",
"0.889,0.441,0.016",
"0.889,0.386,0.016",
"0.889,0.213,0.016",
"1.000,0.654,0.016",
"1.000,0.622,0.016",
"1.000,0.559,0.016",
"1.000,0.512,0.016",
"1.000,0.441,0.016",
"1.000,0.378,0.016",
"1.000,0.213,0.016"
],
"maxx": 1,
"maxy": 1,
"minx": 0
},
}
},
"error": 0,
"reason": "success"
}
1.1. 返回字段的意义
字段名 | 字段类型 | 字段说明 |
---|---|---|
heat | json | 热图需要的数据 |
rssv | list | rssi信号值时间关系 |
rssd | list | rssi信号值的标准差 |
rssc | list | rssc信号值的数字 |
2. heatmap各个字段的意义
字段名 | 字段类型 | 字段说明 |
---|---|---|
maxx | float | x最大值 |
minx | float | x最小值 |
maxy | float | y最大值 |
heat | list | x,y,v的数组 |
"1.000,0.378,0.016" 是x,y,v三个值串了起来 失败返回
{
"error": >0,
"reason": "失败原因",
"result": {"失败返回的参考数据"},
}