セットアップ手順 (Armadillo-IoT A6)
目次
初期セットアップ手順
ドキュメントについて
Armadillo-IoT A6 のご利用方法については、メーカー公式のドキュメントが公開されております。以下のサイトをご確認ください。
https://armadillo.atmark-techno.com/resources/documents/armadillo-iot-a6/manuals
ここでは、Armadillo-IoT A6 で IIJ IoTサービスを利用するための最小限の手順について、記載していきます。
使用機材について
Armadillo-IoT ゲートウェイ A6 C1モデル 開発セット AG6110-C01D0
使用したOS・バージョンなど
Debian GNU/Linux 10 (Buster)
用意するもの
- Armadillo-IoT A6本体 および付属品(D-Subコネクタ変換ケーブル、USBシリアル変換アダプタ、シリアルクロスケーブル、ACアダプタ、LTEアンテナ)
- インターネットに接続できる環境(有線LAN)
- PC
ハードウェアのセットアップ
- Armadillo-IoT A6本体に SIM を挿入します。この際、SIMの切り欠きを奥にして差し込みます。
- Armadillo-IoT A6本体に LTEアンテナを接続します。
- Armadillo-IoT A6 本体に、D-Subコネクタ変換ケーブルのコネクターを接続します。
D-Subコネクタ変換ケーブルの反対側のコネクターに、シリアルクロスケーブルを接続します。 - シリアルクロスケーブルの反対側に、USBシリアルを接続します。
USBシリアルのUSBは、PCに接続します。 Armadillo-IoT A6 本体にあるスイッチを、表記の方向(D-Subコネクタ変換ケーブルを左側にすると、スイッチを上方向)にセットします。
PCからターミナルソフト(TeraTermなど)を起動し、シリアルポート(Armadillo-IoTに接続されているポート)に接続します。
また、シリアルポートの通信設定を以下の通りに設定します。設定項目 設定値 スピード 115200 データ 8 bit ストップビット 1 bit パリティ なし フロー制御 なし - ACアダプターを接続すると、起動します。
ターミナルソフトの画面にOSの起動状況が表示されていることを確認します。
OS・ミドルウェアのセットアップ
パスワードの初期設定
Armadillo-IoTは、初期状態では root 及び一般ユーザーのパスワードが設定されていないため、初回ログイン時に設定を行います。
- login プロンプトから、ユーザー root パスワード root でログインします。
- ログイン後、パスワード変更が促されますので、画面表示に従ってパスワードを変更します。
- いったんログアウトします。
- login プロンプトから、ユーザー atmark パスワード atmark でログインします。
- ログイン後、パスワード変更が促されますので、画面表示に従ってパスワードを変更します。
- いったんログアウトします。
OSのアップデート
以下の手順でOSを最新状態にアップデートします。
- 有線LANに接続し、インターネットに接続できる状態にします。
- loginプロンプトから、root でログインします。
以下の通り入力し、OSを最新状態にアップデートします。
apt update && apt upgrade -y
セルラー回線の接続の設定
セルラー回線の接続設定は /etc/aiot-modem-control/startup.conf
ファイルに記述します。
loginプロンプトから、root でログインします。
以下の通り入力します。
vi /etc/aiot-modem-control/startup.conf
ファイルが開いたら、部分を修正します。(以下は変更する項目だけを記載しております。他の項目はデフォルトのままで構いません。)
修正後、ファイルを保存します。# apn= のあとに、APNを指定します(※) # "iot.iijmobile.jp" or "h.iijmobile.biz" apn="iot.iijmobile.jp" # auth_prot= のあとに、認証方法 "chap" を指定します。 auth_prot="chap" # APNのユーザー名・パスワードを設定します。 username="mobile@iot" password="iot" # operator_id を "auto" に設定します。 operator_id="auto" # suspend を "disable" に設定します。 suspend="disable" # psm を "disable" に設定します。 psm="disable" # edrx を "disable" に設定します。 edrx="disable" # auto_dial を true に設定します。 auto_dial=true
(※) 使用するSIMによりAPN設定が異なります。オンラインヘルプのモバイルアクセス「APN設定」をご参照ください。
変更した設定を有効化させます。
以下の通りコマンドを入力します。systemctl restart aiot-modem-controld.service
しばらくすると回線が接続されます。
回線が接続されたことを確認します。
以下の通りコマンドを入力します。ip addr show ppp0
以下の通り、ppp0のインターフェースが表示され、IPアドレスが取得できていることを確認します。
4: ppp0: <POINTOPOINT,MULTICAST,NOARP,UP,LOWER_UP> mtu 1500 qdisc pfifo_fast state UNKNOWN group default qlen 3 link/ppp inet 10.XXX.XXX.XXX peer 192.168.50.1/32 scope global ppp0 valid_lft forever preferred_lft forever
有線LANとセルラー回線(ppp)の両立
デフォルトの設定のままだと、セルラー回線(ppp0)接続後に、有線LAN経由の接続ができなくなったり、もしくは逆にセルラー回線経由の接続ができなくなったりする場合があります。
以下の設定を行うことで、IIJ IoTプラットフォームへの通信はセルラー回線(ppp0)へ、それ以外は有線LANへ、それぞれパケットを送るような静的ルート設定が追加されます。
有線LANを使用しない場合は、この設定は行う必要はありません。 |
loginプロンプトから、root でログインします。
以下の通り入力します。
vi /etc/ppp/ip-up.d/static-route
以下の内容を入力し、ファイルを保存します。
#!/bin/sh sleep 1 /bin/ip route add 10.64.2.0/24 via 192.168.50.1
以下コマンドを実行し、作成したファイルのパーミッションを変更します。
chmod 755 /etc/ppp/ip-up.d/static-route
OS を再起動します。
reboot
再起動したら、loginプロンプトから、root でログインします。
以下の通り入力し、静的ルート設定を確認します。
route
以下のように静的ルート設定が表示されます。10.64.2.0/24 宛のパケットが 192.168.50.1 経由のルートになっていることが確認できます。
Kernel IP routing table Destination Gateway Genmask Flags Metric Ref Use Iface default 192.168.XX.XX 0.0.0.0 UG 0 0 0 eth0 10.64.2.0 192.168.50.1 255.255.255.0 UG 0 0 0 ppp0 192.168.XX.XX 0.0.0.0 255.255.255.0 U 0 0 0 eth0 192.168.50.1 0.0.0.0 255.255.255.255 UH 0 0 0 ppp0
動作確認
LTE回線が接続されているか確認する
loginプロンプトから、root でログインします。
その後、ターミナルから、以下のコマンドを入力します。
ip addr show ppp0
IPアドレスが表示された場合はLTE回線が接続されている状態です。エラーが表示された場合はLTE回線が接続されていない状態です。
IIJ IoTサービスへの接続を確認する
ターミナルから、以下のコマンドを入力します。
ping -c 4 gw.iot.iij.jp
pingの応答があった場合は、IoTサービスのサーバーに正常に接続できている状態です。エラーが表示された場合は正しく接続できていない状態です。
IIJ IoTサービスにデータ送信をしてみる
データ送信のために curl コマンドを使用します。デフォルトでは curl コマンドがインストールされていないため、以下コマンドを実行します。
apt install curl
ターミナルから、以下のコマンドを入力します。
curl -v -X POST -H 'Content-type: application/json' http://gw.iot.iij.jp/v1 -d '{"name":"test", "value":100}'
200 OK のレスポンスが返ってくれば、データ送信は正常に終了しています。