2013-05-25 2 views
0

Я пытаюсь установить простую беспроводную связь между двумя Arduinos, используя два модуля XBee и XBee shield.Связь XBee с Arduino

я устанавливаю координатор:

ATID 2001 
ATDL 4079D623 
ATDH 0013A200 

и конечное устройство с

ATID 2001 
ATDL 4079D621 
ATDH 0013A200 

Я затем загрузить простой код для двух платформ 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); 
} 

Но данные не проходит от оконечного устройства к координатору. Мне что-то не хватает?

+0

Просьба предоставить дополнительную информацию. С какой версией Arduino вы работаете? И какая версия щита Xbee? – djf

+0

Привет, я использую Arduino UNO. Я также использую щит Xbee, но где я могу найти номер версии? – lbedogni

+0

На стороне приемника какой вывод вы видите на последовательной консоли? Кроме того, ознакомьтесь с [этой нитью] (http://forum.arduino.cc/index.php/topic,28560.0.html). Кажется, что проблема с 57600 бит/с на SoftwareSerial на Arduino UNO. Вы пробовали еще одну скорость для Xbee? – djf

ответ

0

Я не работал с Zigbees со времен колледжа, но я думаю, вы могли бы перепутать свои режимы адресации. Есть локальная адресация, и есть глобальная адресация. Для локальной адресации ATDH следует установить в 0. Вам нужно указать только ATID, ATMY, ATDL. С другой стороны, при использовании глобальной адресации вам необходимо указать ATID, ATDL и ATDH.

Посмотрите эту тему explaining how to connect to XBee modules over at electronics.stackexchange.

+0

Я попытался следовать учебнику, но всякий раз, когда я пытаюсь изменить адрес с помощью ATMY, это дает мне ошибку. – lbedogni

+0

Вы не можете установить ATMY, это только для чтения. Установите ATDH и ATDL первого XBee в значения ATSH и ATSL второго XBee и наоборот. В качестве ярлыка вы можете установить ATDH и ATDL как на 0 на маршрутизаторе, чтобы передать радиопередачу координатору. Попробуйте установить ATBD на 3 (9600 бод) на оба модуля XBee и откройте этот последовательный порт со скоростью 9600 бод, чтобы убедиться, что он работает правильно. – tomlogic

+0

ATDH всегда 0013A200 для xbees Я думаю, что проблема в канале SC-Scan – MAZux

Смежные вопросы