このHowtoでは、Armadillo-IoT G3/G3L(以下Armadillo)で3G/LTEを使用する際に、3G/LTEモジュールの設定を確認・変更するための「ATコマンド」についてご紹介します。
ATコマンドは、正式名称を「Hayes Command Set」といい、米国Hayes社が開発した、モデムに命令を送るためのコマンドです。
ATコマンドの一覧
ATコマンドには3G/LTEモジュールごとに固有のコマンドと、共通規格として定められたコマンドがあります。
共通規格としてのATコマンドは、以下を参照してください。
Various extensions to V.250 basic command set
3GPP TS 27.007
実際にATコマンドを使用する場合は、3G/LTEモジュールによって同じコマンドでも挙動が異なる場合があるため、モジュールごとのドキュメントをご確認の上、使用してください。
Armadilloで使用されている3G/LTEモジュールのドキュメントは以下になります。
製品 | 3G/LTEモジュール | ドキュメント |
---|---|---|
Armadillo-IoT G3 M1モデル | EC25-J | https://www.quectel.com/product/ec25.htm1 |
Armadillo-IoT G3(PDS6-J搭載品) | PDS6-J | Cinterion(R) PDS6-J ドキュメント |
Armadillo-IoT G3L | ELS31-J | Cinterion(R) ELS31-J ドキュメント |
ATコマンドの使用方法
ModemManagerの停止
Armadilloで動作しているModemManagerでは、モジュールにATコマンドを実行することで制御を行っています。
そのため、ModemManagerの動作中に外部からATコマンドを送信すると、ModemManagerが正しく動作しない可能性があります。
ModemManagerを停止するには、Armadilloで以下のコマンドを実行してください。
[armadillo ~]# service connection-recover stop
[armadillo ~]# service ModemManager stop
ATコマンドの実行
お使いの製品によって、ATコマンドを送信するためのデバイスが異なります。
製品ごとに、ATコマンドを送信するデバイスに接続する方法を紹介します。
Armadillo-IoT G3 M1モデル
[armadillo ~]# cu -l /dev/ttymxc6 -s 115200
Armadillo-IoT G3(PDS6-J搭載品)
[armadillo ~]# cu -l /dev/ttyACM5 -s 115200
Armadillo-IoT G3L
[armadillo ~]# cu -l /dev/ttymxc6 -s 115200
コマンドを入力し、connected
と表示されたら、ATコマンドを実行することができます。
デバイスとの接続を終了する場合は、「~.」を入力してください。
~.
Disconnected.
[armadillo ~]#
ATコマンド実行例
例として、Armadillo-IoT G3 M1モデルでATコマンドを送信し、SIMカードの情報を確認する例を以下に示します。
3G/LTEモジュールに接続
[armadillo ~]# service connection-recover stop
[armadillo ~]# service ModemManager stop
[armadillo ~]# cu -l /dev/ttymxc6 -s 115200
Connected.
ローカルエコーを有効にする
ローカルエコーが無効になっていると、入力したATコマンドを確認することができません。
「ATE1」を送信すると、「OK」と表示されローカルエコーが有効になります。
Connected.
(「ATE1」を送信)
OK
3G/LTEモジュール、SIMカードの情報をATコマンドで確認する
AT+CGSN
(15桁のIMEIが表示される)
OK
AT+CIMI
(15桁のIMSIが表示される)
OK
AT+CNUM
(SIMの電話番号が表示される)
OK
~.
Disconnected.
[armadillo ~]#
send-atコマンドを使用する
Armadilloには、ATコマンドを送信するためのsend-atコマンドが実装されています。
以下のようにsend-atを実行することで、3G/LTEモジュールにATコマンドを送信することができます。2
[armadillo ~]# send-at /dev/ttymxc6 'ATE1'