PlatformIO — замена Arduino IDE

platformio-logo.17fdc3bc

Данная статья — первая из цикла по великолепному фреймворку PlatformIO. Тут мы рассмотрим недостатки Arduino IDE, установим PlatformIO и загрузим программу для мигания светодиодом.

Почему Arduino IDE — говно?

0J5280.1200

Arduino IDE — как многие думают, единственный редактор кода для Arduino, ESP и прочих совместимых плат. Однако вы ошибаетесь, ведь относительно недавно в свет вышла замечательная альтернатива — PlatformIO.

PlatformIO — это open-source экосистема для разработки на Arduino. Поддерживает множество платформ, с подробным списком которых вы можете ознакомиться на официальном сайте, скажу лишь, что в нем присутствуют все основные популярные микроконтроллеры.

Почему Arduino IDEблядская срань демоническо-сектантского происхождения, которая призвана, чтобы портить жизнь всем и каждому? Есть множество косяков, за которые мы можем ее не любить:

    • Отсутствие какой-либо кастомизации (темы, подсветка синтаксиса)
    • Отсутствие автодополнения кода
    • Неудобная организация проектов
    • Отсутствие поддержки каких-либо плагинов
    • Неудобный менеджер библиотек
    • Отвратительный build-output, с которым вы хрен поймете, где ошибка
    • Прочие косяки

Как минимум из-за этих проблем вы обязаны хотя бы попробовать на вкус что-то новое, и PlatformIO — это то самое великолепное рагу, после которого вы не захотите возвращаться к окаменевшей тушенке вековой давности.

Как установить и настроить?

Выбираем IDE

Установка простая, а сам фреймворк распространяется на бесплатной основе.

Для начала вы должны определиться, какой редактор вы будете использовать. Тут два распространенных варианта — Visual Studio Code (не путать с оригинальной Visual Studio, так как эта, в отличие от своей матери, мало весит и шустро работает), либо Atom. Если вы хотите больше кастомизации, всяких крутых плагинов и экспериментов — выбирайте Atom, если же вам нужно просто красивую, удобную IDE с отличным автодополнением кода из коробки, выбирайте Visual Studio Code.

Устанавливаем фреймворк PlatformIO

После того, как вы установили редактор кода, принимаемся устанавливать фреймворк.

Установка на Visual Studio Code:

1

  1. Откройте менеджер расширений
  2. В поле для поиска введите “platformio-ide
  3. Нажмите на кнопку “Install
  4. После того, как все установилось, перезагружаем редактор

Установка на Atom:

2

  1. Откройте менеджер пакетов
    • WindowsМеню: Файл (File) > Настройки (Settings) > Установить (Install)
    • macOSМеню: Atom > Настройки (Preferences) > Установить (Install)
    • LinuxМеню: Редактировать (Edit) > Настройки (Preferences) > Установить (Install)
  1. В поле для поиска введите “platformio-ide
  2. Нажмите на кнопку “Install
  3. После того, как все установилось, перезагружаем редактор

Мигаем светодиодом

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

Создаем проект

3

Итак, установив все это добро, запускаем наш редактор. Вас должен встретить стартовый экран, через который мы и будем создавать на первый проект. Тыкаем на кнопку «New Project» и создаем новый проект:

4

  1. Выбираем нашу плату в Board
  2. Решаем, куда поместить наш проект: в стандартную директорию PlatformIO или какую-то свою папку (снимаем галочку, если хотим сконфигурировать папку для сохранения проекта)
  3. Тыкаем Finish

Ура, проект создан!

Пишем код

6

Стандартный код для мигания светодиодом (пишем в файлик main.cpp, расположенный в директории src):

#include 

#define LED_PIN 13
#define BLINK_DELAY 1000

void setup() {
    pinMode(LED_PIN, OUTPUT);
}

void loop() {
    digitalWrite(LED_PIN, HIGH);
    delay(BLINK_DELAY);
    digitalWrite(LED_PIN, LOW);
    delay(BLINK_DELAY);
}

Загружаем в плату

7

Итак, перед тем, как собрать и загрузить прошивку в плату, нам нужно открыть файлик platformio.ini и настроить там: скорость загрузки и COM-порт для загрузки.

Пример сконфигурированного файла platformio.ini:

[env:nanoatmega328]
platform = atmelavr
board = nanoatmega328
framework = arduino

; Скорость загрузки в baud
upload_speed = 57600

; COM-порт для загрузки
upload_port = COM3

Теперь жмем на кнопку загрузки (в Visual Studio Code она находится в нижней голубой панели):

8

Итоги

coANXB5u_Hw

Теперь у вас на вооружении есть мощный инструмент, обуздывать который мы будем в следующих статьях. Вы также можете самостоятельно ознакомиться с документацией PlatformIO (Warning! English required!).

«Кто спиздил статью без указания авторства и источника, тот — мудак!» © Shepelev K., 2k18

2018-04-09T23:09:44+00:00