Начало работы с 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.

Начало работы с VS Code и PlatformIO IDE для ESP32 и ESP8266 NodeMCU: Windows, Mac OS X, Linux Ubuntu

Arduino IDE отлично подходит для небольших приложений. Однако для продвинутых проектов с более чем 200 строками кода, несколькими файлами и другими продвинутыми функциями, такими как автодополнение и проверка ошибок, VS Code с расширением PlatformIO IDE — лучшая альтернатива.

В этом руководстве мы рассмотрим следующие темы:

A) Установка VS Code на Windows (Visual Studio Code)

Перейдите на https://code.visualstudio.com/ и скачайте стабильную версию для вашей операционной системы (Windows).

Страница загрузки Microsoft Visual Studio Code VS Code для Windows PC

Нажмите на мастер установки, чтобы начать установку, и выполните все шаги для завершения установки. Примите соглашение и нажмите кнопку Next.

Мастер установки Microsoft Visual Studio Code VS Code

Выберите следующие опции и нажмите Next.

Мастер установки Microsoft Visual Studio Code VS Code шаг 2

Нажмите кнопку Install.

Мастер установки Microsoft Visual Studio Code VS Code шаг 3

Наконец, нажмите Finish для завершения установки.

Мастер установки Microsoft Visual Studio Code VS Code завершение

Откройте VS Code, и вас встретит вкладка Welcome с примечаниями к последней версии.

Экран приветствия Microsoft Visual Studio Code VS Code на Windows PC

Готово. Visual Studio Code успешно установлен.

Установка Python на Windows

Для программирования плат ESP32 и ESP8266 с PlatformIO IDE вам нужен Python 3.5 или выше, установленный на вашем компьютере. Мы используем Python 3.8.5.

Перейдите на python.org/download и скачайте Python 3.8.5 или более новую версию.

Откройте скачанный файл, чтобы запустить мастер установки Python.

Появится следующее окно.

Установка Python 3.8.5 на Windows PC и добавление в Path

ВАЖНО: Убедитесь, что вы отметили опцию Add Python 3.8 to PATH. Затем вы можете нажать кнопку Install Now.

Когда установка завершится успешно, вы увидите следующее сообщение.

Успешная установка Python на Windows PC

Вы можете нажать кнопку Close.

Теперь перейдите к разделу Установка расширения PlatformIO IDE в VS Code.


B) Установка VS Code на Mac OS X (Visual Studio Code)

Перейдите на https://code.visualstudio.com/ и скачайте стабильную версию для вашей операционной системы (Mac OS X).

Страница загрузки Microsoft Visual Studio Code VS Code для Mac OS X

После скачивания файла приложения Visual Studio Code вам будет показано следующее сообщение. Нажмите кнопку «Open».

Скачивание файла приложения Microsoft Visual Studio Code VS Code для Mac OS X

Или откройте папку Downloads и запустите Visual Studio Code.

Скачанный файл приложения Microsoft Visual Studio Code VS Code для Mac OS X

После этого вас встретит вкладка Welcome с примечаниями к последней версии.

Экран приветствия Microsoft Visual Studio Code VS Code на Mac OS X

Готово. 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)"
Установка homebrew в Microsoft Visual Studio Code VS Code

Затем выполните команду brew для установки Python 3.X:

$ brew install python3
Установка Python 3 с помощью команды brew в Microsoft Visual Studio Code VS Code

Теперь перейдите к разделу Установка расширения PlatformIO IDE в VS Code.


C) Установка VS Code на Linux Ubuntu (Visual Studio Code)

Перейдите на https://code.visualstudio.com/ и скачайте стабильную версию для вашей операционной системы (Linux Ubuntu).

Страница загрузки Microsoft Visual Studio Code VS Code для Linux Ubuntu

Сохраните файл установки:

Сохранение файла установки Microsoft Visual Studio Code VS Code для Linux Ubuntu

Для установки откройте окно Terminal, перейдите в папку Downloads и выполните следующую команду для установки VS Code.

$ cd Downloads
~/Downloads $ sudo apt install ./code_1.49.1-1600299189_amd64.deb

Когда установка завершится, VS Code должен быть доступен в меню приложений.

Открытие приложения Microsoft Visual Studio Code VS Code в Linux Ubuntu

Откройте VS Code, и вас встретит вкладка Welcome с примечаниями к последней версии.

Экран приветствия Microsoft Visual Studio Code VS Code на Linux Ubuntu

Готово. 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
Проверка версии Python3 в Linux Ubuntu для PlatformIO IDE

Как видно на предыдущем рисунке, Python 3.8.2 уже установлен.

Если у вас не установлен Python 3.8.X, выполните следующую команду для его установки:

$ sudo apt install python3

Независимо от того, установлен ли у вас Python или нет, вам нужно выполнить следующую команду для установки утилит Python.

$ sudo apt install python3-distutils
Установка python3-distutils в Linux Ubuntu для PlatformIO IDE

Теперь перейдите к разделу Установка расширения PlatformIO IDE в VS Code.


Установка расширения PlatformIO IDE в VS Code

Можно программировать платы ESP32 и ESP8266 с помощью VS Code с расширением PlatformIO IDE. Выполните следующие шаги для установки расширения PlatformIO IDE.

Откройте VS Code:

  1. Нажмите на значок Extensions или нажмите Ctrl + Shift + X, чтобы открыть вкладку Extensions

  2. Найдите «PlatformIO IDE»

  3. Выберите первый вариант

  4. Наконец, нажмите кнопку Install (Примечание: установка может занять несколько минут)

Установка расширения PlatformIO IDE в VS Code

После установки убедитесь, что расширение PlatformIO IDE включено, как показано ниже.

Расширение PlatformIO IDE включено в VS Code

После этого значок PlatformIO должен появиться на левой боковой панели, а также значок Home, который перенаправляет вас на домашнюю страницу PlatformIO.

Расширение PlatformIO успешно установлено

Готово, расширение PlatformIO IDE успешно добавлено в VS Code.

Если вы не видите значок PIO и быстрые инструменты внизу, вам может потребоваться перезапустить VS Code, чтобы изменения вступили в силу.

В любом случае, мы рекомендуем перезапустить VS Code перед продолжением.

Краткий обзор интерфейса VS Code

Откройте VS Code. На следующем скриншоте показано значение каждого значка на левой боковой панели и его сочетания клавиш:

Обзор интерфейса приложения VS Code Visual Studio
  • Файловый проводник

  • Поиск по файлам

  • Управление исходным кодом (с помощью gist)

  • Запуск и отладка кода

  • Управление расширениями

Дополнительно вы можете нажать Ctrl + Shift + P или перейти в View > Command Palette…, чтобы показать все доступные команды. Если вы ищете команду и не знаете, где она находится или её сочетание клавиш, просто перейдите в Command Palette и найдите её.

Внизу находится синяя панель с командами PlatformIO.

Значки быстрых инструментов расширения PlatformIO IDE

Вот что делает каждый значок слева направо:

  • PlatformIO Home

  • Build/Compile (Сборка/Компиляция)

  • Upload (Загрузка)

  • Clean (Очистка)

  • Serial Monitor (Монитор порта)

  • New Terminal (Новый терминал)

Если вы наведёте курсор мыши на значки, появится подсказка о том, что делает каждый значок.

Также вы можете нажать на значок PIO, чтобы увидеть все задачи PlatformIO.

Меню задач расширения PlatformIO IDE

Если задачи не отображаются в вашей IDE при нажатии на значок, вам может потребоваться нажать на значок с тремя точками вверху и включить задачи PlatformIO, как показано ниже.

Включение задач расширения PlatformIO IDE

Обзор PlatformIO IDE

Чтобы дать вам представление о том, как PlatformIO работает в VS Code, мы покажем, как создать, сохранить и загрузить скетч «Blink LED» (мигание светодиода) на вашу плату ESP32 или ESP8266.

Создание нового проекта

В VS Code нажмите на значок Home PlatformIO. Нажмите на + New Project, чтобы создать новый проект.

Создание нового проекта PlatformIO VS Code

Дайте вашему проекту имя (например, Blink_LED) и выберите используемую плату. В нашем случае мы используем DOIT ESP32 DEVKIT V1. Framework должен быть «Arduino» для использования ядра Arduino.

Вы можете выбрать расположение по умолчанию для сохранения проекта или пользовательское расположение.

Расположение по умолчанию находится по этому пути: Documents > PlatformIO > Projects. Для этого теста вы можете использовать расположение по умолчанию. Наконец, нажмите «Finish».

PlatformIO с VS Code создание нового проекта ESP32

Для этого примера мы будем использовать плату DOIT ESP32 DEVKIT. Если вы используете плату ESP8266 NodeMCU, процесс очень похож, вам просто нужно выбрать вашу плату ESP8266:

Расширение PlatformIO IDE с VS Code создание нового проекта ESP8266

Проект Blink_LED должен быть доступен во вкладке Explorer.

Структура папок проекта расширения PlatformIO IDE

VS Code и PlatformIO имеют структуру папок, отличную от стандартного проекта .ino. Если вы нажмёте на вкладку Explorer, вы увидите все файлы, созданные в папке вашего проекта. Может показаться, что файлов слишком много. Но не волнуйтесь, обычно вам нужно будет работать только с одним или двумя из них.

Внимание: вы не должны удалять, изменять или перемещать папки и файл platformio.ini. В противном случае вы не сможете скомпилировать свой проект с помощью PlatformIO.

Файл platformio.ini

Файл platformio.ini — это конфигурационный файл PlatformIO для вашего проекта. Он показывает платформу, плату и фреймворк для вашего проекта. Вы также можете добавить другие конфигурации, такие как подключаемые библиотеки, опции загрузки, изменение скорости Serial Monitor и другие настройки.

Конфигурационный файл расширения PlatformIO IDE для ESP32
  • 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().

Файл main.cpp расширения PlatformIO IDE в папке src

В 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);
}

Просмотреть raw код

Этот код мигает встроенным светодиодом каждую секунду. Он работает с платами ESP32 и ESP8266 (обе имеют встроенный светодиод, подключённый к GPIO 2).

Мы рекомендуем скопировать этот код вручную, чтобы вы увидели автодополнение и другие интересные функции IDE в действии. Кроме того, если у вас есть синтаксическая ошибка где-то в программе, она будет подчёркнута красным ещё до компиляции.

После этого нажмите Ctrl + S или перейдите в File > Save, чтобы сохранить файл.

Теперь вы можете нажать на значок Upload, чтобы скомпилировать и загрузить код. Также вы можете перейти в меню PIO Project Tasks и выбрать Upload.

Загрузка кода на плату ESP32 PlatformIO VS Code Visual Studio

Если код успешно загружен, вы должны увидеть следующее сообщение.

Успешная загрузка кода на ESP32 PlatformIO VS Code

После загрузки кода ESP32 или ESP8266 должен мигать встроенным светодиодом каждую секунду.

Встроенный светодиод платы ESP32 включён HIGH

Теперь нажмите на значок Serial Monitor, и вы должны увидеть вывод текущего состояния светодиода.

Serial Monitor PlatformIO IDE VS Code Visual Studio для платы ESP32

Примечание: если вы не видите окно Terminal, перейдите в меню Terminal > New Terminal.

Определение COM-порта

PlatformIO автоматически определяет порт, к которому подключена ваша плата. Чтобы проверить подключённые устройства, перейдите на PIO Home и нажмите на значок Devices.

Подключённые устройства COM порт Serial в расширении PlatformIO IDE VS Code Visual Studio

Устранение неполадок

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
Изменение скорости Serial Monitor расширения PlatformIO IDE 115200

После этого сохраните файл.

Установка библиотек ESP32/ESP8266 в PlatformIO IDE

Следуйте следующей процедуре, если вам нужно установить библиотеки в PlatformIO IDE.

Нажмите на значок Home, чтобы перейти на главную страницу PlatformIO. Нажмите на значок Libraries на левой боковой панели.

Найдите библиотеку, которую хотите установить. Например, Adafruit_BME280.

Поиск библиотеки BME280 в расширении PlatformIO IDE VS Code Visual Studio

Нажмите на библиотеку, которую хотите включить в свой проект. Затем нажмите Add to Project.

PlatformIO с VS Code добавление библиотеки в проект

Выберите проект, в котором хотите использовать библиотеку.

PlatformIO с VS Code добавление библиотеки в проект выбор проекта

Это добавит идентификатор библиотеки с помощью директивы lib_deps в файл platformio.ini. Если вы откроете файл platformio.ini вашего проекта, он должен выглядеть, как показано на следующем изображении.

Добавление идентификатора библиотеки в конфигурационный файл PlatformIO

Также в окне библиотеки, если вы выберете вкладку Installation и немного прокрутите вниз, вы увидите идентификатор библиотеки. Вы можете выбрать любой из этих идентификаторов в зависимости от нужных вам опций. Идентификаторы библиотек выделены красным.

Меню реестра библиотек расширения PlatformIO IDE

Затем перейдите к файлу 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. Найдите и выберите папку вашего проекта.

VS Code с PlatformIO открытие папки проекта

PlatformIO откроет все файлы в папке проекта.

Цветовые темы VS Code

VS Code позволяет выбирать между различными цветовыми темами. Перейдите к значку Manage и выберите Color Theme. Затем вы можете выбрать из нескольких различных светлых и тёмных тем.

Изменение цветовых тем VS Code Visual Studio тёмная светлая

Список сочетаний клавиш

Полный список сочетаний клавиш 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/