跳到主要内容

API

该教程面向基于uBeacon Tools软件的API接口做后台业务功能的软件集成商。通过API接口可获得Gateway、uBeacon、Tag设备的UID、坐标、电量、工作状态以及Tag的实时定位等信息,数据格式为JSON,接口协议包括MQTT、UDP、webhook、HTTP等,软件支持部署在Ubuntu、Windows、MacOs等平台。

1.数据格式:JSON

定位数据示例

{
"data": {
"pos": [
-3.2616942,
4.3123593,
1.1999172
], // 定位:x,y,z
"posNoise": [
0.71,
0.62,
0.03
],// 定位噪声: x, y, z, 值越大置信度越低。
"time": 575889100, // 定位时间戳.
"vel": [
-0.08,
0.1,
0
], //速度:x,y,z
"velNoise": [
0.13,
0.13,
0.01
] //x,y,z方向的速度噪声, 值越大置信度越低。
},
"deviceName": "T4", // 设备名,在软件内唯一
"name": "Pos", // 消息类型
"uid": "02084a71676424f9e16d" //设备UID
}

2. Tag定位数据API配置入口

打开uBeacon Tool软件,按下图操作进入配置页面

API 配置入口示例

3. MQTT获取Tag定位数据

api.mqtt.address: {ip或域名}:{端口}

api.mqtt.clientId: 客户端标识,可为空

api.mqtt.topic: 主题名

MQTT 配置示例

4. UDP获取Tag定位数据

api.udp.address: {ip或域名}:{端口}

UDP 配置示例

5. webhook获取Tag定位数据

api.hook.url格式: http://{ip或域名}:{端口}/{自定义uri}

http method: POST

web hook 配置示例

6. HTTP获取设备状态

URL: GET http://localhost:8088/openapi/v1/devices?deviceType=&online=&query=&page=&pageSize=

Query参数:

参数名参数类型参数说明
deviceTypeint根据设备类型搜索,空表示查询所有类型设备,1表示查询Gateway设备,2表示查询uBeacon设备,3表示查询Tag设备
onlinebool根据是否在线搜索,空表示查询所有状态,false表示查询离线设备,true表示查询在线设备
querystring根据设备名前缀搜索或者设备UID后缀搜索
pageint分页页码,默认为1,1表示第一页,依次类推
pageSizeint分页每页大小,默认为20,最大100

响应数据:

{
"code": 0, // 0表示成功,非0表示失败
"message": "",
"data": {
"records": [
{
"name": "U6", // 设备名
"type": 2, // 设备类型,1表示Gateway设备,2表示uBeacon设备,3表示Tag设备
"online": false, // 是否在线
"onlineTime": 1727323909, //在线离线时间,online为true表示在线时间,online为false表示离线时间
"uid": "0208f5579f8e183fa1eb", // 设备UID
"power": 93, // 设备电量百分比
"coordinate": { // 设备坐标,目前仅uBeacon设备有
"coords": [
13.302, // x坐标
12.9, // y坐标
2.9 // z坐标
]
}
}
],
"total": 1 // 当前搜索条件下的总数
}
}