阿里云IoT物模型-属性,服务,事件通信的topic和payload详解

简介: 0.阿里云IoT物模型   物模型定义了产品的属性、服务、事件通信协议,IoT设备和云端需要按约定规则通信,才能实现物模型转化。     1.设备属性通信 1.1 设备上报属性 设备上报pubTopic /sys/{productKey}/{deviceName}/thing/event/property/post 设备上报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": {}
}
相关文章
|
7月前
|
传感器 物联网 5G
物联网的通信技术以及Wi-Fi、一键配网技术、BLE、GPRS(2G)、LTE-Cat1 、NB-IoT简介
物联网的一个重要的特点是接入了网络,因此这些设备才能将传感器采集的数据上传到云平台,然后根据平台对数据的分析做出反应。而这种接入网络的技术,就是通信技术,是物联网的基础之一。通信的方式可以分为有线和无线两种方式,因为有线通信的成本较高,无线通信技术在物联网中应用比较广泛。
264 1
|
消息中间件 传感器 监控
IoT企业物联网平台,数据服务开发实战
IoT企业物联网平台开发实战
438 0
|
3月前
|
传感器 监控 安全
物联网通信的基石:LoRa、Sigfox与NB-IoT详解
物联网通信的基石:LoRa、Sigfox与NB-IoT详解
392 0
|
5月前
|
网络协议 物联网 定位技术
毕设(二)——NB-IOT通信模块(nb卡通信测试)+gps定位
毕设(二)——NB-IOT通信模块(nb卡通信测试)+gps定位
|
7月前
|
消息中间件 弹性计算 物联网
【阿里云弹性计算】阿里云ECS在IoT领域的应用:支撑大规模设备连接与数据处理
【5月更文挑战第26天】阿里云ECS是弹性计算服务,支持IoT设备的连接与数据处理。通过MQTT协议实现设备快速接入,配合消息队列处理异构实时数据。ECS可用于部署数据处理工具、应用服务,如智能家居控制系统,通过弹性伸缩适应负载变化。结合阿里云其他服务,ECS为IoT提供完整解决方案,助力企业数字化转型。
102 0
|
监控 物联网 Java
|
物联网 API 开发工具
|
编解码 小程序 JavaScript
阿里云IoT小程序应用开发和组件实践
通过实验,了解阿里云IoT小程序的应用开发的方法,了解其内置的基础组件使用,以及基于Vue.js实现可复用的自定义组件的方法。
|
运维 安全 物联网
使用阿里云 IoT 安全中心保护智慧遥控器
在物联网领域中,我们的 TO B 智慧设备,在发货之后,出现了不少困扰我们的安全问题,比如会被恶意安装应用,访问非法网站等,增加厂家的运维成本。 同时设备上的一些技术机密也容易被好事之人破解,对厂商构成商业损失,直到我们发现了阿里云物联网的一款安全防护产品 -- IoT 安全中心。它主打的 ID² 和安全运营有效的解决了我们的痛点。
504 3
|
存储 监控 物联网