常用Alink协议总结

Alink常用协议

  • 1.子设备的动态注册
  • 2.直连设备的动态注册
  • 3.添加设备拓扑关系
  • 4.删除设备的拓扑关系
  • 5.获取设备的拓扑关系
  • 6.发现设备列表上报
  • 7.通知网关添加设备拓扑关系
  • 8.通知网关拓扑关系变化
  • 9.子设备主动上线
  • 10.子设备主动下线
  • 11.设备上报属性
  • 12.设置设备属性
  • 13.设备事件上报
  • 14.设备服务异步调用
  • 15.网关批量上报数据
  • 16.物模型历史数据上报
  • 17.获取期望属性值
  • 18.清空期望属性值
  • 19.网关禁用子设备
  • 20.网关解除禁用子设备
  • 21.网关删除子设备
  • 22.设备标签信息上报
  • 23.删除标签信息
  • 24.设备主动请求配置信息
  • 25.配置信息推送下发

1.子设备的动态注册

  • 数据上行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/sub/register
  • 响应Topic: /sys/{productKey}/{deviceName}/thing/sub/register_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": [
    {
      "deviceName": "deviceName1234",
      "productKey": "1234556554"
    }
  ],
  "method": "thing.sub.register"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": [
    {
      "iotId": "12344",
      "productKey": "1234556554",
      "deviceName": "deviceName1234",
      "deviceSecret": "xxxxxx"
    }
  ]
}
  • 参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且每个消息ID在当前设备中具有唯一性。
version String 协议版本号,目前协议版本号为1.0。
params List 设备动态注册的参数
deviceName String 子设备的名称。
productKey String 子设备的产品Key。
iotId String 设备的唯一标识ID。
method String 请求方法,取值thing.sub.register。
code Integer 结果信息。
  • 错误码说明
错误码 消息 描述
460 request parameter error 请求参数错误。
6402 topo relation cannot add by self 设备不能将自己添加为自己的子设备。
401 request auth error 签名校验失败。

2.直连设备的动态注册

  • 直连设备动态注册,通过HTTP发送请求。
  • URL模板:https://iot-auth.cn-shanghai.aliyuncs.com/auth/register/device
  • HTTP方法: POST
  • 请求数据格式
POST /auth/register/device  HTTP/1.1
Host: iot-auth.cn-shanghai.aliyuncs.com
Content-Type: application/x-www-form-urlencoded
Content-Length: 123
productKey=1234556554&deviceName=deviceName1234&random=567345&sign=adfv123hdfdh&signMethod=HmacMD5
  • 响应数据格式:
{
  "code": 200,
  "data": {
    "productKey": "1234556554",
    "deviceName": "deviceName1234",
    "deviceSecret": "adsfweafdsf"
  },
  "message": "success"
}
  • 参数说明
参数 类型 说明
Method String POST
Host String Endpoint地址:iot-auth.cn-shanghai.aliyuncs.com。
Content-Type String 设备发送给物联网平台的上行数据的编码格式。
productKey String 产品唯一标识。
productKey String 子设备的产品Key。
deviceName String 设备名称。
random String 随机数。
sign String 加签方法:将所有提交给服务器的参数(sign、signMethod除外)按照字母顺序排序,然后将参数和值依次拼接(无拼接符号)。通过signMethod指定的加签算法,使用产品的ProductSecret,对加签内容进行加签。示例:hmac_sha1(productSecret, deviceNamedeviceName1234productKey1234556554random123)
signMethod String 签名方法, 目前支持hmacmd5、hmacsha1、hmacsha256。
code Integer 结果信息。
deviceSecret String 设备密钥。

3.添加设备拓扑关系

  • 数据上行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/topo/add
  • 响应Topic:sys/{productKey}/{deviceName}/thing/topo/add_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": [
    {
      "deviceName": "deviceName1234",
      "productKey": "1234556554",
      "sign": "xxxxxx",
      "signmethod": "hmacSha1",
      "timestamp": "1524448722000",
      "clientId": "xxxxxx"
    }
  ],
  "method": "thing.topo.add"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
params List 请求入参。
deviceName String 子设备的名称。
productKey String 子设备的产品Key。
sign String 加签算法:将所有提交给服务器的参数(sign,signMethod除外)按照字母顺序排序,然后将参数和值依次拼接(无拼接符号)。对加签内容,需通过signMethod指定的加签算法,使用设备的DeviceSecret值,进行签名计算。示例:sign= hmac_md5(deviceSecret, clientId123deviceNametestproductKey123timestamp1524448722000)
signmethod String 签名方法,支持hmacSha1、hmacSha256、hmacMd5、Sha256。
timestamp String 时间戳。
clientId String 设备本地标记,非必填。可以设置为具体的productKey&deviceName。
method String 请求方法,取值:thing.topo.add。
  • 响应参数说明
错误码 消息 描述
id String 消息ID,String类型的数字。
code Integer 返回结果,200代表成功。
data Object 请求成功时的返回结果。
  • 错误码说明
错误码 消息 描述
460 request parameter error 请求参数错误。
6402 topo relation cannot add by self 设备不能将自己添加为自己的子设备。
401 request auth error 签名校验失败。

4.删除设备的拓扑关系

  • 数据上行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/topo/delete
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/topo/delete_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": [
    {
      "deviceName": "deviceName1234",
      "productKey": "1234556554"
    }
  ],
  "method": "thing.topo.delete"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
params List 请求入参。
deviceName String 子设备的名称。
productKey String 子设备的产品Key。
method String 请求方法。取值thing.topo.delete。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 返回结果,200代表成功。
data Object 请求成功时的返回结果。
  • 错误码说明
错误码 消息 描述
460 request parameter error 请求参数错误。
6100 device not found 设备不存在。

5.获取设备的拓扑关系

  • 数据上行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/topo/get
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/topo/get_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": {},
  "method": "thing.topo.get"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": [
    {
      "deviceName": "deviceName1234",
      "productKey": "1234556554"
    }
  ]
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
params List 请求入参。
method String 请求方法,取值thing.topo.get。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 返回结果,200代表成功。
data Object 请求成功时的返回结果。
deviceName String 子设备的名称。
productKey String 子设备的产品Key。
  • 错误码说明
错误码 消息 描述
460 request parameter error 请求参数错误。

6.发现设备列表上报

  • 数据上行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/list/found
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/list/found_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": [
    {
      "deviceName": "deviceName1234",
      "productKey": "1234556554"
    }
  ],
  "method": "thing.list.found"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data":{}
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
params List 请求入参。
method String 请求方法,取值thing.list.found。
deviceName String 子设备的名称。
productKey String 子设备的产品Key。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 返回结果,200代表成功。
data Object 请求成功时的返回结果。
  • 错误码说明
错误码 消息 描述
460 request parameter error 请求参数错误。
6250 product not found 上报的子设备产品不存在。
6280 devicename not meet specs 上报的子设备的名称不符规范,设备名称支持英文字母、数字、连接号(-)、at符号(@)、_点号(.)和冒号(:),长度限制4~32。

7.通知网关添加设备拓扑关系

  • 数据下行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/topo/add/notify
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/topo/add/notify_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": [
    {
      "deviceName": "deviceName1234",
      "productKey": "1234556554"
    }
  ],
  "method": "thing.topo.add.notify"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
params List 请求入参。
method String 请求方法,取值thing.list.found。
deviceName String 子设备的名称。
productKey String 子设备的产品Key。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 返回结果,200代表成功。
data Object 请求成功时的返回结果。

8.通知网关拓扑关系变化

  • 将拓扑关系变化通知网关。
  • 网关订阅Topic: /sys/{productKey}/{deviceName}/thing/topo/change
  • 请求数据格式:
{
    "id":"123",
    "version":"1.0",
    "params":{
        "status":0,  //0-创建  1-删除 2-恢复禁用  8-禁用
        "subList":[{
            "productKey":"a1hRrzD****",
            "deviceName":"abcd"
        }]
    }, 
  "method":"thing.topo.change"  
}
  • 响应数据格式:
{
    "id":"123",
    "code":200,
    "message":"success",
    "data":{}
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
params Object 请求参数,包含参数status(拓扑关系状态)和sublist(子设备列表)。
method String 请求方法,取值thing.topo.change。
status Integer 0:创建、1:删除、2:解除禁用(启用)、8:禁用
deviceName String 子设备的名称。
productKey String 子设备的产品Key。

9.子设备主动上线

  • 数据上行
  • 请求Topic:/ext/session/ p r o d u c t K e y / {productKey}/ productKey/{deviceName}/combine/login
  • 响应Topic:/ext/session/ p r o d u c t K e y / {productKey}/ productKey/{deviceName}/combine/login_reply
  • 请求数据格式:
{
  "id": "123",
  "params": {
    "productKey": "al123455655",
    "deviceName": "device1234",
    "clientId": "al123455655&device1234",
    "timestamp": "1581417203000",
    "signMethod": "hmacmd5",
    "sign": "9B9C732412A4F84B981E1AB97CAB****",
    "cleanSession": "true"
  }
}
  • 响应数据格式:
{
  "id":"123",
  "code":200,
  "message":"success"
  "data":{
      "deviceName": "device1234",
      "productKey": "al123455655"
    }
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
params Object 请求入参,包含的具体参数见下表params。
  • param参数说明
参数 类型 说明
deviceName String 子设备的设备名称。
productKey String 子设备所属的产品的ProductKey。
sign String 签名方法与直连设备签名方法相同。
signMethod String 签名方法,支持hmacSha1、hmacSha256、hmacMd5和Sha256
timestamp String 毫秒级时间戳。
sign String 签名方法与直连设备签名方法相同。
clientId String 设备端标识。可以为productKey&deviceName。
cleanSession String 如果取值是true,则清理所有子设备离线时的消息,即所有未接收的QoS1消息将被清除。如果取值是false,则不清理子设备离线时的消息。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 返回结果,200代表成功。
message String 结果信息。
data Object 请求成功时的返回结果。
  • data参数说明
参数 类型 说明
deviceName String 子设备的设备名称。
productKey String 子设备所属的产品的ProductKey。
  • 错误码说明
错误码 消息 描述
460 request parameter error 请求参数错误。
429 rate limit, too many subDeviceOnline msg in one minute 单个设备认证过于频繁被限流。
428 too many subdevices under gateway 网关下同时在线子设备过多。
6401 topo relation not exist 网关和子设备没有拓扑关系。
6100 device not found 子设备不存在。
521 device deleted 子设备已被删除。
522 device forbidden 子设备已被禁用。

10.子设备主动下线

  • 数据上行
  • 请求Topic:/ext/session/{productKey}/{deviceName}/combine/logout
  • 响应Topic:/ext/session/{productKey}/{deviceName}/combine/logout_reply
  • 请求数据格式:
{
  "id": 123,
  "params": {
    "productKey": "al123455655",
    "deviceName": "device1234"
  }
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "message": "success",
  "data": {
      "deviceName": "device1234",
      "productKey": "al123455655"
    }
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
params Object 请求入参,包含的具体参数见下表params。
  • param参数说明
参数 类型 说明
deviceName String 子设备的设备名称。
productKey String 子设备所属的产品的ProductKey。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 返回结果,200代表成功。
message String 结果信息。
data Object 请求成功时的返回结果。
  • data参数说明
参数 类型 说明
deviceName String 子设备的设备名称。
productKey String 子设备所属的产品的ProductKey。
  • 错误码说明
错误码 消息 描述
460 request parameter error 请求参数错误。
520 device no session 子设备会话不存在。

11.设备上报属性

  • 数据上行(alink json ,不是透传)
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/event/property/post
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/event/property/post_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": {
    "Power": {
      "value": "on",
      "time": 1524448722000
    },
    "WF": {
      "value": 23.6,
      "time": 1524448722000
    }
  },
  "method": "thing.event.property.post"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
method String 请求方法。取值:thing.event.property.post。
params Object 请求参数。如以上示例中,设备上报了的两个属性Power和WF。具体属性信息,包含属性上报时间(time)和上报的属性值(value)。
time Long 属性上报时间。该参数为可选字段。根据您的业务场景决定消息中是否带时间戳。如果消息频繁,需根据时间戳判断消息顺序,建议消息中带有时间戳。
value object 上报的属性值。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 结果状态码。 具体参考设备端通用code
data Object 请求成功时的返回结果。
  • 错误码说明
错误码 消息 描述
460 request parameter error 请求参数错误。
6106 map size must less than 200 一次最多只能上报200条属性。
6313 tsl service not available 物模型校验服务不可用。

12.设置设备属性

  • 数据下行(alink json ,不是透传)
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/service/property/set
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/service/property/set_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": {
    "temperature": "30.5"
  },
  "method": "thing.service.property.set"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号,由物联网平台生成。
version String 协议版本号,目前协议版本号为1.0。
method String 请求方法,取值thing.service.property.set。
params Object 属性设置参数。如以上示例中,设置属性:{ “temperature”: “30.5” }。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 结果状态码。 具体参考设备端通用code
data Object 请求成功时的返回结果。

13.设备事件上报

  • 数据上行(alink json ,不是透传)
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/event/{tsl.event.identifier}/post
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/event/{tsl.event.identifier}/post_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": {
    "value": {
      "Power": "on",
      "WF": "2"
    },
    "time": 1524448722000
  },
  "method": "thing.event.{tsl.event.identifier}.post"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
method String 请求参数。取值:thing.event.{tsl.event.identifier}.post。
params List 上报事件的参数。
value Object 具体的事件信息。如:{ “Power”: “on”, “WF”: “2”}
time Long 事件生成的时间戳,类型为UTC毫秒级时间。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 结果状态码。 具体参考设备端通用code
data Object 请求成功时的返回结果。

14.设备服务异步调用

  • 数据下行(alink json ,不是透传)
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/service/{tsl.service.identifier}
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/service/{tsl.service.identifier}_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": {
    "Power": "on",
    "WF": "2"
  },
  "method": "thing.service.{tsl.service.identifier}"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号,由物联网平台生成。
version String 协议版本号,目前协议版本号为1.0。
params Map 服务调用参数。如:{ “Power”: “on”, “WF”: “2”}
method String 请求方法:thing.service.{tsl.service.identifier}。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 结果状态码。 具体参考设备端通用code
data Object 请求成功时的返回结果。

15.网关批量上报数据

  • 数据上行(alink json ,不是透传)
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/event/property/pack/post
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/event/property/pack/post_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": {
    "properties": {
      "Power": {
        "value": "on",
        "time": 1524448722000
      },
      "WF": {
        "value": { },
        "time": 1524448722000
      }
    },
    "events": {
      "alarmEvent1": {
        "value": {
          "param1": "on",
          "param2": "2"
        },
        "time": 1524448722000
      },
      "alertEvent2": {
        "value": {
          "param1": "on",
          "param2": "2"
        },
        "time": 1524448722000
      }
    },
    "subDevices": [
      {
        "identity": {
          "productKey": "",
          "deviceName": ""
        },
        "properties": {
          "Power": {
            "value": "on",
            "time": 1524448722000
          },
          "WF": {
            "value": { },
            "time": 1524448722000
          }
        },
        "events": {
          "alarmEvent1": {
            "value": {
              "param1": "on",
              "param2": "2"
            },
            "time": 1524448722000
          },
          "alertEvent2": {
            "value": {
              "param1": "on",
              "param2": "2"
            },
            "time": 1524448722000
          }
        }
      }
    ]
  },
  "method": "thing.event.property.pack.post"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
method String 请求参数。取值:thing.event.property.pack.post。
params Map 请求参数。
properties Object 属性,包含属性标识符、属性值value 和属性生成的时间time。
events Object 事件,包含事件标识符、事件输出参数value和事件生成的时间time。
subDevices String 子设备信息。
productKey String 子设备产品key。
deviceName String 子设备名称。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 返回结果,200代表成功。
data Object 请求成功时的返回结果。

16.物模型历史数据上报

  • 数据上行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/event/property/history/post
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/event/property/history/post_reply
  • 请求数据格式:
{
  "id": 123, 
  "version": "1.0", 
  "method": "thing.event.property.history.post", 
  "params": [
    {
      "identity": {
        "productKey": "", 
        "deviceName": ""
      }, 
      "properties": [
        {
          "Power": {
            "value": "on", 
            "time": 123456
          }, 
          "WF": {
            "value": "3", 
            "time": 123456
          }
        }, 
        {
          "Power": {
            "value": "on", 
            "time": 123456
          }, 
          "WF": {
            "value": "3", 
            "time": 123456
          }
        }
      ], 
      "events": [
        {
          "alarmEvent": {
            "value": {
              "Power": "on", 
              "WF": "2"
            }, 
            "time": 123456
          }, 
          "alertEvent": {
            "value": {
              "Power": "off", 
              "WF": "3"
            }, 
            "time": 123456
          }
        }
      ]
    }, 
    {
      "identity": {
        "productKey": "", 
        "deviceName": ""
      }, 
      "properties": [
        {
          "Power": {
            "value": "on", 
            "time": 123456
          }, 
          "WF": {
            "value": "3", 
            "time": 123456
          }
        }
      ], 
      "events": [
        {
          "alarmEvent": {
            "value": {
              "Power": "on", 
              "WF": "2"
            }, 
            "time": 123456
          }, 
          "alertEvent": {
            "value": {
              "Power": "off", 
              "WF": "3"
            }, 
            "time": 123456
          }
        }
      ]
    }
  ]
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
method String 请求方法,取值thing.event.property.history.post。
params Map 请求参数。
identity String 数据所属设备的身份证书信息,包含参数productKey和deviceName。
properties Object 属性,包含属性标识符、属性值value 和属性生成的时间time。
events String 事件,包含事件标识符、事件输出参数value和事件生成的时间time。

17.获取期望属性值

  • 数据上行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/property/desired/get
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/property/desired/get_reply
  • 请求数据格式:
{
    "id" : "123",
    "version":"1.0",
    "params" : [
        "power",
        "temperature"
    ],
    "method":"thing.property.desired.get"
}
  • 响应数据格式:
{
    "id":"123",
    "code":200,
    "data":{
        "power": {
            "value": "on",
            "version": 2
        }
    }
}

  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
params List 要获取期望值的属性标识符(Identifier)列表。如:[“power”,“temperature”]
method String 请求方法,取值thing.property.desired.get。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 结果状态码。 具体参考设备端通用code
data Object 返回的期望值信息。如:{ “power”:{“value”: “on”, “version”: 2}}
  • data参数说明
参数 类型 说明
key String key即属性的标识符。如示例中为power。
value O​bject 期望属性值。
version Integer 当前期望属性值的版本。

18.清空期望属性值

  • 数据上行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/property/desired/delete
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/property/desired/delete_reply
  • 请求数据格式:
{
    "id": "123",
    "version": "1.0",
    "params": {
        "power": {
            "version": 1
        },
        "temperature": { }
    },
    "method":"thing.property.desired.delete"  
}
  • 响应数据格式:
{
    "id": "123",
    "code": 200,
    "data": { }
}

  • 请求参数说明
参数 类型 说明
id String 消息ID号。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
params List 要清除期望值的属性信息列表。传入数据包含属性的标识符和期望值版本version。如:{ “power”: { “version”: 1},“temperature”: { }}
method String 请求方法,取值thing.property.desired.delete。
  • params说明
参数 类型 说明
key String key即属性的标识符。如示例中,列出了power和temperature两个属性标识符。
version Integer 要删除期望属性值的版本号。
  • 响应参数说明
参数 类型 说明
id String 消息ID,String类型的数字。
code Integer 结果状态码。 具体参考设备端通用code
data String 返回数据。
  • data参数说明
参数 类型 说明
key String key即属性的标识符。如示例中为power。
value O​bject 期望属性值。
version Integer 当前期望属性值的版本。

19.网关禁用子设备

  • 数据下行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/disable
  • 响应Topic: /sys/{productKey}/{deviceName}/thing/disable_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": {},
  "method": "thing.disable"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 参数说明
参数 类型 说明
id String 消息ID号,由物联网平台生成
version String 协议版本号,目前协议版本号为1.0。
params Object 请求参数, 为空即可。
method String 请求方法,取值thing.disable。
code Integer 结果状态码。 具体参考设备端通用code

20.网关解除禁用子设备

  • 数据下行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/enable
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/enable_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": {},
  "method": "thing.enable"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 参数说明
参数 类型 说明
id String 消息ID号,由物联网平台生成
version String 协议版本号,目前协议版本号为1.0。
params Object 请求参数, 为空即可。
method String 请求方法,取值thing.enable。
code Integer 结果状态码。 具体参考设备端通用code

21.网关删除子设备

  • 数据下行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/delete
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/delete_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": {},
  "method": "thing.delete"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 参数说明
参数 类型 说明
id String 消息ID号,由物联网平台生成
version String 协议版本号,目前协议版本号为1.0。
params Object 请求参数, 为空即可。
method String 请求方法,取值thing.delete。
code Integer 结果状态码。 具体参考设备端通用code

22.设备标签信息上报

  • 数据上行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/deviceinfo/update
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/deviceinfo/update_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": [
    {
      "attrKey": "Temperature",
      "attrValue": "36.8"
    }
  ],
  "method": "thing.deviceinfo.update"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 参数说明
参数 类型 说明
id String 消息ID号。上行消息ID需您自定义。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
params Object 请求参数,包含标签的键attrKey和值attrValue。params元素个数不超过200个。
attrKey String 标签Key。
attrValue String 标签的值。
method String 请求方法,取值thing.deviceinfo.update。
code Integer 结果信息, 200表示成功。
  • 错误码
错误码 消息 描述
460 request parameter error 请求参数错误。
6100 device not found 设备不存在。

23.删除标签信息

  • 数据上行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/deviceinfo/delete
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/deviceinfo/delete_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": [
    {
      "attrKey": "Temperature"
    }
  ],
  "method": "thing.deviceinfo.delete"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 参数说明
参数 类型 说明
id String 消息ID号。上行消息ID需您自定义。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
params String 请求参数,包含要删除的标签键attrKey参数。
attrKey String 要删除标签的Key。
method String 请求方法,取值thing.deviceinfo.delete。
code Integer 结果信息, 200表示成功。
  • 错误码
错误码 消息 描述
460 request parameter error 请求参数错误。
6100 device not found 设备不存在。

24.设备主动请求配置信息

  • 数据上行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/config/get
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/config/get_reply
  • 请求数据格式:
{
  "id": 123,
  "version": "1.0",
  "params": {
    "configScope": "product",
    "getType": "file"
  },
"method": "thing.config.get"
}
  • 响应数据格式:
{
  "id": "123",
  "version": "1.0",
  "code": 200,
  "data": {
    "configId": "123dagdah",
    "configSize": 1234565,
    "sign": "123214adfadgadg",
    "signMethod": "Sha256",
    "url": "https://iotx-config.oss-cn-shanghai.aliyuncs.com/nopoll_0.4.4.tar.gz?Expires=1502955804&OSSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Signature=XfgJu7P6DWWejstKJgXJEH0qAKU%3D&security-token=CAISuQJ1q6Ft5B2yfSjIpK6MGsyN1Jx5jo6mVnfBglIPTvlvt5D50Tz2IHtIf3NpAusdsv03nWxT7v4flqFyTINVAEvYZJOPKGrGR0DzDbDasumZsJbo4f%2FMQBqEaXPS2MvVfJ%2BzLrf0ceusbFbpjzJ6xaCAGxypQ12iN%2B%2Fr6%2F5gdc9FcQSkL0B8ZrFsKxBltdUROFbIKP%2BpKWSKuGfLC1dysQcO1wEP4K%2BkkMqH8Uic3h%2Boy%2BgJt8H2PpHhd9NhXuV2WMzn2%2FdtJOiTknxR7ARasaBqhelc4zqA%2FPPlWgAKvkXba7aIoo01fV4jN5JXQfAU8KLO8tRjofHWmojNzBJAAPpYSSy3Rvr7m5efQrrybY1lLO6iZy%2BVio2VSZDxshI5Z3McKARWct06MWV9ABA2TTXXOi40BOxuq%2B3JGoABXC54TOlo7%2F1wTLTsCUqzzeIiXVOK8CfNOkfTucMGHkeYeCdFkm%2FkADhXAnrnGf5a4FbmKMQph2cKsr8y8UfWLC6IzvJsClXTnbJBMeuWIqo5zIynS1pm7gf%2F9N3hVc6%2BEeIk0xfl2tycsUpbL2FoaGk6BAF8hWSWYUXsv59d5Uk%3D",
    "getType": "file"
  }
}
  • 参数说明
参数 类型 说明
id String 消息ID号。上行消息ID需您自定义。需定义为String类型的数字,且设备维度唯一。
version String 协议版本号,目前协议版本号为1.0。
configScope String 配置范围, 目前只支持产品维度配置。 取值:product。。
getType String 获取配置类型。 目前支持文件类型,取值:file。
method String 请求方法,取值:thing.config.get。
configId String 配置文件的ID
configSize Long 配置文件大小,按字节计算。
sign String 签名。
signMethod String 签名方法,仅支持Sha256。
url String 存储配置文件的对象存储(OSS)地址。
code Integer 结果码。返回200表示成功,返回其他状态码,表示失败。
  • 错误码
错误码 消息 描述
6713 thing config function is not available 产品的远程配置功能不可用,需要在控制台,远程配置页面打开配置开关。
6710 no data 没有配置的数据。

25.配置信息推送下发

  • 数据下行
  • 请求Topic:/sys/{productKey}/{deviceName}/thing/config/push
  • 响应Topic:/sys/{productKey}/{deviceName}/thing/config/push_reply
  • 请求数据格式:
{
  "id": "123",
  "version": "1.0",
  "params": {
    "configId": "123dagdah",
    "configSize": 1234565,
    "sign": "123214adfadgadg",
    "signMethod": "Sha256",
    "url": "https://iotx-config.oss-cn-shanghai.aliyuncs.com/nopoll_0.4.4.tar.gz?Expires=1502955804&OSSAccessKeyId=XXXXXXXXXXXXXXXXXXXX&Signature=XfgJu7P6DWWejstKJgXJEH0qAKU%3D&security-token=CAISuQJ1q6Ft5B2yfSjIpK6MGsyN1Jx5jo6mVnfBglIPTvlvt5D50Tz2IHtIf3NpAusdsv03nWxT7v4flqFyTINVAEvYZJOPKGrGR0DzDbDasumZsJbo4f%2FMQBqEaXPS2MvVfJ%2BzLrf0ceusbFbpjzJ6xaCAGxypQ12iN%2B%2Fr6%2F5gdc9FcQSkL0B8ZrFsKxBltdUROFbIKP%2BpKWSKuGfLC1dysQcO1wEP4K%2BkkMqH8Uic3h%2Boy%2BgJt8H2PpHhd9NhXuV2WMzn2%2FdtJOiTknxR7ARasaBqhelc4zqA%2FPPlWgAKvkXba7aIoo01fV4jN5JXQfAU8KLO8tRjofHWmojNzBJAAPpYSSy3Rvr7m5efQrrybY1lLO6iZy%2BVio2VSZDxshI5Z3McKARWct06MWV9ABA2TTXXOi40BOxuq%2B3JGoABXC54TOlo7%2F1wTLTsCUqzzeIiXVOK8CfNOkfTucMGHkeYeCdFkm%2FkADhXAnrnGf5a4FbmKMQph2cKsr8y8UfWLC6IzvJsClXTnbJBMeuWIqo5zIynS1pm7gf%2F9N3hVc6%2BEeIk0xfl2tycsUpbL2FoaGk6BAF8hWSWYUXsv59d5Uk%3D",
    "getType": "file"
  },
  "method": "thing.config.push"
}
  • 响应数据格式:
{
  "id": "123",
  "code": 200,
  "data": {}
}
  • 参数说明
参数 类型 说明
id String 消息ID号,由物联网平台生成。
version String 协议版本号,目前协议版本号为1.0。
configScope String 配置范围, 目前只支持产品维度配置。 取值:product。。
getType String 获取配置类型。 目前支持文件类型,取值:file。
method String 请求方法,取值:thing.config.push。
configId String 配置文件的ID
configSize Long 配置大小,按字节计算。
sign String 签名。
signMethod String 签名方法,仅支持Sha256。
url String 存储配置文件的对象存储(OSS)地址。
code Integer 结果信息, 具体请参见设备端通用code。

你可能感兴趣的:(物联网,阿里云,物联网,智能传感器,协议栈,大数据)