阿里云物联网平台设备影子功能演示-阿里云开发者社区

开发者社区> IoT> 正文

阿里云物联网平台设备影子功能演示

简介: 物联网平台提供设备影子功能,用于缓存设备状态。设备在线时,可以直接获取云端指令;设备离线时,上线后可以主动拉取云端指令。设备影子是一个 JSON 文档,用于存储设备上报状态、应用程序期望状态信息。每个设备有且只有一个设备影子,设备可以通过MQTT获取和设置设备影子来同步状态,该同步可以是影子同步给设备,也可以是设备同步给影子。

概述

物联网平台提供设备影子功能,用于缓存设备状态。设备在线时,可以直接获取云端指令;设备离线时,上线后可以主动拉取云端指令。设备影子是一个 JSON 文档,用于存储设备上报状态、应用程序期望状态信息。每个设备有且只有一个设备影子,设备可以通过MQTT获取和设置设备影子来同步状态,该同步可以是影子同步给设备,也可以是设备同步给影子。本文使用MQTT.fx工具快速测试设备影子的相关功能。

实验测试

设备影子Topic

物联网平台已为每个设备预定义了两个Topic,用于实现数据流转,可以直接使用。

  • /shadow/update/${YourProductKey}/${YourDeviceName}
    设备和应用程序发布消息到此Topic。物联网平台收到该Topic的消息后,将消息中的状态更新到设备影子中。
  • /shadow/get/${YourProductKey}/${YourDeviceName}
    设备影子更新状态到该Topic,设备订阅此Topic获取最新消息。

测试工具

这里使用MQTT.fx验证测试相关功能,关于MQTT.fx连接阿里云物联网平台,参考:使用MQTT.fx接入物联网平台


一、设备主动上报状态

_

_

_


二、应用程序改变设备状态

使用Open API Exployer调用UpdateDeviceShadow接口。

_

_

_


三、设备主动获取影子内容

_

_


四、设备主动删除影子属性

_

_

五、注意
1、主动更新版本号时,设备影子会检查请求中的version值是否大于当前版本号;
2、version参数为long型。为防止参数溢出,您可以手动传入-1将版本号重置;
3、删除操作也要求版本号大于当前的版本号。

更多参考

设备影子数据流
设备影子JSON详解
设备影子概览

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

分享:
IoT
使用钉钉扫一扫加入圈子
+ 订阅

物联网软硬件开发者一站式基地

其他文章