Руководство по программированию Cyton Board
обзор
На платах OpenBCI Cyton имеются USB-ключи, которые обеспечивают связь между платой и вашим компьютером. На Dongle и Board есть радиомодуль BLE (на самом деле RFduino 22301), который обеспечивает связь. Вот некоторые термины, которые важно отметить:
- Радиомодуль на Dongle называется HOST
- Радиомодуль на плате Cyton называется DEVICE.
- Пары хост-устройство могут быть запрограммированы на передачу до 25 дискретных каналов
- Существуют важные различия в прошивке для 8-битных и 32-битных систем
На этой странице рассказывается о том, как работает радиосвязь и как загрузить новую прошивку на радиостанцию Dongle и радиостанцию Board.
Настройка вашей системы для программирования OpenBCI Radios
Тебе понадобится:
- Компьютер (Windows или Mac или другой)
- Arduino IDE версия 1.5.8 бета
- Пользовательские библиотеки RFduino для OpenBCI
- Конденсатор 0,1 мкФ (см. Раздел «Устройства» ниже)
шаги:
- Загрузите и установите Arduino IDE версии 1.5.8 BETA .
В Windows обязательно загрузите файл с пометкой Windows Installer
.
На Mac загрузите MAC OS X
версию, разархивируйте приложение и переместите его в папку «Приложения», а затем установите Java 6, если будет предложено.
- Загрузите репозиторий OpenBCI_RFduino с нашего github.
- Разархивируйте папку.
- Теперь переместите папку с именем RFduino и все, что в ней содержится:
НаMac /Applications/Arduino.app/Contents/Resources/Java/hardware/arduino
Навинде C:\Program Files (x86)\Arduino-1.5.8\hardware\arduino
В Linux поставьте папку RFduino и все, что в ней содержится arduino-1.5.8/hardware/arduino
ПРИМЕЧАНИЕ ДЛЯ ПОЛЬЗОВАТЕЛЕЙ LINUX Для продолжения работы пользователям
Linux необходимо установить программу wine . Существует зависимость для кода Arduino, который требуетRFDLoader.exe
продолжения работы. Чтобы запустить этот .exe, сделайте следующее:
- Перейдите в папку / hardware / arduino / RFduino
- Переименуйте RFDLoader в RFDLoader.old (на всякий случай)
- Скачать RFDLoader
- Перетащите RFDLoader в папку RFduino
Это оно! Пока wine
он установлен нормально, скрипт должен заботиться о любых проблемах, которые могут возникнуть при загрузке.
Использование прошивки радио версии 2.xx
Получение версии прошивки радио 2.xx
- Загрузите репозиторий прошивки OpenBCI_Radios с нашего github. Вы также можете клонировать репо в вашу папку библиотек, указанную после шага 6.
- Разархивируйте папку и, если она называется OpenBCI_Radios-master, переименуйте ее в OpenBCI_Radios.
- Переместите папку OpenBCI_Radios из ваших загрузок в:
На Mac / Linux: Документы / Arduino / библиотеки
В Windows: C: \ Users \ имя пользователя \ Documents \ Arduino \ библиотеки
Если в указанной выше папке нет папки «библиотеки», создайте ее.
- Откройте Arduino IDE 1.5.8, перезапустите Arduino IDE, если он был открыт.
Если вы хотите изменить прошивку, которая пришла с OpenBCI Dongle, или свернуть свою собственную, убедитесь, что вы устанавливаете RFduino как УСТРОЙСТВО, и этот канал выбран правильно.
Загрузка прошивки устройства на Cyton Board
обзор
Чтобы загрузить код на Cyton Board RFduino, вам необходимо иметь последовательное соединение с компьютером. Традиционно это делается с помощью разрыва кабеля FTDI (SparkFun и Adafruit продают несколько). Если у вас есть кабель FTDI или удобный переходник, убедитесь, что это устройство 3 В! Использование устройства 5 В FTDI может повредить RFduino на борту OpenBCI! Также возможно загрузить код в RFduino, смонтированный на плате, используя ключ OpenBCI. На этой странице будут рассмотрены несколько способов загрузки прошивки на радиоустройства OpenBCI Device.
Опять же, есть небольшая разница между 8-битной платой и платой Cyton, объясненной ниже.
Загрузить версию прошивки DEVICE Radio 2.xx
шаги:
- В Arduino IDE 1.5.8 go,
File-->Examples-->OpenBCI_Radios-->RadioDevice32bit
которая запустит прошивку устройства. - Затем перейдите
Tools-->Board
и выберитеRFduino
. - Выполните один из способов, перечисленных в следующем разделе, чтобы подключить устройство к компьютеру.
- Теперь перейдите
Tools-->Port
и выберитеCOM
порт (Windows) или/dev/tty.usbserial-*
порт (Mac / Linux) для вашего устройства или - Нажмите «Подтвердить» на панели инструментов (значок галочки), чтобы убедиться, что все готово. Если вы видите,
Done Compiling
то вы готовы к работе! - Выберите номер канала для вашего устройства. Номер канала может быть установлен в коде
radio.begin(OPENBCI_MODE_DEVICE,20);
. - Нажмите «Загрузить» на панели инструментов (значок справа от галочки). Ваш код сейчас загружается на устройство OpenBCI!
Важный! Начиная с версии 2 прошивки, вы должны сначала прошить плату строкой radio.flashNonVolatileMemory();
в setup()
функции без комментариев, затем закомментировать строку и снова запрограммировать. Очень важно перепрограммировать доску с закомментированной строкой. Мы должны сделать это, потому что во второй версии прошивки номер канала сохраняется в энергонезависимой памяти, поэтому мы можем изменить номер канала системы с ПК / драйвера, выключить систему и все еще запомнить вновь установленный канал. Если вы впервые загружаете прошивку второй версии (вы приобрели плату до октября 2016 года), вы можете игнорировать это сообщение при первой загрузке радиокода.
Программа DEVICE Radio с ключом OpenBCI
Идея состоит в том, чтобы использовать чип FTDI на Dongle, чтобы соединить USB с Serial для процесса загрузки. Есть небольшая подготовка и специальная программа для радио Dongle, чтобы оно не мешало.

Сначала припаяйте заголовки, которые поставляются с вашим OpenBCI Dongle. Затем переместите переключатель в положение RESET и загрузите некоторый фиктивный код на радио Dongle, чтобы он не мешал процессу последовательной загрузки.
Загрузить версию прошивки Pass Thru Radio 2.xx
Перейдите в Arduino IDE 1.5.8 и сделайте File-->Examples-->OpenBCI_Radios-->RadioPassThru32bit
. Обязательно выберите RFDuino
из Tools -> Board -> RFDuino
.

Далее вам нужен макет, 8 перемычек и конденсатор 0,1 мкФ. Конденсаторы емкостью 0,1 мкФ имеют небольшие размеры и имеют форму чечевицы, и на одной стороне напечатано число 104. Вы можете заказать их онлайн через Amazon, eBay или магазин электроники для хобби. Если на вашей плате есть синие кнопки, вам не нужен конденсатор 0.1 мкФ, потому что он уже есть на плате. Конденсатор 0,1 мкФ должен быть последовательно соединен между выводом Dongle GPIO6 и выводом RESET платы OpenBCI.

Вот картина соединений, которые вам нужно сделать. Подайте питание на плату OpenBCI с помощью прилагаемого батарейного блока, поэтому для загрузки вам понадобятся только четыре соединения. Вы также можете запитать плату OpenBCI с 3 В от Dongle, но это делает следующий шаг немного сложнее. В любом случае, это основные контакты, которые необходимо выполнить при питании платы от батарейного блока:
- FTDI RX -> RF TX
- FTDI TX -> RF RX
- GPIO6 -> 0.1uF Cap -> RF RST
- GND -> GND

На 8-битной плате контакты, к которым нужно подключиться, доступны из верхней части платы. Вставьте перемычки в отверстия в правильном положении и плотно прижмите их к боковым сторонам отверстий, чтобы создать прочное соединение. Теперь вы можете загрузить код устройства в RFduino на 8-битной плате OpenBCI!

На плате Cyton Board контакты, к которым необходимо подключиться, доступны из нижней части платы. Подсоедините перемычки к центру контактных площадок, как показано на рисунке, и плотно нажмите во время загрузки на устройство. Полезные советы:
- Используйте 4-контактный разъем для удержания проводов на месте
- Не двигайте рукой вообще
- Положите доску на стол или твердую поверхность
- Держите булавки прямо вверх и по центру на колодках. (перпендикулярно поверхности колодок)
В этом есть хитрость, может потребоваться пара, чтобы преуспеть в этом. На Mac не имеет значения, если вы выбираете /dev/cu.*
или /dev/tty.*
в выборе порта в Arduino IDE.
Радиопрограмма устройства с другими платами FTDI
Существует множество разветвлений и кабелей FTDI, которые вы можете использовать. Вот пара примеров популярных устройств.
RFduino

RFduino делает небольшую плату, которую они называют USB Shield . Форм-фактор и разводка OpenBCI Dongle точно соответствуют разводке RFduino USB Shield. Это почти так, как мы планировали так;) Единственное, что нужно изменить, это то, что GPIO6 отличается от OpenBCI Dongle. Подключите контакт OpenBCI RF RST к контакту RFduino USB Shield RESET. Кроме того, вам не нужно предоставлять крышку на 0,1 мкФ, потому что USB Shield поставляется с уже установленным конденсатором 0,1 мкФ!
FTDI Friend


Другим примером может быть друг FTDI из Adafruit. В этом случае обозначенный контактом «RTS» – это тот, который вы хотите подключить к RF RST на плате OpenBCI. Мы должны убедиться, что вывод «RTS» работает правильно и что мы посылаем 3В логику! Обратите внимание на изображение задней части друга FTDI. Я перепрыгнул колодки с маркировкой DTR, а также колодки 3V на VCC. Уровень логики сигнала уже имеет 3-контактные контактные площадки. Я вырезал след на колодках RTS и 5V. Это правильные настройки для загрузки в RFduino с помощью FTDI Friend. Для перехода «RTS» к соединению OpenBCI RF RST также потребуется конденсатор серии 0,1 мкФ. Эти прорывы потрясающие, но они могут быть немного продвинутыми.
FTDI Basic Breakout


Sparkfun делает прорыв FTDI, и они входят в несколько ароматов. 5В и 3В. К настоящему времени вы знаете, что хотите версию 3V . [скоро будет] Базовый прорыв не так хорош, как FTDI Friend, но вам нужно поместить конденсатор 0.1 мкФ между выводом DTR и выводом RF RST. Кроме того, если у вас есть версия этой платы с выбором напряжения на задней панели, убедитесь, что к ней подключены пусковые площадки 3,3 В и обрезаны пусковые 5 В!
