2017年3月8日水曜日

XBee ZB S2C で Zigbee 入門

概要

Mac で XBee に入門してみました
とりあえず今回は X-CTU という XBee の設定をするアプリをインストールして 2 台のXBee にそれぞれ「COODINATOR」「ROOTER」の初期設定を行ってみました

環境

X-CTU のインストール

まずダウンロードサイトにアクセスします
「XCTU v. 6.3.1, MacOS X」をダウンロードしましょう
ダウンロード時にアカウント登録を求められますが、下の方に「No thanks, register later」があるのでアカウント登録しないでダウンロードできます

ダウンロードできたら Zip ファイルを解凍します
解凍してできた「xctu_6.3.0.8」はインストーラなのでまだインストールは完了していません
右クリックから「開く」でインストーラを起動しましょう

インストールするディレクトリなどを決まれますが基本は Next で OK です
最終的に以下のようになればインストール完了です
try_xbee_xctu_install.png

試しに起動してみてください
アプリケーション配下に「XCTU」というアプリがあるのでそれを起動すれば OK です
try_xbee_xctu_starting.png

Java for OS X 2015-001 のインストール

どうやら Mac 版の XCTU を動作させるためには Mac Java が必要みたいです
インストールされていない場合は以下から dmg ファイルをダウンロードして pkg ファイルを実行して Mac Java をインストールしてください
https://support.apple.com/kb/DL1572?locale=ja_JP

XBee を Mac に接続する

XBee USB アダプター に XBee を乗せて USB をそのまま Mac に接続すれば OK です
try_xbee_connected_mac.jpg

そしてたら X-CTU 側にデバイスを認識させます
一番左上の「Add devices」アイコンをクリックします
デバイスを追加する画面になるので、XBee を USB で接続した COM ポートを選択して Finish で追加します
try_xbee_add_device.png

すると一覧画面に追加した XBee が表示されるので選択すると右ペインに XBee の詳細情報が表示されます
try_xbee_show_detail.png

COODINATOR の初期設定を行う

1 台は COORDINATOR モードとして動作させるのでその設定をします
まず以下の情報を変更します

  • ID PAN ID ・・・ 好きな 16進数 4 桁の数字に変更します
  • CE Coordinator Enable ・・・ Enable [1] に変更します
  • DH Destination Address High ・・・ 13A200 (XBee で固有です)
  • DL Destination Address Low ・・・ もう一台 ( ROOTER ) の XBee の Serial Number Low を入力してください

「Serial Number Low」とは XBee のモジュール 1 つ 1 つに固有に与えられた値で XBee の裏側とかに記載してる番号です
try_xbee_confirm_serial.jpg

でこれは最新の X-CTU であれば GUI 上で確認することもできます
try_xbee_confirm_serial_xctu.png

この値を自分ではなく通信する相手の番号を入力してください

上記の項目を記載したら X-CTU 上「Write」ボタンを押して設定を XBee に書き込みましょう
設定の書き込みが完了すると X-CTU 上で変更した箇所が青三角になるので確認してください ( ちょっと嬉しい機能だと思った )

Tips (XBee ZB S2C でのデバイスモードの変更方法について)

XBee にはシリーズものがいろいろとあり今回使ったシリーズは ZB S2C というシリーズになります
これは割りと新しいシリーズで従来はデバイスのモードを書き換えるのにファームウェアの更新が必要だったのですが、それが不要になりました
既にファームフェア上にすべてのモードが実装されているため設定を変更するだけでモードの変更も行えるようになりました

の 6 ページ目あたりにも ZB S2C におけるモードとパラメータの組み合わせが記載してありました

  • ZigBee Router AT -> Default Settings
  • ZigBee Router API -> Set AP (API Enable) = API enabled [1]
  • ZigBee Coordinator AT -> Set CE (Coordinator Enable) = Enabled [1]
  • ZigBee Coordinator API -> Set CE (Coordinator Enable) = Enabled [1], Set AP (API Enable) = API enabled [1]
  • ZigBee End Device AT -> Set SM (Sleep Mode) = Cyclic Sleep [4]
  • ZigBee End Device API -> Set SM (Sleep Mode) = Cyclic Sleep [4], Set AP (API Enable) = API enabled [1]

ROOTER の初期設定を行う

同様にもう一台にも設定を行いましょう

  • ID PAN ID ・・・ 好きな 16進数 4 桁の数字に変更します ( COODINATOR に設定した値と同じ値にしてください )
  • DH Destination Address High ・・・ 13A200 (XBee で固有です)
  • DL Destination Address Low ・・・ もう一台 ( COODINATOR ) の XBee の Serial Number Low を入力してください

Router の AT モードはデフォルトの状態なのでモードを変更する設定は特に行いません
上記の設定が記載できたら「Write」ボタンで設定を書き込みましょう

最後に

とりあえず今回は 2 台の XBee ZB S2C の初期設定だけを実施しました
見た目上は何も変わっていないのが残念ですが、初期設定は完了です
どっちが COODINATOR でどっちが ROOTER かというのが接続してみないとわからないという点があるので、メモしておくといいと思います

次回は Arduino を使って実際に無線上でデータのやり取りを試してみたいと思います
基本はシリアル通信がそのまま無線化できると思っているので Serial.write とかを使えばいいのかな

あと今回は予算の都合上で 2 台しか購入してないけど、もっと購入してホップ通信とか試してみると XBee の素晴らしさがわかるんだろうなと思います

0 件のコメント:

コメントを投稿