4

3つのXBeeシリーズ1モジュールを使用してNonBeacon(w / Coordinator)ネットワークをセットアップしました。1つはコーディネーターとして構成されます。他の2つはエンドデバイスとして構成されます。ファームウェアのバージョンと構成は以下のとおりです。

しっかり

Modem:  XBEE    Function Set    Version
XB24    XB24    802.15.4        10CD

コーディネーター

Parameter            Value   Comments
CH (Channel)         0x0F    Identical
ID (PAN ID)          0x5241  Identical
DH                   0x0
DL                   0x0
MY (Source Address)  0xFF01  Unique
CE (Coord. Enable)   1  
A2 (Coord. Assoc.)   0x04    allow end devices to associate to it.

エンドデバイス

Parameter            Value   Comments
CH (Channel)         0x0F    Identical
ID (PAN ID)          0x5241  Identical
DH                   0x0
DL                   0x0
MY (Source Address)  0xFF02  Unique
CE (Coord. Enable)   0  
A1 (End Dev Assoc.)  0x04    allow associate to coordinator.

エンドデバイス1がデータを送信するとき、コーディネータはデータを受信できますが、エンドデバイス2は受信できません。エンドデバイス2がこのネットワークのエンドデバイス1からデータを受信するようにしたい。私の現在の解決策は、コーディネーターにデータをブロードキャストさせて、エンドデバイス2がデータを受信できるようにすることです。これがエンドデバイス間の通信の問題を解決するための良い解決策であるかどうかはわかりません。他に解決策はありますか?

4

1 に答える 1

5

Digi XBee 802.15.4モジュール(Digi XBeeシリーズ1モジュールとも呼ばれます)を使用すると、座標でブロードキャストを使用してエンドデバイスと通信することにペナルティはありません。

一方、任意の2つのDigi XBee 802.15.4モジュール間の通信を確立できるようにしたい場合は、ユニキャストアドレス指定を使用する必要があります。ユニキャストアドレス指定は、次の方法で実行されます。

  1. MYパラメータを一意の値に設定して、各ノードにアドレスを設定します
  2. コーディネーターのDLパラメーターを、通信する*エンドデバイスノードのMY値に設定します。
  3. DLを0に設定することにより、各エンドデバイスは常にコーディネーター(CEが1に設定されたノード)と通信できることに注意してください。

コーディネーターのDLパラメーターを変更して、各エンドデバイスと順番に通信できるようにする必要があるのは非常に不器用です。これが、多くの人がAPIモードでDigiXBee無線を使用することになった理由です。

Digi XBee 802.15.4サポートページのドキュメントセクションからマニュアルをダウンロードすると、「API操作」というタイトルのセクションがあります。APパラメータを>1に設定すると、このモードが有効になります。

APIモードでエンドデバイスからコーディネーターにデータを送信すると、無線からRXフレーム(APIタイプ0x81)が出現します。同様に、APIタイプ0x01)を使用して同様の形式のパケットを送信し、エンドデバイスのMYアドレスを宛先として指定すると、データはエンドデバイスXBeeのシリアルポートから送信されます。

「XBeeAPIライブラリ」を検索すると、Java言語用のこの便利な言語など、選択した言語を使用してDigiXBeeモジュールと通信できるライブラリの便利なリンクがたくさん見つかります。

于 2012-05-31T19:05:30.427 に答える