跳到主要内容

数据接口

1、登录接口

  • URL
    http://things-api.iotddc.com/edge-user/user/apiLogin
  • 请求方式
    post
  • 请求参数
参数名参数类型是否必填提交方式默认值说明
usernameStringYquerytest
passwordStringYquery123456
  • 返回参数
参数名参数类型参数名说明
codeInt错误码
messageString错误消息
dataJSONObjecttoken令牌
roleId账户类型(1-主账号,2子账号)
projectId项目id roleId为2,返回所属项目id roleId为1,则通过项目列表选取
  • 主账号登录示例
  • 子账号登录示例

2、获取项目列表

  • URL
    http://things-api.iotddc.com/edge-user/project/list
  • 请求方式
    post
  • 请求参数
参数名参数类型是否必填提交方式默认值说明
tokenStringYheader令牌
pageIntYquery1当前页
sizeIntYquery10每页数量
  • 返回参数
参数名参数类型参数名说明
codeInt错误码
messageString错误消息
dataJSONObjectlist项目列表
totalPage总页数
totalRow总条数
pageNumber当前页
pageSize每页数量
  • 主账号获取项目列表示例

3、获取数据点

列表方式获取数据点

  • URL
    http://things-api.iotddc.com/edge-data/data/tags
  • 请求方式
    post
  • 请求参数
参数名参数类型是否必填提交方式默认值说明
tokenStringYheader令牌
projectIdintYquery项目id
pageintYquery1当前页
sizeintYquery10每页数量
snStringNquery网关SN
realBooleanNquery是否展示实时数据
  • 返回参数
参数名参数类型参数名说明
codeInt错误码
messageString错误消息
dataJSONObjectlist数据点列表
totalPage总页数
totalRow总条数
pageNumber当前页
pageSize每页数量
  • 查询参数说明:sn、real分别为查询筛选条件,非必填项
  • 请求示例

树形方式获取数据点

根据项目查询

  • URL
    http://things-api.iotddc.com/edge-data/data/getTagsTree
  • 请求方式
    post
  • 请求参数
参数名参数类型是否必填提交方式默认值说明
tokenStringYheader令牌
projectIdraw.jsonYbody项目id
  • 返回参数
参数名参数类型参数名说明
codeInt错误码
messageString错误消息
dataJSONObject数据节点树
name当前节点名称 根节点网关
children子节点 第二层节点为设备 叶子节点为数据点
  • 请求示例

根据网关查询

  • URL
    http://things-api.iotddc.com/edge-data/data/getTagsTreeByGateway
  • 请求方式
    post
  • 请求参数
参数名参数类型是否必填提交方式默认值说明
tokenStringYheader令牌
gatewayIdraw.jsonYbody网关SN或网关ID
  • 返回参数
参数名参数类型参数名说明
codeInt错误码
messageString错误消息
dataJSONObject数据节点树
name当前节点名称 根节点网关
children子节点 第二层节点为设备 叶子节点为数据点

4、订阅实时数据

  • 实时数据采用websocket方式订阅和推送

websocket 连接

  • url ws://things-api.iotddc.com/edge-data/ws/scada/sub
  • 示例
const url = "ws://things-api.iotddc.com/edge-data/ws/real/sub"
let socket = new WebSocket(url)
socket.onopen = function() {
console.log("ws open")
}

发送要订阅的数据点

  • 在ws连接成功之后
socket.onopen = function () {
console.log("ws open")
// TODO 发送订阅请求 格式如下,数据点可以多个,也可以订阅所有
data = {
"type": "read",
"projectId": "44", // 项目id
"ids": [
"240117502.Device2.tag0001", // 数据点id ".*" 代表订阅项目下所有 或者只订阅如 "240117502." 或者 "240117502.Device2."
"240117502.Device2.tag0002"
]
}
}

接收实时数据

  • 代码示例
socket.onmessage = function (evnet) {
console.log(evnet.data)
}
  • 返回数据示例
{
"code": 200,
"data": [
{
"val": 37,
"id": "240117502.Device2.tag0001",
"timestamp": 1714286290,
"status": "Good"
},
{
"val": 71,
"id": "240117502.Device2.tag0002",
"timestamp": 1714286290,
"status": "Good"
}
],
"message": "success"
}

5、查询历史数据

原始数据查询

  • URL
    http://things-api.iotddc.com/edge-data/data/history
  • 请求方式
    post
  • 请求参数
参数名参数类型是否必填提交方式默认值说明
tokenStringYheader令牌
projectIdIntYbody(raw.json)项目id
idStringYbody(raw.json)数据点id
startTimeStringYbody(raw.json)开始时间 yyyy-MM-dd HH:mm:ss
endTimeStringYbody(raw.json)结束时间 yyyy-MM-dd HH:mm:ss
pageIntYbody(raw.json)1当前页
sizeIntYbody(raw.json)10每页数量
  • 返回参数
参数名参数类型参数名说明
codeInt错误码
messageString错误消息
dataJSONObjectlist数据列表
totalPage总页数
totalRow总条数
pageNumber当前页
pageSize每页数量
  • 原始数据查询示例

聚合数据查询

  • URL
    http://things-api.iotddc.com/edge-data/data/aggQueryHistory
  • 请求方式
    post
  • 请求参数
参数名参数类型是否必填提交方式默认值说明
tokenStringYheader令牌
projectIdIntYbody(raw.json)项目id
idsListYbody(raw.json)数据点id列表
startTimeStringYbody(raw.json)开始时间 yyyy-MM-dd HH:mm:ss
endTimeStringYbody(raw.json)结束时间 yyyy-MM-dd HH:mm:ss
countIntYbody(raw.json)1聚合周期
aggTypeStringYbody(raw.json)10聚合方式
  • 聚合说明
    用于缩减采样数量
    最小时间窗口为1m
    聚合方式 目前支持 在时间窗口内的 first,last,min,max, sum, mean(平均数), median(中位数)
  • 返回参数
参数名参数类型参数名说明
codeInt错误码
messageString错误消息
dataJSONObjectlist数据列表
totalPage总页数
totalRow总条数
pageNumber当前页
pageSize每页数量
  • 聚合数据查询示例

6、查询首页数据

  • URL
    http://things-api.iotddc.com/edge-data/data/
  • 请求方式
    post
  • 请求参数
参数名参数类型是否必填提交方式默认值说明
tokenStringYheader令牌
projectIdIntYbody项目id
dayIntYbody7查询时间范围
  • 查询时间范围说明
    该参数仅用于限定日统计类型消息的时间范围
  • 返回参数
参数名参数类型参数名说明
codeInt错误码
messageString错误消息
dataJSONObjectgateway网关数量
device设备数量
tag数据点数量
alarm告警数量
writeLog下发数量
message消息量日统计
alertCount告警数日统计
log下发量日统计
  • 首页数据查询示例

7、控制下发

  • URL
    http://things-api.iotddc.com/edge-data/data/writeTag
  • 请求方式
    post
  • 请求参数
参数名参数类型是否必填提交方式默认值说明
tokenStringYheader令牌
tagIdIntYbody可写点id
valueIntYbody写入值
  • 参数说明

tagId只允许可写点下发命令,value为十进制值

  • 返回参数
参数名参数类型参数名说明
codeInt错误码
messageString错误消息