Название говорит само за себя. Беспроводная связь позволяет связывать и общаться двум и более устройствам без проводов. Беспроводные передатчики передают данные через свободное пространство, излучая электромагнитные волны на определенной частоте. Модуль ХВее передает данные на частоте
2,4 ГГц, на которой работают и многие другие устройства, например WiFi-маршрутизаторы
Модули ХВее, как правило, соединяют согласно конфигурации PAN "точка-точка" или "точка-многоточка". Схема "точка-точка" удобна, когда необходимо
заменить проводную последовательную связь между двумя удаленными устройствами беспроводной. Конфигурация "точка-многоточка" часто используется для создания распределенных сетей датчиков.
Радиомодули XBee компании Digi относятся к классу ZigBee-модулей с уже предустановленным программным обеспечением, благодаря которому значительно сокращаются сроки разработки конечного изделия и упрощается процесс передачи данных. При этом предполагается, что модуль, в большинстве случаев, работает под управлением внешнего хост-процессора. В то же время производитель допускает загрузку в модуль собственного приложения пользователя, которое при этом должно самостоятельно взаимодействовать со стеком ZigBee, подключаемым на этапе компиляции программы.
Существуют специальные переходники— платы расширения (рис. 11.4), позволяющие легко подключить модуль ХВее к плате Arduino. Есть несколько разновидностей ХВее-переходников, обладающих одинаковыми функциями и незначительно отличающихся друг от друга.
Рассмотрим функции плат расширения ХВее.
Arduino Wireless Shield
Sparkfun ХЬее Shield
Cooking Hacks ХВее Shield
Большинство плат Arduino работает от источника 5 В, логические уровни также находятся в диапазоне от 0 (низкий уровень) до 5 В (высокий уровень). Напряжение питания модулей ХВее равно 3,3 В, логические уровни тоже другие. Хотя у Arduino есть встроенный стабилизатор на 3,3 В, его ток недостаточен для питания ХВее-модуля. Поэтому на большинстве ХВее-переходников установлен линейный стабилизатор для питания модуля ХВее.
Согласование логических уровней
Для реализации обмена UART соединяют контакты Тх и Rx платы Arduino и модуля ХВее, однако при этом необходимо учитывать разный логический уровень для Arduino и ХВее. Сигналы нужно привести к одному уровню ( согласовать логические уровни). В различных моделях плат расширения это реализовано поразному.
Светодиодные индикаторы
На большинстве плат расширения установлены два светодиодных индикатора:
+ Associate -мигает, когда модуль работает в режиме последовательного обмена данными;
+ RSSI-загорается на короткое время при получении данных.
- 227 -
Перемычка или переключатель выбора UART
Модули ХВее общаются с Arduino через последовательный универсальный асинхронный приемопередатчик (UART) по контактам Rx и Тх. На многих платах Arduino (кроме Mega и Due) есть один доступный UART, который к тому же осуществляет USB-соединение с компьютером для программирования и отладки. На плате Leonardo тоже один UART (контакты Rx и Тх), но они не дуплексированы, т. к. программный интерфейс USB непосредственно встроен в микроконтроллер.
В случае платы Arduino Uno возникает вопрос: как модуль ХВее и компьютер подключить к одному разъему UART. Схема соединения контактов Rx и Тх (при подключении модуля ХВее через плату расширения) приведена на рисунке:
Обратите внимание на надпись "Коллизии" на рисунке. Подумайте, что произойдет, если модуль ХВее и ваш компьютер будут одновременно передавать данные на плату Arduino. Как Arduino узнать, откуда приходят данные? Если данные будут передаваться одновременно, произойдет так называемая коллизия, и информация исказится. Значит, плата Arduino не сможет одновременно общаться с компьютером и модулем ХВее по последовательному порту. Решить эту проблему можно двумя способами:
• отсоединять переходник ХВее при программировании платы Arduino;
• установить на переходнике ХВее перемычку или переключатель для подключения к плате Arduino.
Теперь при необходимости запрограммировать плату Arduino нужно либо отсоединить переходник ХВее, либо установить в требуемое положение переключатель (перемычку).