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
相关文章
|
9天前
|
安全 物联网 网络安全
智能设备的安全隐患:物联网(IoT)安全指南
智能设备的安全隐患:物联网(IoT)安全指南
34 12
|
8天前
|
传感器 监控 安全
物联网(IoT):定义、影响与未来
物联网(IoT):定义、影响与未来
24 3
|
16天前
|
存储 JSON 运维
智能物联网平台:Azure IoT Hub在设备管理中的实践
【10月更文挑战第26天】随着物联网技术的发展,Azure IoT Hub成为企业管理和连接数百万台设备的强大平台。本文介绍Azure IoT Hub的设备管理功能,包括设备注册、设备孪生、直接方法和监控诊断,并通过示例代码展示其应用。
21 4
|
1月前
|
Rust 资源调度 安全
为什么使用 Rust over C++ 进行 IoT 解决方案开发
为什么使用 Rust over C++ 进行 IoT 解决方案开发
68 7
|
16天前
|
SQL 监控 物联网
ClickHouse在物联网(IoT)中的应用:实时监控与分析
【10月更文挑战第27天】随着物联网(IoT)技术的快速发展,越来越多的设备被连接到互联网上,产生了海量的数据。这些数据不仅包含了设备的状态信息,还包括用户的使用习惯、环境参数等。如何高效地处理和分析这些数据,成为了一个重要的挑战。作为一位数据工程师,我在一个物联网项目中深入使用了ClickHouse,以下是我的经验和思考。
40 0
|
1月前
|
人工智能 安全 物联网
|
2月前
|
存储 物联网 关系型数据库
PolarDB在物联网(IoT)数据存储中的应用探索
【9月更文挑战第6天】随着物联网技术的发展,海量设备数据对实时存储和处理提出了更高要求。传统数据库在扩展性、性能及实时性方面面临挑战。阿里云推出的PolarDB具备高性能、高可靠及高扩展性特点,能有效应对这些挑战。它采用分布式存储架构,支持多副本写入优化、并行查询等技术,确保数据实时写入与查询;多副本存储架构和数据持久化存储机制保证了数据安全;支持动态调整数据库规模,适应设备和数据增长。通过API或SDK接入IoT设备,实现数据实时写入、分布式存储与高效查询,展现出在IoT数据存储领域的巨大潜力。
66 1
|
2月前
|
传感器 监控 安全
物联网通信的基石:LoRa、Sigfox与NB-IoT详解
物联网通信的基石:LoRa、Sigfox与NB-IoT详解
317 0
|
2月前
|
机器学习/深度学习 人工智能 算法
物联网(IoT)就像是一个大型派对,无数的设备都在欢快地交流着信息
【9月更文挑战第4天】在这个万物互联的时代,物联网(IoT)犹如一场盛大的派对,各类设备欢聚一堂。然而,如何让这些设备互相理解并协同工作呢?这就需要机器学习与人工智能的助力。例如,智能空调通过学习你的使用习惯来调节温度,使你更加舒适;智能安防系统则能识别异常行为并及时报警,保障家庭安全。此外,智能农业、交通等领域也因机器学习和人工智能的应用变得更加高效。下面通过一个简单的温度预测代码示例,展示机器学习在物联网中的实际应用,让我们一起感受其强大潜力。
57 0
|
3月前
|
物联网 数据管理 Apache
拥抱IoT浪潮,Apache IoTDB如何成为你的智能数据守护者?解锁物联网新纪元的数据管理秘籍!
【8月更文挑战第22天】随着物联网技术的发展,数据量激增对数据库提出新挑战。Apache IoTDB凭借其面向时间序列数据的设计,在IoT领域脱颖而出。相较于传统数据库,IoTDB采用树形数据模型高效管理实时数据,具备轻量级结构与高并发能力,并集成Hadoop/Spark支持复杂分析。在智能城市等场景下,IoTDB能处理如交通流量等数据,为决策提供支持。IoTDB还提供InfluxDB协议适配器简化迁移过程,并支持细致的权限管理确保数据安全。综上所述,IoTDB在IoT数据管理中展现出巨大潜力与竞争力。
106 1

相关产品

  • 物联网平台