На самом деле я хочу реализовать протокол XMesh с модулями XBee Series 2. Я реализую этот протокол с 1 координатором, 2 маршрутизаторами и двумя конечными устройствами. В соответствии с этим протоколом конечное устройство должно выбрать своего родителя на основе linkcost (linkcost = 1/(linkquality)). Эта качественная ссылка измеряется путем отправки некоторых сообщений (ожидаемых сообщений) на 2 маршрутизатора с двух конечных устройств. Из ответа состояния передачи я могу подсчитать полученные сообщения, используя API-интерфейс arduino XBee library (linkquality = (полученные сообщения)/(ожидаемые сообщения)). Эти конечные устройства должны выбирать один родительский узел среди двух маршрутизаторов.Как заставить конечное устройство xbee s2 выбрать конкретного родителя с помощью api или в режиме?
Но проблема в том, что модули XBee Series 2 уже имеют встроенный протокол, который формирует adhoc-сеть «на лету». Конечные устройства также выбирают родителя на основе того, какой маршрутизатор обеспечивает наилучшее покрытие сети на месте.
Как я могу заставить конечные устройства выбрать конкретный маршрутизатор в качестве его родителя на основе минимальной ссылки (я объяснил это выше), используя режим API (я использую библиотеку Arduino XBee)?
Ниже моя диаграмма, сеть ..
BS-> Базовая станция (координатор)
0,1-> Маршрутизаторы
2,3-> конечные устройства
Я добавлю к этому, что модули XBee включают в себя тип фрейма API, который позволяет указать исходную маршрутизацию - список узлов для использования в качестве хмеля для доставки сообщения. Я считаю, что это может быть полезно в больших сетях, где интеллектуальные узлы могут управлять таблицей маршрутизации, превышающей то, что может хранить обычный ZigBee-узел. – tomlogic