3Dプリンターでロボット作ってみる 多脚ロボット編 25 遠隔操作編 XBeeの通信設定1
前回
EAGLEのライブラリでXbee用のソケットを作りました
このロボットの3Dデータは下のリンクのものを使用しています
今日はXBeeで通信をやってみます。
XBeeの設定方法がとてもわかりやすかったサイトを参考にしました。
用意したもの
・XBee2つ
相互通信するので当然2つ必要です。
不具合が無いように型番が同じものを用意したほうがいいと思います。
・XBee USBアダプター2つ
XBeeとPCをUSB接続することができるパーツです。XBeeに合わせて二つ買っておきます。
ちなみに私は秋月のXBee USBインターフェースボードキットを使っています。こちらの方が安価です。
・USB-microBケーブル2本
インターフェースボードをPCに接続するためのUSBケーブルもそろえておきます。
手元にあるのなら当然必要ありません。
必要ならブレッドボードも買っておきましょう。
PCとの接続
XBeeをUSBインターフェースに取り付け、USBケーブルで両方ともPCに繋ぎます。そのままだとケーブルの曲がりでUSBインターフェースが転がってしまうので、私はブレッドボードに刺しました。
PCに接続したらXBee設定ソフトのXCTUをダウンロードしてインストールします。
起動させたら画面左上のDiscover Deviceをクリックして、PCに繋がっているXBeeを探します。
すると私の環境ではCOM5とCOM6に接続されているのがわかりました。
両方を選択してNextをクリックします。
次に通信速度等の設定をするのですが、これはデフォルトのままでとくに問題ないと思うのでFinishをクリックした後、ADD SELECT DEVICEをクリックして接続設定が完了します。
XBeeのファームウェア設定
XCTUがXBeeを認識したので、それぞれにファームウェアを書き込みます。
XBeeは様々な通信形態に合わせて機能別のファームウェアを書き込むことで、その機能が変わります。
現在3種類の機能があり、
- コーディネータ
- ルータ
- エンドデバイス
と呼ばれます。今回は片方をコーディネータ、もう片方をルータにするためのファームウェアを書き込みます。
それぞれのXbeeを選択してUpdateボタンを押します。
するとファームウェアの選択画面が出るので、コーディネーターにするために、ZigBee Cordinator ATの最新バージョン(Newest)を選択してUpdateで入力します。
もう片方はルータにするためにAigBee Router ATをUpdateで入力します。
ここから、それぞれのXBeeの設定を行います。
設定項目は3つ
- PANID
- DH
- DL
まずPANIDですが、これはルータとコーディネータで同じ数字を入力します。
要は同じグループなら同じ数字なわけです。私は777を入力しました。
DHは通信相手のMACアドレスの上8ケタ、DLは通信相手のMACアドレスの下8ケタを入力します。
ルータのDHDLにはコーディネーターのMACアドレスを、
コーディネーターのDHDLにはルータのMACアドレスを入力します。
MACアドレスはそれぞれの左側のXBeeデバイスに表示されています。
設定が終わったらWriteボタンを押して書き込みます。
これでファームウェアの設定は完了です。
パケット送信
コーディネータとルータの両方に書き込みが終わったら、右上のコンソールボタンを押して、コンソールモードにします。
コーディネータとルータのOpenになっているボタンを押して、Closeにして接続します。
どちらか片方のXBeeを選択して、Add new packet to the listをクリックして、送信するパケット(メッセージ)を作ります。
とりあえず「Hello」というパケットを作ります。
パケットを選択して、Send selected packetで送信します。
送信に成功するとConsole logに青字で表示されます。
そして、もう片方のXBeeのConsole logに受信結果が赤字で表示されます。
これでXbee間の通信をすることができました。
割と簡単にできて驚いています。
この機能を使って文字をArduinoからArduinoに送ってやれば、ロボットを遠隔操作することができるはずです。
次回は、これをどうやってArduinoに接続するかについてやっていきます。