Howto

3G/LTEモジュールの設定を確認・変更する「ATコマンド」の実行方法

この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'

  1. ページ下部のDownload → AT Commands Manual → Quectel_EC25&EC21_AT_Commands_Manual_V1.3 をダウンロードしてください。(ユーザー登録が必要となります) 

  2. send-atは送信専用であるため、ATコマンドの結果は表示されません。