Беспроводная двухсторонняя связь XBee

У меня есть простая сеть из трех узлов XBee (версия 2), состоящая из одного координатора и двух маршрутизаторов. Каждый XBee подключен к Arduino. Из моего исследования я могу отправить сообщение через последовательный интерфейс от маршрутизаторов к узлу-координатору.

На координатор я просто звоню:

while(xbeeSerial.available()){
    char c = xbeeSerial.read();
    ...
}

для чтения из последовательного соединения.

На маршрутизаторах я отправляю сообщения через последовательное соединение следующим образом:

xbeeSerial.print(...);

Мой вопрос: есть ли способ отправить последовательную широковещательную рассылку с узла координатора на маршрутизаторы? Нужно ли просто звонить .print() координатору, или мне нужно сделать что-то еще? Из того, что я пробовал, просто вызов .print() на координаторе не транслируется на узлы маршрутизатора.


person John Ericksen    schedule 26.01.2013    source источник


Ответы (1)


Вы должны установить для всех адаптеров Xbee одинаковое значение PAN ID, чтобы они могли видеть друг друга. Затем для вещания вы должны установить адрес назначения ниже FFFF. Теперь вы можете транслировать на все XBees.

Подробное объяснение: https://sites.google.com/site/xbeetutorial/xbee-introduction/zigbee_setup

Я делал что-то подобное раньше, просто следуйте инструкциям (специально устанавливая уникальный идентификатор панорамы), вы это сделаете.

person Vahid Farahmand    schedule 26.01.2013
comment
Здорово. Я просмотрю документы и дам вам знать, если у меня возникнут проблемы. - person John Ericksen; 26.01.2013
comment
Кажется, я сделал шаг назад. После перенастройки координатора и маршрутизаторов я не могу отправлять сообщения между ними. Пытаюсь понять, что не так. - person John Ericksen; 27.01.2013
comment
Вы установили правильную скорость передачи данных для обоих? - person Vahid Farahmand; 27.01.2013
comment
Ок, вроде вернулся туда, где могу общаться между роутерами, а не от координатора наружу. Мой Pan ID идентичен для всех трех xbees, а DH/DL маршрутизатора = 0/0, тогда как DH/DL координатора = 0/FFFF, а скорость передачи установлена ​​на 9600 на каждом. Есть идеи? - person John Ericksen; 27.01.2013
comment
и когда вы передаете сообщение, используя FFFF в качестве младшего адреса получателя, только один из них получает сообщение или никто? - person Vahid Farahmand; 27.01.2013
comment
Ни один из маршрутизаторов не получает сообщение, переданное от координатора. - person John Ericksen; 27.01.2013
comment
А, я понял. Кажется, я принял широковещательную передачу от координатора за сообщение от другого маршрутизатора. Вроде все нормально работает. Спасибо за вашу помощь. - person John Ericksen; 27.01.2013