徒然なるままにMake:

Fusion360 3Dプリンタ 電子工作 面白そうなモノづくりをやっていくブログ

3Dプリンターでロボット作ってみる 多脚ロボット編 25 遠隔操作編 XBeeの通信設定1

前回

EAGLEのライブラリでXbee用のソケットを作りました

something-make.hatenablog.com

このロボットの3Dデータは下のリンクのものを使用しています

 

今日はXBeeで通信をやってみます。

XBeeの設定方法がとてもわかりやすかったサイトを参考にしました。

www.storange.jp

 

 

 

 

用意したもの

XBee2つ

相互通信するので当然2つ必要です。

不具合が無いように型番が同じものを用意したほうがいいと思います。

 

 

XBee USBアダプター2つ

XBeeとPCをUSB接続することができるパーツです。XBeeに合わせて二つ買っておきます。

 

ちなみに私は秋月のXBee USBインターフェースボードキットを使っています。こちらの方が安価です。

akizukidenshi.com

・USB-microBケーブル2本

インターフェースボードをPCに接続するためのUSBケーブルもそろえておきます。

手元にあるのなら当然必要ありません。

必要ならブレッドボードも買っておきましょう。

 

 

PCとの接続

XBeeをUSBインターフェースに取り付け、USBケーブルで両方ともPCに繋ぎます。そのままだとケーブルの曲がりでUSBインターフェースが転がってしまうので、私はブレッドボードに刺しました。

f:id:something-make:20181001231758j:plain

 

PCに接続したらXBee設定ソフトのXCTUをダウンロードしてインストールします。

起動させたら画面左上のDiscover Deviceをクリックして、PCに繋がっているXBeeを探します。

f:id:something-make:20181001232359p:plain

 

すると私の環境ではCOM5COM6に接続されているのがわかりました。

両方を選択してNextをクリックします。

f:id:something-make:20181001232726p:plain

 

次に通信速度等の設定をするのですが、これはデフォルトのままでとくに問題ないと思うのでFinishをクリックした後、ADD SELECT DEVICEをクリックして接続設定が完了します。

f:id:something-make:20181001233443p:plain

f:id:something-make:20181001234241p:plain

 

 

 

XBeeファームウェア設定

XCTUがXBeeを認識したので、それぞれにファームウェアを書き込みます。

f:id:something-make:20181001234343p:plain

XBeeは様々な通信形態に合わせて機能別のファームウェアを書き込むことで、その機能が変わります。

現在3種類の機能があり、

  • コーディネータ
  • ルータ
  • エンドデバイス

と呼ばれます。今回は片方をコーディネータもう片方をルータにするためのファームウェアを書き込みます。

それぞれのXbeeを選択してUpdateボタンを押します。

f:id:something-make:20181001235024p:plain

するとファームウェアの選択画面が出るので、コーディネーターにするために、ZigBee Cordinator ATの最新バージョン(Newest)を選択してUpdateで入力します。

f:id:something-make:20181001235152p:plain

もう片方はルータにするためにAigBee Router ATをUpdateで入力します。

f:id:something-make:20181001235156p:plain

 

ここから、それぞれのXBeeの設定を行います。

設定項目は3つ

  • PANID
  • DH
  • DL

まずPANIDですが、これはルータとコーディネータで同じ数字を入力します。

要は同じグループなら同じ数字なわけです。私は777を入力しました。

 

DHは通信相手のMACアドレスの上8ケタ、DLは通信相手のMACアドレスの下8ケタを入力します。

ルータのDHDLにはコーディネーターのMACアドレスを、

コーディネーターのDHDLにはルータのMACアドレスを入力します。

MACアドレスはそれぞれの左側のXBeeバイスに表示されています。

f:id:something-make:20181001235740p:plain

設定が終わったらWriteボタンを押して書き込みます。

f:id:something-make:20181002001024p:plain

これでファームウェアの設定は完了です。

 

パケット送信

コーディネータとルータの両方に書き込みが終わったら、右上のコンソールボタンを押して、コンソールモードにします。

f:id:something-make:20181002001126p:plain

 

コーディネータとルータのOpenになっているボタンを押して、Closeにして接続します。

f:id:something-make:20181002001317p:plain

 

どちらか片方のXBeeを選択して、Add new packet to the listをクリックして、送信するパケット(メッセージ)を作ります。

f:id:something-make:20181002003904p:plain

 

とりあえず「Hello」というパケットを作ります。

f:id:something-make:20181002004755p:plain

 

パケットを選択して、Send selected packetで送信します。

f:id:something-make:20181002010136p:plain

 

送信に成功するとConsole log青字で表示されます。

f:id:something-make:20181002010227p:plain

 

そして、もう片方のXBeeConsole logに受信結果が赤字表示されます。

f:id:something-make:20181002010243p:plain

 

これでXbee間の通信をすることができました。

割と簡単にできて驚いています。

この機能を使って文字をArduinoからArduinoに送ってやれば、ロボットを遠隔操作することができるはずです。

 

次回は、これをどうやってArduinoに接続するかについてやっていきます。