Skip to content

REST API

driver-box 提供了一套常用的 REST API,方便开发者结合自身需求将 driver-box 与自身的边缘应用集成起来。

所有接口的响应格式为:

response
{
"success": true,
"errorCode": 200,
"errorMsg": "",
"data": ... //{} 或者 []
}

设备服务

单点读取

请求方式: GET

请求路径: /api/v1/device/readPoint

接口描述:

设备的单点读取接口会通过 通讯插件 发起真实的读操作指令,待指令下发成功后再从设备影子中提取最新点位值。

  • 如果插件本身不支持主动的读取操作,则会返回错误。
  • 如果被读取的设备不支持同步 IO(例如:发送一个 MQTT 的读指令,其响应时间是不确定),则从影子中获取的数据可能不是最新值。

请求参数

字段名字段类型是否必填字段描述
idstring设备id
pointstring点位名

响应参数

字段名字段类型字段描述
valuestring/int/float点位值,字段类型取决于点位类型

示例

Terminal window
curl http://127.0.0.1:8081/api/v1/device/readPoint?id=swtich-1&point=onOff

单点写入

请求方式: GET/POST

请求路径: /api/v1/device/writePoint

接口描述: 设备的单点写入接口会通过 通讯插件 发起真实的写操作指令。

请求参数

字段名字段类型是否必填字段描述
idstring设备id
pointstring点位名
valuestring/int/float点位值,字段类型取决于点位类型

响应参数

字段名字段类型字段描述
---

示例

Terminal window
curl http://127.0.0.1:8081/api/v1/device/writePoint?id=swtich-1&point=onOff&value=1

批量写入

请求方式: POST

请求路径: /api/v1/device/writePoint

接口描述: 设备的批量写入接口会通过 通讯插件 发起真实的写操作指令。

请求参数

字段名字段类型是否必填字段描述
idstring设备id
valuesarray[]点位值数组,数组元素为对象。
对象格式为:{"name": "点位名", "value": "点位值"}

响应参数

字段名字段类型字段描述
---

示例

设置空调的开关、模式及温度

Terminal window
curl -X POST -H "Content-Type: application/json" -d \
'{"id":"ac_13","values":[{"name":"onOff","value":1},{"name":"runMode","value":1},{"name":"tempSetting","value":28}]}' \
http://127.0.0.1:8081/api/v1/device/writePoints

设备影子

获取全部设备数据

请求方式: GET

请求路径: /api/v1/shadow/all

接口描述: 获取当前网关中运行着的全部设备影子数据。

请求参数

字段名字段类型是否必填字段描述
----

响应参数

字段名字段类型字段描述
dataDevice[]设备影子列表
字段名字段类型字段描述
idstring设备id
pointsDevicePoint []设备点位列表
onlineboolean设备是否在线
ttlstring设备影子数据过期时间
disconnect_timesint设备断线次数
updated_atstring设备影子数据更新时间

示例

Terminal window
curl http://127.0.0.1:8081/api/v1/shadow/all

查询某个设备数据

请求方式: GET

请求路径: /api/v1/shadow/device

接口描述: 获取当前网关中指定设备 ID 的影子数据

请求参数

字段名字段类型是否必填字段描述
idstring设备 ID

响应参数

字段名字段类型字段描述
dataDevice设备影子

示例

Terminal window
curl http://127.0.0.1:8081/api/v1/shadow/device?id=swtich-1

查询某个设备点位数据

请求方式: GET

请求路径: /api/v1/shadow/devicePoint

接口描述: 获取当前网关中指定设备的某个点位影子数据

请求参数

字段名字段类型是否必填字段描述
idstring设备 ID
pointstring点位名

响应参数

字段名字段类型字段描述
dataDevicePoint设备影子

示例

Terminal window
curl http://127.0.0.1:8081/api/v1/shadow/devicePoint?id=swtich-1&point=onOff