2.2. システム構成

Terminal System 2のシステム構成の概要について説明します。

../../_images/overview_architecture.png

図 9 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の操作を行います。また、Terminal System APIからの要求を受けてシステム設定変更などを行います。

Menderクライアント

Menderサーバーと通信し、アップデートの管理やデバイスの状態(イベントリ)の送信を行うデーモンです。

Docker Compose

Terminal System 2は、Docker Composeで以下のプロジェクトを使用します。

system

システム起動時に実行され、サービスとして常駐とするコンテナをまとめたプロジェクトです。

measurement

計測開始時に実行され、計測に使用するコンテナをまとめたプロジェクトです。 詳細については measurementプロジェクト を参照してください。

注釈

カスタマイズにより、任意のDocker Composeプロジェクトを追加することが可能です。 詳細は アプリケーション開発 を参照してください。

以下に、主要なコンテナについて説明します。

systemプロジェクト

Terminal System 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 デベロッパーガイド を参照してください。