本文为青璃工业物联网平台API文档。

接口调用说明

API Base Url说明

以下 API 接口的 base url 为 https://www.imqli.com/open/api 私有云部署环境下的base url为内部服务器的IP地址或者其他域名地址
比如: 调用获取设备列表数据接口,完整的 URL 路径应该为: https://www.imqli.com/open/api/device/list

接口认证说明

每个接口都需要认证信息才能调用,认证方式为签名认证,生成签名参数需要以下信息:
APP_ID(应用ID): **************** (长度16位,联系市场部获取)
APP_SECRET(应用秘钥):****************************** (长度32位,联系市场部获取)


签名参数TSINGLEY-SIGN生成方法:

  1. 将所有参数,过滤掉值为空的参数,按参数名升序排列
  2. 把排序后的参数按 参数名1=参数值1#参数名2=参数值2 这种格式拼接
  3. 把应用秘钥拼接在上一步字符串前面并且加上# 格式为:秘钥#参数名1=参数值1#参数名2=参数值2
  4. 将拼接好以后的字符串 sha256加密,得到的字符串即为TSINGLEY-SIGN的值

例如: POST传输JSON数据如下

{
"123": "2",
"test": "1",
"abc": "3",
"ABC": "4",
"Abc": "5",
"ok": null,
"tt": ""
}


那么生成签名参数TSINGLEY-SIGN的步骤如下

  1. 把所有参数,过滤掉空值,按参数名升序排列并且拼接得到字符串 123=2#ABC=4#Abc=5#abc=3#test=1
  2. 把秘钥拼接在上一步字符串前面并且加上# 得到字符串 558fd01c8d67077c006f5c4eaf135e6e#123=2#ABC=4#Abc=5#abc=3#test=1
  3. sha256加密上一步字符串,得到 b11f38bd058e70e61363ce04852215d2da43c25af6f2c8089ed26aa008d74db6 即为 TSINGLEY-SIGN的值

在HTTP请求时在header中传递TSINGLEY-SIGN和APP_ID进行校验

设备信息

设备列表

基本信息

Path: /api/device/list

Method: POST

接口描述: 获取设备列表

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json
APP_ID 应用ID 应用ID
TSINGLEY-SIGN 签名值 通过计算得出的签名值

Body

名称类型是否必须默认值备注其他信息
teamIdstring必须团队ID
pagenumber非必须1页码
limitnumber非必须10每页条数

返回数据

名称类型是否必须默认值备注其他信息
successboolean必须true:接口调用成功 false:接口调用失败
messagestring []必须错误或成功消息

item 类型: string

├─ 非必须消息1
datasobject必须
├─ listobject []非必须设备列表

item 类型: object

├─ uuidstring必须设备UUID
├─ namestring必须设备编号
├─ modelstring必须设备名称
├─ onlineboolean必须设备在线状态
├─ countnumber非必须总条数
├─ pagenumber必须当前页
├─ limitstring必须每页条数

设备详细信息

基本信息

Path: /api/device/detail

Method: POST

接口描述: 获取设备详细信息

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json
APP_ID 应用ID 应用ID
TSINGLEY-SIGN 签名值 通过计算得出的签名值

Body

名称类型是否必须默认值备注其他信息
teamIdstring必须团队ID
uuidstring必须设备UUID

返回数据

名称类型是否必须默认值备注其他信息
successboolean必须true:接口调用成功 false:接口调用失败
messagestring []必须错误或成功消息

item 类型: string

├─ 非必须消息1
datasobject必须
├─ deviceobject必须设备信息
├─ uuidstring必须
├─ namestring必须
├─ seriesstring必须
├─ modelstring必须
├─ onlineboolean必须
├─ datasobject []必须设备数据ID列表

item 类型: object

├─ namestring必须数据ID
├─ meanstring必须数据含义
├─ typestring必须数据类型
├─ unitstring必须单位
├─ remarksstring必须备注

获取设备历史数据

基本信息

Path: /api/device/history/list

Method: POST

接口描述: 获取设备历史数据

请求参数

Headers

参数名称 参数值 是否必须 示例 备注
Content-Type application/json
APP_ID 应用ID 应用ID
TSINGLEY-SIGN 签名值 通过计算得出的签名值

Body

名称类型是否必须默认值备注其他信息
teamIdstring必须团队ID
uuidstring必须设备UUID
fieldsstring必须需要获取的数据ID 多个以,隔开 数据项为设备详细信息中 datas下name字段
beginTimestring必须开始时间 2022-01-16 08:00:00
endTimestring必须结束时间 2022-01-18 23:30:00

返回数据

名称类型是否必须默认值备注其他信息
successboolean必须true:接口调用成功 false:接口调用失败
messagestring []必须错误或成功消息

item 类型: string

├─ 非必须消息1
datasobject必须
├─ listobject []非必须设备列表

item 类型: object

├─ timestring必须数据时间
├─ field1string必须数据1 根据fields变化
├─ field2string必须数据2 根据fields变化

获取设备实时数据

基本信息

Method: MQTT消息订阅

接口描述: 获取设备实时数据

通过订阅mqtt消息获取设备实时数据

1.连接MQTT服务
MQTT服务器IP: 私有云部署环境下为内部服务器的IP地址
MQTT服务器端口: 1883
2.订阅设备实时消息主题
主题为 deviceData/设备UUID
例如:
设备UUID: THJK-6YFT-H8U6-F7R7对应mqtt 主题为 deviceData/THJK-6YFT-H8U6-F7R7

实时数据格式

{
  "type":"DeviceMeasurement",
  "originator":"device",
  "deviceToken":"THJK-6YFT-H8U6-F7R7",
  "request":{
    "name":"measurement",
    "value":"1",
    "updateState":true,
    "eventDate":"2023-02-21 10:53:59",//数据发生时间
    "metadata":{//设备实时数据项
      "EmergencyStop":0,
      "Counter":431,
      "Freq":2,
      "Speed":20,
      "SV":40,
      "PV":20
    }
  }
}
Copyright © TSingley 2023 all right reserved,powered by Gitbook该文章修订时间: 2023-08-21 09:37:58

results matching ""

    No results matching ""