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

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

传送门:5个视频讲解,30个场景案例汇总

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

Topic:

/shadow/get/tproductkey/deviceName

Pay1oad:

rep1y",

method"

"payload":f

status":

success",

version":1

子,

"null",

"clientToken"

"timestamp":


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

image.png

百阿里云

华东2(上海)

搜索文档,控制台,API,解决方案和资源

设备

物联网平台

设备管理

设备详情

IH11

在线

设备管理

产品

智能灯查看

DeviceSecret

产品

L:4复制

Productkey

设备

设备影子

文件管理

物模型数据

日志服务

设备信息

Topic列表

在线调试

分组

更新影子

任务

1E:06

CA证书

最近更新时间:20:

规则引擎

"state":?

mLorcoW

"reported":

监控运维

Switch":"on"

Color":"Red",

"Low"

"LightIntensity":

设备划归

数据分析

"metadata":

"reported":

"Switch":

11

视频服务

12

"timestamp":1615443246

13

子,

"color":

14

文档与工具

"timestamp":1615443246

15

16

"LightIntensity"

17

"timestamp":1615443246

18

19


2.获取设备状态 reported

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

image.png


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

image.png

.4F",

"ReguestId":"5C503

"Success":true,

"ShadowMescage":""ctate".Yrenortend"

age

"Red""LightIntensity""Low

"Color

de

'Switch":"'on"'

sired:0''metadata

reported"et"'switch"

["timestamp":1/

"Color":

["timestamp":1:

,"Lightintensity":

,"desired":

L"timestamp":11

l,"timestamp"

19,"version":1"


3.设置设备期望值 desired

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

image.png


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

image.png

百阿里云

搜索文档,控制台,API,解决方案和资

华东2

(上海)

物联网平台设备管理设备

设备详情

血i

<i

在线

设备管理

智能灯查看

产品

DeviceSecret

产品

复制

Productkey

设备

设备影子

日志服务

文件管理

物模型数据

分组

在线调试

设备信息

Topic列表

分组

更新影子

任务

CA证书

最近更新时间:2021/L.26

规则引擎

"state":0

"reported":

寸L100g

监控运维

"Switch":"on",

"Color":"Red",

"LightIntensity""Low"

设备划归

desired

"Color":"Green",

数据分析

"LightIntensity":

"high"

E

视频服务

"metadata":

13

"reported":

文档与工具

"'Switch":

15

"timestamp":

"color":

timestamp"


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

image.png

control",

"method":"'c

"payload":O

"state":o

"desired":o

"Color

"Green"

"LightIntensity:high

"reported":O

"Switch":"on",

"color":"Red"',

"LightIntensity""Low

"metadata":oobjectf..]

H,

"timestamp":1

"version":2

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

image.png


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

image.png


4.删除设备影子

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

image.png


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

image.png


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

image.png


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

image.png


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

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


相关实践学习
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
传感器 人工智能 物联网
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
健康监测设备的技术革命:AI+物联网如何让你随时掌握健康数据?
1394 19
|
人工智能 物联网 Android开发
【04】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-自定义一个设置输入小部件组件-完成所有设置setting相关的页面-优雅草卓伊凡
【04】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-自定义一个设置输入小部件组件-完成所有设置setting相关的页面-优雅草卓伊凡
534 92
|
11月前
|
物联网
(手把手)在华为云、阿里云搭建自己的物联网MQTT消息服务器,免费IOT平台
本文介绍如何在阿里云搭建自己的物联网MQTT消息服务器,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
3338 42
|
11月前
|
运维 监控 网络协议
物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
339 11
物联网设备状态监控全解析:从告警参数到静默管理的深度指南-优雅草卓伊凡
|
人工智能 物联网 Android开发
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
599 23
【03】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-在lib目录新建自定义库UtilsLibrary,ComponentLibrary,CommonConstLibrary完成设置SettingsView.ets初始公共类书写-优雅草卓伊凡
|
存储 人工智能 物联网
【02】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-登录页面LoginView.ets完成-并且详细解释关于arkui关于 CommonConst, commonColor, InputDataModel-优雅草卓伊凡
【02】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-登录页面LoginView.ets完成-并且详细解释关于arkui关于 CommonConst, commonColor, InputDataModel-优雅草卓伊凡
413 14
【02】优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-登录页面LoginView.ets完成-并且详细解释关于arkui关于 CommonConst, commonColor, InputDataModel-优雅草卓伊凡
|
人工智能 物联网 编译器
【01】优雅草星云物联网AI智控系统从0开发鸿蒙端适配完成流程-初始化鸿蒙编译器deveco studio项目结构-UI设计图切片下载-优雅草卓伊凡
【01】优雅草星云物联网AI智控系统从0开发鸿蒙端适配完成流程-初始化鸿蒙编译器deveco studio项目结构-UI设计图切片下载-优雅草卓伊凡
322 11
【01】优雅草星云物联网AI智控系统从0开发鸿蒙端适配完成流程-初始化鸿蒙编译器deveco studio项目结构-UI设计图切片下载-优雅草卓伊凡
|
11月前
|
机器学习/深度学习 人工智能 运维
星云智控自定义物联网实时监控模板-为何成为痛点?物联网设备的多样化-优雅草卓伊凡
星云智控自定义物联网实时监控模板-为何成为痛点?物联网设备的多样化-优雅草卓伊凡
228 8
Java 大视界 -- 基于 Java 的大数据实时流处理在工业物联网设备状态监测中的应用与挑战(167)
本文围绕基于 Java 的大数据实时流处理技术,深入探讨其在工业物联网设备状态监测中的应用与挑战。不仅介绍了技术架构、原理和案例,还引入边缘计算技术,提出应对数据质量、性能和安全等问题的策略。
|
12月前
|
人工智能 前端开发 物联网
【05】20250416优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-增加告警中心相关卡片页面WarningCardWidget相关-增加Canvas 绘制折线图-Canvas 绘制柱状图-首页-优雅草卓伊凡
【05】20250416优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-增加告警中心相关卡片页面WarningCardWidget相关-增加Canvas 绘制折线图-Canvas 绘制柱状图-首页-优雅草卓伊凡
284 0
【05】20250416优雅草星云物联网AI智控系统从0开发鸿蒙端适配-deveco studio-增加告警中心相关卡片页面WarningCardWidget相关-增加Canvas 绘制折线图-Canvas 绘制柱状图-首页-优雅草卓伊凡

相关产品

  • 物联网平台