App-Parameter
Stellen Sie Benutzern konfigurierbare Parameter bereit, ohne eine vollständige Web-Oberfläche erstellen zu müssen. Definieren Sie ein Formular mit env-template.yml und IronFlock rendert es automatisch.
Wann Parameter verwenden
Verwenden Sie Parameter für einfache Konfigurationen, die Benutzer pro Gerät oder pro Gruppe anpassen müssen:
- Sensor-Aufzeichnungsintervalle
- Daten-Endpunkt-URLs
- Alarm-Schwellenwerte
- Feature-Toggles
- API-Schlüssel und Zugangsdaten
Für komplexere Konfigurationen (Robotertraining, Kamera-KI-Setup, Hardware-Konfiguration) erstellen Sie stattdessen eine benutzerdefinierte Edge-Benutzeroberfläche.
Parameter definieren
Erstellen Sie eine env-template.yml-Datei im .ironflock/-Verzeichnis:
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: trueParametertypen
| Typ | Darstellung | Beispiel |
|---|---|---|
text | Texteingabefeld | URLs, Namen, Schlüssel |
numeric | Zahleneingabe | Intervalle, Schwellenwerte |
boolean | Kippschalter | Feature-Flags |
select | Dropdown-Menü | Vordefinierte Optionen |
Wie Parameter Ihre App erreichen
Parameter werden als Linux-Umgebungsvariablen in Ihren Container injiziert:
Python
import os
interval = int(os.environ.get("RECORDING_INTERVAL", 5))
threshold = float(os.environ.get("ALERT_THRESHOLD", 80))Große Parameter
Parameter, die 20 KB überschreiten, werden aufgrund von Systembeschränkungen nicht als Umgebungsvariablen gesetzt. Stattdessen sind alle Parameter (einschließlich großer) immer als Dateien verfügbar:
/data/env/PARAMETER_NAME.txtEntwicklungsmodus
Der in env-template.yml angegebene defaultValue wird verwendet, wenn die App im Entwicklungsmodus ausgeführt wird. Dies bietet eine konsistente Entwicklungserfahrung, ohne dass eine manuelle Parameterkonfiguration erforderlich ist.
Massenparametrisierung
Wenn Parameter auf Gerätegruppen-Ebene gesetzt werden, gelten sie gleichzeitig für alle Geräte in der Gruppe. Dies eignet sich ideal für:
- Das Festlegen eines gemeinsamen S3-Buckets für alle Datenerfassungsgeräte
- Das Aktualisieren von KI-Modellparametern projektweit
- Das Ändern von Sensorkonfigurationen für eine gesamte Produktionslinie
Parameter können auch gesetzt werden, wenn Geräte offline sind — sie werden angewendet, sobald das Gerät sich wieder verbindet.