Начало работы с VS Code и PlatformIO IDE для ESP32 и ESP8266 (Windows, Mac OS X, Linux Ubuntu)
Узнайте, как программировать платы ESP32 и ESP8266 NodeMCU с помощью VS Code (Microsoft Visual Studio Code) с расширением PlatformIO IDE. Мы рассмотрим, как установить программное обеспечение на операционных системах Windows, Mac OS X или Ubuntu.
Arduino IDE отлично подходит для небольших приложений. Однако для продвинутых проектов с более чем 200 строками кода, несколькими файлами и другими продвинутыми функциями, такими как автодополнение и проверка ошибок, VS Code с расширением PlatformIO IDE — лучшая альтернатива.
В этом руководстве мы рассмотрим следующие темы:
Установка VS Code (Visual Studio Code):
A) Установка VS Code на Windows (Visual Studio Code)
Перейдите на https://code.visualstudio.com/ и скачайте стабильную версию для вашей операционной системы (Windows).
Нажмите на мастер установки, чтобы начать установку, и выполните все шаги для завершения установки. Примите соглашение и нажмите кнопку Next.
Выберите следующие опции и нажмите Next.
Нажмите кнопку Install.
Наконец, нажмите Finish для завершения установки.
Откройте VS Code, и вас встретит вкладка Welcome с примечаниями к последней версии.
Готово. Visual Studio Code успешно установлен.
Установка Python на Windows
Для программирования плат ESP32 и ESP8266 с PlatformIO IDE вам нужен Python 3.5 или выше, установленный на вашем компьютере. Мы используем Python 3.8.5.
Перейдите на python.org/download и скачайте Python 3.8.5 или более новую версию.
Откройте скачанный файл, чтобы запустить мастер установки Python.
Появится следующее окно.
ВАЖНО: Убедитесь, что вы отметили опцию Add Python 3.8 to PATH. Затем вы можете нажать кнопку Install Now.
Когда установка завершится успешно, вы увидите следующее сообщение.
Вы можете нажать кнопку Close.
Теперь перейдите к разделу Установка расширения PlatformIO IDE в VS Code.
B) Установка VS Code на Mac OS X (Visual Studio Code)
Перейдите на https://code.visualstudio.com/ и скачайте стабильную версию для вашей операционной системы (Mac OS X).
После скачивания файла приложения Visual Studio Code вам будет показано следующее сообщение. Нажмите кнопку «Open».
Или откройте папку Downloads и запустите Visual Studio Code.
После этого вас встретит вкладка Welcome с примечаниями к последней версии.
Готово. Visual Studio Code успешно установлен.
Установка Python на Mac OS X
Для программирования плат ESP32 и ESP8266 с PlatformIO IDE вам нужен Python 3.5 или выше, установленный на вашем компьютере. Мы используем Python 3.8.5.
Для установки Python мы будем использовать Homebrew. Если у вас нет команды brew, введите следующую команду:
$ /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)"
Затем выполните команду brew для установки Python 3.X:
$ brew install python3
Теперь перейдите к разделу Установка расширения PlatformIO IDE в VS Code.
C) Установка VS Code на Linux Ubuntu (Visual Studio Code)
Перейдите на https://code.visualstudio.com/ и скачайте стабильную версию для вашей операционной системы (Linux Ubuntu).
Сохраните файл установки:
Для установки откройте окно Terminal, перейдите в папку Downloads и выполните следующую команду для установки VS Code.
$ cd Downloads
~/Downloads $ sudo apt install ./code_1.49.1-1600299189_amd64.deb
Когда установка завершится, VS Code должен быть доступен в меню приложений.
Откройте VS Code, и вас встретит вкладка Welcome с примечаниями к последней версии.
Готово. Visual Studio Code успешно установлен.
Установка Python на Linux Ubuntu
Для программирования плат ESP32 и ESP8266 с PlatformIO IDE вам нужен Python 3.5 или выше, установленный на вашем компьютере. Мы используем Python 3.8.
Откройте окно Terminal и проверьте, что Python 3 уже установлен.
$ python3 --version
python 3.8.2
Как видно на предыдущем рисунке, Python 3.8.2 уже установлен.
Если у вас не установлен Python 3.8.X, выполните следующую команду для его установки:
$ sudo apt install python3
Независимо от того, установлен ли у вас Python или нет, вам нужно выполнить следующую команду для установки утилит Python.
$ sudo apt install python3-distutils
Теперь перейдите к разделу Установка расширения PlatformIO IDE в VS Code.
Установка расширения PlatformIO IDE в VS Code
Можно программировать платы ESP32 и ESP8266 с помощью VS Code с расширением PlatformIO IDE. Выполните следующие шаги для установки расширения PlatformIO IDE.
Откройте VS Code:
Нажмите на значок Extensions или нажмите Ctrl + Shift + X, чтобы открыть вкладку Extensions
Найдите «PlatformIO IDE»
Выберите первый вариант
Наконец, нажмите кнопку Install (Примечание: установка может занять несколько минут)
После установки убедитесь, что расширение PlatformIO IDE включено, как показано ниже.
После этого значок PlatformIO должен появиться на левой боковой панели, а также значок Home, который перенаправляет вас на домашнюю страницу PlatformIO.
Готово, расширение PlatformIO IDE успешно добавлено в VS Code.
Если вы не видите значок PIO и быстрые инструменты внизу, вам может потребоваться перезапустить VS Code, чтобы изменения вступили в силу.
В любом случае, мы рекомендуем перезапустить VS Code перед продолжением.
Краткий обзор интерфейса VS Code
Откройте VS Code. На следующем скриншоте показано значение каждого значка на левой боковой панели и его сочетания клавиш:
Файловый проводник
Поиск по файлам
Управление исходным кодом (с помощью gist)
Запуск и отладка кода
Управление расширениями
Дополнительно вы можете нажать Ctrl + Shift + P или перейти в View > Command Palette…, чтобы показать все доступные команды. Если вы ищете команду и не знаете, где она находится или её сочетание клавиш, просто перейдите в Command Palette и найдите её.
Внизу находится синяя панель с командами PlatformIO.
Вот что делает каждый значок слева направо:
PlatformIO Home
Build/Compile (Сборка/Компиляция)
Upload (Загрузка)
Clean (Очистка)
Serial Monitor (Монитор порта)
New Terminal (Новый терминал)
Если вы наведёте курсор мыши на значки, появится подсказка о том, что делает каждый значок.
Также вы можете нажать на значок PIO, чтобы увидеть все задачи PlatformIO.
Если задачи не отображаются в вашей IDE при нажатии на значок, вам может потребоваться нажать на значок с тремя точками вверху и включить задачи PlatformIO, как показано ниже.
Обзор PlatformIO IDE
Чтобы дать вам представление о том, как PlatformIO работает в VS Code, мы покажем, как создать, сохранить и загрузить скетч «Blink LED» (мигание светодиода) на вашу плату ESP32 или ESP8266.
Создание нового проекта
В VS Code нажмите на значок Home PlatformIO. Нажмите на + New Project, чтобы создать новый проект.
Дайте вашему проекту имя (например, Blink_LED) и выберите используемую плату. В нашем случае мы используем DOIT ESP32 DEVKIT V1. Framework должен быть «Arduino» для использования ядра Arduino.
Вы можете выбрать расположение по умолчанию для сохранения проекта или пользовательское расположение.
Расположение по умолчанию находится по этому пути: Documents > PlatformIO > Projects. Для этого теста вы можете использовать расположение по умолчанию. Наконец, нажмите «Finish».
Для этого примера мы будем использовать плату DOIT ESP32 DEVKIT. Если вы используете плату ESP8266 NodeMCU, процесс очень похож, вам просто нужно выбрать вашу плату ESP8266:
Проект Blink_LED должен быть доступен во вкладке Explorer.
VS Code и PlatformIO имеют структуру папок, отличную от стандартного проекта .ino. Если вы нажмёте на вкладку Explorer, вы увидите все файлы, созданные в папке вашего проекта. Может показаться, что файлов слишком много. Но не волнуйтесь, обычно вам нужно будет работать только с одним или двумя из них.
Внимание: вы не должны удалять, изменять или перемещать папки и файл platformio.ini. В противном случае вы не сможете скомпилировать свой проект с помощью PlatformIO.
Файл platformio.ini
Файл platformio.ini — это конфигурационный файл PlatformIO для вашего проекта. Он показывает платформу, плату и фреймворк для вашего проекта. Вы также можете добавить другие конфигурации, такие как подключаемые библиотеки, опции загрузки, изменение скорости Serial Monitor и другие настройки.
platform: соответствует SoC, используемому платой.
board: плата разработки, которую вы используете.
framework: программная среда, которая будет запускать код проекта.
Для ESP32 и ESP8266, если вы хотите использовать скорость 115200 бод в Serial Monitor, вам просто нужно добавить следующую строку в файл platformio.ini.
monitor_speed = 115200
После этого обязательно сохраните изменения в файле, нажав Ctrl + S.
В этом файле вы также можете указать идентификаторы библиотек, которые будете использовать в проекте, с помощью директивы lib_deps, как мы увидим позже.
Папка src
Папка src — это ваша рабочая папка. Внутри папки src находится файл main.cpp. Именно в нём вы пишете свой код. Нажмите на этот файл. Должна открыться структура программы Arduino с функциями setup() и loop().
В PlatformIO все ваши скетчи Arduino должны начинаться с #include <Arduino.h>.
Загрузка кода с помощью PlatformIO IDE: ESP32/ESP8266
Скопируйте следующий код в ваш файл main.cpp.
/*********
Rui Santos
Complete project details at https://RandomNerdTutorials.com/vs-code-platformio-ide-esp32-esp8266-arduino/
*********/
#include <Arduino.h>
#define LED 2
void setup() {
// put your setup code here, to run once:
Serial.begin(115200);
pinMode(LED, OUTPUT);
}
void loop() {
// put your main code here, to run repeatedly:
digitalWrite(LED, HIGH);
Serial.println("LED is on");
delay(1000);
digitalWrite(LED, LOW);
Serial.println("LED is off");
delay(1000);
}
Этот код мигает встроенным светодиодом каждую секунду. Он работает с платами ESP32 и ESP8266 (обе имеют встроенный светодиод, подключённый к GPIO 2).
Мы рекомендуем скопировать этот код вручную, чтобы вы увидели автодополнение и другие интересные функции IDE в действии. Кроме того, если у вас есть синтаксическая ошибка где-то в программе, она будет подчёркнута красным ещё до компиляции.
После этого нажмите Ctrl + S или перейдите в File > Save, чтобы сохранить файл.
Теперь вы можете нажать на значок Upload, чтобы скомпилировать и загрузить код. Также вы можете перейти в меню PIO Project Tasks и выбрать Upload.
Если код успешно загружен, вы должны увидеть следующее сообщение.
После загрузки кода ESP32 или ESP8266 должен мигать встроенным светодиодом каждую секунду.
Теперь нажмите на значок Serial Monitor, и вы должны увидеть вывод текущего состояния светодиода.
Примечание: если вы не видите окно Terminal, перейдите в меню Terminal > New Terminal.
Определение COM-порта
PlatformIO автоматически определяет порт, к которому подключена ваша плата. Чтобы проверить подключённые устройства, перейдите на PIO Home и нажмите на значок Devices.
Устранение неполадок
1) Если вы пытаетесь загрузить новый скетч на ESP32 и получаете сообщение об ошибке «A fatal error occurred: Failed to connect to ESP32: Timed out… Connecting…». Это означает, что ваш ESP32 не находится в режиме прошивки/загрузки.
Имея правильное имя платы и выбранный COM-порт, выполните следующие шаги:
Удерживайте кнопку BOOT на плате ESP32
Нажмите кнопку Upload в Arduino IDE, чтобы загрузить скетч
После появления сообщения «Connecting….» в Arduino IDE отпустите кнопку BOOT
После этого вы должны увидеть сообщение «Done uploading»
Вам также придётся повторять эту последовательность каждый раз при загрузке нового скетча. Но если вы хотите решить эту проблему раз и навсегда без необходимости нажимать кнопку BOOT, следуйте рекомендациям в следующем руководстве:
2) Если вы получаете ошибку «COM Port not found/not available», вам может потребоваться установить драйверы CP210x:
Если у вас возникли проблемы с ESP32, ознакомьтесь с нашим подробным Руководством по устранению неполадок ESP32.
Изменение скорости Serial Monitor — PlatformIO IDE
Скорость по умолчанию, используемая PlatformIO, составляет 9600 бод. Однако можно установить другое значение, как упоминалось ранее. В файловом проводнике, в папке вашего проекта, откройте файл platformio.ini и добавьте следующую строку:
monitor_speed = baud_rate
Например:
monitor_speed = 115200
После этого сохраните файл.
Установка библиотек ESP32/ESP8266 в PlatformIO IDE
Следуйте следующей процедуре, если вам нужно установить библиотеки в PlatformIO IDE.
Нажмите на значок Home, чтобы перейти на главную страницу PlatformIO. Нажмите на значок Libraries на левой боковой панели.
Найдите библиотеку, которую хотите установить. Например, Adafruit_BME280.
Нажмите на библиотеку, которую хотите включить в свой проект. Затем нажмите Add to Project.
Выберите проект, в котором хотите использовать библиотеку.
Это добавит идентификатор библиотеки с помощью директивы lib_deps в файл platformio.ini. Если вы откроете файл platformio.ini вашего проекта, он должен выглядеть, как показано на следующем изображении.
Также в окне библиотеки, если вы выберете вкладку Installation и немного прокрутите вниз, вы увидите идентификатор библиотеки. Вы можете выбрать любой из этих идентификаторов в зависимости от нужных вам опций. Идентификаторы библиотек выделены красным.
Затем перейдите к файлу platformio.ini вашего проекта и вставьте идентификатор библиотеки в этот файл, вот так:
lib_deps = adafruit/Adafruit BME280 Library@^2.1.0
Если вам нужно несколько библиотек, вы можете разделить их имена запятой или поместить на разные строки. Например:
lib_deps =
arduino-libraries/Arduino_JSON @ 0.1.0
adafruit/Adafruit BME280 Library @ ^2.1.0
adafruit/Adafruit Unified Sensor @ ^1.1.4
PlatformIO имеет встроенный мощный менеджер библиотек, который позволяет указывать пользовательские зависимости для каждого проекта в конфигурационном файле проекта platformio.ini с помощью lib_deps. Это скажет PlatformIO автоматически скачать библиотеку и все её зависимости при сохранении конфигурационного файла или при компиляции проекта.
Открытие папки проекта
Чтобы открыть существующую папку проекта в PlatformIO, откройте VS Code, перейдите на PlatformIO Home и нажмите Open Project. Найдите и выберите папку вашего проекта.
PlatformIO откроет все файлы в папке проекта.
Цветовые темы VS Code
VS Code позволяет выбирать между различными цветовыми темами. Перейдите к значку Manage и выберите Color Theme. Затем вы можете выбрать из нескольких различных светлых и тёмных тем.
Список сочетаний клавиш
Полный список сочетаний клавиш VS Code для Windows, Mac OS X или Linux можно найти по следующей ссылке:
Заключение
В этом руководстве вы узнали, как установить и подготовить Visual Studio Code для работы с платами ESP32 и ESP8266. VS Code с расширением PlatformIO IDE — отличная альтернатива классической Arduino IDE, особенно когда вы работаете над более продвинутыми скетчами для крупных приложений.
Вот некоторые преимущества использования VS Code с PlatformIO IDE перед Arduino IDE:
Он автоматически определяет COM-порт, к которому подключена ваша плата;
VS Code IntelliSense: автодополнение. IntelliSense пытается угадать, что вы хотите написать, отображая различные варианты и предоставляя информацию о параметрах, которые может ожидать функция;
Подсветка ошибок: VS Code + PIO подчёркивает ошибки в вашем коде ещё до компиляции;
Несколько открытых вкладок: вы можете иметь несколько открытых вкладок с кодом одновременно;
Вы можете скрывать определённые части кода;
Продвинутая навигация по коду;
И многое другое…
Если вы ищете более продвинутую IDE для написания приложений для плат ESP32 и ESP8266, VS Code с расширением PlatformIO IDE — отличный выбор.
Надеемся, что это руководство было полезным. Если вам интересны ESP32 и ESP8266, ознакомьтесь со следующими ресурсами:
Источник: Random Nerd Tutorials — https://randomnerdtutorials.com/vs-code-platformio-ide-esp32-esp8266-arduino/