Начало работы с Arduino Fio

Первые шаги по настройке Arduino Fio

ATmega328P на Arduino Fio поставляется с предварительно записанным загрузчиком, который позволяет загружать новый код без использования внешнего аппаратного программатора. Он использует оригинальный протокол STK500 (справка, заголовочные файлы C).

Существует два способа загрузки новых скетчей на Arduino Fio: вы можете использовать FTDI USB-to-serial кабель или USB-to-serial адаптер, или вы можете программировать её беспроводным способом через пару XBee-радиомодулей. Если вы новичок в работе с XBee, полезно немного узнать о них перед попыткой беспроводного программирования. Это введение может помочь.

Вы также можете обойти загрузчик и запрограммировать ATmega328P с помощью внешнего программатора; подробности см. в этих инструкциях.

Проводное программирование

Как и все платы Arduino, Arduino Fio можно программировать с помощью программного обеспечения Arduino (скачать). Если вы новичок в Arduino, см. Руководство по началу работы, справочник и руководства.

Fio не имеет встроенного USB-to-serial адаптера, поэтому, если вы собираетесь программировать её через USB, вам понадобится адаптер. Любой из следующих подойдёт:

FTDI-кабель

FTDI-кабель (Adafruit.com)

Адаптер FTDI Basic Breakout от Sparkfun

Адаптер FTDI Basic Breakout от Sparkfun. Имеет ту же конфигурацию пинов, что и FTDI-кабель.

Чтобы запрограммировать Fio с помощью FTDI-кабеля или адаптера с аналогичной конфигурацией пинов, прикрепите ряд штыревых контактов к кабелю или адаптеру следующим образом:

Штыревые контакты для Fio Штыревые контакты для FTDI

Затем подключите контакты к выводам FTDI на Fio:

Программирование Fio с помощью адаптера

Программирование Fio с помощью адаптера

Программирование Fio с помощью FTDI-кабеля

Программирование Fio с помощью FTDI-кабеля

Вот альтернативные способы программирования Fio с L-образным разъёмом и низкопрофильными гнёздами:

Программирование Fio с припаянными низкопрофильными гнёздами

Программирование Fio с L-образным разъёмом и припаянными низкопрофильными гнёздами

Программирование Fio без припаянных гнёзд

Программирование Fio с L-образным разъёмом без припаянных низкопрофильных гнёзд

Если ваши контакты не плотно входят в отверстия (а большинство не будут), вы должны крепко удерживать разъём так, чтобы металл пинов касался металла отверстий во время программирования.

Когда кабель подключён к Fio, откройте среду программирования Arduino, выберите Fio из меню Tools –> Board. Затем выберите ваш последовательный порт из меню Serial Port, и вы готовы к программированию. Если вы используете адаптер FTDI, вы увидите мигание светодиодов TX и RX. На самой Fio вы не увидите видимых признаков, но в IDE вы увидите следующее сообщение при успешной загрузке кода:

Загрузка завершена

Примечание

Пожалуйста, извлеките XBee-модем с платы Fio при загрузке скетчей.

Беспроводное программирование

Это руководство основано на материале Xbee Adapter - wireless Arduino programming от Limor Fried.

Для беспроводной загрузки скетчей через XBee-радиомодули вам потребуется следующее:

  • Два модуля XBee или XBee Pro 802.15.4. Они также известны как модули Series 1 для тех, кто уже работал с XBee. Вы не можете использовать радиомодули DigiMesh или ZB серии (также известные как Series 2 или 2.5). Эти модули не поддерживают автоматическую передачу IO Line Passing, необходимую для переключения пина сброса при программировании.

  • Свежая версия прошивки 802.15.4 (10A5 или новее). Если вам нужно обновить прошивку, используйте X-CTU (только Windows, к сожалению). Если вы подтвердили эти пункты, следуйте дальнейшим шагам.

  • USB-to-serial адаптер для одного из модулей. Вы можете использовать Sparkfun XBee Explorer USB или Adafruit XBee Adapter kit или любой другой FTDI-to-XBee адаптер.

Модификация адаптера XBee-to-USB

На вашем USB-to-serial адаптере припаяйте маленькую перемычку между пином RTS и D3, как показано здесь:

Модифицированный XBee Explorer USB

Модифицированный XBee Explorer USB

Модифицированный Adafruit XBee Adapter Kit

Модифицированный Adafruit XBee Adapter Kit. Стрелка показывает добавленное паяное соединение.

Подготовка XBee-радиомодулей

Для программирования Fio по беспроводному каналу вам нужно настроить два XBee-радиомодуля: один для Fio, а другой для подключения к программирующему компьютеру через последовательный порт. Последний подключается к компьютеру через адаптеры, описанные в предыдущем шаге. После этого вы будете программировать Fio через радиоканал так же, как при обычном USB-to-serial подключении Arduino.

Настройки для двух радиомодулей:

Параметр

Программирующий радиомодуль

Радиомодуль Fio

BD

4 (ATmega168) или 6 (ATmega328P)

4 (ATmega168) или 6 (ATmega328P)

ID

на выбор пользователя (0000–FFFF)

на выбор пользователя (0000–FFFF)

MY

на выбор пользователя, например 0000

на выбор пользователя, например 0001

DL

FFFF или значение MY Fio

значение MY программатора

D3

3

5

IC

8

не устанавливается

RR

3

не устанавливается

IU

не устанавливается

0

IA

не устанавливается

FFFF

RO

10

10

Примечание

Если вы установите адрес назначения программатора (DL) на FFFF, он будет перепрограммировать все платы Fio в его PAN ID. Для программирования одной Fio за раз в беспроводном режиме, когда другие включены, установите DL программатора на значение MY этой Fio.

Изменение настроек последовательного порта (только Windows)

Если вы работаете в Windows, нужно немного изменить настройки драйвера. В диспетчере устройств выберите USB COM port. Затем щёлкните правой кнопкой мыши и выберите Свойства. Перейдите на вкладку Параметры порта и нажмите Дополнительно…, затем убедитесь, что выбрана опция Set RTS On Close, и нажмите OK для применения настроек.

Настройка XBee-модемов

Вы можете настроить радиомодули с помощью терминального приложения, X-CTU для Windows или Fio XBee Config Tool. Это модифицированная версия XBeeConfigTool от Shigeru Kobayashi.

Использование Arduino Fio XBee Config Tool

  1. Выберите правильный последовательный порт.

  2. Выберите правильный режим (Programmer или Fio).

  3. Выберите правильную скорость передачи (57600 бит/с).

  4. Установите правильный PAN ID (например, 1234 – должен быть одинаковым на обоих модулях).

  5. Установите правильный MY ID (например, 1 для конечных устройств, 0 для программатора).

  6. Нажмите кнопку Configure для настройки XBee-модема.

Пример настройки координатора в Fio XBee Config Tool Пример настройки конечного устройства в Fio XBee Config Tool

Настройка радиомодулей через терминальное приложение

Если вы предпочитаете устанавливать настройки вручную, вы можете сделать это с помощью любого приложения для работы с последовательным портом, например CoolTerm. Подключите адаптер к компьютеру и откройте его последовательный порт на скорости 9600 бит/с с помощью вашего любимого терминального приложения.

Установите строку завершения в вашем терминальном приложении на возврат каретки (ASCII 0x0D). Затем откройте порт и введите:

+++

XBee ответит:

OK

Для программирующего радиомодуля введите:

ATRE,BD6,ID1234,MY0,DLFFFF,D33,IC8, RR3,RO10,WR

XBee ответит серией OK.

Для радиомодуля Fio введите:

ATRE,BD6,ID1234,MY1,DL0,D35,IU0,IAFFFF,RO10,WR

XBee ответит серией OK.

Вот и всё! Теперь подключите радиомодуль Fio к вашей Fio, оставьте программирующий радиомодуль в адаптере XBee, и вы готовы загружать скетчи на Fio.

Загрузка скетчей из Arduino IDE на плату Fio

Загрузка скетчей на Fio аналогична другим платам Arduino.

  1. Выберите Tools / Board / Arduino Fio или Tools / Board / Arduino Pro or Pro Mini (8MHz).

  2. Выберите правильный последовательный порт в Tools / Serial Port.

  3. Напишите скетч и нажмите кнопку Upload.

При загрузке вы должны увидеть, как загорается зелёный индикатор RSSI на Fio. Если вы используете XBee Explorer, вы также увидите мигание светодиодов TX и RX на нём при загрузке скетча.

Если Fio не отвечает, вот наиболее распространённые причины ошибок:

  1. Убедитесь, что Fio включена. Вы можете использовать питание от USB, если у вас нет батареи.

  2. Убедитесь, что ползунковый переключатель на Fio установлен в положение ON.

  3. Проверьте конфигурации радиомодулей. Не пропустили ли вы какую-то настройку? Это особенно часто случается при настройке через терминальное приложение.

В случае сомнений проверьте Fio, запрограммировав её через проводное подключение, как описано выше.

Когда вы будете готовы начать писать скетчи для Arduino Fio, вот несколько полезных советов по программированию, которые облегчат вашу жизнь.