2015-12-16 11 views
3

Каков правильный способ получить RSSI для каждого конечного устройства?В XBee ZigBee, как получить RSSI всех конечных устройств от координатора

Сценарий: Используя прошивку ZigBee на радиомодулях XBee Series 2, режиме API, у меня есть один координатор и несколько конечных устройств. Каждые несколько секунд, каждый конец-устройство посылает координатор пакет содержит информацию, такие как датчик температуры ...

  1. Я не видеть поле RSSI в любом кадре API для разбора.

  2. Если я просто слепо прочитал pin6 (или используя команду DB), в котором хранился RSSI последнего полученного пакета, я до сих пор не знаю, к какому конечному устройству принадлежит этот RSSI.

+0

Hi, Вы используете микроконтроллер на координаторе? терминал linux? Вы используете библиотеку? вы можете получить эту информацию с помощью некоторой базовой функции из библиотеки Xbee :) – Thanatheos

+0

Я использую Galileo/Linux для координатора и библиотеки XBee C https://github.com/digidotcom/xbee_ansic_library. Я вижу, что люди используют функцию getRSSI() в Arduino, но я не использую Arduino. –

ответ

2

Я не верю, что он доступен как поле в любом из фреймов API, которые вы собираетесь получить. Вы можете использовать команду ATDB для получения значения RSSI, но, как вы заявляете, вы не знаете, с каким удаленным устройством оно связано.

Если вы действительно используете конечные устройства (а не маршрутизаторы), вы можете отправить удаленную команду ATDB для каждого, и ответ даст вам указание на уровень сигнала от родительского маршрутизатора конечного устройства, поскольку все кадры будут поступать с этого единственного устройства (как последний прыжок).

Даже с маршрутизатором вам, вероятно, гарантируется получение значения RSSI удаленного кадра запроса AT, хотя вы не будете знать, какая радиостанция в сетчатой ​​сети была последним прыжком для вашей цели.

Если у вас есть сеть координатора и конечных устройств, координатор является родителем, и вы будете иметь представление о том, насколько хорошо конечные устройства могут получать - этого может быть достаточно для вашего приложения.

+0

Не использовать функцию getRSSI(), когда он получает пакет на координаторе? – Thanatheos

+0

Как работает функция 'getRSSI()'? Как указано в комментарии к вопросу, это особенность библиотеки Arduino и недоступна в используемой библиотеке. И, согласно документации API Frame Frame, для RX16 и RX64 фреймов установлено значение 0 для прошивки ZigBee (XBee Series 2). – tomlogic

+0

О, ладно, спасибо за информацию ^^ Я видел некоторые документы, которые используют RSSI в S2, чтобы попробовать локализацию конечного устройства. Я проверю позже, потому что я запутался – Thanatheos

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

  • Нет связанных вопросов^_^