使用 华为云 Astro Zero打造一个物联网设备管理系统,并从 IoTDA 设备影子中抽取数据 展示设备状态,不需写代码也能快速上线。
✅ 一、目标拆解
目标功能:
在 Astro Zero 创建一个平台,页面包含:
-
企业 Logo(自定义)
-
设备列表及状态展示(如温度、电量、在线状态)
-
数据来源:从 IoTDA 的设备影子 API 获取
-
支持刷新设备状态
✅ 二、整体构思流程图
┌──────────────┐ ┌──────────────────┐ ┌──────────────┐
│ 设备上报数据 │ ──────▶ │ IoTDA 设备影子 │ ◀──────▶ │ REST API 接口 │
└──────────────┘ └──────────────────┘ └──────────────┘│(Astro 调用)▼┌────────────────────┐│ Astro Zero 页面展示 │└────────────────────┘
✅ 三、实施步骤(一步步来)
🔧 第一步:准备工作
-
确保已开通服务:
-
IoTDA(物联网平台)
-
Astro Zero(零代码平台)
-
-
准备好设备:
-
设备已注册于 IoTDA
-
已配置产品模型(含属性字段)
-
启用了设备影子功能(上报属性会自动进入影子)
-
🔧 第二步:获取接口信息
1. 获取设备影子 API
API文档:华为云设备影子接口
API URL 示例:
GET https://iotda.cn-east-3.myhuaweicloud.com/v5/iot/{project_id}/devices/{device_id}/shadow
2. 获取 Token 或使用 API 网关中转(推荐)
方式:
-
方式一:手动获取
X-Auth-Token
(临时令牌) -
方式二:用 API 网关封装接口,避免暴露 Token
🔧 第三步:Astro Zero 页面搭建
1. 创建页面
-
登录 Astro Zero → 创建新页面
-
模板选择:空白模板
2. 添加企业 Logo
-
拖入【图片组件】
-
上传你的 Logo PNG 或 JPG
-
设置大小 & 固定在顶部(Header)
3. 添加数据展示区
-
拖入【表格】或【卡片】
-
命名为“设备状态总览”或类似
-
准备绑定字段:如温度、电压、状态、更新时间
🔧 第四步:配置设备影子 API 接口(REST 调用)
方法一:直接调用设备影子 API(需手动 Token)
-
点击【添加数据源】→ 选择【REST API 数据源】
-
填写如下:
-
请求方法:
GET
-
URL:
https://iotda.cn-east-3.myhuaweicloud.com/v5/iot/{project_id}/devices/{device_id}/shadow
-
Header:
-
X-Auth-Token
: 你在 API Explorer 中生成的 token
-
-
-
点击测试 → 成功即保存
✅ 建议新手:用同一个 token,测试通过即可使用 24 小时,后期可考虑用函数封装。
方法二:通过 API 网关中转封装接口(推荐长期用)
-
在华为云 API 网关中创建一个 API 接口
-
设置后端服务为【函数工作流 FunctionGraph】
-
函数代码封装设备影子调用(参考前面提供的 Python 示例)
-
使用 Astro Zero 访问这个“中转 API”即可,安全、易维护
🔧 第五步:绑定数据到页面组件
示例数据结构(返回 JSON):
json
{"shadow": [{"service_id": "TemperatureSensor","reported": {"value": 23.5,"unit": "C"},"version": 12}]
}
组件绑定方式:
-
在表格或卡片里绑定字段:
-
温度:
shadow[0].reported.value
-
服务ID:
shadow[0].service_id
-
版本:
shadow[0].version
-
可以使用 Astro Zero 的可视化绑定器,直接选择字段。
🔧 第六步:刷新机制 & 自动加载
-
加入【按钮组件】→ 命名“刷新状态”
-
设置按钮动作为“重新调用接口并刷新组件”
-
页面打开时自动加载:勾选“进入页面自动请求接口”
🔧 第七步:发布与集成
-
页面完成 → 点击右上角“发布”
-
生成访问链接或嵌入 iframe 到官网
-
页面中显示你的 Logo、自定义风格和设备数据
✅ 四、优化建议(进阶)
模块 | 可优化点 |
---|---|
安全认证 | 使用 API 网关中转、Token 控制访问 |
多设备管理 | 在 Astro 添加设备选择器 → 动态传入设备ID |
历史数据分析 | 将历史影子保存到数据库,用 PowerBI 或 Astro 图表展示 |
移动端适配 | Astro 页面可设置移动端样式 |
✅ 小结
阶段 | 要点 |
---|---|
准备 | 开通服务,设备已接入 IoTDA,影子数据正常 |
页面 | Astro Zero 拖组件,上传 Logo,布局展示卡片或表格 |
接口 | REST API 调用影子数据,绑定至组件字段 |
展示 | 自动刷新、点击刷新、格式美化 |
安全 | 推荐使用 API 网关封装后端调用,避免暴露 Token |