2025 Автор: John Day | [email protected]. Последнее изменение: 2025-01-13 06:58
Xbees - это небольшие радиочастотные модули, которые могут быть полезны для отправки информации туда и обратно, а также для некоторых других, более специфических целей. В этом проекте я использую их для получения значений индикатора мощности принимаемого сигнала (RSSI), чтобы оценить расстояние между двумя модулями Xbee. Я хотел поделиться своей работой над этим проектом, потому что я видел очень мало полных руководств по получению RSSI с Xbees. Я обнаружил, что один простой способ прочитать значения RSSI Xbee и интерпретировать их - это Arduino. Для этого урока вам понадобится небольшое количество знаний Arduino, чтобы иметь возможность загружать данный код и редактировать его при необходимости. Встроенный в Arduino последовательный монитор может отображать значения RSSI, а затем, если вы хотите пойти дальше, вы можете подключить светодиодный или ЖК-экран, чтобы интерпретировать их без компьютера.
В этом конкретном руководстве используется один модуль Xbee3 «передатчик», который запрограммирован в Micropython, и один «приемник» xbee3, который подключен к Arduino Uno через экран Xbee. Также можно отправлять пакеты, подключив их обоих к их собственному Arduino Uno, что описано в чьем-то онлайн-руководстве здесь. Модули Xbee3 необходимы, потому что это единственные модули Xbee, на которых работает Micropython, и они являются одним из немногих Xbee, предлагающих протокол 802.15.4, который включает значения RSSI в отправленные пакеты.
Запасы
- XBee3 (x2)
- антенна u. FL (x2)
- Arduino Uno - для этой модели разработан щит Xbee
- Соединительный шнур между Arduino Uno и USB-портом компьютера (USB A - USB B)
- XBee Щит (x1)
- Адаптер XBee - USB (x1)
Примечание. Было бы неплохо получить два адаптера, чтобы оба Xbees можно было настроить одновременно, а также это хорошо для отладки, потому что вы также можете отправлять пакеты через XCTU.
Чтобы сделать его автономной системой (необязательно):
- Портативный блок питания, который не отключается при низком потреблении тока или при подключении аккумулятора к разъему USB.
- Батарея к разъему Arduino и батарея 9 В
Шаг 1. Настройка оборудования
Физическая настройка довольно проста. Припаяйте несколько контактов разъема к экрану Xbee (вдоль нижней части снаружи, где есть отверстия), а затем вставьте его на место в верхней части Arduino. ВОПРОСЫ НАПРАВЛЕНИЯ - Совместите каждый Xbee с белой дорожкой на печатной плате в верхней части экрана («приемник») или адаптера («передатчик»). Для подключения антенн u. FL я предлагаю это руководство от Sparkfun.
Шаг 2: настройка
Настройка компьютера может быть немного сложнее. Сначала загрузите XCTU. Эта программа используется для настройки Xbees. Документация Xbee3 - бесценный ресурс по XCTU и настройке. Затем выполните следующие действия с каждым Xbee, подключенным к компьютеру через адаптер (светодиод PWR на адаптере должен загореться).
В XCTU нажмите «Обнаружить радиомодули…» (значок - Xbee с увеличительным стеклом в верхнем левом углу), нажмите «Далее» и затем закончите. Затем подождите, пока Xbee не появится в поиске, щелкните его и нажмите «Добавить выбранные устройства». Щелкните значок Xbee, который появляется в левой части экрана, и дождитесь загрузки настроек, прежде чем щелкнуть «Обновить прошивку». Следуя первому рисунку выше, установите версию прошивки 802.15.4 и самую новую версию. Затем настройте Xbee для «передачи» в соответствии с настройками «передачи» на втором изображении и сделайте то же самое для Xbee «приема». Вам также нужно будет перевести Xbee "получение" в режим API 2, чтобы взаимодействовать с Arduino (это очень легко найти в Google, если вам трудно его найти).
Шаг 3: Код
Для Arduino вам нужно будет загрузить первый прикрепленный файл на «приемник» Xbee. Вам также необходимо загрузить библиотеку Xbee-Arduino, которая находится здесь. Arduino - это простой и хорошо документированный язык, поэтому, если у вас возникнут какие-либо проблемы, веб-сайт Arduino - ваш друг.
Второй прикрепленный файл - это код Micropython. Следуйте этой инструкции, чтобы загрузить код в "передатчик" Xbee.
Шаг 4: Проверьте это
Теперь, когда все необходимые компоненты на месте, вы, наконец, можете отправлять пакеты. Убедитесь, что на «передатчике» Xbee запущен код, а затем подключите его к источнику питания (также можно оставить подключенным к компьютеру). Для «приемника» Xbee сначала оставьте Arduino подключенным к компьютеру, а после загрузки кода откройте монитор последовательного порта. Затем последовательный монитор должен показать значения (примерно от 20 до 70).
В ходе собственного тестирования я обнаружил, что на больших открытых пространствах значения RSSI коррелируют с расстоянием до 15 футов, а в небольших помещениях - до 5 футов. Это из-за многолучевого распространения, распространенной проблемы, когда речь идет о радиочастотных сигналах. Я надеюсь, что это руководство было полезным, и спасибо за чтение.
Источники: другие инструкции по RSSI, RSSI с двумя arduinos / xbees, а также документация по Xbee и Arduino.