
XCTUのToolsの中にあるFrame Generator Toolについて基本的な機能と使い方を解説します。今回はローカルXBeeからリモートXBeeにFrame Generator Tool で生成したAPIフレームの送信を行います。
XCTU のフレームジェネレータツールは、API モードで動作する XBee モジュールとの通信に不可欠な API フレームを作成するために設計されています。まず、その基本機能について詳しく解説します。
(基本機能の概要)
・プロトコル選択:生成するフレームの無線プロトコルを選択できます。この選択によって、使用可能な API フレームの種類が決まります。
・モード選択:このツールでは、API モードと API エスケープモードを選択できます。これらは、データのフレーム化と送信方法に影響します。
・フレームタイプの選択:プロトコルとモードに応じて、生成する API フレームの種類を選択できます。
・フレームパラメータ:フレームタイプを選択すると、ツールは設定可能な関連設定を表示します。これらの設定は、選択したフレームタイプによって異なります。
・ASCII/HEX 変換:ツールには、ASCII 形式または HEX 形式の値を入力するためのタブがあり、これらが自動的に変換されます。
・生成されたフレーム:パラメータを設定すると、ツールは API フレームを表すバイト配列を生成します。この配列はコピーして使用できます。
(使用方法)
ローカルXBeeのAPを(1)に設定します。XCTUのメインツールバーにある「ツール」ドロップダウンメニューからフレームジェネレーターを開きます。

新しいウィンドウが開きます。

フレームの生成方法:
まず該当するプロトコルを選択します。今回は、ファームウェアに802.15.4を使用しているためこれを設定します。モードはAPI1を選択します。
次にフレームタイプを選択します。
代表的なフレームタイプの主な特徴と一般的な使用例を以下に示します。
(1)Transmit Request Frame
特徴: ある XBee モジュールから別の XBee モジュールにデータを送信するために使用されます。送信先アドレスとデータペイロードが含まれます。
使用例: 受信者を指定する必要があるネットワークでデータパケットを送信する場合に最適です。
(2)Receive Packet Frame
特徴: このフレームは、XBee モジュールがデータを受信したときに生成されます。送信元アドレスと受信データが含まれます。
使用例: 他のモジュールからの受信データを処理する必要があるアプリケーションに役立ちます。
(3)AT Command Frame
特徴: XBee モジュールの設定を構成または照会するために使用されます。コマンド名とオプションのパラメータが含まれます。
使用例: プログラムでモジュールの設定を設定または変更する場合に不可欠です。
(4)AT Command Response Frame
特徴: XBeeモジュールがATコマンドフレームに応答して送信するフレームで、成功または失敗を示し、要求されたデータを返します。
使用例: モジュールに送信されたATコマンドの結果を確認するために使用されます。
(5)Modem Status Frame
特徴: リセット、アソシエーション、ディスアソシエーションなど、XBeeモジュールの現在のステータスを示します。
使用例: モジュールの動作状態を監視するのに役立ちます。
(6)Node Identification Indicator Frame
特徴: ネットワーク内のノードに関する情報(アドレスや識別子など)を提供します。
使用例: ネットワーク内のノードを検出および識別するのに役立ちます。
(7)Remote AT Command Request Frame
特徴: ネットワーク経由でリモートXBeeモジュールにATコマンドを送信できます。
使用例: 直接アクセスすることなく、リモートモジュールを設定または照会する場合に最適です。
(8)Remote AT Command Response Frame
特徴:リモートXBeeモジュールからのリモートATコマンド要求への応答。成功または失敗を示し、要求されたデータを返します。 今回はTransmit Request Frameの0x01 – Tx(Transmit)Request: 16-bit addressを選択します。また、16-bit dest, addressはブロードキャストのFFFFに設定します。RF DataはASCIのタブの中に「Have a nice day!」と入力します。

RF dataのHEXのタブをクリックすると「Have a nice day!」のHEXに変換されていることを確認することができます。一番下に生成されたAPIフレームが表示されています。 Copy frameボタンを押してフレームをコピーしたらCloseします。

ToolsからSerial Consoleを選択します。

新たなウィンドウが開き、Add a new packet to the listをクリックします。

Add a new packet to the listのウィンドウが開いたらHEXのタブに変更し、先程コピーしたAPIフレームをペーストします。そして、Add packetをクリックします。

すると、send packetsの中に新しいPAIフレームが登録されます。左上のOpenボタンをクリックしてCloseすると、Send a single packetのボタンがアクティブになります。Sendo selected packetボタンをクリックするとConsole logに送信されたフレームが青字で表示されます。

リモートXBeeの右上の右から2つ目のアイコンをクリックしConsoles working modeに設定します。リモートXBeeのAPをTransparent mode [0]に設定した場合はConsole logに赤字で以下のように表示されます。

リモートXBeeのAPをAPI Mode Without Escapes [1]に設定した場合はローカルXBeeから送信されたフレームをフレームとして受け取ることができ、Frames logに赤字で受信したフレームが表示されます。このフレームをクリックすることによりフレームの詳細を確認することができます。

フレームジェネレーターツールはXBeeモジュール用のカスタムAPIフレームのチェックサム等を手作業で計算することなく容易に作成することができる非常に便利なツールです。