XBeeモジュールの使い方(Console working mode経由でFrame Generator)


 前回は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に設定しても同様の結果が得られます。