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
相关文章
|
26天前
|
存储 安全 物联网
C语言物联网开发之设备安全与代码可靠性隐患
物联网设备的C语言代码安全与可靠性至关重要。一是防范代码安全漏洞,包括缓冲区溢出和代码注入风险,通过使用安全函数和严格输入验证来预防。二是提高代码跨平台兼容性,利用`stdint.h`定义统一的数据类型,并通过硬件接口抽象与适配减少平台间的差异,确保程序稳定运行。
|
20天前
|
传感器 存储 物联网
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点
在物联网(IoT)快速发展的今天,C语言作为物联网开发中的关键工具,以其高效、灵活、可移植的特点,广泛应用于嵌入式系统开发、通信协议实现及后端服务构建等领域,成为推动物联网技术进步的重要力量。
29 1
|
26天前
|
存储 网络协议 物联网
C 语言物联网开发之网络通信与数据传输难题
本文探讨了C语言在物联网开发中遇到的网络通信与数据传输挑战,分析了常见问题并提出了优化策略,旨在提高数据传输效率和系统稳定性。
|
29天前
|
存储 安全 物联网
C# 在物联网 (IoT) 应用中的应用
本文介绍了C#在物联网(IoT)应用中的应用,涵盖基础概念、优势、常见问题及其解决方法。重点讨论了网络通信、数据处理和安全问题,并提供了相应的代码示例,旨在帮助开发者更好地利用C#进行IoT开发。
45 3
|
1月前
|
安全 物联网 网络安全
智能设备的安全隐患:物联网(IoT)安全指南
智能设备的安全隐患:物联网(IoT)安全指南
85 12
|
1月前
|
传感器 监控 安全
物联网(IoT):定义、影响与未来
物联网(IoT):定义、影响与未来
82 3
|
1月前
|
存储 JSON 运维
智能物联网平台:Azure IoT Hub在设备管理中的实践
【10月更文挑战第26天】随着物联网技术的发展,Azure IoT Hub成为企业管理和连接数百万台设备的强大平台。本文介绍Azure IoT Hub的设备管理功能,包括设备注册、设备孪生、直接方法和监控诊断,并通过示例代码展示其应用。
61 4
|
23天前
|
安全 物联网 物联网安全
揭秘区块链技术在物联网(IoT)安全中的革新应用
揭秘区块链技术在物联网(IoT)安全中的革新应用
|
27天前
|
传感器 Rust 物联网
通义灵码在物联网项目中的实战应用
通义灵码在物联网项目中的实战应用
33 0
|
2月前
|
Rust 资源调度 安全
为什么使用 Rust over C++ 进行 IoT 解决方案开发
为什么使用 Rust over C++ 进行 IoT 解决方案开发
88 7

热门文章

最新文章

相关产品

  • 物联网平台
  • 下一篇
    DataWorks