写点什么

阿里云 IoT 物模型 - 属性,服务,事件通信的 topic 和 payload 详解——设备管理运维类

作者:阿里云AIoT
  • 2023-03-16
    浙江
  • 本文字数:1493 字

    阅读完需:约 5 分钟

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​



阿里云物联网平台客户交流群

用户头像

阿里云AIoT

关注

物联网内容搬运者 2022-04-22 加入

还未添加个人简介

评论

发布
暂无评论
阿里云IoT物模型-属性,服务,事件通信的topic和payload详解——设备管理运维类_物联网_阿里云AIoT_InfoQ写作社区