
前回はXCTUのToolsの中にあるFrame Generator Toolについて基本的な機能と使い方を解説しました。今回はローカルXBeeのConsole working modeからFrame Generator を使用してリモートXBeeにAPIフレームの送信する方法を解説します。
ローカルXBeeのAPを(1)に設定します。XCTUのメインツールバーの右から2つ目のSwitch to Console working modeのタブを選択します。 Add new frame to the listボタンをクリックします。

すると新たなウィンドウが開きます。青色のGenerate frame using ‘Frames Generator’ toolと表示されたアイコンをクリックします。

XBee API Frames Generatorのウィンドウが開きます。既にプロトコルは使用しているファームウェアの802.15.4がデフォルトで入力されており、Modeも接続しているローカルXBeeのAPで設定しているモードが設定されています。ここが、Toolsの中にあるFrame Generator Toolを使用した場合と異なる点です。

Frame typeはデフォルトの0x00のまま64-bitアドレスを用いてAPIフレームを作ることにします。リモートXBeeの64-bitアドレスを入力し、RF dataには「Have a nice day!」を入力してOKをクリックします。

すると新たなウィンドウが開き、完成したAPIフレームをAdd frameをクリックしてSend framesの中に追加します。

Send framesの中に生成したフレームを指定し、Send selected frameボタンをクリックします。すると、Frames logの中に青色と赤色のフレームが2つ確認することができます。

青色で示されたフレームをクリックするとフレームの詳細が右側のFrame detailsに表示されます。

赤色のフレームは前回解説したリモートXBeeから返信されたフレームです。

リモートXBeeのAPも(1)に設定することで以下のように受信したAPIフレームを確認することができます。

ファームウェア802.15.4でリモートXBeeからFrame typeはデフォルトの0x00のまま64-bitアドレスを用いてAPIフレームをローカルXBeeに送信しました。すると、ローカルXBeeのFrame detailsで確認したフレームはRX Packet 16-bit Addressになっています。64-bitアドレスで送信しているにも関わらず、受信部では16-bitアドレスで受信されている理由を以下に説明します。
802.15.4プロトコルでは、16-bitと64-bitの両方のアドレス指定がサポートされています。リモートXBeeが64-bitアドレスを使用してAPIフレームを送信した場合、ローカルXBeeが16-bitアドレスを使用するように設定されていれば、受信側XBeeはそれを16-bitアドレスパケットとして受信できます。これは、アドレス指定モードが受信側デバイスの設定によって決定されるためです。
XBeeモジュールは、MY(16-bit送信元アドレス)値が0xFFFFまたは0xFFFEに設定されている場合、固有の64-bitアドレスを送信元アドレスとして使用します。ただし、MYパラメータが0xFFFE未満の値に設定されている場合、デバイスはデフォルトでショート(16-bit)送信元アドレスを使用します。
ローカルXBeeのMYの値は0だったので0xFFFE未満であるため、デフォルトで16-bitアドレスが使用されました。そこでローカルXBeeのMYの値をFFFFに設定してからフレームを送信してみました。その結果、リモートXBeeで受信したフレームを以下に示します。受信したフレームは64ビットアドレスで受信されており、フレームの中には送信元の64-bitアドレスが含まれていることを確認することができます。ローカルXBeeのMYの値をFFFEに設定しても同様の結果が得られます。
