阿里云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​

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

 

  • 4
    点赞
  • 18
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
将加速度数据上传到阿里云中的模型中,可以按照以下步骤进行设计: 1. 准备硬件设备:加速度传感器、ESP8266开发板。 2. 连接硬件设备:将加速度传感器与ESP8266开发板连接,可以使用杜邦线连接,具体的连接方式可以参考加速度传感器和ESP8266的数据手册。 3. 编写程序:使用Arduino IDE或者其他的开发工具,编写程序来读取加速度传感器的数据,并将数据上传到阿里云物联网平台。可以使用MQTT协议来实现数据上传。 4. 创建阿里云账号:如果还没有阿里云账号,需要先创建一个账号,并且获取AccessKey和Secret。 5. 创建物联网平台实例:在阿里云物联网平台上创建一个实例,用于管理设备和数据。 6. 创建模型:在物联网平台上创建一个模型,用于描述设备的属性服务事件。 7. 创建设备:在物联网平台上创建一个设备,可以使用设备名称和设备密钥来进行设备认证。 8. 配置设备连接:在ESP8266开发板上配置设备连接,包括设备名称、设备密钥、订阅和发布的主题等。 9. 实现数据格式转换:将加速度传感器的数据格式转换为模型中定义的数据格式,例如json格式。 10. 实现数据上传:使用MQTT协议将数据上传到物联网平台,并且按照模型中定义的格式进行数据解析和处理。 11. 测试:上传程序到ESP8266开发板,测试上传加速度数据是否成功,并且在物联网平台上查看数据是否正确。 以上是一个简单的设计流程,具体的实现过程可能会涉及到一些细节问题,需要根据具体情况进行进一步的调整和优化。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值