セットアップ手順 (Armadillo-IoT G4)

目次


初期セットアップ手順

ドキュメントについて

Armadillo-IoT G4 のご利用方法については、メーカー公式のドキュメントが公開されております。以下のサイトをご確認ください。
https://armadillo.atmark-techno.com/resources/documents/armadillo-iot-g4/manuals

ここでは、Armadillo-IoT G4 で IIJ IoTサービスを利用するための最小限の手順について、記載していきます。

使用機材について

Armadillo-IoT ゲートウェイ G4 LTEモデル 開発セット AGX4520-C02D0

使用したOS・バージョンなど

Armadillo Base OS (プリインストールされているもの)

用意するもの
  • Armadillo-IoT本体 および付属品(USBケーブル、ACアダプタ、LTE用外付けアンテナ)※1
  • インターネットに接続できる環境(有線LAN)
  • PC
ハードウェアのセットアップ
  1. Armadillo-IoT G4本体のケース左右のネジを外し、ケースを開きます。
  2. LTE通信モジュールのSIMスロットにSIMを挿入します。この際、SIMの切り欠きを奥にして差し込みます。
  3. ケースを閉じて、ネジで固定します。
  4. Armadillo-IoT G4 本体に、LTEアンテナ2本、有線LANケーブル、USBケーブル、ACアダプターを接続します。
  5. USBケーブルの反対側をPCに接続します。
  6. PCからターミナルソフト(TeraTermなど)を起動し、シリアルポート(Armadillo-IoTに接続されているポート)に接続します。
    シリアルポートの通信設定を以下の通りに設定します。

    設定項目

    設定値

    スピード115200
    データ8 bit
    ストップビット1 bit
    パリティなし
    フロー制御なし
  7. ターミナルソフトの画面より、Armadillo のコンソールを操作できます。

OS・ミドルウェアのセットアップ
パスワードの初期設定

Armadillo-IoTは、初期状態では root 及び一般ユーザーのパスワードが設定されていないため、初回ログイン時に設定を行います。

  1. login プロンプトから、ユーザー root パスワード root でログインします。
  2. ログイン後、パスワード変更が促されますので、画面表示に従ってパスワードを変更します。
  3. いったんログアウトします。
  4. login プロンプトから、ユーザー atmark パスワード atmark でログインします。
  5. ログイン後、パスワード変更が促されますので、画面表示に従ってパスワードを変更します。
  6. いったんログアウトします。
セルラー回線の接続の設定

セルラー回線の接続設定は、NetworkManager のコマンド(nmcli) を使用します。

  1. loginプロンプトから、root でログインします。

  2. 以下の通りコマンドを実行します。

    nmcli connection add type gsm ifname ttyCommModem apn <apn_name> user <user_name> password <pass>

    引数は以下のように読み替えます。

    引数

    意味

    備考
    <apn_name>APN名

    使用するSIMによりAPN設定が異なります。
    オンラインヘルプのモバイルアクセス「APN設定」をご参照ください。

    <user_name>APNのユーザ名
    <pass>APNのパスワード

    Connection 'gsm-ttyCommModem' (xxxxxxxxxx) successfully added. と表示されれば完了です。

  3. 以下の通りコマンドを実行し、設定ファイルを永続化します。

    persist_file /etc/NetworkManager/system-connections/gsm-ttyCommModem.nmconnection

    Armadillo Base OS はルートファイルシステムに overlayfs を採用しているため、何もしないで電源を切るとファイルの変更内容が消失します。
    内容を保持するには、変更したファイルに対して persist_file コマンドを使用します。


有線LANとセルラー回線(ppp)の両立

デフォルトの設定のままだと、セルラー回線(ppp0)に接続しても、有線LANへの接続が優先されてしまいます。
以下の設定を行うことで、IIJ IoTプラットフォームへの通信はセルラー回線(ppp0)へ、それ以外は有線LANへ、それぞれパケットを送るような静的ルート設定が追加されます。

有線LANを使用しない場合は、この設定は行う必要はありません。


  1. loginプロンプトから、root でログインします。

  2. 以下の通りコマンドを入力します。

    nmcli connection show

    一覧の "NAME" の部分に、インターフェース名が表示されます。以降、各インターフェース(有線LAN、セルラー回線)の操作をする場合はこのインターフェース名を使用します。

  3. 以下の通りコマンド入力し、セルラー回線の静的ルーティングを設定します。

    nmcli connection modify gsm-ttyCommModem ipv4.never-default yes     # IPv4のデフォルトルートを使わない
    nmcli connection modify gsm-ttyCommModem ipv6.never-default yes     # IPv6のデフォルトルートを使わない
  4. 以下の通りコマンド入力します。

    vi /etc/ppp/ip-up

    最下行に以下を追記して、ファイルを保存します。

    ip route add 10.64.2.0/24 via 0.0.0.0 dev ppp0
    exit 0

    本来は、NetworkManager の設定項目 ipv4.routes に静的ルーティング設定を行いますが、Armadillo Base OS ではその設定が有効にならないようなので(原因不明)、今回は ppp の設定で静的ルーティングの設定を行っています。

  5. 以下の通りコマンド入力し、有線LAN側のDNSを使用しないように設定します。"Wired connection 1" の部分は 2. で表示された有線LANのインターフェース名を指定します。

    nmcli connection modify "Wired connection 1" ipv4.ignore-auto-dns yes
    nmcli connection modify "Wired connection 1" ipv6.ignore-auto-dns yes
  6. 以下の通りコマンド入力し、変更した設定ファイルを永続化します。

    persist_file /etc/NetworkManager/system-connections/*
    persist_file /etc/ppp/ip-up
  7. 以下の通りコマンドを入力し、Network Manager を再起動すると、設定が有効になります。

    rc-service networkmanager restart

    以下の通り入力し、静的ルート設定を確認します。

    route

    10.64.2.0/24 宛のパケットが ppp0 経由のルートになっていることが確認できます。

    # route
    Kernel IP routing table
    Destination  Gateway      Genmask         Flags Metric Ref Use Iface
    default      192.168.XX.1 0.0.0.0         UG    100    0     0 eth0
    10.64.2.0    *            255.255.255.0   U     0      0     0 ppp0    # この行が追加されている
    10.64.64.64  *            255.255.255.255 UH    0      0     0 ppp0
    192.168.XX.0 *            255.255.255.0   U     100    0     0 eth0
  8. LTE回線切断時に自動的に再接続する設定を変更します。
    以下の通りコマンド入力します。

    vi /etc/atmark/connection-recover/gsm-ttyUSB2_connection-recover.conf

    設定ファイルの以下の部分を修正し、ファイルを保存します。

    #PING_DEST_IP=8.8.8.8     # コメントアウトする
    PING_DEST_IP=10.64.2.11   # 追記する
  9. 以下の通りコマンド入力し、変更した設定ファイルを永続化します。

    persist_file /etc/atmark/connection-recover/gsm-ttyUSB2_connection-recover.conf
  10. 以下の通りコマンドを入力し、サービスを再起動します。

    rc-service connection-recover restart

動作確認

LTE回線が接続されているか確認する

loginプロンプトから、root でログインします。

その後、ターミナルから、以下のコマンドを入力します。

ip addr show ppp0

IPアドレスが表示された場合はLTE回線が接続されている状態です。エラーが表示された場合はLTE回線が接続されていない状態です。

IIJ IoTサービスへの接続を確認する

ターミナルから、以下のコマンドを入力します。

ping -c 4 gw.iot.iij.jp

pingの応答があった場合は、IoTサービスのサーバーに正常に接続できている状態です。エラーが表示された場合は正しく接続できていない状態です。

IIJ IoTサービスにデータ送信をしてみる

ターミナルから、以下のコマンドを入力します。

curl -v -X POST -H 'Content-type: application/json' http://gw.iot.iij.jp/v1 -d '{"name":"test", "value":100}'

200 OK のレスポンスが返ってくれば、データ送信は正常に終了しています。