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,
"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。 |