Начало работы с 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-кабель (Adafruit.com)
Адаптер FTDI Basic Breakout от Sparkfun. Имеет ту же конфигурацию пинов, что и FTDI-кабель.
Чтобы запрограммировать Fio с помощью FTDI-кабеля или адаптера с аналогичной конфигурацией пинов, прикрепите ряд штыревых контактов к кабелю или адаптеру следующим образом:
Затем подключите контакты к выводам FTDI на Fio:
Программирование Fio с помощью адаптера
Программирование Fio с помощью FTDI-кабеля
Вот альтернативные способы программирования Fio с L-образным разъёмом и низкопрофильными гнёздами:
Программирование Fio с L-образным разъёмом и припаянными низкопрофильными гнёздами
Программирование 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
Модифицированный 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
Выберите правильный последовательный порт.
Выберите правильный режим (Programmer или Fio).
Выберите правильную скорость передачи (57600 бит/с).
Установите правильный PAN ID (например, 1234 – должен быть одинаковым на обоих модулях).
Установите правильный MY ID (например, 1 для конечных устройств, 0 для программатора).
Нажмите кнопку Configure для настройки XBee-модема.
Настройка радиомодулей через терминальное приложение
Если вы предпочитаете устанавливать настройки вручную, вы можете сделать это с помощью любого приложения для работы с последовательным портом, например 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.
Выберите Tools / Board / Arduino Fio или Tools / Board / Arduino Pro or Pro Mini (8MHz).
Выберите правильный последовательный порт в Tools / Serial Port.
Напишите скетч и нажмите кнопку Upload.
При загрузке вы должны увидеть, как загорается зелёный индикатор RSSI на Fio. Если вы используете XBee Explorer, вы также увидите мигание светодиодов TX и RX на нём при загрузке скетча.
Если Fio не отвечает, вот наиболее распространённые причины ошибок:
Убедитесь, что Fio включена. Вы можете использовать питание от USB, если у вас нет батареи.
Убедитесь, что ползунковый переключатель на Fio установлен в положение ON.
Проверьте конфигурации радиомодулей. Не пропустили ли вы какую-то настройку? Это особенно часто случается при настройке через терминальное приложение.
В случае сомнений проверьте Fio, запрограммировав её через проводное подключение, как описано выше.
Когда вы будете готовы начать писать скетчи для Arduino Fio, вот несколько полезных советов по программированию, которые облегчат вашу жизнь.