セットアップ手順 (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
ハードウェアのセットアップ
- Armadillo-IoT G4本体のケース左右のネジを外し、ケースを開きます。
- LTE通信モジュールのSIMスロットにSIMを挿入します。この際、SIMの切り欠きを奥にして差し込みます。
- ケースを閉じて、ネジで固定します。
- Armadillo-IoT G4 本体に、LTEアンテナ2本、有線LANケーブル、USBケーブル、ACアダプターを接続します。
- USBケーブルの反対側をPCに接続します。
PCからターミナルソフト(TeraTermなど)を起動し、シリアルポート(Armadillo-IoTに接続されているポート)に接続します。
シリアルポートの通信設定を以下の通りに設定します。設定項目
設定値
スピード 115200 データ 8 bit ストップビット 1 bit パリティ なし フロー制御 なし ターミナルソフトの画面より、Armadillo のコンソールを操作できます。
OS・ミドルウェアのセットアップ
パスワードの初期設定
Armadillo-IoTは、初期状態では root 及び一般ユーザーのパスワードが設定されていないため、初回ログイン時に設定を行います。
- login プロンプトから、ユーザー root パスワード root でログインします。
- ログイン後、パスワード変更が促されますので、画面表示に従ってパスワードを変更します。
- いったんログアウトします。
- login プロンプトから、ユーザー atmark パスワード atmark でログインします。
- ログイン後、パスワード変更が促されますので、画面表示に従ってパスワードを変更します。
- いったんログアウトします。
セルラー回線の接続の設定
セルラー回線の接続設定は、NetworkManager のコマンド(nmcli
) を使用します。
loginプロンプトから、root でログインします。
以下の通りコマンドを実行します。
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.
と表示されれば完了です。以下の通りコマンドを実行し、設定ファイルを永続化します。
persist_file /etc/NetworkManager/system-connections/gsm-ttyCommModem.nmconnection
Armadillo Base OS はルートファイルシステムに overlayfs を採用しているため、何もしないで電源を切るとファイルの変更内容が消失します。
内容を保持するには、変更したファイルに対してpersist_file
コマンドを使用します。
有線LANとセルラー回線(ppp)の両立
デフォルトの設定のままだと、セルラー回線(ppp0)に接続しても、有線LANへの接続が優先されてしまいます。
以下の設定を行うことで、IIJ IoTプラットフォームへの通信はセルラー回線(ppp0)へ、それ以外は有線LANへ、それぞれパケットを送るような静的ルート設定が追加されます。
有線LANを使用しない場合は、この設定は行う必要はありません。 |
loginプロンプトから、root でログインします。
以下の通りコマンドを入力します。
nmcli connection show
一覧の "NAME" の部分に、インターフェース名が表示されます。以降、各インターフェース(有線LAN、セルラー回線)の操作をする場合はこのインターフェース名を使用します。
以下の通りコマンド入力し、セルラー回線の静的ルーティングを設定します。
nmcli connection modify gsm-ttyCommModem ipv4.never-default yes # IPv4のデフォルトルートを使わない nmcli connection modify gsm-ttyCommModem ipv6.never-default yes # IPv6のデフォルトルートを使わない
以下の通りコマンド入力します。
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 の設定で静的ルーティングの設定を行っています。以下の通りコマンド入力し、有線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
以下の通りコマンド入力し、変更した設定ファイルを永続化します。
persist_file /etc/NetworkManager/system-connections/* persist_file /etc/ppp/ip-up
以下の通りコマンドを入力し、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
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 # 追記する
以下の通りコマンド入力し、変更した設定ファイルを永続化します。
persist_file /etc/atmark/connection-recover/gsm-ttyUSB2_connection-recover.conf
以下の通りコマンドを入力し、サービスを再起動します。
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 のレスポンスが返ってくれば、データ送信は正常に終了しています。