3.2. measurementプロジェクト
measurementプロジェクトによる計測について説明します。
measurementプロジェクトとは
measurementプロジェクトは、計測での使用に特化したDocker Composeプロジェクトです。
計測では、外部デバイスとデータを送受信するアプリケーション(デバイスコネクター)を利用します。 アプリケーションは用途ごとに開発し、設定値(デバイスパスなど)を与えて使用することが一般的です。 このような利用方法をDocker Composeで実現するためには、用途ごとに使用するDockerイメージを選択する仕組みや、設定値をコンテナ内のアプリケーションに伝達する仕組みが必要です。
Terminal System 2のmeasurementプロジェクトは、以下の要素で上記の仕組みを実現します。
- デバイスコネクターサービス
特定の用途に合わせたデバイスコネクターの定義で、使用するコンテナイメージや、環境変数、設定項目としての置換変数(
substitution_variables
)などを含みます。 実体は、Composeファイルのサービス定義(services
)に相当する部分を切り出したyamlファイルです。プリインストールされるデバイスコネクタービスファイルは
/etc/core/docker-compose/measurement/services
に、 カスタム開発により追加されるデバイスコネクターサービスファイルは/var/lib/core/docker-compose/measurement/services
にインストールされます。- デバイスコネクター設定
Core APIで作成する設定で、使用するデバイスコネクターサービスや、置換変数(
service_substitutions
) を設定します。 複数のデバイスコネクター設定を作成することができます。- Core APIによるオーバーライドファイルの生成
Core APIでのコミット操作 により、デバイスコネクター設定およびデバイスコネクターサービスの内容から、measurementプロジェクトのオーバーライドファイル(docker-compose.override.yml)を生成します。
作成したオーバーライドファイルを使用して計測を行うことで、用途ごとのDockerイメージの選択や、コンテナ内のアプリケーションへの設定値の伝達を実現します。
計測の仕組み
measurementプロジェクトにより計測を行う仕組みを説明します。 例として、GPSとCAN-USB Interfaceを利用して計測する場合の手順を説明します。
デバイスコネクターサービスを準備します。GPSやCAN-USB Interfaceなど、プリインストールのデバイスコネクターサービスを利用する場合は、本手順はスキップ可能です。
設定項目は置換変数
substitution_variables
として定義します。デバイスコネクターサービスファイル内で${KEY}
のフォーマットで記載した部分が、対応する置換変数の設定値で置換されます。Core APIで デバイスコネクター設定を追加 します。 利用するデバイスコネクターサービス(
service_id
で指定)や、置換変数の設定値(service_substitutions
で指定)を入力します。Core APIで デバイスコネクター設定をコミット します。 コミット操作により、デバイスコネクター設定およびデバイスコネクターサービスの内容から、measurementプロジェクトのオーバーライドファイルを生成します。
Core APIでmeasurement プロジェクトを起動 することで計測を開始し、生成されたオーバーライドファイルを利用して計測を行います。
Terminal System 2のmeasurementプロジェクトは、上記の仕組みで、用途ごとのDockerイメージの選択や、コンテナ内のアプリケーションへの設定値の伝達を実現します。