xBee.h Series 2 Проблема адреса

SergyPozitiF1
Offline
Зарегистрирован: 27.08.2013

Здравствуйте! Прошу помощи, пожалуйста помогите!!

Столкнулся проблемой при работе с библиотекой <xBee.h> в Arduino Uno

Я хочу передать AT команду с ардуины в самостоятельный модуль xbee т.е. имеется: 

- Arduino Uno - 1 штука;

- xBee Series 2 - 2 штуки;

- xBee Shield - 1 штука;

- xBee LilyPad - 1 штука.

Простейший скетч ардуины, который формирует посылку AT команды DIO1 HIGH & DIO1 LOW по определенному адресу, а именно 0x0013A200 0x40B58D62.

#include <XBee.h>

#include <SoftwareSerial.h>

SoftwareSerial nss = SoftwareSerial(2, 3);



uint8_t d1Cmd[] = {'D', '1'};

uint8_t d1Low[] = {0x04};

uint8_t d1High[] = {0x05};



XBee xbee = XBee();

XBeeAddress64 remoteAddress = XBeeAddress64((uint32_t) 0x0013A200, (uint32_t) 0x40B58D62);

RemoteAtCommandRequest remoteAtRequest = RemoteAtCommandRequest(remoteAddress, d1Cmd, d1Low, sizeof(d1Low));



void setup () {

delay(7000);

nss.begin(9600);

xbee.setSerial(nss);

}



void loop () {

remoteAtRequest.setCommandValue(d1Low);

remoteAtRequest.setCommandValueLength(sizeof(d1Low));

xbee.send(remoteAtRequest);

delay(5000);



remoteAtRequest.setCommandValue(d1High);

remoteAtRequest.setCommandValueLength(sizeof(d1High));

xbee.send(remoteAtRequest);

delay(5000);

}

Оба модуля xBee сдружил, они прекрасно общаются. Сами xBee настроены на 9600. В принципе всё работает, если изменить адрес т.е. в разделе адреса указать 0x00000000 0x0000ffff (широковещательный режим), то DIO1 на удалённой xBee загорается и гаснет светодиод каждые 5 минут как и прописано в скетче. Но мне бы хотелось именно доставить сообщение конкретному адресату. В чём здесь может быть подвох, кто знает? Где искать?

"7E01017107D33A2040B58D62FFFE244315D5"получаемого слова при отправке - оно неправильное(такое вот формируется почему-то когда указываю адрес 0x0013A200 получается 7d33a20 ).

Спасибо.

SergyPozitiF1
Offline
Зарегистрирован: 27.08.2013

Ура! Нашёл ответ вот здесь: http://www.digi.com/support/kbase/kbaseresultdetl?id=2199

Нашёл РЕШЕНИЕ этой проблемы вот здесь: http://www.digi.com/support/forum/40334/xbp24bz7-communicate-destination-address-works-broadcasting

В результате всё заработало, когда я правильно настроил сами модули xBee а именно:

1. и координатор и роутер сделал сброс на преустановки;

2. установил одинаковый PAN ID канал для общения;

3.выставил на обоих значение API Eneble = 2;   !!!Это важно, если работаешь с фильтрами см.первую ссылку выше

4.выставил на роутере нужные выходы т.е. Digital Out Low D1;

Всем большое спасибо! Возможно кому-то пригодиться.