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,
"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。 |
参数 | 类型 | 说明 |
---|
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 | 请求成功时的返回结果。 |
参数 | 类型 | 说明 |
---|
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。 |
参数 | 类型 | 说明 |
---|
deviceName | String | 子设备的设备名称。 |
productKey | String | 子设备所属的产品的ProductKey。 |
参数 | 类型 | 说明 |
---|
id | String | 消息ID,String类型的数字。 |
code | Integer | 返回结果,200代表成功。 |
message | String | 结果信息。 |
data | Object | 请求成功时的返回结果。 |
参数 | 类型 | 说明 |
---|
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}} |
参数 | 类型 | 说明 |
---|
key | String | key即属性的标识符。如示例中为power。 |
value | Object | 期望属性值。 |
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。 |
参数 | 类型 | 说明 |
---|
key | String | key即属性的标识符。如示例中,列出了power和temperature两个属性标识符。 |
version | Integer | 要删除期望属性值的版本号。 |
参数 | 类型 | 说明 |
---|
id | String | 消息ID,String类型的数字。 |
code | Integer | 结果状态码。 具体参考设备端通用code |
data | String | 返回数据。 |
参数 | 类型 | 说明 |
---|
key | String | key即属性的标识符。如示例中为power。 |
value | Object | 期望属性值。 |
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。 |