传感器
M2M 云计算
智慧城市
电子标签
二维码
IPV6

未来
物联网
让一切想象变成现实!

未来物联网为您提供物联网资讯,物联网新闻,物联网技术,物联网会议,

物联网企业,物联网行业资讯网站,全球物联网技术及物联网应用最新动态。

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

[复制链接]
未来物联网   发表于 2021-11-20 10:37:06   查看: 405 帖子
简介: IoT物联网平台「设备影子」开发实战

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

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



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


设备影子通信的两个Topic:

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



设备影子 JSON

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

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

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



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

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



2.获取设备状态 reported

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

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



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

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



3.设置设备期望值 desired

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


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

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



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

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

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

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



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


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



4.删除设备影子

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

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



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

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



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

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



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

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



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

阿里云IoT物联网平台的设备影子不支持增量delta推送,设备更新影子状态后也不会触发规则引擎流转消息事件,业务系统无法实时感知设备状态(reported)变化
本文为阿里云原创内容,未经允许不得转载。
 郑重声明:本文仅代表作者个人观点,与未来物联网(wlit.cn)无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
回复

使用道具 举报

QQ|Archiver|手机版|未来物联网 ( 鲁ICP备17019744号-2 ) 百度统计

GMT+8, 2021-11-30 14:49 , Processed in 0.110888 second(s), 22 queries .

Powered by Discuz! X3.4

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表