XBeeのパラメタを変更するとき,通常であればパソコンとUSB接続されたAE-XBEE-USBにそのXBeeモジュールを接続し,X-CTUを用います.しかし,作成している掲示板のように,一度XBeeが組み込まれてしまうと取り出すのが大変である場合があります.そんなときに役立つのがRemote AT Frameです.これを使えば,遠隔操作でXBeeのパラメタを変更することができます.この記事では,Remote AT Commandフレームを使ってPAN IDを変更する手順について述べます.
PAN IDとは,XBeeでネットワークを構成するときに使われる,ネットワークの一集団をユニークに指定するための番号です.つまり,XBee同士が通信するには同じPAN IDになっている必要があるのです.別のPAN IDが振られているXBee同士では,通信できません.
さて,PAN IDを変更するとき心配されることが2個あります.一つ目は遠隔でPAN IDを変更すると,そのときからPAN IDが異なってしまうため,通信ができなくなるのではということです.もうひとつは書き換えたパラメタの値をどのように不揮発的に記憶させるかということです.
Remote AT Commandフレームによる,操作の即座適応をやめる
まず前者について説明します.Remote AT Command フレームにあるパラメタには,「Remote Command Option」というものがあります.X-CTUのフレームクリエータでは,デフォルトで0x02になっており,これは「Apply Changes」ということになります.つまり,このままでは,PAN IDを変更するATコマンドを受信したXBeeモジュールは,直ちにPAN IDを変更してしまいます.そこで,この「Remote Command Option」を0x00にする必要があります.これにより,ATコマンドを受信したXBeeモジュールは,そのコマンドをすぐには反映しなくなります.ATコマンドでPAN IDを変更するには「ID」を用います.
まとめますと,Remote AT Commandフレームのパラメタは下のようになります.
- 64-bit dest address : PAN IDを変更したいXBeeモジュールのMACアドレス
- 16-bit dest addres : FF FE
- remote cmd option : 0x00 (None)
- AT command : ID (アスキーで)
- parameter value : 変更したいPAN ID
パラメタの書き込み
XBeeでは,どのパラメタも揮発性メモリに設置されているため,電源を切れば消えてしまいます.そこで,不揮発性メモリに保存する必要があるのです.それには,ATコマンドの「WR」を使います.このWRをRemote AT Commandフレームを使って,PAN IDを変更したいXBeeモジュールに送ればよいです.下に Remote AT Commandフレームのパラメタをまとめます.
- 64-bit dest address : PAN IDを変更したいXBeeモジュールのMACアドレス
- 16-bit dest addres : FF FE
- remote cmd option : 0x00 (None)
- AT command : WR (アスキーで)
- parameter value : 何も書かない
以上の操作を行った後,XBeeモジュールを再起動すれば,目的のPAN IDに変更されるはずです.