XBeeを初めて学ぶにあたり、XBeeとは何かについて説明します。また、XBeeは様々な種類があるので、目的に合った製品を選択できるように、どのようなモジュール(シリーズ1~3、スタンダード、プロ)やアンテナの種類があるかについて説明します
XBeeとは
XBeeは無線を使用したデータ通信を行うモジュールです。2.4GHzの電波を用いて、独自のプロトコルでモジュール同士の通信を行います。
XBeeモジュールは非常に小さく、大きな切手ほどの大きさしかありません。計測用センサユニットのような小さなものにも無理なく組み込めます。また、低消費電力で動作するのも特徴で、スリープモードの設定をすればさらに消費電力を削減できます。
XBeeモジュールはマイクロコントローラではありませんが、ごく簡単な処理ならば行うことができます。スリープ機能もその一つで、電池で動かす場合に電池の寿命を延ばす上で役立ちます。あるいは、XBeeモジュールのデータピンの状態を監視し、読み取ってデータを別のXBeeモジュールに送信することもできるので、センサユニットと計測ユニットを無線でつなぐことができます。
このように、XBeeモジュールはセンサデータの読み取りなどに使用できますが、処理能力が限られているため、直接接続して使用できないセンサもあります。センサと通信が必要だったり、受信したデータから計算をして必要なデータを導き出したりするようなセンサはXBeeに直接つないで使用できません。こういったセンサを使用する場合、マイクロコントローラやコンピュータを間に接続して使用します。
また、XBeeのバージョン3以降のモデルはMicroPythonを使って、XBee上でプログラムを作成できます。PCでPythonを使用するように、MicroPythonのコードをインタラクティブに実行することもできます。
MicroPythonの活用については、別の記事で詳しく紹介します。
この後のセクションでは、XBeeモジュールの選び方や使用方法について紹介します。実験を行う前に、一通り最後まで読んでおくと、より分かりやすいでしょう。
XBee設定ツール「XCtu」のインストール XBeeの設定を行うために、PC上に「XCtu」というツールを使用しますので、ダウンロード・インストールしておきます。 https://www.digi.com/products/embedded-systems/digi-xbee/digi-xbee-tools/xctu Windows、MacOS、Linuxで利用できます。 |
XBeeモジュールの選択
Digiインターナショナル社のXBeeのwebサイトにアクセスすると、現在市販されているモジュールを見ることができます。どれをどのように使用すればよいでしょうか。
最も広く用いられているのは、ZigBeeプロトコルをサポートするものです。ZigBeeはIEEE 802.15.4というプロトコル(規格)に基づいています。電源管理、アドレス管理、エラー制御、ネットワーク機能について決められています。この後のチュートリアルではこのモジュールを使用します。リンクをクリックすると、形状や実装方法によって3種類の製品があること、通信に関してはZigBee、Digi Mesh、Bluetooth Low Enegry(BLE)、IEEE 802.15.4プロトコル(詳しくは、https://en.wikipedia.org/wiki/IEEE_802.15.4)など、多くのプロトコルをサポートしていることがわかります。
XBeeモジュールはスルーホールタイプ1種類と、表面実装タイプ2種類の計3種類から選んで使用します。Webページの「Part Numbers & Accessories」のタブをクリックすると、モジュールやアクセサリの一覧が表示されます。
図1に、スルーホールタイプと、表面実装タイプのうち1つを示します。いずれも広く市販されており、電子部品店の店頭や通販などで入手可能です。
ZigBeeとは? IEEE 802.15.4プロトコルでは、自動的に設定できるメッシュネットワークの形成について規定しています。 XBeeモジュールは「コーディネーター」「ルーター」または「エンドデバイス」という役割を与えられ、ルーターモジュールが通信の「中継」を行うことで、より広範囲での通信ができるように設計されています。 |
ここでは、スルーホールタイプを使用します。実験や工作を行う上ではスルーホールタイプの方が扱いやすいでしょう。様々な形状(当然価格も異なります)のモジュールがあることで、組み込む機器の設計の自由度を高め、低コストの機器であっても無線通信モジュールの組み込みが行えるようになります。
さらに、各モジュールには「スタンダードモデル」と「プロモデル」の2種類のバージョンが用意されています。いずれもピン配置や基本的な機能は同じになっており、同じネットワーク内で混在して使用できます。
プロモデルはスタンダードモデルと比べて、消費電力が大きく、高価格になりますが、より広い範囲に電波を届け、通信を行えます。
ここで、スタンダードモデルとプロモデルでモジュールの外観の違いがほぼなく、PCに接続しないと見分けられない場合がありますので、注意が必要です。混在させる場合にはモジュールにどちらのモデルか書き込んだり、どちらかにマークを点けたりしておくと良いでしょう。
また、XBeeモジュールには搭載しているチップセット(≒内蔵している機能)によっていくつかの「シリーズ」があります。
シリーズ1と呼ばれるモジュールは、ポイント・トゥ・ポイント(1対1の)通信をサポートする、古いチップセットを搭載しています。
シリーズ2/2.5はメッシュネットワーク(1対たくさんの通信)を含む、多くの通信形態をサポートするチップセットを搭載しています。
シリーズ3はXBeeモジュール上でMicroPythonという言語で作成したプログラムを動作させることができるチップセットを搭載しています。
この後のチュートリアルでは、シリーズ2もしくはシリーズ3のモジュールを使用します。
シリーズの選び方
XBeeモジュールのシリーズはどれを選べばよいのか?と疑問に思われるかもしれません。
シリーズ2や2.5で十分、ということもあれば、MicroPython搭載でプログラミングができるシリーズ3が使いやすいと感じるかもしれません。このあたりは利用の目的によっても異なってきます。
もう一つ考えておきたいのがモジュールの価格です。シリーズ3は高機能な分、そもそも高価なことや、新しいシリーズが発売されたことによって古いシリーズが安売りされる、ということもあります。
ちなみに、シリーズ3はシリーズ2との置き換えや、混在しての使用ができるように設計されています。(このような状態を下位互換性があるといいます)
アンテナについて
XBeeモジュールのオプションはもう一つあります。使用するアンテナの種類です。
- U.FL:ピグテールと呼ばれる専用のケーブルを使用してアンテナを接続します。XBeeモジュールとは別にアンテナやピグテールが必要になります。
XBeeモジュールを、電波を通さない金属のケースに入れてしまっても、アンテナさえケースの外に出しておけば通信ができる、という利点があります。 - RPSMA:U.FLオプションと同様に、アンテナを外付けしますが、ピグテールよりも大きなRPSMAコネクタを使用しています。
モジュールのコネクタに直接アンテナを取り付けることもできますが、アンテナを何かにひっかけた場合等にコネクタやモジュールに負荷がかかって壊してしまうリスクがあります。
延長用のケーブルを使用すればそのようなリスクが低減でき、U.FLオプションと同様にモジュールを金属のケースに収めてしまっても通信できます。 - PCBアンテナ:モジュール上のプリント基板のパターンをアンテナとして利用します。
外付けのアンテナが不要な分コンパクトですが、モジュールを収めるケースは電波を通す材質でなければなりませんが、外付けアンテナやコネクタが不要な分安価です。
ホイップアンテナ これまでもXBeeモジュールを使ってきた方は、「ホイップアンテナ」や「ワイヤーアンテナ」と呼ばれるアンテナオプションをご存じかもしれません。 これも安価な選択肢でしたが、ワイヤーアンテナは耐久性が低く、曲げ伸ばしを繰り返すと折れてしまうこともあり、最新の製品では利用されなくなってきています。 |
XBeeモジュールには多くの種類があることと、その中でもこの後のチュートリアルにはシリーズ2もしくはシリーズ3のモジュールを使用することをご紹介しました。
次回は、XBeeモジュールとの通信方法について紹介します。
コメントを残す