ブログ

[Armadillo-IoT A6]SORACOM Air for セルラー plan-Dでインターネットに接続してみた

at_takuma.fukuda
2021年8月2日 7時11分

Armadillo-IoT A6の製品マニュアルにはLTE-M通信設定に必要な情報が記載されています。

しかしながら、マニュアルでは多様なケースを想定した記載となっているため、
LTE-Mの通信を行うまでの具体的な手順がわかりにくいというお声をいただいております。

この記事では、初回起動直後からLTE-M通信の設定を行い、通信を確認するまでの最短の手順をご案内します。
SORACOM Air for セルラー plan-DのSIMを使用する場合の手順となりますので、
apnやユーザ名・パスワードなどはご利用になられるSIMのものに読み替えてご利用ください。

前提事項

Armadillo-IoT A6とPCを接続して通信可能な状態となっている事を前提とします。
接続に必要なものや手順などは以下をご参考下さい。
Armadilloの電源を入れる前に
なお、上記マニュアルの手順ではArmadillo開発環境のATDEを構築し、
その上でシリアル通信ソフトminicomを動作させてこちらでArmadillo-IoT A6と通信を行う手順をご紹介しておりますが、
Armadillo-IoT A6を直接操作して動作を確認する段階では、ATDEの構築は必須ではありませんので、
TeraTermなどのWindows上で動作するシリアル通信ソフトがあればそちらをご利用ください。
通信設定はminicomをご利用いただく場合と同様となります。
表4.5 シリアル通信設定

電源投入前に

電源を投入する前にSIMカードを前もって挿入しておくとその後の手順がよりスムーズに進むものと存じます。
下記をご参考にSIMカードを挿入してください。 sample

電源投入→ログイン

電源を投入し、ログインメッセージが表示されたらユーザ名・パスワードを入力してログインしてください。
初回起動時はパスワードの変更を求められます。以下を参考に設定してください。
5.2.2. 初回ログインと新しいパスワードの設定

LTE-M通信設定

Armadillo-IoT ゲートウェイ A6は起動時に自動的に LTE の通信設定を行うサービスが動作します。
このサービスが反映する設定は /etc/aiot-modem-control/startup.conf というファイルに記述します。
プリインストールされているテキストエディタviを使用してこのファイルを編集し、必要な設定情報を反映します。
以下のようにコマンドを実行してください。

[armadillo ~]# vi /etc/aiot-modem-control/startup.conf

startup.confファイルの編集画面に遷移します。
apnやユーザ名・パスワードを入力し、
「create_wvdial_conf」「auto_dial」をtrueにしてください。
viの使用方法が分からない場合は以下をご参考下さい。
4.9. viエディタの使用方法
「create_wvdial_conf」はstartup.confの内容を読み込んで/etc/wvdial.confというファイルを自動生成するという設定です。
Armadillo-IoT A6ではWvDialというアプリケーションを使ってLTE-M通信を行っており、
このWvDialが通信を行うための設定ファイルがwvdial.confとなります。
「auto_dial」は自動的にLTE-Mの通信を行うかの設定となります。
運用時はアプリケーションで接続タイミングを制御することとなるかと思われますが、
この時点では自動接続設定としておいてください。
SORACOM Air for セルラー plan-DのSIMを利用する場合の設定例を以下に示します。

# startup.conf
# setting samples: /usr/share/aiot-modem-control
 
# apn ex "exsample.com"
apn="soracom.io"
 
# auth_prot: "pap" or "chap" or "none"
# if set "none", ignore username and password
auth_prot="pap"
 
# username and password ex "username" "password"
username="sora"
password="sora"
 
# operator_id: ex "44010":docomo or "auto"
#operator_id=
 
# create_wvdial_conf
# true: create /etc/wvdia.conf when deamon start.
# false or comment out: no action
create_wvdial_conf=true
 
# fix_profile:"docomojp"
#fix_profile=
 
# interval to go to sleep mode
# disable or from 100 to 5000 (msec)
sleep=5000
 
# suspend enable or disable
suspend=enable
 
# psm Power Save Mode disable or tau,act-time
# default: 3m,1m(tau:3minutes, act-time:1minute)
# tau [**s or **m] Periodic TAU cycle (T3412)
#   2s,4s,6s...62s,90s,120s,150s...930s
#   1m,2m,3m...31m,40m,50m,60m...310m
#   1h,2h,3h...31h,40h,50h,60h...310h
# act-time [**s or **m or **h] Active time (T3324) seconds
#   2s,4s,6s...62s
#   1m,2m,3m...31m,36m,42m,48m...186m
# s:seconds, m:minutes, h:hours
psm=3m,1m
 
# edrx: set eDRX disable or pcl(seconds),ptw(seconds)
# pcl(Paging Cycle Length) seconds
#  5.12, 10.24, 20.48, 40.96, 61.44, 81.92, 102.4, 122.88,
#  143.36, 163.84, 327.68, 655.36, 1310.72, 2621.44
# ptw(Paging Time Window eDRX) seconds
#  1.28, 2.56, 5.12, 6.40, 7.68, 8.96, 10.24, 11.52, 12.80,
#  14.08, 15.36, 16.64, 17.92, 19.20, 20.48
edrx=20.48,5.12
 
# auto_dial: auto connect ppp
# auto_dial=true: auto connect ppp
auto_dial=true
 
# register_check_interval
# Interval seconds(from 30 to 300) for checking netowrk registration.
# if set 0 or out of range(< 30 or > 300) or
# no register_check_interval element, no check without wakeup daemon.
register_check_interval=30

startup.confを編集・保存したら、以下のコマンドを入力してArmadillo-IoT A6を再起動させてください。

[armadillo ~]# reboot

接続確認

再起動完了するとログインメッセージが表示されますので、ユーザ名・パスワードを入力してください。
以下のコマンドでLTE-Mモデムの動作状態を確認出来ます。
「status」が「dial」となっていれば接続完了あるいは接続試行中となります。

[armadillo ~]# aiot-modem-control status

起動後数分経過しても「dial」とならない場合は通信設定に誤りがあるか電波状態に問題がある可能性があります。
/etc/aiot-modem-control/startup.conf のapn・ユーザ名・パスワードの設定がご利用のSIMの情報と相違ないか確認してください。
設定に問題が無ければ以下のコマンドで電波状態を確認して、「255」等になっていないかを確認してください。

[armadillo ~]# aiot-modem-control get-signal-quality

「status」が「dial」となっていることを確認出来たら、以下のように任意のIPアドレスに対してpingコマンドを実行し導通を確認してください。
送信先のIPアドレスは送信可能なものを選択してください。
閉域網に接続するプランの場合、閉域網内のIPアドレスを指定する必要があります。
下記の例ではGoogleのIPアドレスを送信先としています。
以下のようにping送信後一定時間内に返ってくれば導通確認となります。

[armadillo ~]#  ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8) 56(84) bytes of data.
64 bytes from 8.8.8.8: icmp_seq=1 ttl=117 time=85.3 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=117 time=111 ms
64 bytes from 8.8.8.8: icmp_seq=3 ttl=117 time=150 ms

導通が確認出来なかった場合、数分程度置いてもう一度お試しください。
それでもやはり導通を確認出来ない場合は、送信先のIPアドレス・通信モジュールの動作状態・通信設定などを再度見直してください。