2014年5月20日2021年2月12日

XBeeの通信テストwith APIモード on Mac OS X その(1)


IMG_7422

Mac OS X 10.9.3(Mavericks)環境で、2台のXBee間で無線通信ができることをテストしました。
単にXBee本体がちゃんと動いていることを確認するためなので、LEDを光らせたり、センサーの値を送ったりということはしていません。

長くなったので、3回に分けてメモを書いていきます。
本記事ではXCTUというXBee設定ソフトでXBee本体の設定を行うところまでをメモしています。

XBeeの通信テストwith APIモード on Mac OS Xの全体を通しての手順

その(1):本記事
・XBeeの購入
・XBee本体の設定用USB基板のドライバダウンロードとインストール
・『Next Generation XCTU』のダウンロードとインストール
・通信モードについて
・子機側のXBeeを「ZigBee Router API」に設定
・親機側のXBeeを「ZigBee Coordinator API」に設定
その(2)
・XBeeのピッチ変換基板の組み立て
・XBee子機のユニット組み立て
その(3)
・Xbee親機-子機間の接続確認
・Xbee親機-子機間の通信テスト

本記事における手順

・XBeeの購入
・XBee本体の設定用USB基板のドライバダウンロードとインストール
・『Next Generation XCTU』のダウンロードとインストール
・通信モードについて
・子機側のXBeeを「ZigBee Router API」に設定
・親機側のXBeeを「ZigBee Coordinator API」に設定

XBeeの購入

ネットで検索すると、XBeeには、いくつかの種類があるようで、どれを買えばいいのか分からないし、何をどうしたら使えるのか、まさに右も左も分からない状態だったので、

キット付き 超お手軽無線モジュールXBee』(CQ出版社
IMG_7059
を買いました。
XBee無線モジュールが一組と、XBeeをパソコンにつなげて設定するためのUSB基板、解説書のセットです。何と、税抜き価格10,000円です(笑)。

結論から言うと、このセットの他に用意しなければならない物があり、これだけでは無線通信のテストはできませんでした。
まあ、ハンダ付けをするのが中学生以来なんていう、私のような電子工作の初心者は想定されていないのだと思います。常識的に考えて。

今回、私がテストした内容について、このキットの他に用意する必要があるのは
・XBeeピッチ変換基板 x 1
・バッテリーボックス(直列)
・単三乾電池 x 3
・ジャンパワイヤ(オス – オス)x 2
・ブレッドボード x 1
です。

XBee本体の設定用USB基板のドライバダウンロードとインストール

『キット付き 超お手軽無線モジュールXBee』に付属してくるUSB基板のドライバは、SILICON LAB社のWebページから入手します。

ドライバの配布ページ(2014年5月現在)

CP210x USB to UART Bridge VCP Drivers
http://www.silabs.com/products/mcu/Pages/USBtoUARTBridgeVCPDrivers.aspx

OSごとにダウンロードリンクが分けられているので、Mac用の欄にある「Download VCP」をクリックすると「Mac_OSX_VCP_Driver.zip」というファイルがダウンロードできます。このzipを解凍すると、「SiLabsUSBDriverDisk.dmg」というファイルが出てくるのでインストールします。

『Next Generation XCTU』のダウンロードとインストール

XBeeの製造元であるDigi International社のWebページから『Next Generation XCTU』(以後、XCTUNG)をダウンロードします。
配布ページ(2014年5月現在)

XCTU Software
http://www.digi.com/support/productdetail?pid=3352

DIagnostics, Utilities and MIBs」という項目をクリックし、「XCTU Next Gen Installer, MacOS X」をダウンロードして、インストールします。

XCTUNGはXCTUというXBee本体の設定や操作を行うことができるソフトウェアの後継版のようです。従来のXCTUはWindows版しかなかったのですが、このXCTUNGはMac版も提供されているため、MacでXBeeの設定を簡単に行うことができます。

通信モードについて

XBeeにはATモードとAPIモードという通信モードの違いがあるようです。

ATモードは1対1のXBee間の通信を行う場合のモードで、APIモードは1対nのXBee間の通信を行うことができるモードです。両者ではXBee間のデータの送受信の方法が異なります。

ATモードは直感的なコマンドでデータを送受信できます。APIモードはAPIフレームという、ちょっと複雑な方法でデータの送受信を行います。

今回の記事のように2台のXBee間で通信するテストくらいならATモードを使うのが楽なのですが、私の場合、のちのち1対nの無線通信を行うことを目標としているので、最初からAPIモードに設定して進めています。

子機側のXBeeを「ZigBee Router API」に設定

XBee本体の設定を行います。XBee本体そのものに親機、子機という種類があるわけではありません。設定を行うことで親機、子機の役割を担わせることになります。

手順上、USB基板へのXBeeの抜き挿しの順番を考えて子機から設定します。

USB基板にXBeeをセット

IMG_7408

IMG_7410
注意点としては、ピンを奥まで差し込んでしまうと非常に抜けづらくなり、外すのに苦労します。私は半分くらいまで差し込んで使っています。
IMG_7411

USB基板をPCのUSBポートに接続する

パソコンのUSBポートに基板を接続します。

XCTUNGを起動

さきほどインストールしたXCTUNGを起動します。

スクリーンショット 2014-05-19 22.58.44

スクリーンショット 2014-05-19 22.59.00

虫メガネのアイコンをクリックすると、XBeeが接続されているポートを選択する画面が出てきます。

スクリーンショット 2014-05-19 22.59.12

Bluetooth-Incoming-Port」のチェックを外して、接続したUSB基板である「SLAB_USBtoUART」にチェックを入れて「NEXT」ボタンを押します。

スクリーンショット 2014-05-19 22.59.29

ポートのパラメータ設定を聞かれますが、そのまま「Finish」ボタンを押します。

スクリーンショット 2014-05-19 22.59.38

PCに接続されているXBeeの検索が始まります。しばらくするとデバイスが見つかるので「Add selected devices」ボタンを押すと、画面左にXBeeのリストが表示されます。

スクリーンショット-2014-05-19-22.59.51スクリーンショット-2014-05-19-23.00.04 画面左のXBeeのリストを選択すると、画面右に設定項目が表示されます。

スクリーンショット-2014-05-19-23.00.51

ZigBee Router APIのファームウェア書き込み

子機として「ZigBee Router API」に設定するため、ファームウェアを書き換えます。ファームウェアを書き換えるには、画面右のアイコンが並んでいる中から、ICチップに矢印が描かれたアイコンをクリックします。

スクリーンショット-2014-05-19-23.34.14

どのファームウェアを書き込むかを選択するメニューが表示されるので、

・Product familiyを「XB24-ZB
・Function setを「ZigBee Router API
・Firmware versionを「バージョン番号(Newest)

と選択して「Finish」ボタンを押します。するとUSB基板上のLEDが点滅し、ファームウェアの書き込みが行われます。

 

続いて、XBee間で通信するための各種設定を行います。設定値は画面右側のフォームに入力することで行います。

PAN ID設定

まず、「ID  PAN ID」欄を設定します。PAN IDはXBeeが互いに通信する場合に共通して使用するIDです。16進数で入力しますが、”1192″のように数字4桁程度で設定しました。このPAN IDは後で設定する親機のXBeeにも同じ値を設定します。

スクリーンショット-2014-05-19-23.34.35

DH、DLの設定

DH Destination Address High」欄と「DL Destination Address Low」欄を設定します。この欄には親機として使うXBee本体に書かれているMACアドレスを入力します。(現在USB基板に挿しているXBeeのMACアドレスではありません。)

DH欄には上の行に書かれているアドレス値、DL欄には下の行に書かれているアドレス値を入力します。

スクリーンショット-2014-05-19-23.34.45

IRを設定

本記事の目的である、親機へのデータの送信を行う項目を設定します。

設定する項目は「IR  IO Sampling Rate」欄です。XBeeのピンで読み取ったデジタル値やアナログ値を親機へ送信する間隔(ミリ秒)を16進数で指定します。(今回はピンで読み取る値はありませんが。)

今回は1秒ごとに送信するとして、1000ミリ秒を指定することにします。
1000ミリ秒は16進数では「3E8」です。

スクリーンショット-2014-05-19-23.37.21

 

設定値の書き込み

最後に設定を書き込みます。鉛筆のアイコンをクリックするとXBeeに設定値が書き込まれます。

子機の設定は以上です。

XCTUNGを終了し、USB基板を抜いてXBeeをUSB基板から取り外します。
XBeeをUSB基板から取り外すのは、最初はなかなか慣れません。ピンを折ったりしないように慎重に取り外します。私は最初、ピンを奥まで差し込んでしまっていたので、XBeeの取り外しはもう不可能なのでは?というくらいの苦労をして抜きました。。。

親機側のXBeeを「ZigBee Coordinator API」に設定

子機のときと同様にUSB基板に親機として設定するXBeeを挿し込み、USB基板をPCのUSBポートに接続します。

XCTUNGを起動し、設定画面を表示させます。

ZigBee Coordinator APIのファームウェア書き込み

親機とするXBeeはファームウェアを「ZigBee Coordinator API」に書き換えます。ファームウェア選択画面では

・Product familiyを「XB24-ZB
・Function setを「ZigBee Coordinator API
・Firmware versionを「バージョン番号(Newest)

を選択します。

スクリーンショット-2014-05-19-23.01.14

続いて各種設定を行います。

PAN ID設定

子機で設定したPAN IDと同じ値を設定します。
スクリーンショット-2014-05-19-23.00.51

設定値の書き込み

最後に設定を書き込みます。鉛筆のアイコンをクリックするとXBeeに設定値が書き込まれます。

親機の設定は以上です。

その(2)に続きます。

コメントはこちらから

メールアドレスは公開されません。 * が付いている欄は必須項目です

タグ一覧

© 2021 びわ湖のほとりの人 All Rights Reserved.