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)变化


相关实践学习
钉钉群中如何接收IoT温控器数据告警通知
本实验主要介绍如何将温控器设备以MQTT协议接入IoT物联网平台,通过云产品流转到函数计算FC,调用钉钉群机器人API,实时推送温湿度消息到钉钉群。
阿里云AIoT物联网开发实战
本课程将由物联网专家带你熟悉阿里云AIoT物联网领域全套云产品,7天轻松搭建基于Arduino的端到端物联网场景应用。 开始学习前,请先开通下方两个云产品,让学习更流畅: IoT物联网平台:https://iot.console.aliyun.com/ LinkWAN物联网络管理平台:https://linkwan.console.aliyun.com/service-open
相关文章
|
28天前
|
消息中间件 网络协议 物联网
MQTT常见问题之物联网设备端申请动态注册时MQTT服务不可用如何解决
MQTT(Message Queuing Telemetry Transport)是一个轻量级的、基于发布/订阅模式的消息协议,广泛用于物联网(IoT)中设备间的通信。以下是MQTT使用过程中可能遇到的一些常见问题及其答案的汇总:
|
4月前
|
传感器 物联网 网络架构
ENS、IoT设备、X86、ARM
ENS(Enterprise Name Service)是企业名称服务,是一种为物联网设备提供命名和寻址服务的技术。ENS通过为物联网设备分配唯一的名称和地址,使得物联网设备可以被网络中的其他设备和服务所识别和访问。 IoT设备(Internet of Things device)是连接到互联网的物理设备,可以收集和共享数据,用于监测、控制和优化各种业务流程和操作。IoT设备包括各种传感器、执行器、网关和路由器等。
40 2
|
4月前
|
物联网
STC51单片机-实验开发装置仿真-物联网应用系统设计
STC51单片机-实验开发装置仿真-物联网应用系统设计
53 0
|
4月前
|
存储 物联网 大数据
助力工业物联网,工业大数据之脚本开发【五】
助力工业物联网,工业大数据之脚本开发【五】
40 0
|
2月前
|
网络协议 物联网 5G
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
K3S 系列文章 -5G IoT 网关设备 POD 访问报错 DNS 'i/o timeout' 分析与解决
|
1月前
|
监控 安全 数据挖掘
物联网平台中如何快速检测设备异常
物联网平台中如何快速检测设备异常
29 0
|
1月前
|
存储 监控 安全
Java基于物联网技术的智慧工地云管理平台源码 依托丰富的设备接口标准库,快速接入工地现场各类型设备
围绕施工安全、质量管理主线,通过物联感知设备全周期、全覆盖实时监测,将管理动作前置,实现从事后被动补救到事前主动预防的转变。例如塔吊运行监测,超重预警,升降机、高支模等机械设备危险监控等,通过安全关键指标设定,全面掌握现场安全情况,防患于未然。
147 5
|
1月前
|
XML JSON 网络协议
【开源视频联动物联网平台】设备接入
【开源视频联动物联网平台】设备接入
27 2
|
1月前
|
存储 运维 网络协议
【开源物联网平台】物联网设备上云提供开箱即用接入SDK
IOTDeviceSDK是物联网平台提供的设备端软件开发工具包,可简化开发过程,实现设备快速接入各大物联网平台。设备厂商获取SDK后,根据需要选择相应功能进行移植,即可快速集成IOTDeviceSDK,实现设备的接入。
118 0
|
1月前
|
安全 搜索推荐 物联网
物联网设备的OTA基本原理
物联网设备的OTA基本原理
39 1

相关产品

  • 物联网平台