Skip to Content
IoT アプリ開発アプリパラメータ

アプリパラメータ

専用のWeb UIを構築することなく、ユーザーに設定可能なパラメータを公開できます。env-template.ymlでフォームを定義すれば、IronFlockが自動的にUIをレンダリングします。

パラメータの使いどころ

デバイスごとまたはグループごとにユーザーが調整する必要がある簡単な設定にパラメータを使用します:

  • センサーの記録間隔
  • データエンドポイント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環境変数として注入されます:

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