2.2. システム構成
Terminal System 2のシステム構成の概要について説明します。
ハードウェア
Terminal System 2が利用可能なエッジコンピューターは以下のとおりです。
アプトポッド製 EDGEPLANT T1
注釈
Yoctoに対応しているエッジコンピューター(Raspberry PiやJetson開発者キットなど)の場合、カスタム開発対応をすることでTerminal System 2を動作させることが可能です。 詳細は OS開発 を参照してください。
ソフトウェア
Terminal System 2は、systemdでサービス管理を行い、Docker Composeによりアプリケーションを実行します。
- systemd
Linuxシステムの起動・停止および管理を行うためのシステム管理デーモンです。 システム起動時に、Docker、Terminal System Core Daemon、Menderクライアントサービスなどを起動します。
- Docker Compose
Dockerを使用して複数のコンテナを構築・実行するためのツールです。 Composeファイルにより、複数のDockerコンテナを定義し、それらをまとめて起動したり、停止したりすることができます。
Termininal System 2では、Terminal System Core DaemonがDocker Composeを使用してアプリケーションを実行します。
以下に、主要なソフトウェアについて説明します。
systemd
- Terminal System Core Daemon (Core Daemon)
Terminal System 2のシステムを管理するデーモンです。 Docker Composeの操作を行います。また、Core APIからの要求を受けてシステム設定変更などを行います。
- Menderクライアント
Menderサーバーと通信し、アップデートの管理やデバイスの状態(イベントリ)の送信を行うデーモンです。
Docker Compose
Terminal System 2は、Docker Composeで以下のプロジェクトを使用します。
- system
システム起動時に実行され、サービスとして常駐とするコンテナをまとめたプロジェクトです。
- measurement
計測開始時に実行され、計測に使用するコンテナをまとめたプロジェクトです。 詳細については measurementプロジェクト を参照してください。
注釈
カスタマイズにより、任意のDocker Composeプロジェクトを追加することが可能です。 詳細は アプリケーション開発 を参照してください。
以下に、主要なコンテナについて説明します。
systemプロジェクト
- Terminal System Core API (Core API)
Terminal System APIを公開するREST APIサーバーです。 ユーザーによるAPIアクセスや、Menderサーバーからのエッジコンピューターの設定変更などで利用されます。
- intdash Edge Agent 2 (intdash-agentd)
intdash Edge Agent 2のデーモンとして使用されるプログラムです。遅延アップロード、設定の管理、ローカルでの時系列データの管理を行います。
- Terminal Display Client
ディスプレイデバイスと通信するクライアントアプリケーションです。
measurementプロジェクト
- デバイスコネクター
外部デバイスとintdash Edge Agent 2との間でデータを送受信し、仲介するソフトウェアです。 アプトポッド製のデバイスコネクターであるdevice-connector-intdashのコンテナを利用することができます。
注釈
カスタマイズにより、任意のデバイスコネクターのコンテナを追加することが可能です。 詳細は アプリケーション開発 を参照してください。
- intdash Edge Agent 2 (intdash-edge-streamer)
intdashサーバーとの間でリアルタイムストリーミング送信または受信を行うプログラムです。リアルタイムに送信できなかったデータはintdash-agentdに渡され、遅延アップロードされます。
注釈
intdash Edge Agent 2の詳細は、 intdash Edge Agent 2 デベロッパーガイド を参照してください。