目录
- 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/productKey/{productKey}/productKey/{deviceName}/combine/login
- 响应Topic:/ext/session/productKey/{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。
|
常用Alink协议总结相关推荐
- 【阿里云IoT+YF3300】2.阿里云IoT云端通信Alink协议介绍
如果单单只有MQTT协议,也许很难支撑起阿里这个IoT大厦.Alink协议的出现,不仅仅是数据从传感端搬到云端,它就如基因图谱,它勾画了一个大厦的骨架,有了它,才有了IoT Studio,才有了大数据 ...
- ThingsBoard接入阿里ALink协议的网关设备探讨
目录 前言 整体规划 调用流程 开始 总结 前言 市面多数设备支持阿里云物联网平台的ALink协议,假设这类网关无法更改上下行协议,如何接入tb平台? 文章是个人调研过程中的理解和分享,顺便通过偏实战 ...
- 常用广域网协议配—Vecloud
常用广域网协议主要有高级数据链路控制协议HDLC.综合服务数字网ISDN.点对点协议PPP.分组交换协议X.25和帧中继Frame-Relay等.路由器的串口提供与广域网的连接,但与ISDN的连接需通 ...
- simp服务器协议,几个常用网络协议的简单说明
网络协议的五花八门,让我们初学者总是有些不知所措.那么接下来我们就简单介绍一下常用的几个网络协议.那么就让我们看看这些常用网络协议的一些概念,功能以及作用吧. 常用网络协议:ARP(Address R ...
- LTE/NB-IoT 常用3GPP协议导读
LTE/NB-IoT 常用3GPP协议导读 Key words Spec number Title E-UTRAN Overall 36.300 (E-UTRAN); Overall descript ...
- 路由器、路由表及常用路由选择协议初识
路由器.路由表及常用路由选择协议初识 什么是路由器 路由器是一种具有多个输入端口和多个输出端口的专用计算机,其任务是转发分组. 路由器包含了3(网络层).2(数据链路层)和1(物理层)三层. 路由器使 ...
- HTTP协议介绍及常用HTTP协议对比
HTTP协议介绍及常用HTTP协议对比 HTTP协议简介 计算机网络体系介绍 TCP/IP通讯传输流 HTTP协议通信过程分析 常用HTTP协议介绍 GET与POST协议对比 HTTP状态码 HTTP ...
- SSO都有哪些常用的协议
SSO统一身份认证--SSO都有哪些常用的协议 单点登录(SingleSignOn,SSO),就是通过用户的一次性鉴别登录.当用户在身份认证服务器上登录一次以后,即可获得访问单点登录系统中其他关联系统 ...
- 【一篇看全】工业相机常用数据传输协议速率对比(CameraLink,CXP,1/10/100GigE,USB)
[一篇看全]工业相机常用数据传输协议速率对比(CameraLink,CXP,GigE,USB) CameraLink CXP GigE 10GigE 100GigE USB 接口协议速率对比 速率换算 ...
- 服务器头部信息cookie,Http常用的协议信息头
Http常用的协议信息头: 一.请求头信息: 1.Accept:浏览器告诉服务器所支持的数据类型. 2.Accept-Charset:浏览器告诉服务器所采用的字符集. 3.Accept-Encodin ...
最新文章
- 深入理解javascript原型和闭包(16)——完结
- 1.11 多于空间维度的向量组
- 第十章:Java_IO流
- CVPR2014: DeepID解读
- 数据结构与算法--3.字符串的旋转
- win10系统能做域服务器吗,Win10 LTSC 加入 Windows Server 2019 域服务器
- 第一学期计算机网络作业,2010-2011学年第一学期计算机网络(33973)试卷
- spring boot: 支持jsp,支持freemarker
- pytorch 中 torch.cat 函数的使用
- c语言编译器 代码优化,C语言 之编译器优化
- ssr服务器网站,ssr(服务端渲染)
- php 中字符串长度不正确
- AcWing 2041:干草堆(差分)
- bat计算机清理原理,科技教程:电脑如何一键清除垃圾bat
- 【复杂网络学习笔记】1:基本知识和小世界网络初步建立
- SACC2018:微服务架构设计
- 关于c语言的聊天图片不用打字搞笑,不用打字就可聊天图片大全 不用打字早上好表情包...
- 一个免费、快速好用的汉语拼音离线翻译工具
- Python全栈(十)Django框架之10.ORM模型对象和QuerySet方法
- JAVA常见异常类汇总
热门文章
- Emacs中学习gdb调试
- 程序员坐行李箱迎寒风编码2小时,上热搜!你怎么看?
- 给大家推荐一本书:你只是看起来很努力
- 计算机一级登录密码忘了怎么办,电脑密码忘了怎么办
- @Deprecated注解
- Android本地图片加载展示而不容易OOM的办法
- 证明:模n加法满足结合律
- 10天竟然只写了一行代码,谁的锅?
- 手机与电脑视频呼java_Android手机播放电脑视频文件-屌丝必备
- 整数幂C语言1005,zzuli1005: 整数幂 - 菜鸟头头