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

目次


初期セットアップ手順

ドキュメントについて

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

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

使用機材について

Armadillo-IoT ゲートウェイ G3 開発セット  AGX3020-D00Z

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

Debian GNU/Linux 9 (stretch) v20220328

用意するもの
  • Armadillo-IoT G3本体 および付属品(USBシリアル変換アダプタ、Mini-USBケーブル、ACアダプタ、LTEアンテナ)
  • インターネットに接続できる環境(有線LAN)
  • PC
ハードウェアのセットアップ
  1. Armadillo-IoT 本体に、USBシリアル変換アダプタのコネクターを接続します。
    また、USBシリアル変換アダプタのMini-USBポートとPCを USBケーブルで接続します。
    USBシリアル変換アダプタの基盤についているスイッチは右側に設定します。
  2. Armadillo-IoT本体に SIM を挿入します。この際SIMの方向にご注意ください(SIMの切り欠きを手前にしてスロットに挿入します)。
  3. PCからターミナルソフト(TeraTermなど)を起動し、シリアルポート(Armadillo-IoTに接続されているポート)に接続します。
    また、シリアルポートの通信設定を以下の通りに設定します。

    設定項目設定値
    スピード115200
    データ8 bit
    ストップビット1 bit
    パリティなし
    フロー制御なし
  4. ACアダプターを接続すると、起動します。
    ターミナルソフトの画面にOSの起動状況が表示されていることを確認します。
OS・ミドルウェアのセットアップ
パスワードの初期設定

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

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

以下の手順でOSを最新状態にアップデートします。

  1. 有線LANに接続し、インターネットに接続できる状態にします。
  2. loginプロンプトから、root でログインします。
  3. 以下の通り入力し、OSを最新状態にアップデートします。

    apt update && apt upgrade -y
セルラー回線の接続の設定
  1. loginプロンプトから、root でログインします。
  2. 以下の通り入力します。引数の部分は下記の通りに置き換えます。

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

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

    引数

    意味

    備考
    <ifname>

    通信モデムのネットワークデバイス

    LTEモデルの場合は ttyUSB2
    3Gモデルの場合は ttyACM3

    ls -l /dev/tty* を実行し、デバイスの有無を確認する

    <apn_name>APN名

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

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

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


  3. 設定後、ppp0の接続状況を確認します。

    ip addr show ppp0

    IPアドレスが取得できていれば、セルラー回線が接続されている状況です。


DNS設定の見直し

上記で設定したセルラー回線は、デフォルトではパブリックなDNSサーバーを参照するように設定されています。そのため、IIJ IoTサービスの閉域ネットワークのホストの名前解決ができない状態になります。

ここでは、DNS参照先を IIJ IoTサービスのDNSサーバーに設定し直します。

  1. loginプロンプトから、root でログインします。
  2. 以下の通りコマンドを入力します。 <ifname> の部分は、LTEモデルの場合は gsm-ttyUSB2  3Gモデルの場合は gsm-ttyACM3 を指定します。

    nmcli connection show <ifname> | grep DNS

    DNS参照先が 4.2.2.1 および 4.2.2.2 になっていることが確認できます。


  3. 以下の通りコマンドを入力します。<ifname> の部分は 2. と同様です。

    nmcli connection modify <ifname> ipv4.dns "10.64.2.11 10.64.2.12"    # ← DNSサーバを手動で指定する
    nmcli connection modify <ifname> ipv4.ignore-auto-dns yes            # ← DNSサーバの自動設定を無効化する
  4. セルラー回線を切断・再接続します。<ifname> の部分は 2. と同様です。

    nmcli connection down <ifname>
    nmcli connection up <ifname>
  5. 参照先のDNSが変更されたことを確認します。

    nmcli connection show <ifname> | grep DNS
静的ルーティングの設定

有線LANとセルラー回線を併用する場合、同時に接続していると有線LANの接続が優先されてしまい、セルラー回線経由でのIIJ IoTサービスの閉域ネットワークへパケット送信ができなくなります。

ここでは、セルラー回線の静的ルート設定を追加します。

  1. loginプロンプトから、root でログインします。
  2. 以下の通りコマンドを入力します。

    nmcli connection show 

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


  3. 以下の通りコマンド入力し、セルラー回線のIPアドレスを取得します。

    ip addr show ppp0

    表示されたIPアドレスをメモしておきます。

  4. 以下の通りコマンド入力し、セルラー回線の静的ルーティングを設定します。
    <ifname> の部分は2. で表示されたセルラー回線のインターフェース名を指定します。<ipaddr> の部分は 3. で取得したIPアドレスを指定します。

    nmcli connection modify <ifname> ipv4.never-default yes  				# IPv4のデフォルトルートを使わない
    nmcli connection modify <ifname> ipv6.never-default yes  				# IPv6のデフォルトルートを使わない
    nmcli connection modify <ifname> +ipv4.routes "10.64.2.0/24 <ipaddr>"   # 静的ルート設定, <ipaddr> の部分は自分自身(ppp0)のIPアドレスを書く
  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. Network Manager を再起動し、設定を有効化します。

    systemctl restart NetworkManager
  7. DNS設定を確認し、10.64.2.xx のDNSしか参照していないことを確認します。

    cat /etc/resolv.conf
  8. パケットのルート設定が正しいか確認します。

    traceroute gw.iot.iij.jp   # セルラー回線経由でパケットが送信される
    traceroute www.iij.ad.jp   # 有線LAN経由でパケットが送信される

動作確認

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

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

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 のレスポンスが返ってくれば、データ送信は正常に終了しています。


その他設定

タイムゾーンの設定

Armadilloは、デフォルトではタイムゾーンがUTCに設定されています。必要に応じてJSTに変更してください。

  1. loginプロンプトから、root でログインします。
  2. date コマンドを実行し、UTCの時間が表示されることを確認します。

    date
  3. タイムゾーンをJSTに変更します

    ln -sf /usr/share/zoneinfo/Asia/Tokyo /etc/localtime
  4. date コマンドを実行し、JSTの時間が表示されることを確認します。

    date