Плата расширения Wireless Proto
Плата расширения Wireless Proto - вид спереди |
Общие сведения
С помощью специального беспроводного модуля плата расширения Wireless Proto позволяет платам Ардуино взаимодействовать между собой на расстоянии без использования проводов. Конструкцией платы расширения предусмотрено использование беспроводных модулей XBee от компании Digi либо других модулей с аналогичным расположением выводов. Радиус действия такого модуля может достигать 30 метров в помещении и до 100 метров на открытом пространстве (в пределах прямой видимости). В обычном режиме модуль может работать в качестве последовательного приемопередатчика. Командный режим работы модуля позволяет конфигурировать настройки радиопередатчика и тонкости его работы с mesh-сетями сложной топологии. На плате расширения для каждого вывода XBee-модуля предусмотрена отдельная контактная площадка.
В данной плате расширения нет разъема для подключения SD-карты памяти.
Встроенный переключатель позволяет соединять беспроводной модуль либо с USB-UART преобразователем, либо с микроконтроллером.
Схема и исходный проект
Файлы EAGLE: arduino_WirelessShield_Proto_v3-reference-design.zip
Схема: arduino_WirelessShield_Proto_v3-schematic.pdf
Положения переключателя
На плате расширения Wireless Proto есть встроенный переключатель обозначенный как "Serial Select". Данный переключатель позволяет выбрать, к какому устройству будет подключен XBee-модуль: к микроконтроллеру (ATmega8 или ATmega168) или к микросхеме преобразователя USB-UART, расположенной на плате Ардуино. Взаимодействие беспроводного модуля с обеими устройствами осуществляется по последовательному интерфейсу.
В положении Micro, вывод DOUT беспроводного модуля соединен с выводом RX микроконтроллера, а вывод DIN - с TX. В этом случае беспроводной модуль будет взаимодействовать с микроконтроллером. Помните, что выводы микроконтроллера RX и TX будут по-прежнему соединены с выводами TX и RX USB-UART преобразователя (соответственно). Поэтому, данные, отправляемые микроконтроллером, будут поступать не только на беспроводной модуль, но и передаваться на компьютер через USB. При таком положении переключателя микроконтроллер нельзя прошить через USB. |
|
В положении USB, вывод DOUT беспроводного модуля соединен с выводом RX USB-UART преобразователя, а вывод DIN - с выводом TX. Фактически это позволяет модулю непосредственно взаимодействовать с компьютером без участия микроконтроллера. Для корректной работы платы расширения в этом режиме, необходимо прошить в микроконтроллер программу-заглушку (приведенную ниже) либо выпаять его из платы. |
Программа-заглушка:
void setup() { } void loop() { }
Работа с беспроводной сетью
Плата расширения Wireless Proto может работать с различными беспроводными модулями, распиновка которых аналогична распиновке модулей XBee. Все инструкции, приведенные ниже, относятся к модулям XBee 802.15.4 (иногда их относят к классу "Series 1", чтобы отличать от модулей Series 2, хотя название "Series 1" не фигурирует в официальной документации), а также к модулям XBee ZNet 2.5 или XBee ZB, известными также под названием "Series 2". Все модули имеют один и тот же набор базовых параметров, и отличаются друг от друга функциональностью и топологиями сетей, с которыми они могут работать. Взаимодействовать друг с другом могут только модули одной серии.
Адресация
Существует множество параметров, которые необходимо задать для корректного взаимодействия двух модулей (хотя, как правило, все модули по умолчанию уже настроены на взаимодействие друг с другом). Во-первых, они должны работать в одной и той же сети, идентификатор которой задается параметром ID (подробное описание параметров приведено ниже в разделе "Настройка"). Во-вторых, модули должны работать с одним и тем же каналом, который задается параметром CH. В-третьих, у передающего модуля должен быть задан адрес модуля-получателя (параметры DH и DL), находящегося в пределах его сети. Существует несколько вариантов значения этих параметров:
- Если параметр DH модуля равен 0, и значение DL меньше 0xFFFF (т.е. 16 бит), то передаваемые данные будут получены любым модулем, у которого 16-битное значение параметра MY совпадает с DL.
- Если DH равен 0 и DL равен 0xFFFF, то передаваемые данные будут получены всеми модулями.
- Если значение DH не равно 0, или значение DL больше 0xFFFF, то передаваемые данные будут получены только тем модулем, серийный номер которого совпадает с установленным адресом получателя (т.е., у которого параметр SH совпадает со значением DH передающего модуля, а параметр SL - со значением DL соответственно).
Опять таки, проверка адреса модулей на совпадение осуществляется только в пределах одной и той же сети. Если два модуля работают в разных сетях или на разных каналах, то они не смогут взаимодействовать друг с другом, независимо от их адресов.
В зависимости от прошивки, модули класса "Series 2" могут работать в качестве координатора (Coordinator), маршрутизатора (Router) или конечного устройства (End Device). Поэтому, перед работой с беспроводным модулем необходимо выбрать его прошивку, соответствующую требуемой функциональности. Для адресации модулей Series 2 используются значения только 2 байт: SL (serial low) и SH (serial high).
Настройка
Ниже приведены несколько наиболее важных параметров, используемых при настройке XBee-модулей. Пошаговые инструкции, описывающие процесс чтения и записи этих параметров с помощью AT-команд, описаны здесь:
- руководство к плате расширения Wireless с модулями 802.15.4.
- руководство к плате расширения Wireless с модулями ZNet 2.5
Не забывайте, что каждая команда, отправляемая модулю, должна начинаться с символов "AT" (например, чтобы считать параметр ID, необходимо отправить команду ATID).
Команда | Описание | Возможные значения | Значение по умолчанию |
ID |
ID - идентификатор сети, в которой работает XBee-модуль. | 0 - 0xFFFF | 3332 |
CH |
Канал, на котором работает XBee-модуль. | 0x0B - 0x1A | 0X0C |
SH и SL |
Серийный номер XBee-модуля (SH содержит старшие 32 бита, SL - младшие 32 бита). Параметр только для чтения. |
0 - 0xFFFFFFFF (как SH, так и SL ) |
уникальное у каждого модуля |
MY |
16-битный адрес модуля. | 0 - 0xFFFF | 0 |
DH and DL |
Адрес получателя (DH содержит старшие 32 бита, DL - младшие 32 бита). |
0 - 0xFFFFFFFF (как DH , так и DL ) |
0 (как DH , так и DL ) |
BD |
Скорость последовательной передачи данных между модулем и Ардуино или модулем и компьютером. | 0 (1200 bps) 1 (2400 bps) 2 (4800 bps) 3 (9600 bps) 4 (19200 bps) 5 (38400 bps) 6 (57600 bps) 7 (115200 bps) |
3 (9600 baud) |
Примечание: в приведенной выше таблице некоторые значения в колонках "Возможные значения" и "Значение по умолчанию" записаны с префиксом "0x" (который указывает на шестнадцатеричную систему счисления). Однако для задания настроек модуля этот префикс не используется.
Вот еще несколько полезных команд для конфигурирования XBee-модулей (каждую команду также необходимо предварять префиксом AT):
Команда | Описание | ||
RE |
Сбросить настройки на заводские (помните, что без последующего вызова команды WR изменение настроек любой командой является временным). | ||
WR |
Записать измененные параметры в энергонезависимую память (для длительного хранения). Без вызова этой команды все измененные данные будут утеряны при отключении питания. | ||
CN |
Выйти из командного режима. (Если в течение нескольких секунд не посылать модулю никаких команд, то он сам выйдет из командного режима по таймауту, даже без команды CN). |
Для получения дополнительной информации о настройке XBee-модулей, см. инструкцию по эксплуатации модулей 802.15.4 или инструкцию по эксплуатации модулей ZB от компании Digi International.