华为云Astro大屏从iotda影子设备抽取数据做设备运行状态的大屏实施步骤

目录

背景与意义

1. 准备阶段

2. IoTDA 开放影子查询API

3. Astro轻应用创建连接器

4. Astro大屏设计界面

5. 数据绑定与交互逻辑

6. 发布与测试

小结(流程复盘)


背景与意义

随着物联网技术的快速发展,越来越多的设备接入云端,实时监控和管理这些设备的运行状态变得尤为重要。华为云Astro大屏作为一种可视化工具,能够直观地展示设备的运行状态,帮助用户快速了解设备的实时情况,及时发现并解决问题。

这份知识文档的实施步骤包括确认设备影子是否启用、识别需要展示的属性、选择展示方式、规划数据获取方式以及权限认证管理等。通过这些步骤,用户可以系统地了解如何从华为云物联网平台的设备影子中抽取数据,并在Astro大屏上进行展示。

该文档的意义为开发者提供了一个清晰的开发流程和参考,帮助他们快速构建专业的设备监控大屏应用


1. 准备阶段

目的:准备好所需的账号、权限和基本环境。
怎么做

  • 有华为云账号,且账号具备 IoTDA(物联网平台)和 Astro(低代码大屏设计器)权限。

  • 确定设备已接入 IoTDA,且设备的影子数据(即运行状态,如开关、温度、电量等)已经能在IoTDA后台看到。

  • 清楚设备的

    • 设备ID

    • 所属产品(Product)

    • 影子数据结构(即有哪些属性,比如 status = online/offline)。

注意事项

  • 如果设备还没上线,可以先用模拟设备。

  • 如果设备还没上报影子数据,需要先通过设备或接口上报。


2. IoTDA 开放影子查询API

目的:让Astro大屏能够去IoTDA拿到设备影子数据。
怎么做

  • 登录华为云控制台 → 进入 IoTDA → API Explorer → 找到 "查询设备影子数据" 接口(路径一般是 /v5/iot/{project_id}/devices/{device_id}/shadow)。

  • 记录下需要用的:

    • 接口URL地址

    • 请求方式:GET

    • 必要的消息头(Header):比如 X-Auth-TokenX-Sdk-Date

  • 确认是否需要使用 AK/SK签名认证Token认证

注意事项

  • 影子接口属于受保护接口,需要认证,不是随便就能访问的。

  • 推荐使用 AK/SK认证,更稳定。


3. Astro轻应用创建连接器

目的:让Astro能调用IoTDA接口获取影子数据。
怎么做

  • 登录 Astro 应用设计器。

  • 左边点击【集成】 → 【连接器实例】 → 点击【+】新建一个连接器。

  • 类型选【自定义连接器】。

  • 配置连接器信息:

    • 请求方式:GET

    • 接口URL:填写 IoTDA 查询影子的完整API(带project_id和device_id)

    • 认证信息

      • 如果是AK/SK认证,需要在请求头里做签名(可以用系统内置签名方式)。

      • 如果是Token认证,需要事先拿到Token,在请求头里加 X-Auth-Token

    • 配置请求头、请求参数。

    • 配置响应参数(把影子数据映射成Astro能识别的格式,比如运行状态字段映射为 deviceStatus)。

注意事项

  • device_id可以在连接器里定义为动态参数,这样可以复用一个接口查询多个设备。

  • 连接器测试时要确保返回成功(状态码200),能拿到影子数据。


4. Astro大屏设计界面

目的:搭建设备运行状态展示界面。
怎么做

  • 在Astro里创建一个【大屏项目】。

  • 新建页面(Canvas)。

  • 拖拽常用组件,比如:

    • 文字组件(显示设备名称、设备状态)

    • 图标组件(比如绿色表示在线,红色表示离线)

    • 表格组件(显示多个设备状态列表)

    • 图表组件(比如设备在线率趋势图)

  • 在组件属性里,绑定刚刚创建的连接器数据。

注意事项

  • 可以设置轮询定时刷新,比如每5分钟刷新一次设备状态。

  • 图标、颜色可以根据设备状态动态变化(比如:设备状态为online→图标变绿)。


5. 数据绑定与交互逻辑

目的:实现数据自动更新和动态显示。
怎么做

  • 在Astro大屏设计页面,选中一个组件 → 绑定【连接器返回的数据】。

  • 设置字段映射:

    • 比如把设备影子里的 "status":"online" 映射到界面的 "设备在线" 显示。

  • 设置交互逻辑:

    • 状态是"online" → 组件颜色绿色

    • 状态是"offline" → 组件颜色红色

  • 表格组件可以直接绑定整个设备列表,批量显示各个设备状态。

注意事项

  • 影子数据通常是嵌套的,比如reported.properties.status,字段路径要正确写。

  • 如果数据很复杂,可以使用Astro里的【公式编辑器】处理数据(如字符串提取、状态翻译)。


6. 发布与测试

目的:发布上线并测试大屏。
怎么做

  • 在Astro项目中点击【预览】,检查是否正确显示。

  • 点击【发布】→ 发布到线上环境。

  • 用浏览器访问大屏链接,实时观察设备状态变化。

注意事项

  • 测试时可以手动切换设备状态(例如模拟设备上线、下线)观察大屏是否同步更新。

  • 可以根据需要,设置大屏访问权限,比如只允许内部用户访问。


小结(流程复盘)

阶段主要内容
1. 准备账号权限、设备影子数据
2. IoTDA API确定影子数据查询接口
3. Astro连接器创建连接器调用IoTDA接口
4. Astro大屏设计布局、添加组件
5. 数据绑定抽取影子数据动态显示
6. 发布测试发布上线,实时刷新设备状态

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/80922.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

为什么要学习《易经》?

《易经》精华解读:变易之道与人生智慧 《易经》(《周易》)是中国最古老的经典之一,被誉为“群经之首,大道之源”。它不仅是占卜之书,更是一部哲学经典,揭示了宇宙运行的规律和人生处世的智慧。…

逆传播AIGEO营销:破局生成式搜索时代,让AI成为品牌代言人!

当GS(Generative Search生成式搜索)成为用户的新“搜索入口”,你的品牌还在进行传统软文发布吗? Gartner分析师预测"到2026年70%企业将把生成式AI整合进核心营销系统",传统SEO的正被AI搜索彻底重构。用户的搜索行为发生史诗级转变&#xff0…

WPF(Windows Presentation Foundation)的内容模型

WPF(Windows Presentation Foundation)的内容模型(Content Model)是其核心架构之一,定义了UI元素如何组织和呈现内容。以下是WPF内容模型的系统化解析: 1. 内容模型基础概念 WPF通过逻辑树和可视化树管理内…

52.[前端开发-JS实战框架应用]Day03-AJAX-插件开发-备课项目实战-Lodash

常用JavaScript库 1 认识前端工具库 前端工具类库 2 Lodash vs underscore underscore库 VS Lodash库 Lodash库 的安装 手写精简版的Lodash ;(function(g) {function Lodash() {}// 添加类方法Lodash.VERSION 1.0.0Lodash.join function(arr, separater) {// todo ......…

前端Ui设计工具

PS 稿、蓝湖、Sketch 和 Figma 前端 UI 设计工具的对比分析 PS 稿(Adobe Photoshop) 提供精准设计细节:PS 稿能让前端更精准地理解页面布局、元素尺寸、颜色等,通过精确测量和查看信息面板,把握设计元素的空间关系、…

映射关系5

明白!🚀 你要我 继续扩展,在这套 C98 代码里加一个功能: 根据完整的5位ID,反查出对应的路径。 OK,我直接接着上面那版来,给你补充 getPathFromId 方法,并且保持整体风格统一&#…

编译原理:由浅入深从语法树到文法类型

文法与语言基础:从语法树到文法类型 文法(Grammar)和语言(Language)是计算机科学和语言学中解析和理解语言结构的核心概念。无论是编程语言的编译器设计,还是自然语言处理(NLP)中的…

第十三步:vue

Vue 1、上手 1、安装 使用命令:npm create vuelatestvue文件后缀为.vueconst app createApp(App):初始化根组件app.mount("#app"):挂载根组件到页面 2、文件 script标签:编写jstemplate标签:编写htmls…

Pytest-mark使用详解(跳过、标记、参数 化)

1.前言 在工作中我们经常使用pytest.mark.XXXX进行装饰器修饰,后面的XXX的不同,在pytest中有不同的作 用,其整体使用相对复杂,我们单独将其抽取出来做详细的讲解。 2.pytest.mark.skip()/skipif()跳过用例 import pytest #无条…

基于 Spring Boot 的井字棋游戏开发与实现

目录 引言 项目概述 项目搭建 1. 环境准备 2. 创建 Spring Boot 项目 3. 项目结构 代码实现 1. DemoApplication.java 2. TicTacToeController.java 3. pom.xml 电脑落子策略 - Minimax 算法 findBestMove 方法 minimax 方法 运行游戏 总结 引言 在软件开发领域&…

【算法笔记】贪心算法

一、什么是贪心算法? 贪心算法是一种在每一步选择中都采取当前看起来最优(最“贪心”)的策略,从而希望得到全局最优解的算法设计思想。 核心思想:每一步都做出局部最优选择,不回退。适用场景:…

现代c++获取linux所有的网络接口名称

现代c获取linux所有的网络接口名称 前言一、在linux中查看网络接口名称二、使用c代码获取三、验证四、完整代码如下五、总结 前言 本文介绍一种使用c获取本地所有网络接口名称的方法。 一、在linux中查看网络接口名称 在linux系统中可以使用ifconfig -a命令列举出本机所有网络…

打印及判断回文数组、打印N阶数组、蛇形矩阵

打印回文数组 1 1 1 1 1 1 2 2 2 1 1 2 3 2 1 1 2 2 2 1 1 1 1 1 1方法1: 对角线对称 左上和右下是对称的。 所以先考虑左上打印, m i n ( i 1 , j 1 ) \text min(i1,j1) min(i1,j1),打印出来: 1 1 1 1 1 2 2 2 1 2 3 3 1 2 …

详解UnityWebRequest类

什么是UnityWebRequest类 UnityWebRequest 是 Unity 引擎中用于处理网络请求的一个强大类,它可以让你在 Unity 项目里方便地与网络资源进行交互,像发送 HTTP 请求、下载文件等操作都能实现。下面会详细介绍 UnityWebRequest 的相关内容。 UnityWebRequ…

UE5 在旋转A的基础上执行旋转B

用径向slider实现模型旋转时,得到的结果与ue编辑器里面的结果有很大出入。 问题应该是 两个FRotator(0,10,0)和(10,20,30), 两个FRotator的加法结果为&…

4.2 Prompt工程与任务建模:高效提示词设计与任务拆解方法

提示词工程(Prompt Engineering)和任务建模(Task Modeling)已成为构建高效智能代理(Agent)系统的核心技术。提示词工程通过精心设计的自然语言提示词(Prompts),引导大型语…

MySQL 索引的最左前缀匹配原则是什么?

MySQL 索引的最左前缀匹配原则详解 最左前缀匹配原则(Leftmost Prefix Principle)是 MySQL 复合索引(联合索引)查询优化中的核心规则,理解这一原则对于高效使用索引至关重要。 核心概念 定义:当查询条件…

SQL命令

一、控制台中查询命令 默认端口号:3306 查看服务器版本: mysql –version 启动MySQL服务:net start mysql 登录数据库:mysql -u root -p 查看当前系统下的数据库:show databases; 创建数据库:create…

新增 29 个专业,科技成为关键赛道!

近日,教育部正式发布《普通高等学校本科专业目录(2025年)》,新增 29 个本科专业,包括区域国别学、碳中和科学与工程、海洋科学与技术、健康与医疗保障、智能分子工程、医疗器械与装备工程、时空信息工程、国际邮轮管理…

零基础上手Python数据分析 (23):NumPy 数值计算基础 - 数据分析的加速“引擎”

写在前面 —— 超越原生 Python 列表,解锁高性能数值计算,深入理解 Pandas 的底层依赖 在前面一系列关于 Pandas 的学习中,我们已经领略了其在数据处理和分析方面的强大威力。我们学会了使用 DataFrame 和 Series 来高效地操作表格数据。但是,你是否好奇,Pandas 为何能够…