Я играю с двумя Xbees, один определен как координатор, другой как маршрутизатор. Я хочу читать информацию о сети с возможностью взаимодействия, поэтому я решил использовать сообщения ZDO.
Я отправляю такое сообщение ((идентификатор профиля 0x00 00, идентификатор кластера 0x00 31) и получаю, например, следующий ответ от маршрутизатора:
7E 00 2D 91 00 13 A2 00 40 E5 F0 B4 FB CE 00 00 80 31 00 00 01 2C 00 01 00 01 58 CE C1 8D 7A 3F 2D 40 AB F0 E5 40 00 A2 13 00 00 00 04 02 00 FF 33
Идентификатор кластера правильных ответов: 0x 80 31
Сосредоточив внимание на данных RF, у меня есть следующее:
2C 00 01 00 01 58 CE C1 8D 7A 3F 2D 40 AB F0 E5 40 00 A2 13 00 00 00 04 02 00 FF
Теперь я пытаюсь декодировать эту шестнадцатеричную строку и сталкиваюсь с некоторыми проблемами.
С моей точки зрения, эта строка должна быть закодирована, как определено в спецификации ZigBee от 2012 года, в таблицах 2.126 и 2.127.
К сожалению, это не работает для меня. Если я проигнорирую, что первый байт должен быть статусом, и возьму первые два из них, я смогу прочитать NeighborTableEntries, StartIndex, NeighborTabelListCount. Но когда дело доходит до NeighTableList, я могу прочитать только расширенный идентификатор PAN, расширенный адрес и сетевой адрес, остальная часть строки не соответствует стандарту. Я делаю что-то не так или xbee не соответствует стандарту?