xBee.h Series 2 Проблема адреса
- Войдите на сайт для отправки комментариев
Здравствуйте! Прошу помощи, пожалуйста помогите!!
Столкнулся проблемой при работе с библиотекой <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 ).
Спасибо.
Ура! Нашёл ответ вот здесь: 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;
Всем большое спасибо! Возможно кому-то пригодиться.