阿里云 IoT 物模型 - 属性,服务,事件通信的 topic 和 payload 详解——设备管理运维类
0.阿里云 IoT 物模型
物模型定义了产品的属性、服务、事件通信协议,IoT 设备和云端需要按约定规则通信,才能实现物模型转化。
1.设备属性通信
1.1 设备上报属性
设备上报 pubTopic
/sys/{productKey}/{deviceName}/thing/event/property/post
设备上报 payload 格式
{
"id": 3536123,
"version": "1.0",
"params": {
"属性 key1": "属性 value1",
"属性 key2": "属性 value2"
},
"method": "thing.event.property.post"
}
IoT 云端响应 replyTopic
/sys/{productKey}/{deviceName}/thing/event/property/post_reply
云端响应 payload 格式
{
"id": 3536123,
"code": 200,
"data": {}
}
1.2 云端设置设备属性
设备订阅 subTopic
/sys/{productKey}/{deviceName}/thing/service/property/set
IoT 云端下行的 payload 格式
{
"id": 3536123,
"version": "1.0",
"params": {
"属性 key1": "属性 value1",
"属性 key2": "属性 value2"
},
"method": "thing.service.property.set"
}
设备响应 replyTopic
/sys/{productKey}/{deviceName}/thing/service/property/set_reply
设备响应 payload 格式
{
"id": 3536123,
"code": 200,
"data": {}
}
1.3 云端获取设备属性
设备订阅 subTopic
/sys/{productKey}/{deviceName}/thing/service/property/get
IoT 云端下行的 payload 格式
{
"id": 3536123,
"version": "1.0",
"params": [
"属性 key1",
"属性 key2"
],
"method": "thing.service.property.get"
}
设备响应 replyTopic
/sys/{productKey}/{deviceName}/thing/service/property/get_reply
设备响应 payload 格式
{
"id": 3536123,
"code": 200,
"data": {
"属性 key1": "属性 value1",
"属性 key2": "属性 value2"
}
}
2.设备服务调用
2.1 服务的异步调用
设备订阅 subTopic
注意:服务订阅 Topic 这里不支持+通配符
/sys/{productKey}/{deviceName}/thing/service/{tsl.service.identifier}
或者订阅指定 service
/sys/{productKey}/{deviceName}/thing/service/{tsl.service.identifier}
IoT 云端下行的 payload 格式
{
"id": 3536123,
"version": "1.0",
"params": {
"入参 key1": "入参 value1",
"入参 key2": "入参 value2"
},
"method": "thing.service.{tsl.service.identifier}"
}
设备响应 replyTopic
/sys/{productKey}/{deviceName}/thing/service/{tsl.service.identifier}_reply
设备响应 payload 格式
{
"id": 3536123,
"code": 200,
"data": {
"出参 key1": "出参 value1",
"出参 key2": "出参 value2"
}
}
2.2 服务的同步调用
设备订阅 subTopic
注意:服务同步调用 API 是 InvokeThingService
/sys/${productKey}/${deviceName}/rrpc/request/+
IoT 云端下行的 payload 格式
{
"id": 3536123,
"version": "1.0",
"params": {
"入参 key1": "入参 value1",
"入参 key2": "入参 value2"
},
"method": "thing.service.{tsl.service.identifier}"
}
设备响应 replyTopic
/sys/${productKey}/${deviceName}/rrpc/response/request 的消息 Id
设备响应 payload 格式
{
"id": 3536123,
"code": 200,
"data": {
"出参 key1": "出参 value1",
"出参 key2": "出参 value2"
}
}
3.设备事件上报
3.1 事件上报
设备上报 pubTopic
/sys/{productKey}/{deviceName}/thing/event/{tsl.event.identifier}/post
设备上报 payload 格式
{
"id": 3536123,
"version": "1.0",
"params": {
"入参 key1": "入参 value1",
"入参 key2": "入参 value2"
},
"method": "thing.event.{tsl.event.identifier}.post"
}
IoT 云端响应 replyTopic
/sys/{productKey}/{deviceName}/thing/event/{tsl.event.identifier}/post_reply
云端响应 payload 格式
{
"id": 3536123,
"code": 200,
"data": {}
}
物联网平台产品介绍详情:https://www.aliyun.com/product/iot/iot_instc_public_cn
阿里云物联网平台客户交流群
评论