という、話だったそうじゃ

ニュートラルに生きるWebエンジニアの日記

ArduinoUnoとXBeeとMac... Mac版のX-CTUを使って設定しちゃおう

年の瀬、いかがお過ごしでしょうか。今回は、ArduinoUnoとXBeeを使って、この動画のような動きを行う(きっと)最速の構築方法をお教えします。

MacXbeeを触るの、めっちゃ大変。

もし、Windowsを使うことに抵抗が無ければ、Windowsの方がやり方も一杯見つかるので、そちらをお勧めします。特にスイッチサイエンスさんのページが最強やと思います。(MacXbeeを動かす為にもかなり参考にしました。)

Xterm?cool term?使いません。

コンソールで"+++"を入力すればOKが出る...というお話は様々なエントリーで話されていますが、5時間調べたあげく、自分の環境では"+++"のやり方では正しく動作させることが出来ませんでした。

Funnel?いえ、これも使いません

Arudino Fio云々の表示が出るアプリケーションを用いる方法。こちらもうまく動きませんでした。

実は、Mac版のX-CTUがあった

かなーり、Google検索の海を彷徨っていたんですが、ついに見つけました。MacにもX-CTUがありました...(´;ω;`)

基本的には、スイッチサイエンスさんのページを新たなMac版X-CTUを用いて同じようなことをするのですが、最初のデバイス認識の所が詰まりどころかもしれないので、補足。

 

f:id:bino98ty:20131227033105p:plain

赤丸をクリックすると

 

f:id:bino98ty:20131227033244p:plain

 

こういう形で、画面が現れます。usbserial-A602SJ36が今回の環境でXBeeが繋がっているポートなので、チェックボックスを入れ、Finish!

 

f:id:bino98ty:20131227033448p:plain

 

Baud Rateに注目してほしいのですが、特にFunnelでXBeeの設定をいじくりまくっている場合、XBeeのBaud Rateが57600に設定されている可能性が高いです。なので、Funnelにチャレンジされたかたは57600にもチェックを入れてFinishで検索を掛けるといい感じにXBeeが見つかると思います。

 

f:id:bino98ty:20131227033821p:plain

 

今回変更したポイントは、PAN ID、Destination Address High、Destination Address Lowの数値の変更と、PC側XBeeファームウェアの変更でした。

  • PAN IDは、Arduino側とPC側どちらも同じ数値(16進数)である必要があります。所謂ネットワークの識別をする番号のようですね。
  • Destination Address HighとDestination Address Lowは、ワイヤレス通信をする相手の固有の識別番号で、XBeeであればDestination Address Highは"0013A200"になるようです。
  • Destination Address Lowは、XBee毎に数値が異なり、Xbeeの裏を見て確認するか、X-CTUの画面左側Radio Modulesで、XbeeMAC欄を見ると幸せになれると思います。(PC側はArduino側のAddress、Arudino側はPC側のAddressを入力します)
  • そして、PC版XBeeについては、この後ファームウェアの書き換えを行います。その際、バージョンの選択が必要になるので、Firmware InfomationからFirmware versionを確認しておくと良いです!

書き換えたら、鉛筆のボタンを押してしっかりXBeeに適応させてください!上にある大きな鉛筆はうまく動かなかったので、書き換えた欄の右側にある鉛筆のマークがオススメです。

 

f:id:bino98ty:20131227034447p:plain

そして、PC側XBeeファームウェア変更は、この"ICチップ的なマーク"をクリックして...

 

f:id:bino98ty:20131227034603p:plain

を選択します。Firmware versionは、先ほど確認したバージョンで問題なかったです。

Mac版X-CTUの設定は、基本的にスイッチサイエンスさんのページMac版で適当に読み替えて行えば、試行錯誤することなくフツーに動いたので、困ったときはWindows版のX-CTUXBeeの設定をしている解説サイトに行くと良いと思います。(そして適宜読み替える)

 

それでは(´Д`)