Данная статья – первая из цикла по великолепному фреймворку PlatformIO. Тут мы рассмотрим недостатки Arduino IDE, установим PlatformIO и загрузим программу для мигания светодиодом.
Примечание: статья написана товарищем Shepelev K. и опубликована по его просьбе.
Почему Arduino IDE – г@вно?
Arduino IDE – как многие думают, единственный редактор кода для Arduino, ESP и прочих совместимых плат. Однако вы ошибаетесь, ведь относительно недавно в свет вышла замечательная альтернатива – PlatformIO.
PlatformIO – это open-source экосистема для разработки на Arduino. Поддерживает множество платформ, с подробным списком которых вы можете ознакомиться на официальном сайте, скажу лишь, что в нем присутствуют все основные популярные микроконтроллеры.
Почему Arduino IDE – бл@дская срань демоническо-сектантского происхождения, которая призвана, чтобы портить жизнь всем и каждому? Есть множество косяков, за которые мы можем ее не любить:
- Отсутствие какой-либо кастомизации (темы, подсветка синтаксиса)
- Отсутствие автодополнения кода
- Неудобная организация проектов
- Отсутствие поддержки каких-либо плагинов
- Неудобный менеджер библиотек
- Отвратительный build-output, с которым вы хрен поймете, где ошибка
- Прочие косяки
Как минимум из-за этих проблем вы обязаны хотя бы попробовать на вкус что-то новое, и PlatformIO – это то самое великолепное рагу, после которого вы не захотите возвращаться к окаменевшей тушенке вековой давности.
Как установить и настроить?
Установка простая, а сам фреймворк распространяется на бесплатной основе.
Для начала вы должны определиться, какой редактор вы будете использовать. Тут два распространенных варианта – Visual Studio Code (не путать с оригинальной Visual Studio, так как эта, в отличие от своей матери, мало весит и шустро работает), либо Atom. Если вы хотите больше кастомизации, всяких крутых плагинов и экспериментов – выбирайте Atom, если же вам нужно просто красивую, удобную IDE с отличным автодополнением кода из коробки, выбирайте Visual Studio Code.
После того, как вы установили редактор кода, принимаемся устанавливать фреймворк.
Установка на VS Code
- Откройте менеджер расширений
- В поле для поиска введите “platformio-ide”
- Нажмите на кнопку “Install”
- После того, как все установилось, перезагружаем редактор
Установка на Atom
- Откройте менеджер пакетов
- Windows: Меню: Файл (File) > Настройки (Settings) > Установить (Install)
- macOS: Меню: Atom > Настройки (Preferences) > Установить (Install)
- Linux: Меню: Редактировать (Edit) > Настройки (Preferences) > Установить (Install)
- В поле для поиска введите “platformio-ide”
- Нажмите на кнопку “Install”
- После того, как все установилось, перезагружаем редактор
Автор: Shepelev K., 2k18
Мигаем светодиодом
Перед тем, как перейти к созданию проекта, хочу предупредить, что все действия будут производиться в Visual Studio Code, но это не должно стать большой проблемой, так как разница, по сути, лишь в расположении некоторых кнопочек для загрузки и сборки прошивки.
Создаем проект
Итак, установив все это добро, запускаем наш редактор. Вас должен встретить стартовый экран, через который мы и будем создавать на первый проект. Тыкаем на кнопку “New Project” и создаем новый проект:
- Выбираем нашу плату в Board
- Решаем, куда поместить наш проект: в стандартную директорию PlatformIO или какую-то свою папку (снимаем галочку, если хотим сконфигурировать папку для сохранения проекта)
- Тыкаем Finish
Ура, проект создан!
Пишем код
Стандартный код для мигания светодиодом (пишем в файлик main.cpp, расположенный в директории src):
#include <Arduino.h> #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); }
Загружаем в плату
Итак, перед тем, как собрать и загрузить прошивку в плату, нам нужно открыть файлик platformio.ini и настроить там: скорость загрузки и COM-порт для загрузки.
Пример сконфигурированного файла platformio.ini:
[env:nanoatmega328] platform = atmelavr board = nanoatmega328 framework = arduino ; Скорость загрузки в baud upload_speed = 57600 ; COM-порт для загрузки upload_port = COM3
Теперь жмем на кнопку загрузки (в Visual Studio Code она находится в нижней голубой панели):
Теперь у вас на вооружении есть мощный инструмент, обуздывать который мы будем в следующих статьях. Вы также можете самостоятельно ознакомиться с документацией PlatformIO (Warning! English required!).
Автор: Shepelev K., 2k18