XBeeモジュールの使い方(Throughput)


 XCTUのToolsの中にあるThroughputに関する技術的な内容や使い方や結果の解釈について解説します。XCTUのThroughputツールは同一ネットワーク内の2つの無線モジュール間の転送速度を測定するために設計されています。

(XBeeモジュールの設定)

ファームウェアを802.15.4に設定しペアリングがなされているXBeeに対して以下の設定をします。

・ローカルXBee: APIモード

・リモートXBee: Transparentモード

(技術的内容)

・目的:Throughputツールを使用すると、マルチポイントネットワークまたはメッシュネットワークを構成する2つのXBeeモジュール間の通信速度を測定できます。

・要件:XCTUにローカル無線モジュールを追加し、同じネットワーク内にリモートデバイスが1台必要です。

(Throughputツールの使用方法)

・XCTUを開く:コンピュータでXCTUソフトウェアを起動します。同じネットワーク内にリモートデバイスを追加します。

・ツールにアクセスする:XCTUのメインツールバーにある「Tools」ドロップダウンメニューから「Throughput」を選択します。

・デバイスの選択:Throughputダイアログで、Throughputテストを実行するローカルデバイスと、データを受信するリモートデバイスを指定します。

ConfigurationのThroughput typeには3つのタイプがあります。

(1)Unidirectional(単方向): ローカルデバイスからリモートデバイスへデータを送信します。次のデータパケットを送信する前に、前のパケットの送信状態を待ちます。

(2)双方向 (クラスタ ID 0x12): ローカルデバイスからリモートデバイスへデータを送信し、リモートデバイスからのデータ受信を待ちます。送信は、送信されたメッセージを返すクラスタ ID 0x12 宛ての明示的なアドレス指定フレーム/パケットを使用して行われます。

すべてのプロトコルおよび動作モードで双方向 (クラスタ ID 0x12) Throughput typeがサポートされているわけではありません。この機能をサポートしていないデバイスでは、ページ上部にエラーが表示されます。ファームウェア802.15.4はこのThroughput typeをサポートしていません。

(3)双方向ループバック:前述の双方向モードと同様に、このモードでもリモートデバイスからデータが返されるまで待機し、次のデータブロックを送信します。データの返送は、シリアルポート/USBハードウェアループバック機能を使用して行われます。この方法は、ATおよびAPI動作モードの両方で動作するローカルモジュールで有効です。

 はじめにデフォルトで設定されているUnidirectionalで測定を開始してみます。 Start Throughputボタンをクリックし測定を開始し、選択したデバイス間のデータ転送速度のテストを開始します。

デフォルトの設定は計測時間が10秒に設定されており、計測が終了すると以下の結果が表示されます。

次にConfigurationのThroughput typeから「Bidi – Loopback」を選択してStart Throughputボタンをクリックし測定を開始します。Bidi はBiDirectional(双方向)の略称です。

Start ThroughputボタンをクリックするとローカルXBeeにLoopback jumperが装着されていることを確認するダイアログが開きますので、確認してOKを押します。

計測が終わるとLoopback jumperが取り外されていることを確認するダイアログが開きますので、確認してOKを押します。

すると、以下の結果を得ることができます。Unidirectionalに比べてThroughputが約1/2になっていることが確認できます。

(結果の解釈)

Throughputツールは、2つのデバイス間でデータがどれだけ効率的に転送されているかを測定します。測定結果は時系列のチャート形式で表示され、通信速度の経時変化を示します。これらの結果を使用して、ネットワークパフォーマンスを分析し、ボトルネックを特定したり、Throughputを向上させるための構成の最適化を行ったりできます。

このツールでは、XBeeのThroughputがkbps(キロビット毎秒)で表示されています。この結果の数値が十分かどうかはアプリケーションでやり取りするデータ量・頻度によって変わります。以下に、XBeeの各モデルのAPIフレームの最大フレームデータ長をまとめました。

XBeeの各モデルのAPIフレームの最大フレームデータ長

モデル最大フレームデータ長(Length部)
XBee Series 1 (802.15.4)約 100バイト程度(公式には最大 100 bytes 推奨)
XBee Series 2 (ZigBee)約 72〜100バイト(ペイロード:送受信されるデータの本体部分)
XBee 3 (ZigBee/802.15.4)約 250バイト(802.15.4では最大250、ZigBeeではさらに制限)
XBee DigiMesh最大は約100〜200バイト前後
XBee 900HP(868/900MHz)最大2048バイト(フレームサイズ)

 例えばXBee3の場合、毎秒250バイト送る場合の必要なスループットは以下の式で求めることができます。

250バイト×8ビット = 2000 bps(= 2 kbps)

 今回のBidi – Loopback におけるAverage transfer ratioが2.0kbpsであるのでデータ転送には問題ないことが分かります。