Andrey L
Member
Установка VSC и PlatformIO для ESP32
Поиск среды для работы с ESP32 привёл меня к комбинации Visual Studio Code и PlatformIO. Так же я решил использовать ESP-IDF, поскольку она была разработана в той же фирме.
Преимущества этой комбинации:
— подсветка кода,
— автодополнение,
— всплывающие подсказки,
— обещания возможности дебага.
Установка
Процес установки этой связки довольно лёгок и показан хорошо в этом видео. Возможно, до этого на компьютере надо установить Python.
Если в видео приводится пример как использовать Arduino IDE с этой связкой, то я опишу работу с ESP-IDF.
Пустой пример
Espressif выложил коды с примерами. Воспользуемся одним из них.
Скачаем и расспакуем эти примеры. Папка с «пустым проектом» находится по пути «\esp-iot-solution-master\examples\empty_project». А по умолчанию, папка с проектами от VSC находится по адресу C:\Users\{имя пользователя}\Documents\PlatformIO\Projects.
Копируем файлы примера любую папку по вашему выбору. Я для неё создал папку «Empty2» в стандартной папке с проектами PlatformIO, но вы можете выбрать и другое место.
1. Запускаем VSC. В левом столбике кликаем по иконке «PlatformIO». В нижней строчке кликаем по значку «дом». Жмём на кнопку «+ New Project».
Должна всплыть менюшка. В поле «Name» вводим название нашего проекта «Empty2», оно должно совпадать с названием папки, которое мы сделали ранее. В поле «Board» выбираем плату, что у вас. У меня «DOIT ESP32 DEVKIT V1». В качестве Framework выбираем «ESP-IDF». «Location» убираем галочку и выбираем папку, в которой находится папка, куда расспаковали пример. (Т.е. мы вибираем не папку, куда скопировали документы, а уровнем выше.) Жмём кнопку «Finish».
Ждём пока VSC создаст новые файлы, а потом подкорректируем файловую систему, которую мы получили от Espressif, для работы с VSC.
2. Файлы с кодом должны храниться в папке «src», а в примере эта папка называется «main». Переносим все файлы из второй в первую. После чего удаляем пустую папку «main». (Альтернатива: изменить файл platformio.ini, добавив в него «src_dir=main».)
3. Библиотеки должны находиться в папке «lib», а в примерах находятся в папке «components», перенесём все файлы в нужную папку, после чего пустую «components» можно будет удалить. (Альтернатива: изменить файл platformio.ini, добавив в него «lib_dir=components».)
4. Сами файлы прикреплённых библиотек должны находиться в дополнительном пути:
library/library.c и library/library.h или library/src/library.c и library/src/library.h. Так что стягиваем файлы библиотек в нужные подкатегории.
Заходим в папку example1/include и перенесём файл example1.h в папку выше, чтобы example1.h и example1.c были в одной папке lib/example1. Пустую папку «include» можно удалить.
С библиотекой example2 мы поступим по другому. Заходим в папку lib/example2, переименовываем папку «include» в «src». И в эту папку мы переносим файл «example2.c». Таким образом оба файла должны быть в папке «/lib/example2/src».
5. На последок остаётся прописать скорость работы с модулем в терминале. А может быть понадобится вручную прописать через какой COM-порт подключён модуль.
Для этого открываем файл «platformio.ini» и в его конец добавляем следующую строчку:
monitor_speed = 115200
Обычно СОМ-порт расспознаётся автоматически, но если будут проблемы, то в тот же файл «platformio.ini» добавляйте следующую строчку:
upload_port = COM11
У меня ESP32 подключается через COM11, у вас это может быть другой.
Компиляция и прошивка
Возвращаемся в VSC. В окне «Explorer», открываем папку «src», а потом файл «main.c».
Если надо скомпилировать проект, то жмите на иконку «галочка» в самом низу окна VSC.
А если надо ещё и прошить модуль, то кликайте по иконке «стрелка вправо» в самом низу окна VSC. Не забудьте во время нажать на кнопку «Boot» на модуле.
Ссылки
espressif/esp-iot-solution — репозиторий от Espressif.
https://platformio.org — сайт PlatformIO
https://code.visualstudio.com — сайт VSC
Поиск среды для работы с ESP32 привёл меня к комбинации Visual Studio Code и PlatformIO. Так же я решил использовать ESP-IDF, поскольку она была разработана в той же фирме.
Преимущества этой комбинации:
— подсветка кода,
— автодополнение,
— всплывающие подсказки,
— обещания возможности дебага.
Установка
Процес установки этой связки довольно лёгок и показан хорошо в этом видео. Возможно, до этого на компьютере надо установить Python.
Если в видео приводится пример как использовать Arduino IDE с этой связкой, то я опишу работу с ESP-IDF.
Пустой пример
Espressif выложил коды с примерами. Воспользуемся одним из них.
Скачаем и расспакуем эти примеры. Папка с «пустым проектом» находится по пути «\esp-iot-solution-master\examples\empty_project». А по умолчанию, папка с проектами от VSC находится по адресу C:\Users\{имя пользователя}\Documents\PlatformIO\Projects.
Копируем файлы примера любую папку по вашему выбору. Я для неё создал папку «Empty2» в стандартной папке с проектами PlatformIO, но вы можете выбрать и другое место.
1. Запускаем VSC. В левом столбике кликаем по иконке «PlatformIO». В нижней строчке кликаем по значку «дом». Жмём на кнопку «+ New Project».
Должна всплыть менюшка. В поле «Name» вводим название нашего проекта «Empty2», оно должно совпадать с названием папки, которое мы сделали ранее. В поле «Board» выбираем плату, что у вас. У меня «DOIT ESP32 DEVKIT V1». В качестве Framework выбираем «ESP-IDF». «Location» убираем галочку и выбираем папку, в которой находится папка, куда расспаковали пример. (Т.е. мы вибираем не папку, куда скопировали документы, а уровнем выше.) Жмём кнопку «Finish».
Ждём пока VSC создаст новые файлы, а потом подкорректируем файловую систему, которую мы получили от Espressif, для работы с VSC.
2. Файлы с кодом должны храниться в папке «src», а в примере эта папка называется «main». Переносим все файлы из второй в первую. После чего удаляем пустую папку «main». (Альтернатива: изменить файл platformio.ini, добавив в него «src_dir=main».)
3. Библиотеки должны находиться в папке «lib», а в примерах находятся в папке «components», перенесём все файлы в нужную папку, после чего пустую «components» можно будет удалить. (Альтернатива: изменить файл platformio.ini, добавив в него «lib_dir=components».)
4. Сами файлы прикреплённых библиотек должны находиться в дополнительном пути:
library/library.c и library/library.h или library/src/library.c и library/src/library.h. Так что стягиваем файлы библиотек в нужные подкатегории.
Заходим в папку example1/include и перенесём файл example1.h в папку выше, чтобы example1.h и example1.c были в одной папке lib/example1. Пустую папку «include» можно удалить.
С библиотекой example2 мы поступим по другому. Заходим в папку lib/example2, переименовываем папку «include» в «src». И в эту папку мы переносим файл «example2.c». Таким образом оба файла должны быть в папке «/lib/example2/src».
5. На последок остаётся прописать скорость работы с модулем в терминале. А может быть понадобится вручную прописать через какой COM-порт подключён модуль.
Для этого открываем файл «platformio.ini» и в его конец добавляем следующую строчку:
monitor_speed = 115200
Обычно СОМ-порт расспознаётся автоматически, но если будут проблемы, то в тот же файл «platformio.ini» добавляйте следующую строчку:
upload_port = COM11
У меня ESP32 подключается через COM11, у вас это может быть другой.
Компиляция и прошивка
Возвращаемся в VSC. В окне «Explorer», открываем папку «src», а потом файл «main.c».
Если надо скомпилировать проект, то жмите на иконку «галочка» в самом низу окна VSC.
А если надо ещё и прошить модуль, то кликайте по иконке «стрелка вправо» в самом низу окна VSC. Не забудьте во время нажать на кнопку «Boot» на модуле.
Ссылки
espressif/esp-iot-solution — репозиторий от Espressif.
https://platformio.org — сайт PlatformIO
https://code.visualstudio.com — сайт VSC