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