Материал: Аппаратура для электроэнцефалографических исследований. Журавлев Д.В

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам

5.2.2. Обновление прошивки проводным способом

Существует множество устройств и кабелей FTDI, которые могут быть использованы для проводного подключения WiFi Shield к ПК. Далее приведена пара примеров популярных устройств.

Для прошивки можно использовать FTDI Friend из Adafruit. На плате FTDI Friend необходимо удалить перемычки RTS и 5V. Это правильные настройки для загрузки кода в ESP8266 с помощью FTDI Friend (рис. 5.22).

Рис. 5.22. Плата FTDI Friend

Еще одно устройство, позволяющее прошивать WiFi Shield, это FTDI Basic Breakout (рис. 5.23).

Рис. 5.23. Плата FTDI Basic Breakout

Компания Sparkfun производит FTDI Basic Breakout двух видов для питания устройств напряжением 5В и 3В. Для прошивки WiFi Shield необходимо устройство с напряжением 3В. Также, если имеется версия FTDI Basic Breakout с выбором напряжения на задней панели, необходимо убедиться, что к ней подключены площадки 3,3В и обрезаны контактные площадки 5В (рис. 5.24).

140

Рис. 5.24. Плата FTDI Basic Breakout 3,3В

Для загрузки прошивки в ESP8266 можно использовать OpenBCI Cyton Dongle.

Для обновления прошивки проводным способом сначала необходимо установить Python Dependency. Необходимо установить либо Python 2.7, либо Python 3.4, либо более новую версию. Далее загрузить и установить esptool. Последний стабильный esptool.py выпуск может быть установлен из pypi (https://pypi.org/project/esptool/) через pip:

$ pip install esptool

В некоторых установках Python это может не сработать, и будет выдано сообщение об ошибке, поэтому можно попробовать ввести команду python -m pip install esptool или pip2 install esptool.

После установки esptool.py программа будет установлена в каталог исполняемых файлов Python по умолчанию, и можно будет запустить ее с помощью команды esptool.py. В Windows необходимо использовать командную строку.

5.2.3. Загрузка прошивки в WiFi Shield

Сначала необходимо загрузить файл, который вызывается

DefaultWifiShield.bin из последнего выпуска OpenBCI_WiFi Github

репозитория. Затем его сохранить в папку загрузок.

5.2.4. Получение последовательного порта для программирования

Необходимо выбрать правильный последовательный порт для OpenBCI Dongle или FTDI Friend:

*On Macs, this will be named **/dev/tty.usbserial-DN00nnnn** where the nnnn is a combination of numbers and letters specific to your programmer of choice.

*On Windows, the serial port will be listed as a numbered COM port.

*On Linux, it will be different.

141

5.2.5. Подключение WiFi Shield к программатору

Сначала необходимо подключить FTDI Friend (рис. 5.25), OpenBCI Dongle

или другой программатор UART-USB к Wifi Shield. Wifi Shield необходимо запитать от аккумулятора, а не через FTDI Friend. Схема подключения представлена в таблице.

FTDI_Friend

Wifi Shield

 

 

GND

GND

 

 

RX

TX

 

 

TX

RX

 

 

Рис. 5.25. Подключение к FTDI Friend

5.2.6. Изолирование и питание WiFi Shield

Необходимо отсоединить WiFi Shield от платы Cyton или Ganglion, если это еще не сделано. Далее необходимо подключить аккумулятор к WiFi Shield (рис. 5.26).

Рис. 5.26. Подключение аккумулятора к WiFi Shield

142

Для перевода WiFi Shield в режим загрузчика надо нажать и удерживать кнопку “PROG” (рис. 5.27).

Рис. 5.27. Перевод платы в режим загрузчика

Затем надо нажать и отпустить кнопку “RESET”, удерживая кнопку “PROG”. Потом надо отпустить кнопку “PROG”. После этого светодиодный индикатор на плате WiFi Shield должен погаснуть, и плата окажется в режиме загрузки.

Загрузка кода на операционных системах MAC/Linux происходит из терминала с помощью установленного esptool.py. В команде надо заменить “YOURPORT” на имя последовательного порта:

$ esptool.py --port /dev/tty.usbserial-YOURPORT write_flash 0x000000 ~/Downloads/DefaultWifiShield.bin

В операционной системе Windows необходимо ввести командную строку, в которой заменить имя последовательного порта на COM4:

$ esptool.py --port COM4 write_flash 0x000000 Downloads\DefaultWifiShield.bin

5.2.7. Компиляция исходного кода и формирование двоичного кода

Для компиляции исходного кода понадобится:

Компьютер (под управлением Windows, MAC или другой ОС).

Arduino IDE версии 1.8.3 и выше.

Библиотеки ESP8266 с SPISlave (https://github.com/esp8266/Arduino).

143

OpenBCI Dongle или FTDI USB-UART, подключенный к USB-порту.

OpenBCI WiFi Shield с питанием от батареи.

Прошивка OpenBCI WiFi (для загрузки следуйте инструкциям ниже).

Различные другие зависимости WiFi.

Прошивка OpenBCI Cyton SD.

OpenBCI WiFi Master Firmware.

Далее для работы необходимо скачать последнюю версию Arduino. Установить прошивку из Arduino Library Manager. Затем открыть диспетчер библиотек и установить библиотеки:

1.Установить программу OpenBCI и последнюю версию библиотеки

OpenBCI_Wifi (https://www.arduinolibraries.info/libraries/open-bci_wifi).

2.Установить последнюю версию для WiFiManager (https://www.arduinolibraries.info/libraries/wi-fi-manager).

3.Установить последнюю версию ArduinoJson (https://www.arduinolibraries.info/libraries/arduino-json).

4.Установить последнюю версию PubSubClient (https://www.arduinolibraries.info/libraries/pub-sub-client).

5.Установить последнюю версию Time v1.5.0 и выше от Michael Margolis, для этого нужно перейти ниже до раздела “T” ().

6.Найти NTP и установить последнюю версию для NtpClientLib (не NtpClient!) (https://github.com/arduino-libraries/NTPClient).

Для поиска и установки можно использовать “Менеджер библиотек”. Библиотеки надо разархивировать в папки:

OpenBCI_Wifi;

WiFiManager;

ArduinoJson;

PubSubClient;

Time;

NtpClientLib.

Далее надо переместить все папки в директорию:

на MacOS: /Documents/Arduino/libraries;

на Windows: C:\Users\username\Documents\Arduino\libraries.

Если папки libraries нет, то ее надо создать.

5.2.8. Прошивка ядра ESP8266

Для прошивки необходимо следовать инструкциям по загрузке ядра Arduino ESP8266 из Boards Manager (https://github.com/esp8266/Arduino). SPISlave.h

добавлен в официальный SDK. GUI работает только в том случае, если двоичный файл скомпилирован с использованием библиотеки Arduino ESP версии 2.5.0.

144

Источник: https://studfile.net/preview/16566241/