2016-06-10 10 views
0

Я пытался настроить два XBees для связи с последних трех дней. X-CTU, по-видимому, является идеальным вариантом для этого, однако, это реальная угроза, когда дело доходит до обнаружения XBees на последовательных портах.Не могу получить ответ OK от XBee на «+++»

Я смог обнаружить один XBee на удачу только один раз, а другой никогда не появлялся. Я даже заменил оба моих XBees. Я пытаюсь выяснить альтернативу, то есть использовать последовательную консоль для выполнения операции. Я не смог получить ответ OK от устройства после выдачи +++.

Поскольку у меня не было хорошего опыта работы с ПК для связи с устройствами ESP8266 ранее, я попытался выяснить обходное решение, используя второй последовательный порт Arduino для отправки таких сообщений конфигурации и чтения ответа путем печати это на стандартной последовательной консоли.

Также представляется, что сообщения конфигурации могут отличаться в зависимости от режима устройства. Если он находится в режиме API, кадр должен быть сгенерирован в определенном формате (для этого я использую генератор кадров X-CTU).

Почему я не могу получить ответ от XBee после выдачи +++?

Устройства серии 1 XBees, а точный номер детали - XB24-AWI-001. Любая помощь высоко ценится.

+0

Вы уважаете время охраны до и после «+++»? IIRC - это одна полная секунда; немного больше не может повредить. Конечно, он должен быть в правильной скорости. Вы можете выполнить последовательность при разных бодах. Я построил систему, которая могла бы обрабатывать совершенно новые Xbees на 9600 или сконфигурированных модулях на 115200 путем тестирования обоих бодрет. (Новые модули затем будут настроены в системе, а затем перейдут в режим API.) – sawdust

+0

* «Я попытался разобраться в обходном пути, используя второй последовательный порт Arduino» * - Какой Arduino? Вы используете устройство 5v или 3.3v? – sawdust

ответ

1

Вы считали, что XBee находится в режиме API? Возможно, вам стоит подумать о том, чтобы перепрограммировать устройство в режиме AT, чтобы начать играть с ним.

Чтобы проверить, если он находится в режиме API, вы можете обратиться к руководству, глава 9 для структуры режима API:

В основном, дейтаграмма в режиме API начинается с ~ , и он построен следующим образом:

[0x7E|length(2B)|Command(1B)|Payload(length-1B)|Checksum(1B)] 

Как 0x7E является ~ на а SCII стол, вы должны попробовать ввести фиктивную дейтаграмму в последовательном терминальном сеансе как:

~ <C-d> AAAA 

N.B .: The <C-d> символы означает Control-d Юникса, который является EOF характера..

Очевидно, что такое сообщение вряд ли будет работать, и вы получите ответ с просьбой отправить эту дейтаграмму снова. Это потому, что символ EOF является ASCII-кодом 4, это означает, что длина дейтаграммы будет 4 байта. Итак, вы отправляете четыре ложных байта, контрольная сумма будет A, что, скорее всего, будет правильным, и приемник предположит, что передача повреждена. Таким образом, датаграмма будет запрошена снова, то есть вы получите дейтаграмму для выполнения этого запроса.

Хотя я могу только посоветовать вам рассмотреть возможность запуска его только в режиме API (более надежный и лучший API, но вы не можете поиграть с ним и понять, что происходит, нажав на линию с помощью логического анализатора ... хотя давая достаточно времени, вы начнете читать API-дейтаграммы, такие как английский ☺).

я написал страницу с несколькими ресурсами, чтобы проверить, как перепрошить XBees:

и вот другие советы от другого совершенно несвязанной проекта:

И я также написал LIB (направлен на beaglebones, но вы можете настроить его для использования), который обрабатывает режим API 2 с XBees:

но я уверен, с немного поиска Google, вы можете найти более широко используемые библиотеки, чем те, и даже некоторые из них предназначены для запуска на Arduinos (NB: эта библиотека была первоначально написана для Arduinos, а затем адаптирована для работы в Beaglebone, поэтому для вспять операции не следует быть жестким).

+1

Если он находится в режиме API, не будет выдавать '+++', перейдите в режим AT Command (Transparent)? –

+0

Проверьте, чтобы документ был безопасным, но я так не думаю. Вам необходимо перепроверить XBee, используя X-CTU (или альтернативу) для изменения режимов. – zmo

+0

Я думаю, мне придется использовать xb-comm, как указано на странице руководства по перепрофилированию XBee, поскольку X-CTU вызывает проблемы. Один последний вопрос для модулей серии 1, из которых следует прошивка из этого списка? ftp://ftp1.digi.com/support/firmware/update/ –