第3章 node-eye を体験する

本章ではトライアルをご契約されたお客様を対象に、Armadillo-IoT ゲートウェイ G3L (以降、 Armadillo と表記)を使ってnode-eyeの基本的な機能を使う手順を説明します。

以降の手順を行うために、次のものを用意してください。

表3.1 node-eyeを体験するためのチェックリスト

用意するものチェック
ATDE6またはATDE7 
Armadillo-IoT ゲートウェイ G3L 開発セット 
node-eye登録完了通知書に記載のアカウント情報 
DHCPサーバーが稼動している有線LANネットワーク 

導入するATDEのバージョンは、お使いのArmadilloにインストールされている[Linux][ユーザーランド]のバージョンに合わせて決定します。以下の表3.2「LinuxとATDEのバージョン関係」を確認し、適切なバージョンのATDEを用意してください。

表3.2 LinuxとATDEのバージョン関係

Linux/ユーザーランド バージョンATDEバージョン
Linux3.14/JessieATDE6
Linux4.9/StretchATDE7

本手順を行う前に、Armadillo-IoT ゲートウェイ G3L の製品マニュアルに記載された操作を一通り確認する事をお勧めします。

3.1. 準備

以下の手順で、node-eye を利用するための準備を行います。

  1. SACM コントロールパネルで Armadillo のネットワーク設定を行う

  2. ブートローダーおよびカーネルバージョンの確認

  3. node-eye パッケージのインストール

  4. armsd 起動

手順3.1 準備

  1. SACM コントロールパネルで Armadillo のネットワーク設定を行う

    SACM コントロールパネルにログインし、対象の Armadillo のネットワーク設定を行います。 ログインするためのアカウントは登録完了通知書に記載されています。

    1. メニューから[SA]をクリックし、いずれかの Armadillo をクリック

    2. SA のメニューから[コンフィグ]をクリックして、ページ下部の[コンフィグ変更]をクリック

    3. モジュール 0 のコンフィグを以下のように書き換えます。

      VERSION=2
      interface_eth0=enable
      interface_eth0_type=dhcp
    4. [コンフィグ変更]をクリックし、[コンフィグ反映]をクリックします。

    5. 反映スケジュールを[即時反映]にチェックを入れて、[コンフィグ反映]をクリックします。

      即時反映 (SACM コントロールパネル)
  2. ブートローダーおよびカーネルバージョンの確認

    次に、Armadillo に書き込まれているブートローダーおよびカーネルのバージョン確認を行います。

    node-eye を利用するためには下記に示すバージョンより新しい必要があります。お使いのLinux カーネルバージョンに合わせて要求バージョンを確認してください。

    表3.3 node-eye の要求バージョン(Linux 3.14)

    イメージファイルファイル名要求バージョン
    ブートローダーu-boot-x1-atX.binat3
    カーネルuImage-x1-vX.XXv3.00

    表3.4 node-eye の要求バージョン(Linux 4.9)

    イメージファイルファイル名要求バージョン
    ブートローダーu-boot-x1-atXX.binat17
    カーネルuImage-x1-v4.9-atXat3

    Armadillo と 作業用PC(ATDE) をUSBシリアルケーブルで接続し、minicom などのシリアル通信ソフトウェアを起動してください。

    ブートローダーのバージョンを確認するには、保守モードで下記のコマンドを実行してください。

    => version
    
    U-Boot 2016.07-at3 (Sep 20 2016 - 10:13:10 +0900)
    arm-linux-gnueabihf-gcc ( 4.9.2-10) 4.9.2
    GNU ld (GNU Binutils for Debian) 2.25

    カーネルのバージョンを確認するには、Debian ユーザーランド起動後、下記のコマンドを実行してください。

    [armadillo ~]# uname -a
    Linux armadillo 3.14.76-at3 #1080 SMP PREEMPT Fri Sep 16 17:15:59 JST 2016 armv7l GNU/Linux

    表示されたバージョンが表3.3「node-eye の要求バージョン(Linux 3.14)」よりも低い場合は、最新のインストールディスクなどでイメージの書き換えを行ってから次の手順に進んでください。

  3. node-eye パッケージのインストール

    次に、SACM と通信を行うためのクライアントプログラム(armsd)が含まれている node-eye パッケージを Armadillo にインストールします。 node-eye パッケージには armsd の他、リモートコンフィグ、ファームウェアアップデートに必要なスクリプトなどがまとめられています。

    node-eye パッケージおよび含まれるソフトウェアに関して、詳しくは「node-eye パッケージ」を参照してください。

    node-eye パッケージのインストールは apt-get コマンドを利用して行います。 下記コマンドを実行して、node-eye パッケージをインストールしてください。

    [armadillo ~]# apt-get install node-eye

    インストールが完了するとパッケージリストに node-eye が増えていることが確認できます。

    [armadillo ~]# dpkg -l | grep node-eye
  4. armsd 起動

    最後に、下記コマンドを実行して armsd を起動します。armsd はデーモンとして起動するためプロンプトがすぐに戻ってきます。

    [armadillo ~]# armsd

    ps コマンドで armsd が起動していることを確認できます。

    [armadillo ~]# ps ax

    armsd が SACM と通信を行いネットワーク設定が完了すると eth0 が DHCP 接続になります。

3.2. node-eyeコントロールパネルを使う

3.2.1. node-eyeコントロールパネルにログインする

http://apps.node-eye.com/device-management/ にアクセスし、node-eye登録完了通知書 に記載されている node-eyeコントロールパネルアカウントを使用してログインしてください。

[警告]

node-eye登録完了通知書 に記載しているアカウントは管理者(admin)権限です。 第3者に漏れることの無いよう厳重に保管してください。アカウントの追加/削除権限を持たないオペレーターアカウントは、本文「アカウントの追加/変更/削除を行う」の手順で追加することができます。

3.2.2. 全体の稼働状況を見る

node-eyeコントロールパネルにアクセスするとダッシュボードが表示されます。

ダッシュボード(node-eye コントロールパネル)

図3.1 ダッシュボード(node-eye コントロールパネル)


この画面ではnode-eyeに登録されているデバイスの接続状況の一覧、直近5件のタスクおよびイベントが表示されます。

接続中/切断中の列に表示された台数をクリックすることで、それぞれの状態にあるデバイスの一覧を表示することができます。

3.2.3. 各デバイスの稼働状況を見る

メニューから[デバイス]をクリックするとデバイスの一覧を見ることができます。

デバイス一覧 (node-eye コントロールパネル)

図3.2 デバイス一覧 (node-eye コントロールパネル)


この画面では、「グループ」「接続状態」「設定状態」「デバイス名/SAコード」で目的のデバイスを絞り込み、探すことができます。目的のデバイスをクリックすることで、デバイスの詳細な情報を確認できます。

デバイス詳細 (node-eye コントロールパネル)

図3.3 デバイス詳細 (node-eye コントロールパネル)


また、複数のデバイスにチェックを入れ、一括で「ファームウェアアップデート」「再起動」「コマンド実行」「リソース表示」を行うことも可能です。

デバイス複数選択 (node-eye コントロールパネル)

図3.4 デバイス複数選択 (node-eye コントロールパネル)


[ティップ]

ファームウェアアップデート実行中でも「再起動」を行うことができます。ただし、これを行うとプライマリイメージが起動しなくなることがあります。

3.2.4. リソースモニタリングを行う

メニューから[デバイス]を選択します リソースを確認したいデバイスのチェックボックスを選択します。

デバイス複数選択 (node-eye コントロールパネル)

図3.5 デバイス複数選択 (node-eye コントロールパネル)


画面下の[リソース表示]をクリックすると、CPU使用率,転送量等のデバイスのリソースが表示されます。

リソースモニタリング (node-eye コントロールパネル)

図3.6 リソースモニタリング (node-eye コントロールパネル)


3.2.5. ファームウェアアップデートを行う

本章では、node-eye コントロールパネルを使ってArmadilloのファームウェアアップデートを実行する方法を説明します。

ファームウェアアップデートで書き込むファイルは、ArmadilloがアクセスすることのできるWebサーバーに公開されている必要があります。 ここではWebサーバーをATDEとして、標準LinuxカーネルイメージとDTB,ユーザーランドにアップデートを行います。

はじめにWebサーバー側の準備を行います。ATDEに必要なファイルを用意し、Linuxカーネル,ユーザーランドのファイル名変更とZIP圧縮を行ってください。

導入したいLinux カーネルのバージョンによって、用意するファイル名が変わります。以下を確認し、必要なファイルを用意してください。

表3.5 ファームウェアアップデートのためにダウンロードするファイル一覧(Linux 3.14)

リージョンファイル名
Linux 3.14 カーネルuImage-x1-vXX.00
Linux 3.14 Device Tree Blobarmadillo_iotg_g3l-vXX.00.dtb
Linux 3.14 ユーザーランドdebian-jessie-armhf_aiotg3l_YYYYMMDD.tar.gz

表3.6 ファームウェアアップデートのためにダウンロードするファイル一覧(linux4.9)

リージョンファイル名
Linux 4.9 カーネルuImage-x1-v4.9-atX
Linux 4.9 Device Tree Blobarmadillo_iotg_g3l-v4.9-atX.dtb
Linux 4.9 ユーザーランドdebian-stretch-armhf_aiotg3l_YYYYMMDD.tar.gz

[ATDE ~]$ ls
armadillo_iotg_g3l-vXX.00.dtb  uImage-x1-vXX.00 debian-jessie-armhf_aiotg3l_YYYYMMDD.tar.gz
[ATDE ~]$ mv uImage-x1-vXX.00 uImage
[ATDE ~]$ mv armadillo_iotg_g3l-vXX.00.dtb armadillo_iotg_g3l.dtb
[ATDE ~]$ zip uImage.dtb.zip armadillo_iotg_g3l.dtb
[ATDE ~]$ mv debian-jessie-armhf_aiotg3l_YYYYMMDD.tar.gz debian-armhf.tar.gz
[ATDE ~]$ ls
armadillo_iotg_g3l.dtb  uImage  uImage.dtb.zip debian-armhf.tar.gz
[ATDE ~]$ md5sum uImage > uImage.md5
[ATDE ~]$ md5sum uImage.dtb.zip > uImage.dtb.zip.md5
[ATDE ~]$ md5sum debian-armhf.tar.gz > debian-armhf.tar.gz.md5
[ATDE ~]$ ls
armadillo_iotg_g3l.dtb  uImage  uImage.dtb.zip  uImage.dtb.zip.md5  uImage.md5 debian-armhf.tar.gz debian-armhf.tar.gz.md5

次に、用意したファイルを Armadillo がダウンロードできるように /var/www/html/ にコピーします。

[ATDE ~]$ sudo cp uImage* /var/www/html
[ATDE ~]$ sudo cp debian-armhf* /var/www/html
[注記]

ファームウェアアップデートの仕様について詳しくは「ファームウェアモジュール」を参照してください。

次に、ブラウザでnode-eyeコントロールパネルを開き、メニューから[デバイス]を選択します

デバイス一覧 (node-eye コントロールパネル)

図3.7 デバイス一覧 (node-eye コントロールパネル)


デバイスの中から[接続状態]が 接続中 になっているデバイスのチェックボックスを選択し、画面下の[ファームウェアアップデート]をクリックします。

ファームウェアアップデート (node-eye コントロールパネル)

図3.8 ファームウェアアップデート (node-eye コントロールパネル)


下記のようにフォームへ入力してください([ATDEのIPアドレス]はご利用の環境にあわせて変更してください)。

表3.7 ファームウェアアップデート

フォーム入力内容
プライマリ/リカバリプライマリ
カーネルhttp://[ATDEのIPアドレス]/uImage
ユーザーランドhttp://[ATDEのIPアドレス]/debian-armhf.tar.gz
アップデート完了時に再起動する

「アップデート完了時に再起動する」 にチェックを入れて [実行]をクリックしファームウェアアップデートを開始します。[2]

ファームウェアアップデート実行 (node-eye コントロールパネル)

図3.9 ファームウェアアップデート実行 (node-eye コントロールパネル)


[ティップ]

ファームウェアアップデートはnode-eyeコントロールパネルから与えたURLを使って、Armadilloがダウンロードを行います。上記以外の新たにビルドしたイメージファイルを使う場合は、ArmadilloからアクセスすることのできるHTTPサーバーにファイルを配置してください。

[ティップ]

ファームウェアアップデートは[カーネル][ユーザーランド]のどちらかを入力し、もう片方を空欄にすることで片方だけアップデートすることも可能です。

[ティップ]

ファイルをHTTPサーバーに配置する際には、ファイルのMD5チェックサムを "~.md5" という拡張子を付けて同階層からダウンロードできるようにしてください。MD5チェックサムはファームウェアアップデートの際にファイルの破損を検知するために同時にダウンロードされます。

[ティップ]

「アップデート完了時に再起動する」にチェックを入れない場合は、Armadilloが再起動するまで古いファームウェアで稼動し続けます。

3.2.6. ログを見る

ログにはタスク、イベントの2つがあり、それぞれ、表示される内容が異なります。

[タスク]ではデバイスに対して再起動やコマンド実行を行った結果を参照することができます。 [イベント]では「デバイスの状態が接続中から切断中に変化した」など、デバイスに関するイベントを参照することができます。

[タスク]の一覧を見るには、メニューから[ログ]->[タスク]をクリックしてください。

タスク (node-eye コントロールパネル)

図3.10 タスク (node-eye コントロールパネル)


[イベント]の一覧を見るには、メニューから[ログ]->[イベント]をクリックしてください。

イベント (node-eye コントロールパネル)

図3.11 イベント (node-eye コントロールパネル)


3.2.7. アカウントの追加/変更/削除を行う

メニューから[アカウント]をクリックします。 この画面から、オペレーター向けのアカウント作成を行います。

[ティップ]

管理者権限のアカウントのみ、この操作が行えます オペレーター権限ではメニューに[アカウント]が表示されません

手順3.2 アカウントの作成

  1. [新規アカウント]をクリック

  2. 項目を入力し[作成]をクリック

  3. 作成したアカウントの詳細画面が表示されます。

  4. メニューの[アカウント]をクリックしてユーザー一覧を表示すると、作成したユーザーが増えていることがわかります。

手順3.3 アカウントの編集

  1. ユーザーをクリック

  2. [編集]をクリック

  3. "名前"を変更し[保存]をクリック

手順3.4 アカウントの削除

  1. ユーザーをクリック

  2. [削除]をクリックし、[OK]をクリック

  3. [OK]をクリックした後に、ユーザー一覧から選択したユーザーが消えていることが確認できます

3.3. SACMを使う

3.3.1. SACMへログインする

https://atmark-techno.sacm.jp/user/ にアクセスし、node-eye登録完了通知書に記載されているSACM コントロールパネルアカウントを使用してログインしてください。

3.3.2. リモートコンフィグを行う

本章では、DHCP で稼働してる Armadillo を固定IPにする方法を例に、リモートコンフィグ機能の使い方を紹介します。 その他の設定方法については 本文 5章Howto「ネットワーク設定方法」 を参照してください。

手順3.5 リモートコンフィグを行う

  1. メニューから[SA]をクリックし、[接続中]になっている Armadillo をクリック

  2. SAのメニューから[コンフィグ]をクリックして、ページ下部の[コンフィグ変更]をクリック

  3. モジュール0のコンフィグを以下のように書き換えます。

    VERSION=2
    interface_eth0=enable
    interface_eth0_metric=1
    interface_eth0_type=static
    interface_eth0_address="192.0.2.10"
    interface_eth0_netmask="255.255.255.0"
    interface_eth0_gateway="192.0.2.1"
    コンフィグ変更 (SACM コントロールパネル)
    [ティップ]

    モジュール0の設定項目は Armadillo の /etc/NetworkManager/system-connections/ に保存されるコネクションファイルに反映されます。 実際のネットワークの構成にあわせて値を決めてください。

  4. [コンフィグ変更]をクリックし、[コンフィグ反映]をクリックします。

    コンフィグ反映 (SACM コントロールパネル)

    図3.12 コンフィグ反映 (SACM コントロールパネル)


  5. 反映スケジュールを[即時反映]にチェックを入れて、[コンフィグ反映]をクリックします。

    即時反映 (SACM コントロールパネル)

    図3.13 即時反映 (SACM コントロールパネル)


    [注記]

    執筆時点で以下の不具合が判明しているため、モジュール 0 のコンフィグと、他のモジュールのコンフィグを同時に反映しないでください。

    モジュールコンフィグのロールバックが発生した時、Armadillo上で動作しているコンフィグと、SACMコントロールパネルに表示されるコンフィグが一致しなくなる場合があります。

  6. 反映が完了した後に、Armadillo に接続したシリアルコンソールでifconfigを実行すると、ネットワークインターフェースにモジュール0のコンフィグが反映されている事を確認することができます。

    [Armadillo ~]# ifconfig
    eth0      Link encap:Ethernet  HWaddr 00:11:0C:18:10:83
              inet addr:192.0.2.10  Bcast:192.0.2.255  Mask:255.255.255.0
              inet6 addr: fe80::211:cff:fe18:1083/64 Scope:Link
              UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
              RX packets:17608 errors:0 dropped:1 overruns:0 frame:0
              TX packets:1488 errors:3 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:1000
              RX bytes:2584712 (2.4 MiB)  TX bytes:194540 (189.9 KiB)
    
    lo        Link encap:Local Loopback
              inet addr:127.0.0.1  Mask:255.0.0.0
              inet6 addr: ::1/128 Scope:Host
              UP LOOPBACK RUNNING  MTU:65536  Metric:1
              RX packets:60 errors:0 dropped:0 overruns:0 frame:0
              TX packets:60 errors:0 dropped:0 overruns:0 carrier:0
              collisions:0 txqueuelen:0
              RX bytes:5280 (5.1 KiB)  TX bytes:5280 (5.1 KiB)
    [ティップ]

    リモートコンフィグ機能によるネットワーク設定の内容に問題があり、SACM と接続できなくなった場合、 Armadillo で動作している armsd が約5分後にコンフィグ反映直前の設定に戻します。

3.3.3. フォルダ機能を使う

Armadillo の数が多い場合や拠点ごとに管理を行いたい場合に便利なフォルダ機能を紹介します。 フォルダ分けすることにより、フォルダ単位でコマンドが実行できるようになったり、コンフィグの一斉反映がより簡単に行なえるようになります。

手順3.6 SAをフォルダに追加する

  1. メニューから[フォルダ]をクリックし、[フォルダ追加]をクリック

    フォルダ (SACM コントロールパネル)

    図3.14 フォルダタブ (SACM コントロールパネル)


  2. 任意のフォルダ名を入力し[フォルダ追加]をクリック

    フォルダ名入力 (SACM コントロールパネル)

    図3.15 フォルダ名入力 (SACM コントロールパネル)


  3. フォルダ一覧から、先ほど入力したフォルダ名をクリック

    フォルダ一覧 (SACM コントロールパネル)

    図3.16 フォルダ一覧 (SACM コントロールパネル)


  4. フォルダにArmadilloを登録するため、[所属SA変更]をクリック

    所属SA変更 (SACM コントロールパネル)

    図3.17 所属SA変更 (SACM コントロールパネル)


  5. 任意のSAにチェックを入れ、[所属SA変更]をクリック

    フォルダに追加するSAを選択 (SACM コントロールパネル)

    図3.18 フォルダに追加するSAを選択 (SACM コントロールパネル)


  6. チェックを入れたSAが表示されます。

    フォルダのviewのスクリーンショット

    図3.19 SAが追加されたフォルダ (SACM コントロールパネル)


3.3.4. 接続状態が変化した時の通知先を設定する

SACMコントロールパネルでは、Armadilloと SACM の接続状態が変化した時に、電子メールを送信する機能を設定する事ができます。

接続状態が変化するのは以下のようなことが考えられます。

  • [接続中] → [切断中]: Armadilloがリカバリーイメージで起動した

  • [接続中] → [切断中]: Armadilloと SACM 間のネットワークに障害が発生し通信できなくなった

  • [切断中] → [接続中]: Armadilloが SACM 間のネットワークに障害が解消され通信できるようになった

[ティップ]

[接続中] → [切断中] の接続状態の変化には実際に通信が途絶してから、最大で15分程度かかります

[ティップ]

[切断中] → [接続中] の接続状態の変化には実際に通信が確立してから、最大で10分程度かかります

通知先の設定には SACMコントロールパネル の 監視グループ を使います。 監視グループ には複数の Armadillo と、通知先のメールアドレスを登録することができます。

手順3.7 SAの接続状態が変化した時の通知先を設定する

  1. まず、監視グループの作成を行います。 メニューから[監視]をクリックし、[監視グループ追加]をクリック

    監視タブ (SACM コントロールパネル)

    図3.20 監視タブ (SACM コントロールパネル)


  2. 任意の監視グループ名を入力し、[監視グループ追加]をクリック

    監視グループ名入力 (SACM コントロールパネル)

    図3.21 監視グループ名入力 (SACM コントロールパネル)


  3. これで監視グループの作成は完了です。次に監視グループに電子メールの送信先を設定します。 監視グループ一覧から、先ほど入力した監視グループ名をクリック

    監視グループが追加された監視タブ (SACM コントロールパネル)

    図3.22 監視グループが追加された監視タブ (SACM コントロールパネル)


  4. [通知先メールアドレス変更]をクリック

    監視グループの詳細 (SACM コントロールパネル)

    図3.23 監視グループの詳細 (SACM コントロールパネル)


  5. 任意の通知先メールアドレスを入力し、[通知先メールアドレス変更]をクリック

    通知先メールアドレス入力 (SACM コントロールパネル)

    図3.24 通知先メールアドレス入力 (SACM コントロールパネル)


  6. これでArmadilloの動作状況が変化した時の通知先を設定することができました。

    通知先メールアドレスが追加された監視グループ詳細 (SACM コントロールパネル)

    図3.25 通知先メールアドレスが追加された監視グループ詳細 (SACM コントロールパネル)


  7. 最後に、監視グループにArmadilloを登録します [監視対象変更]をクリック

    監視グループ詳細 (SACM コントロールパネル)

    図3.26 監視グループ詳細 (SACM コントロールパネル)


  8. 監視グループに追加したいArmadilloにチェックを入れ[監視対象変更]をクリック

    監視グループに追加するSAを選択 (SACM コントロールパネル)

    図3.27 監視グループに追加するSAを選択 (SACM コントロールパネル)


  9. これで監視グループに登録したArmadilloの動作状況が変わった時に、電子メールが送信されるようになりました。

    SAが追加された監視グループ (SACM コントロールパネル)

    図3.28 SAが追加された監視グループ (SACM コントロールパネル)


電子メールが送信されることを確認するには、登録したArmadilloのEthernetケーブルを外すか、その時点で[切断中]となっているArmadilloを起動し、SACMと接続する必要があります。

SACM は一時的なネットワーク障害と区別するため、[接続中]から[切断中]に状態の表示を変更するまでに15分の猶予期間を設けています。 そのため、Ethernetケーブルを外す等の方法で SACMとの接続を遮断した場合は15分後に、電子メールの送信と node-eyeコントロールパネル、SACMコントロールパネルの表示が変化します。

3.3.5. その他

この他の使い方や、詳しい情報は http://manual.sacm.jp/ を参照してください



[2] 「実行時間を指定する」で過去の時間を指定した場合には、「すぐに実行する」と同じ動作になります。