XBeeモジュールの使い方(ZigbeeにおけるIDの設定)


 XBeeには3つのファームウェア(802.15.4、Zigbee、DigiMesh)がありますが、Zigbee固有の機能があります。今回は、ID(Extended PAN ID)の設定方法について解説します。

 XBeeをXCTUに接続し、ネットワークを構築する際に重要なパラメータの一つがIDです。このパラメータは、デバイス同士がどのグループに所属するかを決める非常に重要な項目です。802.15.4とDigiMeshファームウェアではID(Network PAN ID)と表示されており、IDの範囲は、0x0~0xFFFFであり、デフォルト(0x3332)のまま使用するか、ユーザが入力します。

 一方、ZigbeeファームウェアではID(Extended PAN ID)と表示されており、Extended(拡張)の文言が追加されています。

 今回は、XBee3のID設定におけるZigbeeファームウェア固有の挙動について解説します。

1. ID(Extended PAN ID)とは?

 Zigbeeネットワークにおいて、PAN IDはデバイスがどのネットワークに参加するかを識別するためのIDです。

 802.15.4とDigiMeshファームウェアではID(PAN ID)は16ビットで設定していましたが、ZigbeeではIDの範囲が拡張され、以下のように64ビットの指定も可能です。

ID(Extended PAN ID)の範囲:0x0~0xFFFFFFFFFFFFFFFF

XBee3のデフォルト設定では、このIDは0x0に設定されています。

2. デフォルト設定(0x0):自動選択モード

 IDに0x0を指定している状態は、IDがXBeeにより自動選択されるモードになります。

その場合のXBeeの挙動は以下のとおりです。

(コーディネーターXBeeの場合)

 ネットワークの形成時、ネットワークの形成に使用される拡張PAN IDを事前設定します。この際に、周囲の電波状況を確認し、他のネットワークと干渉しないIDを自分自身で自動的にランダムに生成してネットワークを開始します。

(ルーター / エンドデバイスXBeeの場合)

 周囲で見つかった最も条件の良い(または最初に見つけた)ネットワークに自動で参加します。

 以下にZigbeeファームウェアのXBee3をXCTUに接続した直後の様子を示します。

CE(Device Role)はデフォルト(Join Network [0])設定のままです。

OP(Operating PAN ID)は0x0、OI(Operating 16-bit PAN ID)は0xFFFFです。

 以下の図は、CE(Device Role)はForm Network [1]に設定変更し、OP(Operating PAN ID)とOI(Operating 16-bit PAN ID)の再読み込みをした結果のです。OPとOIが自動設定されていることを確認することができます。

(ポイント)

 学習用や、現場に1つのネットワークしか存在しない場合は、ID=0x0の設定が最も手軽です。深く考えなくても、電源を入れれば勝手に繋がってくれます。

3. ID指定設定:指定モード

 一方で、IDの設定はユーザが指定して特定の値を(例えば0x1234等)入力すると、挙動は一変し、IDはユーザ指定によりネットワークに参加するモードになります。

その場合のXBeeの挙動は以下のとおりです。

(コーディネーターXBeeの場合)

 指定されたID(例:0x1234)でネットワークを固定して開始します。

(ルーター / エンドデバイスXBeeの場合)

 指定されたIDを持つネットワークが見つかるまで探し続け、それ以外のネットワークには一切参加しません。

 以下の図は、IDを0x1234に設定し、OP(Operating PAN ID)とOI(Operating 16-bit PAN ID)の再読み込みをした結果です。

OPが0x1234に設定されており、OIは自動設定されていることを確認することができます

(まとめ)

 ID設定に関するZigbee固有の設計思想の一端を知ることができました。ネットワーク混在が無く、開発初期や簡易なテストで実施する場合はIDをデフォルト(0x0)設定で接続する選択肢もあります。実用的に運用する場合や複数ネットワーク混在が予想される場合は、固有のIDを指定して混線を防止することが推奨されます。

 XBee3は、この「自動の手軽さ」と「手動の確実性」を、1つの設定値だけでシームレスに切り替えられるよう設計されています。