Skip to Content
IoT-App-EntwicklungApp-Parameter

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: true

Parametertypen

TypDarstellungBeispiel
textTexteingabefeldURLs, Namen, Schlüssel
numericZahleneingabeIntervalle, Schwellenwerte
booleanKippschalterFeature-Flags
selectDropdown-MenüVordefinierte Optionen

Wie Parameter Ihre App erreichen

Parameter werden als Linux-Umgebungsvariablen in Ihren Container injiziert:

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.txt

Entwicklungsmodus

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.

Last updated on