1 ATコマンドと基本フォーマット
本章では、本モジュールで使用可能なATコマンドの概要を説明します。これらのコマンドは、デバイスの設定、ネットワーク接続、データ送受信、およびモジュールの状態管理に使用されます。
以下のセクションでは、ATコマンドをカテゴリ別に分類し、各コマンドの基本的な機能を説明します。詳細なパラメータ説明、戻り値については、本ドキュメントの後続の章で説明します。
ファームウェアのバージョンによってサポートされるコマンドや具体的な動作が異なる場合があるため、ご使用の製品のファームウェアバージョンを必ず確認し、最新のドキュメントを参照してください。
1.1 ZigBee®3.0 ATコマンドの概要#
ATコマンドとは
ATコマンドは、ZigBee®3.0デバイスのネットワーク接続および制御に使用できます。入出力はASCIIコード文字列形式で行われるため、ユーザが迅速に開発を進めるために便利です。
ATコマンドを使用する利点
ATコマンドは入出力にASCIIコード文字列を使用するため、開発者は各コマンドとその目的を覚えやすくなります。同時に、ZigBee®モジュールが実行中に出力する情報もASCIIコード文字列形式であるため、ユーザがモジュールの実行状態を読み取りやすいという利点があります。
ATコマンドの使用に関する注意事項
ATコマンドは小規模なネットワークでは開発が容易という利点がありますが、ZigBee®の大規模なネットワークアプリケーションでは、文字列処理による高いハードウェアリソースの消費、低い無線伝送効率、多対多通信環境で異なるターゲットを識別不能、といった欠点があります。そのため、大規模なネットワークアプリケーションでは、HEXコマンドモードに切り替えることを推奨します(「Software Specification Document」を参照)。
1.2 ZigBee®3.0 ATコマンドの基本フォーマット#
ここでは、本モジュールのATコマンド仕様である基本フォーマットについて説明します。
ATコマンドは文字列「AT+」から始まる大文字の文字列で構成され、実行コマンド、設定コマンド、照会コマンドの3種類があります。それぞれのフォーマットは以下のとおりです。
実行コマンド
実行コマンドは、パラメータを含めずに大文字の文字列で直接終わります。この種類のコマンドは操作を実行することを意味します。
例:「AT+EXIT」設定コマンド
設定コマンドは、最後の文字列の後に「=」記号を追加し、その後に設定パラメータを続けます。
例:「AT+BAUD=115200」照会コマンド
照会コマンドは、パラメータを含めずに最後の文字列の後に「?」記号を追加します。
例:「AT+BAUD?」
コマンドの送信後、フィードバックとして受信する文字列の最後はASCIIコード<CR><LF>で終わります。<CR>はキャリッジリターン(0x0D)、<LF>はラインフィード(0x0A)を意味します。
例:「BAUD=115200<CR><LF>」
1.3 ATコマンドモードと他モードの切り替え#
本モジュールのUARTシリアルポートへの入出力について、以下の3つのモードが存在します。
- ATコマンドモード
- HEXコマンドモード
- 透過伝送モード
ここでは、各モードの切り替え方法について説明します。
1.3.1 他モードからATコマンドモードへの切り替え#
HEXコマンドモードからATコマンドモードへ切り替え
「ATコマンドモードに切り替え(コマンドコード:0x16)」コマンドを使用します。
入力コマンド:
55 03 00 16 16フィードバック:
55 04 00 16 00 16透過伝送モードからATコマンドモードへ切り替え
透過伝送モードでASCIIコード文字列「+AT」を送信すると、「AT_MODE」を受信し、ATコマンドモードに切り替わります。
入力コマンド:
+ATフィードバック:
AT_MODE<CR><LF>1.3.2 ATコマンドモードから他モードへの切り替え#
ATコマンドモードからHEXコマンドモードへ切り替え
ATコマンド「AT+EXIT」を使用して、HEXコマンドモードに切り替えます。
入力コマンド:
AT+EXITフィードバック:
OK<CR><LF>「OK」を受信し、HEXコマンドモードに切り替わります。
ATコマンドモードから透過伝送モードへ切り替え
ATコマンド「AT+SEND」を使用して、透過伝送モードに切り替えます。
入力コマンド:
AT+SENDフィードバック:
SEND_MODE<CR><LF>「SEND_MODE」を受信し、透過伝送モードに切り替わります。
1.3.3 他モードの切り替え#
HEXコマンドモードから透過伝送モードへ切り替え
「ローカルプロパティの設定(コマンドコード:0x11)」コマンドを使用して、シリアルポートのデータ転送に関連するプロパティ「ポートインデックス=0」、「属性ID=0x0003」、「パラメータデータ=0x01」を設定し、透過伝送モードに切り替えます。
入力コマンド:
55 07 00 11 00 03 00 01 13フィードバック:
55 04 00 11 00 11注:本モジュールが透過伝送モードまたはATコマンドモードのいずれの場合でも、属性「シリアルポートモード」をリモートで読み取ることが可能です。この属性値はすべて0x01です。
透過伝送モードからHEXコマンドモードへ切り替え
透過送信モードでASCIIコード文字列「+++」を送信すると、HEXコマンドモードに切り替わります。
入力コマンド:
+++フィードバック:
55 0D 80 00 00 13 B6 CD BC FE FF 7E E0 E8 231.4 ATコマンド一覧#
本モジュールで使用可能なATコマンドは表 1、表 2のとおりです。
表 1 ローカル設定コマンド
| コマンド | 機能 | タイプ |
|---|---|---|
| AT+EXIT | ATコマンドモードの終了 | 実行 |
| AT+JOIN | ネットワークを開く/ネットワーク接続の開始 | 実行 |
| AT+STOP | ネットワークをオフにする/ネットワーク接続の停止 | 実行 |
| AT+RESET | モジュールのリセット | 実行 |
| AT+LEAVE | ネットワークからの離脱 | 実行 |
| AT+SEND | 透過伝送モードに切り替え | 実行 |
| AT+INFO | デバイス情報の照会 | 照会 |
| AT+DEVTYPE | デバイスタイプの設定と照会 | 設定/照会 |
| AT+BAUD | ボーレートの設定と照会 | 設定/照会 |
| AT+DSTADDR | ターゲットショートアドレスの設定と照会 | 設定/照会 |
| AT+DSTEP | ターゲットポートの設定と照会 | 設定/照会 |
| AT+LPLEVEL | 低電力レベルの設定と照会 | 設定/照会 |
| AT+PWMOUT | PWM出力のデューティ比の設定 | 設定 |
| AT+PWMIDENT | PWMマーキングモードの設定 | 設定 |
| AT+MODE | 透過伝送のフィードバックモードの照会と切り替え | 設定/照会 |
表 2 バインドデバイス制御コマンド
| コマンド | 機能 | タイプ |
|---|---|---|
| AT+FIND | ターゲットの自動検索 | 実行 |
| AT+TURNON | スイッチをオンにする | 実行 |
| AT+TURNOFF | スイッチをオフにする | 実行 |
| AT+TOGGLE | スイッチを反転する | 実行 |
| AT+LEVELUP | 出力レベルを上げる | 実行 |
| AT+LEVELDOWN | 出力レベルを下げる | 実行 |
| AT+LEVELSET | 出力レベルの設定 | 実行 |
| AT+IDENTIFY | ターゲットのマーキング | 実行/照会 |
| AT+UNBIND | ターゲットのバインド解除 | 実行/照会 |