
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であるのでデータ転送には問題ないことが分かります。