エンドデバイスをスリープモードありで、XCTU画面から設定いじったりする都度、毎回"Action Required"出てきますよね?
これはそのデバイスがスリープモードになってるタイミングなので、設定の変更を受け付けてくれないわけです。リセットボタンを何回も押すのは、決して気持ちが良いものではない気がします。値を少し変えたり、一か所だけ何か設定を変えるぐらいなら、一層のことATコマンドを使って遠隔操作したほうが、早い気がします。
ATコマンドで相手デバイスを操作できると、何かと便利なので紹介します。
設定変更したいデバイスが、PCに接続していれば、直接XCTUの画面から設定を変えることが出来ますが、今回の目的はあくまでコーディネーター側から、遠隔操作することです。乾電池で駆動させているときは、大変便利です。
というわけで、コーディネーター側からATコマンドを相手に向けて送信してみます。今回はスリープモードの設定を変えていきます。ATコマンドのSMのパラメータを変えるだけです。
例えば、SM=0x00のときは、No Sleep状態(ルータ)です。このルータを遠隔でスリープモードを有効にして、エンドデバイスにしていきます。
※あらかじめ起動時間(ST)・スリープ時間(SP)・ポーリング回数(SN)等を設定しておかないと、デフォルト設定のままで駆動します。
フレームを自分で作って送りたいので、モニタ画面の下の方にある+ボタンを押します。(MACアドレスの一部、黒消ししてます

するとこのような画面が出て来ます。
"Frame name"の欄は好きなように名前を付けてください。
今回はSMのパラメータを"04"に変更するので、分かりやすいように、以下のように付けました。下の大きな空欄のところに自分で一から、16進数を打ち込んでいってもよいですが、面倒だと思います。そこでフレームジェネレーターを使います。青くなっている"Creat frame using Frame Generator tool"をクリックします。

最初、赤丸で囲った箇所は"0x08 AT Command"となっているので、以下のように変えます。"0x08AT Command"は、PCと直接つながれたXBeeモジュールにPCから直接ATコマンドを送るときに使います。
しかし、今回はコーディネーターから、離れたところにあるXBeeモジュールにATコマンドを送りたいので、"0x0x17 Remote AT Command"を使います。その他、送りたいケースや情報によって、フレームタイプを使い分けます。

あとは以下のように、設定していきます。
"Frame ID"はこのままで大丈夫です。最初から1が入っています。ここはAckの有無の話なので、0を入れるとAckを受け取りません。
64ビットアドレスはデバイス固有の値をいれます。
16ビットアドレスのところはそのままでオッケーです。勝手に変換してくれます。
"Remote Command Option"もデフォルトのままで大丈夫です。これは、ATコマンドをすぐに反映させる、という内容です。
そして"AT Command"の欄に、送りたいコマンド内容を入れます。大文字じゃないといけません。
"Parameter value"は変更したい値に変えます。ここはASCIIの隣のHEXをクリックして、16進数で入力します。

ATコマンドの作成が一通り終わったら、右下のOKをおしてください。
最後に"Add Frame"まで押したら、作成完了です。あとは送信するだけです!
自分で作ったフレームは下の"Send frames"リストの一覧に表示されます。あとは送りたいフレームをクリックして、右の"Send selected frames"を押せば送信されます。画面真ん中の"Frames log"のところで、青くなっている行があります。それが先ほど送信したフレームです。
送信すると直後に、返信がきます。"Remote Command Response"というものです。画像で、選択したいるフレームです。このフレームを覗いてみます。下スクロールすると、"Status”蘭があります。そこに00が返ってきたので、送信成功となります。
もし失敗すると02(Tx failure)、無効なパラメータで送信してしまうと03(Invalid Parameter)が返ってきます。

ここで、仮にスリープモードのエンドデバイスにATコマンドを送ると、エンドデバイスがポーリングするまでそのデータを受信してくれません。したがって、反応までに少し時間がかかります。
また、自分で作ったフレームはPCと接続を外すと、作ったフレームが削除されてしまうので、保存ボタンをおしておくと便利です。xml形式で保存されます。次回、接続したときにロードさせるだけです。
「ね!便利ですよね?!」
最後まで読んでいただきありがとうございました。