Arduino:Продукты/Продукты Arduino/Arduino Wireless SD Shield

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску

Перевод: Максим Кузьмин
Проверка/Оформление/Редактирование: Мякишев Е.А.


Arduino Wireless SD Shield[1]

«Шилд» Arduino Wirelss SD Shield позволяет плате Arduino «общаться» по беспроводной сети при помощи беспроводного модуля. Он основан на XBee-модулях от Digi, но может использовать любой модуль с той же схемой расположения контактов. Радиус работы модуля в закрытом помещении – около 30 метров, а на открытом пространстве – около 90 метров. Этот «шилд» можно использовать как замену коммуникации типа Serial/USB или же его можно переключить в командный режим, чтобы настроить различные опции для вещания и сетевых топологий. Кроме того, каждый контакт XBee-модуля выведен на соответствующее сквозное отверстие.

«Шилд» также оснащен слотом для SD-карты. Если вы для доступа к этому слоту используете библиотеку SD, то CS-контактом будет 4-ый контакт, так что для других задач его использовать не следует. Коммуникация через SPI выполняется при помощи контактов 11, 12 и 13.

Также на «шилде» есть переключатель Serial Select, благодаря которому беспроводной модуль может коммуницировать либо с конвертером USB/Serial, либо с микроконтроллером.

С чего начать

На этой странице можно найти всю необходимую информацию о том, как настроить плату, использовать IDE Arduino и т.д.

Нужна помощь?

  • На этих форумах Arduino можно спросить о ПО
  • На этих – о проектах
  • Здесь можно запросить клиентскую поддержку о продуктах

Документация

Arduino Wireless SD Shield распространяется по принципу «open-source». То есть вы можете использовать его как базу для создания собственной платы, используя файлы ниже:

Настройки переключателя

«Шилд» Arduino Wireless SD Shield оснащен переключателем под названием Serial Select. Он определяет, как XBee подключается к последовательной коммуникации между микроконтроллером (ATmega8 или ATmega168) и чипом USB/Serial на плате Arduino.

Если переключатель стоит в положении Micro, то контакт DOUT на беспроводном модуле подключен к контакту RX на микроконтроллере, а DIN – к контакту TX на микроконтроллере. Таким образом, беспроводной модуль будет коммуницировать с микроконтроллером. Однако имейте в виду, что контакты RX и TX на микроконтроллере по-прежнему подключены к контактам RX и TX на конвертере USB/Serial. Данные от микроконтроллера будут отправлены на компьютер через USB, а также отправлены по беспроводной связи через беспроводной модуль. Кроме того, в этом режиме микроконтроллер нельзя будет программировать через USB.

Если переключатель стоит в положение USB, контакт DOUT на беспроводном модуле подключен к контакту RX на конвертере USB/Serial, а контакт DIN – к контакту TX на конвертере USB/Serial. Это значит, что модуль может коммуницировать с компьютером напрямую в обход микроконтроллера. Чтобы использовать этот режим, вам нужно запрограммировать микроконтроллер при помощи пустого скетча (см. ниже) или удалить его с платы.

Пустой скетч:

void setup() { }
void loop() { }

Типы модулей

«Шилд» Arduino Wireless SD Shield можно использовать с разными модулями, но они должны иметь ту же схему расположения контактов, что и модули XBee. Инструкции ниже предназначены для модулей XBee 802.15.4 (их иногда называют модулями 1-ой серии или Series 1, чтобы отличить от модулей 2-ой серии или Series 2; впрочем, Series 1 – это неофициальное название) и модулей XBee ZNet 2.5 или Xbee ZB, также известных как модули 2-ой серии (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 используют только адреса SL (serial low) и SH (serial high).

Конфигурация

Ниже – несколько полезных параметров для настройки модуля XBee. Пошаговые инструкции для чтения и записи при помощи AT-команд можно найти тут:

Перед отправкой команды на модуль убедитесь, что поставили вначале AT. К примеру, чтобы прочесть параметр ID, вам нужно отправить команду ATID.

Команда Описание Допустимые значения Значение по умолчанию
ID ID сети, к которой подключен модуль XBee. 0 – 0xFFFF 3332
CH Канал, к которому подключен модуль XBee. 0x0B – 0x1A 0X0C
SH и SL Серийный номер модуля XBee (SH – это старшие 32 бита, а SL – младшие). Только для чтения. 0 – 0xFFFFFFFF (и для SH, и для SL) Разные для каждого модуля
MY 16-битный адрес модуля 0 – 0xFFFF 0
DH и DL Адрес точки назначения для беспроводной коммуникации (DH – это старшие 32 бита, а DL – младшие). 0 – 0xFFFFFFFF (и для DH, и для DL) 0 (и для DH, и для DL)
BD Скорость последовательной передачи данных с платой Arduino или компьютером
  • 0 (1200 б/с)
  • 1 (2400 б/с)
  • 2 (4800 б/с)
  • 3 (9600 б/с)
  • 4 (19200 б/с)
  • 5 (38400 б/с)
  • 6 (57600 б/с)
  • 7 (115200 б/с)
  • 3 (9600 б/с)
Примечание

Хотя в последних двух столбцах значения написаны с префиксом «0x» (чтобы показать, что это шестнадцатеричные числа), модуль не будет использовать этот префикс при отправке параметров, и вам тоже не следует использовать его при отправке параметров.

Вот еще несколько полезных команд для настройки XBee-модуля (вам тоже нужно будет поставить вначале AT):

Команда Описание
RE Восстановление фабричных настроек (т.е. настроек по умолчанию). Как и при изменении параметров, выставление заводских настроек не будет записано в долговременную память, если следом не идет команда WR.
WR Запись нового параметра в долговременную память. Если не использовать WR, новый параметр будет работать только до выключения питания.
CN Выход из командного режима. Если вы не отправляли модулю команды в течение нескольких секунд, то таймаут закончится и выход произойдет автоматически, т.е. даже без использования команды CN.

Более подробно о настройке XBee-модуля смотрите в мануале по продуктам 802.15.4 и мануале по продуктам ZB.

См.также

Внешние ссылки