РЕШЕНО!!! xBee.h Series 2 Проблема адреса

Тема в разделе "Проводная и беспроводная связь", создана пользователем SergyPozitiF1, 17 фев 2015.

  1. SergyPozitiF1

    SergyPozitiF1 Нерд

    Здравствуйте! Прошу помощи, пожалуйста помогите!!
    Столкнулся проблемой при работе с библиотекой <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 минут как и прописано в скетче. Но мне бы хотелось именно доставить сообщение конкретному адресату. В чём здесь может быть подвох, кто знает? Где искать?
    прикрепляю картинку получаемого слова при отправке - оно неправильное(такое вот формируется почему-то когда указываю адрес 0x0013A200 получается 7d33a20 ).
    Спасибо.
     

    Вложения:

  2. SergyPozitiF1

    SergyPozitiF1 Нерд

    Ура! Нашёл ответ вот здесь: 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;

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

    SergyPozitiF1 Нерд