XBeeの設定で詰まったところなど

XCTUを使ったXbeeの設定など
※XBeeはZigbee規格で作られた製品です。

すでに沢山のサイトで解説されていますが、苦戦したのでメモメモ
あまり触れられてない所など

デバイスの存在を意識せずに自動的にネットワークを構築してくれる優れもので、シリアル通信を簡単に無線化してくれます。
しかもお値段が安いっ!
他のモジュールは6000~7000円するところが1700円で買えます

買った場所
スイッチサイエンス
XBee ZB / チップアンテナ型 2個
XBeeエクスプローラUSBドングル
ドングルのほうが高いとな…

回路
ループバックのみ。

X-CTU
①最新バージョン(5.2.7.5)で問題なく動きました。
X-CTUの使い方は他サイト参照

②X-CTUは癖のあるソフトです。

③ファームの種類
ファームの種類ですが、今回はXBee ZB(XB24-Z7CIT-004)を買ったので XB24-ZBでうまくいきました。
※シリーズの違いでも変わってくるみたいです
Function Setは
・ZIGBEE COORDINATOR AT
・ZIGBEE END DEVICE AT
の二種類を片方ずつに書き込みます。COORDINATORが親機でEND DEVICEが子機です
三台目からはEND DEVICEになります

④設定内容
③の通りにFunction Setを設定してあれば設定内容は弄らなくても動きます
設定をデフォルトへ戻すにはShow Defaultsで戻ります。
きちんと設定したければ、設定項目ごとに表示される下枠の説明で意味がよく分かります。

⑤読み込めない!書き込めない!
最初はファームが問題なく書き込めて、テンションが上がってたんですが、設定を弄っているうちにファームの書き換えにミスったのか通信できなくなって青ざめました。

どうやらXBeeは通信中はX-CTUを受け付けないようで、リセット直後なら通信できるようです。
なのでリセットボタンを押してくれのメッセージが出ますが
ドングルにはリセットボタンは付いていないのでタイミングよくXBeeをドングルに差し込みます。
↓のInfoダイアログが出たら数秒(長い分には問題ないみたい)待ってから

サクッと挿します。

⑥通信はできたけど遅い。リアルタイムじゃない
Destination Address High
Destination Address Low
がブロードキャストの設定になっているとパフォーマンスが落ちるみたいです。
XBeeの裏にあるアドレスを指定するか、0x0000000000000000でリアルタイムに動きました
※ 0x000000000000FFFFでブロードキャスト
※ 0x0000000000000000で親(COORDINATOR)を指定

⑦はじめの数バイトが送信できてない
デバイスがSleepモードになっていると通信開始時のデータがうまく送信されないようです。
初期設定では周期Sleepになっているので
SleepMode で NO SLEEPに設定。

⑧なぜかSleepModeのNO SLEEP設定がうまく行かず。



この問題については[参考サイト]参考
PIN HIBERNATEで NO SLEEP代用

参考サイト
XBeeで無線通信!
xbeeを使ってすぐに壊した
いまさらXBee

なんか適当だけどままぁいいかっ