AT コマンドは、モデムを制御するために使用される命令です。
AT は注意の略です。
これらのコマンドは、1980 年代に Hayes スマート モデムで使用されていたコマンドで Hayes から来ています。ダイヤルアップ、ワイヤレス、GSM/GPRS モデムを含む今日の多くのモデムは、これらの AT コマンド セットを通信に使用します。
モデムの AT コマンドには 2 種類あります。
- 基本コマンド
- 拡張コマンド
基本コマンドは「+」で始まらないATコマンドです。拡張コマンドは、「+」で始まる AT コマンドです。すべての GSM/GPRS は、SMS/DATA サービスの拡張コマンドを使用します。
ATコマンドでできること
AT コマンドを使用して実行できるタスクのいくつかのリストを次に示します。
- サブスクライバーに関する基本情報を取得する
- 信号強度とバッテリー強度に関する情報を取得
- データ/音声接続を確立する
- ファックスの送受信
- SMS の送受信
- 電話帳のエントリを読む/検索する
すべてのモデムがすべての AT コマンドをサポートするわけではないことに注意してください。
このチュートリアルでは、GSM/GPRS モデムが組み込まれた「Nokia 2700」携帯電話を使用した例を示します。
ミニコムのインストール
AT コマンドをモデムに送信するには、インターフェイスが必要です。 Minicom は、シリアル ポートに接続されたデバイスと通信するためのインターフェイスを提供するツールです。 Minicom は、Microsoft オペレーティング システムのハイパーターミナル ユーティリティに相当する Linux です。
minicom を使用すると、AT コマンドをモデムに送信して、その機能に関する情報を取得できます。
# apt-get install minicom
モデムとインターフェイスするための minicom の構成
minicom を設定する前に、モデムを Linux システムに接続する必要があります。私の場合、「Nokia 2700」をデータ ケーブル経由で Linux PC に接続しました。デバイスが接続されると、dmesg を使用して次のような出力が表示されます。私の場合、モデムは /dev/ttyACM0 として検出されました。
[ 1071.120084] cdc_acm 1-1.3:1.1: ttyACM0: USB ACM device [ 1071.120916] usbcore: registered new interface driver cdc_acm [ 1071.120917] cdc_acm: USB Abstract Control Model driver for USB modems and ISDN adapters
minicom がモデムにアクセスするように設定するには、次の手順を実行します:
# minicom -s +-----[configuration]------+ | Filenames and paths | | File transfer protocols | | Serial port setup | | Modem and dialing | | Screen and keyboard | | Save setup as dfl | | Save setup as.. | | Exit | | Exit from Minicom | +--------------------------+
「Serial port setup」を選択し、「Enter」を押します。次のような画面が表示されます。
+-----------------------------------------------------------------------+ | A - Serial Device : /dev/tty0 | | B - Lockfile Location : /var/lock | | C - Callin Program : | | D - Callout Program : | | E - Bps/Par/Bits : 115200 8N1 | | F - Hardware Flow Control : No | | G - Software Flow Control : No | | | | Change which setting? | +-----------------------------------------------------------------------+
「A」を押して、シリアル デバイスを /dev/tty0 から /dev/ttyACM0 に変更します。
「E」を押して、モデムが通信するボーレートを変更します。私の場合は「460800」です。 wvdialconf を使用して、モデムでサポートされているボー レートを特定することもできます。
これらの設定を変更したら、[Enter] を押します。
[セットアップを dfl として保存] を選択し、[終了] を選択します。
これで minicom が正常に構成され、次のような画面が表示されます。
Welcome to minicom 2.6.1 OPTIONS: I18n Compiled on Feb 11 2012, 18:12:55. Port /dev/ttyACM0 Press CTRL-A Z for help on special keys
minicom がモデムと通信するように正常に構成されているかどうかをテストするには、minicom に「AT」と入力します。次のように「OK」の応答が得られるはずです。
Welcome to minicom 2.6.1 OPTIONS: I18n Compiled on Feb 11 2012, 18:12:55. Port /dev/ttyACM0 Press CTRL-A Z for help on special keys AT OK
1.着信に応答 – ATA
モデム経由で着信に応答するには、minicom で「ATA」コマンドを発行します。
RING ATA OK
着信があると、ミニコムに「RING」メッセージが表示されます。 「ATA」を押すと、着信に応答できます。
2.音声通話のダイヤルアウトと終了 – ATD – ATH
ATD コマンドを使用して、モデムから音声通話をダイヤルすることもできます。
ATD 99769XXXXX; OK
これで、電話は番号 99769XXXXX にダイヤルアウトします。
電話を切るには、ATH コマンドを使用してください。
3.製造元/IMEI/IMSI 情報の取得
拡張 AT コマンドは、メーカー、国際モバイル機器 ID、国際モバイル加入者 ID などに関する情報を提供するために使用されます。
AT+CGMI Nokia OK AT+CGSN xxxxxxxxxxxxxxx OK AT+CIMI xxxxxxxxxxxxxxx OK
4.信号品質とバッテリー充電ステータスの取得
AT 拡張コマンドを使用して、信号品質とバッテリー充電状態を取得することもできます。
AT+CSQ +CSQ: 29,99 OK AT+CBC +CBC: 1,96 OK
出力形式 +CSQ:29,99 は、<受信信号強度インジケータ>、<ビット エラー レート>
を表します。出力形式 +CBC:1,96 は <現在の充電状態>,<充電 %>
を表します5. AT コマンドを使用して SMS を送信する
AT コマンドで SMS を送信することもできます。
AT+CMGF=1 OK AT+CMGS="99xxxxxxxx" > This is a test message > OK
コマンド AT+CMGF=1 は、「メッセージ フォーマット」を「テキスト モード」に設定します。コマンド AT+CMGS は、指定された番号に SMS を送信します。