传送门:5 个视频解说,30 个场景案例汇总 https://www.yuque.com/cloud-d…
IoT 物联网平台提供 设施影子 性能,在云端通过 一个 JSON 文件长久化存储设备上报状态值和业务零碎的期望值 。每个设施有且只有一个设施影子,设施能够通过 MQTT 协定获取 期望值 desired和设置 设施状态 reported,业务零碎通过 HTTPS 协定获取 设施状态 reported和设置设施 期望值 desired。
·设施能够被动上报运行状态,业务零碎能够随时读取,而不须要关怀设施是否在线。
·当云端业务零碎给指定设施设置期望值后,如果设施在线,能够实时接管云端期望值变更;设施离线,再次上线能够被动拉取云端期望值。
设施影子通信的两个 Topic:
设施影子 JSON
在 IoT 物联网平台控制台,设施详情 ,能够查看 设施影子,默认影子 JSON 数据,如下图:
1. 更新设施状态 reported
IoT 物联网设施能够被动更新以后状态数据到云端设施影子的 (reported) 节点中,通信报文,示例如下:
胜利更新云端设施影子后,设施端会收到云端下发的响应报文,如下:
咱们在 IoT 物联网控制台,设施详情的设施影子中,能够查看残缺的设施影子 JSON 文件,如下图
2. 获取设施状态 reported
业务零碎能够通过调用设施影子的GetDeviceShadow API,获取到设施状态数据(reported),示例代码如下(Node.js):
返回后果如下,其中 ShadowMessage 为设施影子 JSON 的字符串模式,如下图:
3. 设置设施期望值 desired
业务零碎调用UpdateDeviceShadow API,能够给设施设置期望值(desired),代码示例如下(Node.js):
设置胜利后,咱们在 IoT 物联网控制台,设施详情的设施影子中,能够查看最新影子文件,如下图:
与此同时,在线的设施 会实时收到设施影子音讯推送,内容如下:
离线的设施,再次上线时,能够被动获取设施影子
云端回复设施影子音讯推送,内容如下:
4. 删除设施影子
设施能够被动删除设施影子属性,其中 method 为delete,要删除的属性的值为null。
删除胜利后,咱们在控制台查看设施影子如下图:
设施上报时,将 reported 设置为null,能够删除全副属性的值。
删除胜利后,咱们在控制台查看设施影子如下图:
5. 增量 delta 和规定引擎事件
阿里云 IoT 物联网平台的设施影子 不反对增量 delta 推送 ,设施更新影子状态后也不会触发规定引擎流转音讯事件,业务零碎 无奈实时感知设施状态 (reported) 变动。
物联网平台产品介绍详情:https://www.aliyun.com/produc…
阿里云物联网平台客户交换群