XBeeモジュールの設定のほとんどは、ターミナルアプリケーション(ATモード)を使って変更できます。これまではXCTUの設定モードを使用してきましたが、XCTUはコンソールモードでも使用できます。XCTUによる設定は、前回記事を参照してください。コンソールにはXBeeモジュールとの接続、切断、コマンドやパケットの送信、通信内容の記録といったXBeeモジュールを使用するために必要な機能が実装されています。
コマンドモードと透過モード
XBeeモジュールは標準設定では透過モードになっており、モジュールは無線でデータのやり取りを行います。
一方、特殊コマンド「+++」を送るとコマンドモードとなり、XBeeモジュールはシリアル通信を介して応答を送り返します。
つまり、PCに直接接続したXBeeモジュールと通信する場合はコマンドモード、それとは別のXBeeモジュールと通信する場合は透過モードを使用します。
ファームウェアを書き込んだのちにXBeeモジュールを設定するには、ターミナルを開いてATコマンドで操作を行います。表1にXBeeモジュールの設定で使用するコマンドをいくつか示します。
コマンド | 説明 | 使用方法 | 返り値 |
+++ | コマンドモードに入る | モジュールをコマンドモードにする | なし |
ATCN | コマンドモード終了 | 設定変更を適用して透過モードに戻る | なし |
AT | 通信確認 | モジュールが利用可能か確認 | OK |
ATWR | 設定書き込み | ファームウェアに設定を書き込む | なし |
ATID | PANアドレス確認 | 現在のPANアドレスを表示 | PAN アドレス |
ATID XXXX | PANアドレス変更 | PANアドレスを送信した値(XXXX)に変更 | なし |
ATSH | 64ビットシリアル上位 確認 | 64ビットシリアル番号の上位を表示 | シリアルナンバー |
ATSL | 64ビットシリアル下位 確認 | 64ビットシリアル番号の下位を表示 | シリアルナンバー |
ATDH | 64ビットアドレス上位確認 | 64ビットアドレスの上位を表示 | アドレス |
ATDH XXXX | 64ビットアドレス上位 変更 | 64ビットアドレスの上位を送信した値(XXXX)に変更 | アドレス |
ATDL | 64ビットアドレス下位確認 | 64ビットアドレスの下位を表示 | アドレス |
ATDL XXXX | 64ビットアドレス下位 変更 | 64ビットアドレスの下位を送信した値(XXXX)に変更 | アドレス |
ATMY | 16ビットアドレス表示 | コーディネーターから割り当てられた16ビットのアドレスを表示 | アドレス |
ATNI | ノードID確認 | XBeeモジュールにつけた名前を表示 | 名前 |
ATNI XXXX | ノードID設定 | 送信した文字列(XXXX)を、XBeeモジュールの名前に設定する | なし |
ATRE | 設定を工場出荷時の 状態に戻す | 設定を工場出荷時の状態に戻す | なし |
ATコマンドの詳細について詳しくはXBeeモジュールのマニュアルを参照してください。https://www.digi.com/resources/documentation/digidocs/pdfs/90001539.pdf
アドレスやIDに関わるコマンドでは、変数なしでコマンドだけ送信すると現在の設定値を返答し、コマンドに続けて変数や文字列を送信すると送信したデータで設定値を上書きします。
この時、アドレスの数値はすべて16進数で入力します。
これらのコマンドがどのように動作するか確認してみましょう。
XCTUのコンソールモードを使用して、ZigBeeルーターATファームウェアが書き込まれたモジュールに接続してみます、図1に示す、コンソールタブをクリックします。
コンソールモードでは左上のアイコンで3種類の操作ができます。
左から、モジュールへの接続、セッション(通信内容)の記録(接続中のみ選択できる)、接続の切り離しがそれぞれ行えます。
XBeeモジュールをPCに接続し、一番左の「Open」ボタンをクリックしてください。
図2は、モジュールに接続して値を表示し、コマンドモードを終了するまでの一例です。
メモ:
〇そのモジュールで初めてATDH、ATDL、ATMYコマンドを実行した場合、結果として「0」が返ってくる場合があります。
〇コマンドモードに移行しても、10秒間経過すると自動的に透過モードに戻ってしまいます。
次に、図3に、XCTUコンソールを使用して、接続先アドレスとPAN IDを設定する一例です。
ATモードでの通信はXCTUで行えますが、それ以外の任意のターミナルアプリケーション(例えばCoolTermやTeraTerm)も使用できます。
以上、ZigBeeプロトコルを使用してネットワークを構築するためのモジュールの種類や設定方法を解説しました。
次のセクションでは、実際に設定を行って、ワイヤレスネットワークの構築を行います。
もっと詳しく知りたいときは
XBeeモジュールや通信方法について詳しく知りたい場合は、Digiインターナショナル社のwebサイト(https://www.digi.com/)を参照してください。XCTUのドキュメント、XBeeモジュールのハードウェアマニュアル、ZigBeeのマニュアルなど多くのリソースが提供されています。
Googleで「XBee」や「ZigBee」で検索すると、XBeeの使用方法や活用例を紹介するwebサイトがたくさん見つかります。
詳しい情報やアイデアなど、参考になる優れた書籍もあります。
XBeeで作るワイヤレスセンサーネットワーク (Make: PROJECTS)
Robert Faludi、小林茂、水原文 (オライリージャパン,2011) ISBN 978-4873115306
次回は、XBeeモジュールを使ったチュートリアルに取り掛かる前に、シリーズ3モジュールの強力なオプションの一つ、MircoPythonについて紹介します。
コメントを残す