IoT物联网平台「设备影子」开发实战

简介: IoT物联网平台「设备影子」开发实战

image.png

IoT物联网平台提供设备影子功能,在云端通过一个JSON文件持久化存储设备上报状态值和业务系统的期望值。每个设备有且只有一个设备影子,设备可以通过MQTT协议获取期望值desired和设置设备状态reported,业务系统通过HTTPS协议获取设备状态reported和设置设备期望值desired

 

  • 设备可以主动上报运行状态,业务系统可以随时读取,而不需要关心设备是否在线。
  • 当云端业务系统给指定设备设置期望值后,如果设备在线,可以实时接收云端期望值变更;设备离线,再次上线可以主动拉取云端期望值。

 

设备影子通信的两个Topic:

image.png

 

设备影子 JSON

在 IoT物联网平台控制台,设备详情,可以查看设备影子,默认影子JSON数据,如下图:

image.png

 

1.更新设备状态 reported

IoT 物联网设备可以主动更新当前状态数据到云端设备影子的(reported)节点中,通信报文,示例如下:

image.png

 

成功更新云端设备影子后,设备端会收到云端下发的响应报文,如下:

image.png

 

我们在IoT物联网控制台,设备详情的设备影子中,可以查看完整的设备影子JSON文件,如下图

image.png

 

2.获取设备状态 reported

业务系统可以通过调用设备影子的GetDeviceShadow API,获取到设备状态数据(reported),示例代码如下(Node.js):

image.png

 

返回结果如下,其中 ShadowMessage 为设备影子JSON的字符串形式,如下图:

image.png

 

3.设置设备期望值 desired

业务系统调用UpdateDeviceShadow API,可以给设备设置期望值(desired),代码示例如下(Node.js):

image.png

 

设置成功后,我们在IoT物联网控制台,设备详情的设备影子中,可以查看最新影子文件,如下图:

image.png

 

与此同时,在线的设备会实时收到设备影子消息推送,内容如下:

image.png

离线的设备,再次上线时,可以主动获取设备影子

image.png

 

云端回复设备影子消息推送,内容如下:

image.png

 

4.删除设备影子

设备可以主动删除设备影子属性,其中method为delete,要删除的属性的值为null

image.png

 

删除成功后,我们在控制台查看设备影子如下图:

image.png

 

设备上报时,将reported设置为null,可以删除全部属性的值。

image.png

 

删除成功后,我们在控制台查看设备影子如下图:

image.png

 

5.增量delta和规则引擎事件

阿里云IoT物联网平台的设备影子不支持增量delta推送,设备更新影子状态后也不会触发规则引擎流转消息事件,业务系统无法实时感知设备状态(reported)变化

 

往期推荐

 

1、39张传感器工作原理GIF图

2、智能手持测温枪开发实践

3、JMeter压测MQTT服务性能实战

4、IoT物联网平台日志服务详解

5、自建MQTT集群迁移阿里云IoT实践

6、工业Modbus电力104规约接入IoT平台

7、设备免烧录三元组,即时注册解决方案

8、IoT+TSDB+Quick BI 搭建楼宇环境监控

9、JS全栈开发,构建智能家居小程序

 

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值