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

传送门: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...

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

1 声望
1 粉丝
0 条评论
推荐阅读
物联网数据应用开发最佳实践——数据价值类
本文以IoT Studio项目引用同一产品多个设备为例,设备主要属性为三个温度值(temperature_1,temperature_2,temperature_3),代表设备不同部件温度值,一个温度告警事件,查看设备单一属性一天内最高温度,最低温...

阿里云AIoT阅读 264

就这些了, 常见 6 款API 文档工具推荐
Swagger: Swagger 是一个开源的 API 文档管理工具,可以通过注解自动生成 API 文档,并提供交互式 UI 和 API 调试功能。 Swagger 支持多种语言和格式,包括 Java、Python、JSON、YAML 等。

圆圆大姐头3阅读 362

搞懂 API :API 鉴权有哪些分类,这些重点不要错过
API鉴权是保证API安全性和可用性的一项重要措施。通过API鉴权,系统可以对用户或者应用进行有效的身份认证和权限管理。一般来说,在实际开发中,我们使用以下几种API鉴权方式:

气势凌人的柿子2阅读 514

两次登上了 Github trending!这个 API 管理工具厉害了!
昨天我在逛Github上的时候,无意发现我最近在用的这个Postcat ,居然登上了 Github trending !这个还是很厉害的!那种心情你们应该懂的吧,就是自己发现的工具,居然也被大家知道了,很开心!

气势凌人的柿子2阅读 489

Chatgpt 对程序员而言有这些妙用
ChatGPT是一种基于人工智能技术的对话机器人,可以在各种场景下辅助用户解决问题,提高效率。对于程序员而言,ChatGPT的智能化和语义理解能力,可以帮助他们更好地完成编程工作。

气势凌人的柿子2阅读 488

Postcat IDEA 插件,最全的使用教程
Postcat 插件不会入侵到代码内部,无需添加任何jar包依赖,这个真的很香!下面说一说,这个插件如何使用,是时候展现真正的技术了~如何安装配置?IDEA 版本需大于 IntelliJ IDEA 2022.03在 IDEA “设置-插件-Marke...

圆圆大姐头2阅读 477

收集好了!Chatgpt 各版本之间的优缺点分析
ChatGPT是一种基于自然语言处理(NLP)模型的对话生成程序,它使用机器学习算法来构建语言模型和对话系统。ChatGPT的不同版本有不同的原理和应用场景,下面将从技术的角度讲解ChatGPT的不同版本及其优缺点。

圆圆大姐头2阅读 719

1 声望
1 粉丝
宣传栏