图1 设备影子服务业务流图
一、基本概念
1、设备影子服务,由云端提供,还是设备端也会集成这个服务?
云端 提供 影子服务。
2、设备影子服务,存在形式?
影子服务,就是一个 json 文件。每个设备有且仅有 一个影子服务。
3、设备影子服务,的作用?
影子服务json 文件,用来存储 设备上报状态值 以及 业务系统期望值。是持久化存储的。
设备端
1、设备端可以通过,有发布 全向的topic,上报(走MQTT协议)设备当前的运行状态reported,给到影子存储。
2、设备端重新上线后,通过订阅影子服务的topic,获取(走MQTT协议)到业务端给设备设置的desired值;
IoT云端
1、存储设备上报状态;
2、存储业务服务器对设备desired期望值的修改结果;
3、将业务服务器对设备desired期望值,通过影子服务具有发布权限的topic,推送给设备;
业务服务器端
1、调用影子服务的设备状态获取接口,获取(走HTTP协议)到设备当前运行状态;
2、调用影子服务的设备desired值设置接口,将对设备的desired期望值,推送给到影子服务;
二、业务流程详解
阿里云IOT平台设备影子样例
1、设备端通过,有发布 权限的topic,上报(走MQTT协议)设备当前的运行状态reported,给到影子存储。通信报文,示例如下:
更新成功后,在IoT物联网控制台,设备详情的设备影子中,可以查看完整的设备影子JSON文件,如下图:
上报成功,且更新了云端设备影子后,设备端会收到云端下发的响应报文,如下:
2、业务服务器端调用影子服务的设备状态获取接口,获取(走HTTP协议)到设备当前运行状态;
影子服务的设备状态获取接口:GetDeviceShadow。业务服务器获取到设备状态数据(reported),示例代码如下(Node.js):
返回结果如下,其中 ShadowMessage 为设备影子JSON的字符串形式,如下图:
3、业务服务器调用影子服务的设备desired值设置接口,将对设备的desired期望值,推送给到影子服务;
影子服务的设备desired值设置接口名:UpdateDeviceShadow。业务服务器给设备设置期望值(desired),代码示例如下(Node.js):
设置成功后,在IoT物联网控制台,可以查看最新影子文件,如下图:
业务服务器的设置值同步到影子服务后。在线的设备会实时收到设备影子消息推送,内容如下:
如果设备不在线,当再次上线时,可以主动获取设备影子。实例代码如下:
获取成功后,云端回复设备影子消息推送,内容如下:
参考资料
IoT物联网平台「设备影子」开发实战_IoT物联网技术-CSDN博客IoT物联网平台提供设备影子功能,在云端通过一个JSON文件持久化存储设备上报状态值和业务系统的期望值。每个设备有且只有一个设备影子,设备可以通过MQTT协议获取期望值desired和设置…https://blog.csdn.net/klandor2008/article/details/114770715
本文章来源于互联网,如有侵权,请联系删除!原文地址:物联网IoT平台 设备影子服务 业务流程
相关推荐: 使用Python Link SDK接入阿里云物联网平台
1. 配置开发环境 1.1 安装python3.6或以上版本 可以使用pyenv新建一个python 3.6的虚拟环境。具体操作参考:使用pyenv和pyenv-virtualenv管理python 版本 1.2 环境配置 先激活虚拟环境,然后安装aliyun…