Armadillo-IoTゲートウェイG3Lとは 株式会社アットマークテクノとコネクシオ株式会社が共同開発したIoTゲートウェイデバイス。 詳しくはアットマークテクノさんのページやコネクシオさんのページをご覧ください。 スペックはArmadillo-IoT G3Lのページ 公式のドキュメントが充実しており、G3Lへのログインから運用シーンに必要なことが一通り載っている印象をうけました。 社内向けのナレッジをそのまま社外用に公開したのではないか思えるほど詳細に記載されています。
ログインしてみる
何はともあれ、まずは電源を入れてログインしてみます。 OSはDebianらしいので、Linuxに触れたことある人ならそれほど違和感はないでしょう。 G3LにはVGAやHDMIなどのインターフェースが無く、ディスプレイに接続できないので、最初はシリアルで接続を行います。 同梱されているケーブルを本体の端子に挿します。 接続はこんな感じ。 赤く囲ったツマミを写真と同じようにmicroUSB寄りにしないと、保守モードで起動します。そのままログインすると特殊コマンドを使うことになります。詳しくはマニュアルをご覧ください。 接続できたら電源ケーブルを繋いで本体を起動しましょう。 10~20秒程度で起動します。 その間にローカルPC側はシリアル接続の準備をします。 私は今回Macでpicocomを使いました。 picocomはCtrl+a,Ctrl+xで終了できます。 picocomでの接続コマンドpicocom -b 115200 /dev/cu.usbserial-A5054SDA
つながりました!
私の場合は/dev/cu.usbserial-A5054SDAでしたが、利用している環境に寄っては別デバイス名の可能性もあるので、そこは各自ケーブルを抜き挿ししてご調査ください。
Arduinoを使っている方はArduinoの開発環境からもシリアル接続を行うこともできます。
ユーザー名とパスワードはマニュアルに記載されているので、そちらをご確認ください。
ネットワーク設定をする
ネットワークの設定を行う上で、 初期状態のままだとssh接続できないので、まずはWi-Fiの設定をします。 Raspberry piなどと同じようにコマンドでやれば早いと思ったら、wpa_supplicant.confファイルがそもそもない。。。 大人しくマニュアルに従います。。。 nmcliコマンドを使うようですが、よりユーザーフレンドリーなnmtuiコマンドもインストールされているとのこと。 コマンドを細々打つの大変なので、nmtuiを試します。testuser@armadillo:~# nmtui
これは分かりやすそうなつくり。。。
“Edit a connection”を選択します。
Wi-Fiが無い。。。。
追加出来るようなので”Add”を選択
Wi-Fi見つけました!
下記4つを設定し、下カーソルキーを押しっぱなしにして画面外の右下に隠れているOKを撰択します。
SSID
Mode
Security
Password (Securityを選択しないと表示されません)
1つ前の画面に戻るとWi-Fiの設定が追加されています。
問題なければそのまま右下のQuitから終了します。
うまく接続できればすぐにWi-Fiの接続ログが数十行流れ、IPが振られます。
IPの確認はipコマンドで行いました。
ip a | grep wlan
sshログインの準備
IP設定したらログインできると思ったら繋がらず、マニュアルを見たらsshサーバーが入っていないようなので入れます。 root権限ユーザーで行ってください。apt-get install openssh-server
sshサーバーが起動するので、あとはローカルPCから下記コマンドでログインするだけです。
ssh ユーザー@IP
OSフラッシュ(初期化)してみる
起動しているOSはオンボードのeMMCに乗っているOSなので、消してはいけないファイルを消した場合など、復旧が必要になった場合に初期化できる仕組みがあります。 手順: 1.サポートページから「インストールディスクイメージ」を落としてくる 2.「インストールディスクイメージ」をmicroSDに書き込む 3.G3Lに繋がっているケーブル類を全て外し、電源を落とした状態でmicroSDをG3Lに挿し込み、ジャンパをショートさせた状態で電源ケーブルだけ挿して起動 4.ステータスLEDが終了表示になったら電源ケーブルを抜いてジャンパとmicroSDを抜く1.サポートページから「インストールディスクイメージ」を落としてくる
Armadillo-IoT G3Lのダウンロードページから「インストールディスクイメージ」をダウンロードします。2.「インストールディスクイメージ」をmicroSDに書き込む
ダウンロードできたら512 MB以上のmicroSDカードをローカルPCに接続します。 SDカードスロットがあれば便利ですが、無い方は変換ハブを使うしか無いです。 私のお気に入りはkingstonの「kingston microSD usb 変換」です。microSDをUSB接続に変換でき、構成がシンプルで比較的頑丈。 microSDをローカルPCに接続したらddコマンドで書き込みます。 中身があるmicroSDだと勝手にマウントされてしまう場合があり、下記のような出力を返して書き込みに失敗するのでマウントされていたらアンマウントします。 全てroot権限ユーザーで行ってください。dd: /dev/disk2: Resource busy
まずはdfでマウント状況の確認
kawasaki-2:Downloads kawasakiya$ df
...
..
/dev/disk2s1 20404 20052 352 99% 512 0 100% /Volumes/Untitled
..
.
Resource busyと言われたdiskと同じようなdiskがdfをすると表示されるので、diskutilコマンドでアンマウントしてやります。
diskutil umount /dev/disk2s1
アンマウントが完了したら下記コマンドで初期化用のOSイメージをmicroSDに書き込みます。
dd if=OSイメージのパス of=/dev/接続したmicroSD bs=4m
進捗はCtrl+tで確認できます。
10分程度で書き込みが終わると思います。
書き込みが終了したらまたマウントされていないかdfコマンドで確認し、マウントされていたらdiskutilコマンドでアンマウントします。
3.G3Lに繋がっているケーブル類を全て外し、電源を落とした状態でmicroSDをG3Lに挿し込み、ジャンパをショートさせた状態で電源ケーブルだけ挿して起動
ローカルPCからmicroSDを抜き出しG3Lに挿しこみますが、G3Lは電源を落とした状態で作業してください。 挿しこみ場所は下記画像です。 ユーザーLED(電源LED)の裏側にある基盤の裏面です。 挿し込んだらジャンパで下記のJP1ピンをショートさせた状態にします。 microSDとジャンパの設定ができたらシリアルケーブルも外し、G3Lの電源を入れます。 電源が入るとmicroSDからeMMCへコピーが行われます。 進捗は下記3つのユーザーLEDで確認できます。 詳しくはマニュアルをご覧ください4.ステータスLEDが終了表示になったら電源ケーブルを抜いてジャンパとmicroSDを抜く
初期化が終了したら電源を落とし、microSDとジャンパを外します。 初期化されてしまっているのでログインもシリアル経由になるのでお忘れなく。LTEモジュールを設定してみる
まずはsimを準備します。 ちょうど手元に無かったので、自前のiPhoneに挿さっているnanoSIMを使います。 iPhoneから取り出してアダプタでmicroSIMサイズにしています。 写真の基盤の裏側に隠れているスロットに挿しこみます。 ※挿し込む向きは写真の通り欠けの無い方を奥に挿しこみます。逆に挿すと読み込まないので注意! 挿し込んだら初回ログイン時にやったようにシリアル接続の準備をします。(Wi-FiなどLTEモジュール以外をOFFにするため) microSIMとシリアル接続の準備ができたら電源を入れます。 電源が入ったらシリアル接続経由でログインします。picocom -b 115200 /dev/cu.usbserial-A5054SDA
root権限のユーザーで実行してください。
nmcli connection add con-name gsm-ttyACM0 type gsm ifname ttyACM0 apn [apn] user [user] password [password]
マニュアルでは設定にapnなど5種の情報が必要とありましたが、上記コマンドに使用する3つだけで済みました。
apn
user
password
iPhoneでは、
設定->一般->プロファイル
使用中のプロファイルの詳細からパスワード以外は全て確認できました。
それらを元に確認した情報を使って上記のコマンドを実行しました。
成功すると下記が表示されます。
Connection 'gsm-ttyACM0' (57830dt1-cb34-4e3d-a022-226bha122ce7) successfully added.
1分弱待つと接続が確認できます。
確認コマンドは下記です。
STATEがconnectedになったら準備完了です。
testuser@armadillo:~# nmcli device
DEVICE TYPE STATE CONNECTION
ttyACM0 gsm connected gsm-ttyACM0
...
..
接続が確認できたらLTE以外の接続を全て切ります。
nmtuiコマンドからDeactivateします。
Deactivateするとこんな感じになります。
testuser@armadillo:~# nmcli device
DEVICE TYPE STATE CONNECTION
wlan0 wifi disconnected --
ttyACM0以外の接続が全て切れているのを確認したらインターネット上のサービスを叩いてみます。
LTEが生きているなら繋がるはず。。。
testuser@armadillo:~# ping -c 4 www.atmark-techno.com
うまくいけばこんな感じの応答があります。
64 bytes from p654787.hkidff01.ap.so-net.ne.jp (121.101.71.135): icmp_seq=1 ttl=52 time=163 ms
回線情報を取得してみる
この操作結果に4g(回線規格)とか電話番号とか、抜かれると怖い感じの情報が確認できます。testuser@armadillo:~# mmcli -m 0
(省略。。。ここに電話番号とか出る)
Bearers | paths: '/org/freedesktop/ModemManager1/Bearer/0'
testuser@armadillo:~# mmcli -b 0
Bearer '/org/freedesktop/ModemManager1/Bearer/0'
-------------------------
Status | connected: 'yes'
| suspended: 'no'
| interface: 'usb1'
| IP timeout: '20'
-------------------------
Properties | apn: 'マイネオ'
| roaming: 'allowed'
| IP type: 'none'
| user: 'マイネオ'
| password: 'password'
| number: '*99#'
| Rm protocol: 'unknown'
-------------------------
IPv4 configuration | method: 'dhcp'
| address: 'unknown'
| prefix: '0'
| gateway: 'unknown'
| DNS: none
-------------------------
IPv6 configuration | method: 'unknown'