任意コマンドをリモート実行してデバイスログを確認する

Armadillo Twin に登録されているデバイス上で任意コマンドをリモート実行します。 Armadillo Twin で任意コマンドを入力すると、任意コマンドはデバイスにリクエストとして送信されます。デバイスが任意コマンドを受理すると、デバイス上で任意コマンドが実行され、その実行結果は Armadillo Twin に返信されます。任意コマンドの実行状態は Armadillo Twin によって監視され、ユーザーは Armadillo Twin 上で実行状態と結果を確認することができます。

セキュリティ上の懸念から任意コマンド実行はデフォルト無効です。任意コマンドを有効にするためには、デバイス側とサービス側の双方で相応の権限と作業が必要になります。

関連情報:

前提条件

  • 対象デバイスの Armadillo Twin への登録がまだお済みでなければ 「Armadillo Twin にデバイスを登録する」の手順に従ってサービスに接続するデバイスを Armadillo Twin に登録してください
  • 準備作業を行うためには、操作するユーザーに「アカウント管理」権限が必要です。また、実際の任意コマンド実行を行うためには、「任意コマンド実行状況閲覧」権限と「任意コマンド実行と管理」権限が必要です。「ユーザーの権限を変更する」を参考に権限を設定してください。ユーザー権限を変更するメニューが表示されない場合は、管理ユーザー に確認して権限についてご相談ください

準備をする (Armadillo Twin 側)

任意コマンドを有効にするためには「アカウント管理」の権限が必要です。
ユーザーの権限を変更する」を参考に権限を設定してください。ユーザー権限を変更するメニューが表示されない場合は、管理ユーザー に確認して権限についてご相談ください

  1. 右上のユーザー名をクリックします
  2. 「アカウント管理」を選択します
  1. 「有効化する」をクリックします
  1. 利用規約が表示されるので内容を確認の上、有効化してください

準備をする (デバイス側)

この手順ではArmadilloの開発環境であるATDE(Atmark Techno Development Environment)及び、ATDEに含まれるmkswuというコマンドを使用します。
ATDEのセットアップ方法については製品マニュアルの「開発環境のセットアップ」を参照してください。

任意コマンド実行を有効化する SWU イメージを生成し、それを対象のデバイスに対してインストールすることでデバイス側の任意コマンド実行を有効化します。
ATDE 上で以下のコマンドを実行し、mkswu のバージョンを最新にしてください。

[ATDE]$ sudo apt update && sudo apt install --upgrade mkswu

以下のように mkswu コマンドを実行し、enable_exec_command.swu を生成してください。

[ATDE]$ mkswu /usr/share/mkswu/examples/armadillo-twin/enable_exec_command.desc -o enable_exec_command.swu

上記コマンド実行時に、
「ERROR: 設定ファイルが見つかりませんでした。 mkswu --init で作成してください。」
というエラーが出力された場合は、
mkswu –init を先に実行してください。いくつかの設定事項の入力を求められるので入力し、生成された ~/mkswu/initial_setup.swu をArmadilloにインストールしておいてください。
下記の手順内の enable_exec_command.swuinitial_setup.swu に読み替えることでインストール可能です。

生成した enable_exec_command.swu を対象のデバイスに対してインストールします。

  1. Armadillo Twin 上で「デバイス一覧」に移動します
  2. 対象のデバイスの個体コードを選択します
  1. 下にスクロールすると「ソフトウェアアップデート実行」というブロックが表示されます
  2. enable_exec_command.swu をアップロードします

今月の通信量について
アップデートにかかるファイルデータ転送量は、アカウントで利用中のデバイスの総数によって制限され、1ヶ月ごとにリセットされます。また、通信量の更新は24 時間ごとに行われます。
ここで表示されている値は今月の残りのデータ転送可能量になります。詳しくは以下を参照してください。
ソフトウェアアップデートに必要なデータ通信量

  1. アップロードが完了するとファイル名と md5 が表示されます。確認してください
  2. アップデート完了後のデバイスの挙動を設定します。ここでは「ダウンロード後、再起動する」を選択してください
  3. アップデートを開始します
  1. リクエスト送信が成功するとメッセージが表示されます
  2. 更新するとステータスと実行結果を確認することができます
  1. ステータスが成功になると、インストール完了です。実行結果にアップデート後のバージョンが表示されますので、「extra_os.twin_exec_command」が「enable」になっていることを確認してください

上記手順が完了すると、デバイスは自動的に再起動し任意コマンド実行がデバイス上で有効化されます。

単体デバイス上で任意コマンドをリモート実行する

  1. 「デバイス一覧」に移動します
  2. 任意コマンドを実行するデバイスを選択して個体コードをクリックします
  1. デバイスの画面を下にスクロールすると「任意コマンド実行」というブロックが表示されます
  2. 任意コマンドを入力します
  3. タイムアウト時間は通常デフォルト設定で十分ですが、コマンドによっては実行がタイムアウトすることがあります。その場合にはタイムアウト時間を調整します
  4. 任意コマンドを実行します
  1. リクエスト送信が成功するとメッセージが表示されます
  2. 更新するとステータスと実行結果を確認することができます

実行結果は最大1,024文字までしか表示されません。

armadillo-twin-agent のバージョン1.0-r0 では、コマンドの中止を行うことができません。
バージョン1.1-r0以降の armadillo-twin-agent をご使用ください。
armadillo-twin-agent は persist_file -a upgradeコマンドを実行するか、Armadillo Base OS 自体のバージョンを上げることでアップデートできます。

次のステップ

複数のデバイスに対して操作する:

デバイスグループを作って管理する: