PlatformIO - это IDE для написания программ к микроконтроллерам, таких как arduino, esp и других, и их программирования.
Установка PlatformIO IDE
Для работы в PlatformIO IDE нужно установить соответствующие расширение в vs code. После установки слева появится значок PlatformIO. При нажатии на него откроется интерфейс IDE.
- В меню слева есть несколько разделов:
- Home - быстрый доступ к некоторым опциям;
- Project - добавление каталога с проектом, создание нового проекта, открытие уже созданного;
- Inspect - построение отчета об использовании памяти;
- Libraries - поиск, установка, удаление библиотек;
- Boards - список поддерживаемых микроконтроллеров;
- Platforms - платформы;
- Devices - список подключенных устройств, можно увидеть к какому com-порту подключено устройство.
Создание проекта
Для создания проекта нужно перейти в Home или Project и нажать Create New Project. В открывшемся окне ввести название проекта, выбрать board, в случае с esp32 нужно выбрать Espressif ESP32 Dev Module, в поле Framework указать Arduino. Можно снять галку Location и выбрать место, в котором будет создан проект. После нажатия кнопки Finish будет создан проект.
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
Можно добавить еще несколько параметров, точкой с запятой обозначается комментарий
[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino
upload_port = COM18 ;порт, по которому подключен микроконтроллер к компьютеру, для загрузки прошивки
upload_speed = 115200 ;скорость загрузки прошивки
monitor_speed = 115200 ;скорость обмена данными с serial monitor
monitor_port = COM18 ;порт, по которому подключен микроконтроллер к компьютеру, для обмена данными с serial monitor
lib_extra_dirs = C:\platformio_libs ;каталог с библиотеками
В папке src находится файл main.cpp, в котором пишется код прошивки.
Для прошивки нужно подключить контроллер по usb к компьютеру, на вкладке Devices можно посмотреть к какому com-порту подключено устройство и прописать его в platformio.ini. Прошивка осуществляется по кнопке Upload в левом нижнем углу окна vs code.
Библиотеки
С помощью lib_deps указывается список библиотек
[env:esp32dev]
lib_deps =
espressif/esp32-camera ;будет загружена последняя версия
espressif/esp32-camera @ 2.0.0 ;будет загружена указанная версия
С помощью lib_extra_dirs указывается путь к каталогу с библиотеками, которые скачаны вручную и распакованы
[env:esp32dev]
lib_extra_dirs = C:\platformio_libs ;каталог с библиотеками
Запись файлов в память SPIFFS
Микроконтроллеры esp имеют флеш-память, в которую можно записать файлы, например html файл web-страницы, который будет выводится микроконтроллером.
В каталоге проекта нужно создать каталог data (обязательно с таким названием), в него вложить нужные файлы. Затем открыть PlatformIO и в меню действий PROJECT TASKS нажать Upload Filesystem Image.
Решение ошибки при прошивке
Некоторые платы esp32 не переходят в режим прошивки автоматически при загрузке нового кода.
Для того, чтобы произошла загрузка нужно нажать на кнопку boot на самом микроконтроллере и удерживать ее все время прошивки.
Чтобы плата esp32 автоматически перешла в режим прошивки, можно подключить электролитический конденсатор 10 мкФ между контактом EN и GND. При этом не нужно будет нажимать кнопку boot при прошивке.