应用参数
无需构建完整的 Web 界面,即可向用户公开可配置参数。使用 env-template.yml 定义表单,IronFlock 会自动渲染。
何时使用参数
当用户需要按设备或按组调整简单配置时,使用参数:
- 传感器采集间隔
- 数据端点 URL
- 告警阈值
- 功能开关
- API 密钥和凭据
对于更复杂的配置(机器人训练、摄像头 AI 设置、硬件配置),请改为构建自定义的边缘用户界面。
定义参数
在 .ironflock/ 目录中创建 env-template.yml 文件:
RECORDING_INTERVAL:
label: "Recording Interval (seconds)"
defaultValue: 5
type: numeric
optional: true
ALERT_THRESHOLD:
label: "Temperature Alert Threshold (°C)"
defaultValue: 80
type: numeric
optional: true
API_ENDPOINT:
label: "Data API Endpoint"
defaultValue: "https://api.example.com/data"
type: text
optional: true
ENABLE_DEMO:
label: "Enable Demo Data"
defaultValue: true
type: boolean
optional: true
DATA_FORMAT:
label: "Output Format"
defaultValue: "json"
type: select
options:
- json
- csv
- xml
optional: true
SECRET_KEY:
label: "API Secret Key"
defaultValue: ""
type: text
secret: true
optional: true参数类型
| 类型 | 渲染为 | 示例 |
|---|---|---|
text | 文本输入框 | URL、名称、密钥 |
numeric | 数字输入框 | 间隔、阈值 |
boolean | 开关切换 | 功能标志 |
select | 下拉菜单 | 预定义选项 |
参数如何传递到应用
参数以 Linux 环境变量的形式注入到容器中:
Python
import os
interval = int(os.environ.get("RECORDING_INTERVAL", 5))
threshold = float(os.environ.get("ALERT_THRESHOLD", 80))大型参数
超过 20 KB 的参数由于系统限制不会设置为环境变量。所有参数(包括大型参数)始终以文件形式可用:
/data/env/PARAMETER_NAME.txt开发模式
在 env-template.yml 中指定的 defaultValue 会在开发模式下运行应用时使用。这提供了一致的开发体验,无需手动配置参数。
批量参数化
当参数在设备组级别设置时,它们会同时应用于组内的所有设备。这非常适合:
- 为所有数据采集设备设置统一的 S3 存储桶
- 在整个项目范围内更新 AI 模型参数
- 为整条生产线更改传感器配置
即使设备离线,也可以设置参数——设备重新连接时会自动应用。
Last updated on