Учебное пособие 2232
.pdfСледующие руководства помогут настроить компьютер и Arduino IDE для создания правильного ZIP-файла, а также покажут, как использовать смарттелефон или планшет для загрузки нового кода в плату Ganglion. Это руководство также научит, как загружать код в плату Ganglion в первый раз.
Платы Ganglion, выпущенные до 27 февраля 2017 года, не будут программироваться через Over The Air. Для программирования такой платы необходимо следовать приведенным ниже инструкциям, чтобы впервые запрограммировать плату через OTA.
Для начала необходимо следующее:
Arduino IDE v1.8.0 или новее;
файлы Simblee Board;
прошивка для библиотеки Ganglion;
прошивка Wifi Master Library;
инструменты компилятора (для OTA).
Cначала необходимо установить Arduino IDE v1.8.0 или новее. Далее необходимо скачать файлы Simblee Board. А затем следовать инструкциям по быстрому запуску Simblee, чтобы установить файлы платы Simblee в Arduino
для MacOS.
4.8.3. Модификация файлов Simblee Board
Чтобы запрограммировать Simblee для связи и управления платой Ganglion, необходимо изменить файл “variants.h” в папке Simblee, которая была загружена в Arduino. Необходимо перейти к папке
“/Applications/Arduino.app/Contents/Java/portable/packages/Simblee/hardware/Sim blee/1.1.0/variants/Simblee”. Там надо найти файл с именем “variant.h”.
Необходимо открыть этот файл в любом редакторе и изменить значения, как показано на рис. 4.18. Для доступа к содержимому приложения необходимо щелкнуть правой кнопкой мыши по приложению [или нажать “control”+щелчек левой кнопкой мыши] и выбрать “Show Package Contents”.
Рис. 4.18. Редактирование файла настроек
110
В табл. 4.3 представлены значения параметров, которые необходимо изменить.
Таблица 4.3
define |
По умолчанию |
Изменить на |
|
|
|
PIN_SPI_SS |
6U |
26U |
|
|
|
PIN_SPI_MOSI |
5U |
18u |
|
|
|
PIN_SPI_MISO |
3U |
15U |
|
|
|
PIN_SPI_SCK |
4u |
16U |
|
|
|
Обязательно необходимо сохранить файл перед закрытием. Если вы этого не сделать, изменения не будут сохранены, и плата Ganglion не будет работать после того, как будет перепрограммирована.
4.8.4. Установка прошивки из Arduino Library Manager
Для начала надо прочитать, что такое “Arduino Library Manager” (https://www.arduino.cc/en/Guide/Libraries#toc3).
Необходимо открыть диспетчер библиотек и найти OpenBCI. Далее надо установить последнюю версию для “OpenBCI_Ganglion_Library” и “OpenBCI_Wifi_Master”.
4.8.5. Ручная установка прошивки Ganglion
Необходимо загрузить последнюю версию “OpenBCI_Ganglion_Library”,
это самый верхний ZIP-файл (http://www.arduinolibraries.info/libraries/openbci_ganglion_library). Далее содержимое архива надо разархивировать в папку с именем “OpenBCI_Ganglion_Library”. Затем переместить папку
“OpenBCI_Ganglion_Library” в директорию:
на MacOS: “/Documents/Arduino/libraries”;
на Windows: “C:\Users\username\Documents\Arduino\libraries”.
Если папки “libraries” нет, то ее необходимо создать.
Если при этом возникли проблемы или есть желание узнать больше, то необходимо обратиться к официальному руководству Arduino (https://www.arduino.cc/en/Guide/Libraries#toc5) для ручной установки.
4.8.6. Ручная установка прошивки WiFi Master
Необходимо загрузить последнюю версию “WiFi Master Library” (https://www.arduinolibraries.info/libraries/open-bci_wifi_master), это самый
111
верхний ZIP-файл. Далее надо разархивировать содержимое в папку
”OpenBCI_Wifi_Master”. Затем переместить папку “OpenBCI_Wifi_Master” в:
на MacOS: “/Documents/Arduino/libraries”;
на Windows: “C:\Users\username\Documents\Arduino\libraries”.
Если при этом возникли проблемы или есть желание узнать больше, то необходимо обратиться к официальному руководству Arduino (https://www.arduino.cc/en/Guide/Libraries#toc5) для ручной установки.
4.8.7. Клонирование кода из репозитория Github
Разработчики, желающие внести свой вклад или написать собственную прошивку, могут клонировать хранилища прошивок прямо в папку libraries:
на MacOS: “/Documents/Arduino/libraries”;
на Windows: “C:\Users\username\Documents\Arduino\libraries”.
Ссылка на Github для OpenBCI_Ganglion_Library: “https://github.com/OpenBCI/OpenBCI_Ganglion_Library”. Ссылка на Github для OpenBCI_Wifi_Master_Library:
“https://github.com/OpenBCI/OpenBCI_Wifi_Master_Library”.
4.8.8. Выбор «Simblee» в качестве прошиваемой платы
Если все вышеуказанные действия выполнены правильно, то появится возможность выбрать вид платы “Simblee” из выпадающего меню “Tools >> Board >>”.
4.8.9. Выбор DefaultGanglion.ino из доступных примеров
Далее необходимо в Arduino IDE зайти в меню
“File=>Examples=>OpenBCI_Ganglion_Library=>DefaultGanglion”, которое запускает прошивку Ganglion. Необходимо загрузить только “DefaultGanglion” скетч. Если библиотека “OpenBCI_Ganglion_Library” не видна, необходимо убедиться, что выбран тип платы “Simblee”.
4.8.10. Создание файла OTA
Для создания ZIP-файла с соответствующими компонентами в целях выполнения действий OTA необходимо дополнительно изменить файлы платы
Simblee в папке “Arduino/Contents/Java/portable”.
Для этого необходимо перейти в папку
“/Arduino.app/Contents/Java/portable/packages/Simblee/hardware/Simblee/1.1.0”, затем изменить имя файла “platform.txt” на “platform_NORMAL.txt” (рис. 4.19).
Это делается на случай возвращения к оригиналу.
112
Рис. 4.19. Изменение файла “platform.txt”
Далее необходимо скачать следующие файлы
(https://github.com/biomurph/Ganglion_OTA_Tools):
mkdfuzip;
nrfutil_macosx;
platform.txt.
Затем |
необходимо |
переместить |
файлы |
с |
названиями |
mkdfuzip, nrfutil_macosx и platform.txt в папку |
“Simblee/1.1.0”. Далее надо |
перезапустить или запустить заново Arduino. Далее надо нажать “Создать файл OTA”. В результате будет создан файл OTA в формате .zip (рис. 4.20).
Рис. 4.20. Изменение файла “platform.txt”
Выше приведенное руководство позволяет создавать собственные прошивки Ganglion, которые правильно упакованы для программирования OTA. Всякий раз, когда необходимо создать или изменить прошивку Ganglion,
надо всегда ставить строку #include <OpenBCI_Ganglion_Library.h> в верхней части создаваемого кода.
Чтобы создать файлы OTA, просто необходимо выбрать команду “Export compiled Binary” в “Sketch” меню. В течение некоторого времени Arduino IDE
совместно с установленными инструментами создаст .zip файл прямо в папке с эскизами рядом с исходным эскизом. Этот файл и нужен для OTA. Далее надо изменить имя файла, удалив “.ino.Simblee”, и все готово.
113
4.8.11. Настройка мобильного устройства для программирования
OTA
Модуль Simblee разработан на основе чипа Nordic Semiconductor nRF51822 (https://www.nordicsemi.com/Products/Low-power-short-range- wireless/nRF51822), и поэтому необходимо использовать приложения Nordic nRF для подключения через OTA.
4.8.11.1. Настройка OTA для iPhone
Для настройки OTA в iPhone необходимо иметь:
iPhone;
приложение nRF Toolbox;
приложение Lightblue Explorer (рис. 4.21).
Рис. 4.21. Приложения для iPhone
Далее надо установить приложения nRF Toolbox и Lightblue Explorer на iPhone. Включить плату Ganglion и Bluetooth на телефоне.
Затем необходимо открыть приложение Lightblue. Приложение и покажет, какие периферийные устройства Bluetooth находятся поблизости. Сеть Simblee (плата Ganglion) будет отображена в списке доступных сетей (рис. 4.22).
Рис. 4.22. Сеть Simblee
114
Далее надо подключиться к сети Simblee. Плата Ganglion может отображаться как “DfuTarg”.
Вполе данных об устройстве отобразится следующая информация:
строка с названием производителя;
строка с номером модели;
строка с версией аппаратного обеспечения на плате (Hardware Revision);
строка с версией прошивки (Firmware Revision);
строка с версией программного обеспечения на ПК (Software Revision).
При этом необходимо увидеть производителя “openbci.com”, номер модели “Gagnlion”, версия программного обеспечения на ПК “1.1.1”. Версии аппаратного обеспечения и версия прошивки генерируются самим Simblee. Если строка Software Revision показывает версию более раннюю, чем 1.1.1, то работа в режиме OTA будет невозможна, пока не будет обновлено аппаратное обеспечение (рис. 4.23).
Рис. 4.23. Версия программы
4.8.11.2. Настройка OTA для Android
Для настройки OTA в ОС Android необходимо иметь:
Android-устройство;
приложение nRF Toolbox;
115
NRF Connect App.
Сначала необходимо установить приложения на Android-устройство (рис. 4.24).
Рис. 4.24. Приложения для Android
Далее необходимо проверить версию платы Ganglion. Для этого надо включить плату Ganglion и Bluetooth на смарт-телефоне, а затем открыть приложение “NRF Connect App”. Приложение покажет, какие периферийные устройства Bluetooth находятся поблизости. Ganglion будет отображен как “Ganglion-XXXX”, где XXXX – это 4 символа кода, оригинальные для каждой платы Ganglion. Далее надо нажать на обнаруженную сеть, чтобы соединиться с ней и опросить устройство (рис. 4.25).
Рис. 4.25. Выбор сети
Затем надо нажать на службу “Device Information”, и она откроется, чтобы показать следующую информацию:
строка с названием производителя;
116
строка с номером модели;
строка с версией аппаратного обеспечения на плате (Hardware Revision);
строка с версией прошивки (Firmware Revision);
строка с версией программного обеспечения на ПК (Software Revision).
При этом необходимо увидеть производителя “openbci.com”, номер модели “Gagnlion”, версия программного обеспечения на ПК “1.1.1”. Версии аппаратного обеспечения и версия прошивки генерируются самим Simblee. Если строка Software Revision показывает версию более раннюю, чем 1.1.1, то работа в режиме OTA будет невозможна, пока не будет обновлено аппаратное обеспечение (рис. 4.26).
Рис. 4.26. Версия программного обеспечения
4.8.12. Использование мобильного устройства для программирования OTA
Далее нужно загрузить .zip файл со скетчем в папку на Arduino. Например, послать файл .zip по электронной почте. Файл надо открыть и загрузить (рис. 4.27).
117
Рис. 4.27. Загрузка файла со скетчем
Надо нажать параметры общего доступа в левом нижнем углу и выбрать
“Import with nRF Toolbox”.Так как “NRF Toolbox” уже установлен, то DFU
инструмент будет открыт. Если необходимо повторно загрузить программу, которая уже установлена на телефоне, то надо выбрать DFU инструмент после запуска приложения “nRF Toolbox” (рис. 4.28).
Рис. 4.28. Инструмент DFU
Нажать на кнопку “Select File”, и на следующем экране в нижней части можно будет увидеть опцию “User Files” (рис. 4.29).
118
Рис. 4.29. Кнопка “Select File”
Далее надо выбрать необходимый файл и нажать “Import with nRF Toolbox” (рис. 4.30).
Рис. 4.30. Выбор необходимого файла
119