- Требования к оборудованию
- Настройка модулей XBee с помощью XCTU
- Программирование и тестирование связи XBee с использованием Arduino
В предыдущих уроках мы узнали о протоколе ZigBee и его архитектуре, а также узнали о беспроводной связи между двумя модулями Xbee. Теперь в этом руководстве мы будем сопрягать модуль XBee с платой Arduino Uno. XBee, подключенный к плате Arduino, будет действовать как приемник и будет связываться по беспроводной сети с другим модулем XBee, который последовательно подключен к ноутбуку с помощью платы Explorer Board. Итак, давайте продолжим изучение беспроводной связи Arduino с помощью XBee.
Требования к оборудованию
- 1 х Arduino Uno
- 2 модуля XBee Pro S2C (можно использовать любую другую модель)
- 1 плата Xbee explorer (опционально)
- 1 х секционная плата Xbee (опционально)
- USB-кабели
- Светодиоды
Настройка модулей XBee с помощью XCTU
Как мы узнали из предыдущих руководств, модуль XBee может действовать как координатор, маршрутизатор или конечное устройство, но его необходимо настроить для работы в желаемом режиме. Поэтому перед использованием модулей XBee с Arduino мы должны настроить эти модули с помощью программного обеспечения XCTU.
Для подключения модуля XBee к ноутбуку используется преобразователь USB в последовательный порт или специально разработанная плата проводника. Просто подключите модуль XBee к плате Explorer и подключите его к ноутбуку с помощью кабеля USB.
Если у вас нет платы преобразователя или проводника, то плату Arduino можно использовать в качестве устройства USB для последовательного порта, которое может легко взаимодействовать с XBee и ноутбуком. Просто загрузите пустой скетч на плату Arduino, и теперь он может вести себя как конвертер USB в последовательный.
Соединения для взаимодействия модуля ZigBee с Arduino показаны на принципиальной схеме.
Подключения:
- Tx (pin2) XBee -> Tx платы Arduino
- Rx (pin3) Xbee -> Rx платы Arduino
- GND (pin10) Xbee -> GND платы Arduino
- Vcc (Pin1) Xbee -> 3.3 В платы Arduino
В этом руководстве для настройки модулей XBee используется плата Explorer.
Загрузите программное обеспечение XCTU по этой ссылке и установите его. После загрузки и установки программного обеспечения XCTU откройте его и убедитесь, что ваш модуль XBee правильно подключен. Проверьте COM-порт платы Arduino в диспетчере устройств.
Шаг 1: - Теперь нажмите кнопку поиска. Это покажет вам все RF-устройства, подключенные к вашему ноутбуку. В нашем случае он покажет только один модуль XBee.
Шаг 2: - Выберите последовательный порт платы Explorer / Arduino и нажмите Далее.
Шаг 3: - В следующем окне установите параметры USB-порта, как показано ниже, и нажмите «Готово».
Шаг 4: - Выберите обнаруженное устройство и нажмите « Добавить выбранное устройство» . Этот процесс добавит ваш модуль XBee в панель управления XCTU.
Шаг 5: - Теперь вы можете настроить свой модуль XBee в этом окне. Используйте либо AT-команды, либо введите данные вручную. Как видите, на левой панели отображается R, что означает, что Xbee находится в режиме маршрутизатора. Мы должны сделать его координатором передающей части.
Сначала обновите прошивку, нажав кнопку «Обновить прошивку».
Шаг 6: - Выберите семейство продуктов вашего устройства, которое доступно на задней панели модуля XBee. Выберите набор функций и версию прошивки, как выделено ниже, и нажмите «Обновить».
Шаг 7: - Теперь вы должны предоставить данные ID, MY и DL, чтобы установить соединение с другим XBee. ID остаются одинаковыми для обоих модулей. Только обмен данными MY и DL, т.е. MY для приемника XBee становится DL передатчика XBee (координатора), а DL для приемника XBee становится MY передатчика XBee. Сделайте CE координатором и нажмите кнопку Write. Как показано ниже.
ATDL |
НА МОЙ |
||
Координатор XBee 1 |
|||
Конечное устройство XBee 2 |
Шаг 8: - После записи вышеуказанных данных в передатчик, отключите его от платы проводника и подключите ко второму модулю XBee. Повторите тот же процесс, что и выше, только измените DL, MY и CE. Поскольку мы сделаем второй XBee как конечное устройство, в раскрывающемся меню CE выберите конечное устройство и нажмите кнопку записи.
Шаг 9: - Теперь наши модули XBee готовы к взаимодействию с платой Arduino. Мы будем подключать передатчик XBee к ноутбуку и приемника XBee с Arduino платы. Затем подайте команды на приемную часть с ноутбука.
Принципиальная схема приемной части:
Подключения:
- Tx (pin2) XBee -> Rx платы Arduino
- Rx (pin3) Xbee -> Tx платы Arduino
- GND (pin10) Xbee -> GND платы Arduino
- Vcc (Pin1) Xbee -> 3.3 В платы Arduino
Если вы используете плату Arduino для подключения передатчика ZigBee к ноутбуку, подключения будут такими же, как и при программировании ZigBee.
Программирование и тестирование связи XBee с использованием Arduino
Теперь мы напишем код для Arduino-приемника, чтобы он включал светодиод, когда принимающая часть получает «a», и мигать светодиодом, когда он получает «b», для остальных символов светодиод останется выключенным.
Код простой и понятный. Мы просто проверим входящие символы с помощью функции Serial.available () и сохраним этот символ в переменной с помощью Serial.read (); функция и сопоставьте ее с 'a' и 'b'. Если совпадение правильное, выполните задание, указанное в условии. Полный код для части Receiver приведен в конце. Загрузите код в часть приемника Arduino. Перед загрузкой удалите провода Tx и Rx XBee.
Теперь мы готовы протестировать наши передатчик и приемник. Чтобы дать команду передатчику, мы будем использовать консольный терминал XCTU. Щелкните значок консоли рядом с параметром настроек. Затем нажмите кнопку «Открыть», чтобы подключить XBee к ноутбуку.
Введите "a" в журнал консоли. Вы увидите, что светодиод загорится на 2 секунды, после чего введите «b», чтобы светодиод мигнул 5 раз.
Вы также можете подключить передатчик XBee к плате Arduino, просто немного изменив код приемника. Вместо функции Serial.read () используйте функцию Serial.println () для отправки символов.
Посмотрите демонстрационное видео, приведенное ниже.
Эта установка XBee-Arduino может использоваться для создания множества полезных беспроводных приложений, таких как система домашней автоматизации, комната для чатов и т. Д.