0

2 つのXBeeモジュールと XBeeシールドを使用して、2 つの Arduino 間に簡単なワイヤレス リンクをセットアップしようとしています。

コーディネーターを次のように構成します。

ATID 2001
ATDL 4079D623
ATDH 0013A200

とエンドデバイス

ATID 2001
ATDL 4079D621
ATDH 0013A200

次に、単純なコードを 2 つの Arduino プラットフォームにアップロードします。端末側:

#include <SoftwareSerial.h>

SoftwareSerial xbee(2, 3); // RX, TX

void setup() {
    Serial.begin(9600);
    xbee.begin(57600);
}

void loop() {
    xbee.write("A");
    delay(500);
}

そしてコーディネーターで:

#include <SoftwareSerial.h>

SoftwareSerial xbee(2, 3); // RX, TX

void setup() {
    Serial.begin(9600);
    xbee.begin(57600);
}

void loop() {
    Serial.write(xbee.read());
    delay(500);
}

しかし、エンド デバイスからコーディネーターにデータが渡されていません。明らかな何かが欠けていますか?

4

1 に答える 1

0

私は大学以来 Zigbees を扱っていませんが、アドレス指定モードを混同した可能性があると思います。ローカル アドレス指定とグローバル アドレス指定があります。ローカル アドレッシングの場合、ATDH は 0 に設定する必要があります。ATID、ATMY、ATDL のみを指定する必要があります。一方、グローバル アドレッシングを使用する場合は、ATID、ATDL 、およびATDH を指定する必要があります。

electronic.stackexchange で XBee モジュールに接続する方法を説明しているこのスレッドを参照してください。

于 2013-05-25T11:49:07.180 に答える