XBee の設定と通信の実際
XBee の設定には、Digi社が無償提供しているツールX-CTUを使います。
X-CTUは、Digi社のホームページからSupport(タブ)→XCTUを選択→Diaqnosts,Utilities→XCTU ver.5.1.0.0installerの手順でダウンロードできます。
Coodinatorの設定
XBee ZB の設定は、Coodinator USB 接続ユニットとPCを接続した後、インストールしたX-CTUを起動して行います。
X-CTUが立ち上がったら、USB接続ユニットが接続されているCOMポートを選択します。
通信速度9600bpsを確認した後、「Test/Query」をクリックします。
XBee ZB と接続がうまくいってれば、図のように表示されます。OKをクリックし戻ります。
次に「Modem Configuration」タブをクリックし、「Read」ボタンを押してXBeeB ZB の現状の設定値を確認します。
読み出しが完了すると、画面下に「Read paramenters..OK」と表示されます。
設定内容の更新
読み出し完了画面で設定内容の更新を行います。
Modemのプルダウンメニューから「XB24-ZB」を選択します。
Function Setのプルダウンメニューから「ZIGBEE COODINATOR AT」を選択します。
Version の表示が 20xxになります。Parameter Viewの「Show Defaults」をクリックした後、「Always update firmware」にチェックを入れ、「Write」ボタンを押して書き込みます。
途中で図のような「info」が出たら、Coodinator USB 接続ユニットのリセットスイッチを押します。
書き込みが完了したら、「Read」ボタンを押して書き込まれた内容を確認します。
Adressing の SH-SerialNumberHigh と SL-SerialNumber Low には、XB24-ZB の MACアドレスが書かれています。
このアドレスは、XBee ZBの裏面に記入されているものと合致します。
更に次のパラメーターを書き換えます。
設定例
Networking ID-PANID : 1111 (PAIN ID は End Device にも同じ番号を設定します。)
Addressing DH Destination Address High : 0
Addressing DL Destination Address Low : FFFF
以上で設定が終了ですの、書き込み後 XBee ZB の電源を切ります。
End Deviceの設定
End Device用のXBee-ZB のモジュールをUSB 接続ユニットに装着します。
基本的な手順はCoodinatorと同様になります。
「Modem Configuration」タブをクリックし、「Read」ボタンを押してXBeeB ZB の現状の設定値を確認します。
読み出しが完了すると、画面下に「Read paramenters..OK」と表示されます。
設定内容の更新
読み出し完了画面で設定内容の更新を行います。
Modemのプルダウンメニューから「XB24-ZB」を選択します。
Function Setのプルダウンメニューから「ZIGBEE END DEVICE AT」を選択します。
Version の表示が 28xxになります。Parameter Viewの「Show Defaults」をクリックした後、「Always update firmware」にチェックを入れ、「Write」ボタンを押して書き込みます。
書き込みが完了したら、「Read」ボタンを押して書き込まれた内容を確認します。
更に次のパラメーターを書き換えます。
設定例
Networking ID-PANID : 1111 (PAIN ID はCoodinatorと同じ番号を設定します。)
Addressing DH Destination Address High : 0
Addressing DL Destination Address Low : FFFF
以上で設定が終了ですの、書き込み後 XBee ZB の電源を切ります。
以上で全ての設定が完了です。
実際の通信では、シリアル通信を行うために、PC側にターミナルソフトが必要になりますが、最近はハイパーターミナルがPCにセットされていません。そこでフリーソフトの「Tera Term」をダウンロードして使います。
Tera Term の設定
Tera Term で記録されたデータ
記録されたデータをエクセルにインポートしてグラフ化
こちらのページを参考にさせて頂いて、XBEE同士のTA通信は成功したのですが、TeraTermでの数値データ表示が上手くいきません。
また私は加速度センサーを2バイトデータで送信しているのですが、TeraTerm上でデバッグ目的にて同じ様に表示したく、もしよろしければ教えてください。
よろしくお願いいたします
TeraTermの表示が上手くいかないとのことですが、文面だけでは状況が判断出来かねています。私は株式会社カットシステム発行の田原淳一郎著「Arduinoで始める電子工作」を参考にして進めておりましたので、よろしければそちらをのぞいてみてください。