クイックスタート ― REST APIを使って設定する#
Terminal System 2 v1.0.0
本章では、設定用PCからTerminal Systemに対してREST APIコールを行うことにより設定を行い、intdashサーバーへのデータ送信を開始する方法を紹介します。
REST APIコールは設定用PCからcurlコマンドを使って行えます。
準備するもの#
以下を用意してください。
Terminal System OS 2が インストール されたエッジコンピューター
Terminal SystemのBasic認証に必要なユーザー名とパスワード(ユーザー名
user
のパスワード)intdashサーバーのURL
intdashのプロジェクトUUID(Global Projectを使用する場合は不要)
エッジのUUID(このTerminal Systemに割り当てるエッジアカウントのUUID)
クライアントシークレット(上記エッジアカウントのクライアントシークレット)
エッジコンピューターと設定用PCをLANケーブルで接続する#
エッジコンピューターと設定用PCがLANにより疎通可能なネットワーク環境を整えます。 通常は、設定用PCとエッジコンピューターをLANケーブルで直接接続するか、エッジコンピューターと設定用PCを同じローカルネットワークに接続します。
注釈
上の図ではエッジコンピューターと設定用PCを直接接続していますが、エッジコンピューターと設定用PCが同じローカルネットワークに接続されていれば構いません。
エッジコンピューターの電源をオンにします。
Terminal System APIの使用方法#
注釈
Terminal System APIにはローカルネットワーク内からしかアクセスできません。 プライベートIPアドレスまたはリンクローカルアドレスからのみアクセスが可能です。
Terminal SystemへのREST APIコールは以下のように行います。
APIコール送信先のホスト名は
<Terminal Systemのコンピューター名>.local
、または、Terminal SystemのIPアドレスを指定します。送信先ポート番号として
8081
を指定します。認証にはBasic認証を使用します。
user
という名前のユーザーのパスワードが必要です。
まず、以下のようにコマンドを実行して、正しくレスポンスがあるかどうかを確認します(コンピューター名とパスワードを初期設定から変更した場合は、正しいものに置き換えてください)。
$ export USER_PASS=<プロビジョニングで設定したパスワード>
$ export COMPUTER_NAME=terminal-system
$ export API_FQDN=$COMPUTER_NAME.local:8081
$ curl -sS -w '%{http_code}\n' -u user:$USER_PASS http://$API_FQDN/api/version
上記のcurlコマンドでは、標準出力にAPIのレスポンスボディーが出力され、最後にHTTPステータスコードが出力されます。 以下のような出力が得られた場合は、正常です。
{
"version": "1.0.0"
}
200
HTTPステータスコードは、200番台の場合は成功を、400番台または500番台の場合は失敗を表します。
上記のような出力が得られなかった場合は、 トラブルシューティング を参照してください。
接続先とプロジェクトを設定する#
設定用PCで、以下のcurlコマンドを実行して設定を行います。
$ curl -sS -w '%{http_code}\n' -u user:$USER_PASS -X PATCH -d '
{
"server_url": "https://example.intdash.jp",
"project_uuid": "00000000-0000-0000-0000-000000000000",
"edge_uuid": "f90f2b42-66a5-4a57-8e99-468c36ebb6f2",
"client_secret": "sEh9ZHPoKX8QYU...iBn5fneFM"
}
' http://$API_FQDN/api/agent/connection
server_url
intdashサーバーURLproject_uuid
プロジェクトのUUID(Global Projectを使用する場合、
00000000-0000-0000-0000-000000000000
を設定してください。または project_uuidの行を削除してください。)edge_uuid
エッジのUUID(このTerminal Systemに割り当てるエッジアカウントのUUID)client_secret
クライアントシークレット(上記エッジアカウントのクライアントシークレット)
データの送信を開始する#
デフォルトの状態では、Terminal System自体の情報(インベントリー情報)をリアルタイムデータとしてintdashサーバーに送信する設定が既にできていますので、センサーやカメラが接続されていなくても、すぐにデータの送信を開始し、疎通確認をすることができます。
注釈
デフォルトの状態では、Terminal Systemのインベントリー情報を送信するためのデバイスコネクター設定、デバイスコネクターIPC設定、アップストリーム設定が作成済みです。
この設定では、まず、デバイスコネクターサービス Device Inventory によりTerminal Systemの状態についての情報が収集され、それが、 device-inventory
というIDを持つデバイコネクターIPCに送られます。
そのデータはintdash Edge Agent 2により default-upstream
というIDを持つストリームに送られ、intdashサーバーに送信されます。
設定用PCで、以下のcurlコマンドを実行することで、計測を開始します。
$ curl -sS -w '%{http_code}\n' -u user:$USER_PASS -X POST http://$API_FQDN/api/docker/composes/measurement/start
データ送信を確認する#
Edge Finderを開いて、リアルタイムデータが送信されていることを確認します。
計測を終了する場合は、設定用PCで以下のcurlコマンドを実行してください。
$ curl -sS -w '%{http_code}\n' -u user:$USER_PASS -X POST http://$API_FQDN/api/docker/composes/measurement/stop
以上で、クイックスタートの手順は完了です。
本章ではまず、REST APIを使って、Terminal Systemの接続先(intdashサーバー)を設定し、計測の開始と終了の操作を行いました。 他の設定項目の変更や他の操作の場合も、REST APIを使って行う手順は同様です。
ここではデフォルトの設定を使用したため設定手順を省略しましたが、データ送信のためにはストリームの設定、デバイスコネクターIPCの設定、デバイスコネクターの設定が必要です。 詳細については、 REST APIによる操作 を参照してください。