- Что такое PlatformIO?
- Настройка PlatformIO для Arduino Uno
- Программирование Arduino UNO с помощью PlatformIO IDE
- Программирование платы STM32 с использованием PlatformIO IDE
Разработка в Arduino и Arduino IDE всегда была легкой и увлекательной благодаря простому пользовательскому интерфейсу. IDE Arduino имеет открытый исходный код и бесплатна для использования в среде разработки со всеми функциями, такими как запись, компиляция и загрузка кода на платы Arduino. Он основан на Java и работает на основных ОС, таких как Windows, OS X и Linux. Но при всей его простоте и большом сообществе у него нет некоторых функций, которые потребуются опытному разработчику для быстрой разработки, которые могут сократить период разработки. Для Arduino доступно множество сред разработки, но все они имеют свои преимущества и недостатки. Сегодня мы начнем со среды разработки PlatformIO, которая проста в использовании и имеет дополнительные функции по сравнению со средой Arduino.
Что такое PlatformIO?
PlatformIO - это экосистема с открытым исходным кодом на основе Python для разработки IoT и кроссплатформенная IDE с унифицированным отладчиком, работающая в Windows, Mac и Linux. PlatformIO поставляется с менеджером библиотек для таких платформ, как поддержка Arduino или MBED, а также с модульным тестированием и обновлениями прошивки. PlatformIO поддерживает ряд платформ, фреймворков, плат, таких как Arduino, ESP32, ESP8266, и поставляется с рядом примеров и библиотек. Он не зависит от платформы, на которой он работает, и требует, чтобы на компьютере был установлен только Python.
Преимущества PlatformIO
PlatformIO обеспечивает быструю разработку с такими функциями, как завершение кода C / C ++ и Smart Code Linter для быстрого профессионального развития, которого нет в Arduino IDE. В дополнение к этому PlatformIO предлагает поддержку тем с темными и светлыми цветами для разработки в любое время. Он также имеет интеллектуальную навигацию по коду и форматирование кода. Основные функции включают многоплатформенную систему сборки, диспетчер библиотек, монитор последовательного порта и т. Д.
Unified Debugger с поддержкой нескольких архитектур и платформ разработки позволяет отлаживать несколько встроенных платы с нулевой конфигурацией. Унифицированный отладчик PlatformIO имеет такие функции, как условные точки останова, выражения и точки наблюдения, средство просмотра памяти, горячий перезапуск активного сеанса отладки. PlatformIO Core написано на Python 2.7 и работает на Windows, macOS, Linux, FreeBSD и даже на компьютерах размером с кредитную карту на базе ARM, таких как Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK и т. Д. Помимо этого, PlatformIO имеет проводник, который помогает организация файлов, когда проект вырастает до определенного уровня и организация становится необходимой.
Настройка PlatformIO для Arduino Uno
Использование PlatformIO очень просто и требует нескольких шагов для начала. PlatformIO требует, чтобы на компьютере был установлен Python, поскольку, как объяснялось выше, ядро PlatformIO было написано на Python 2.7. Обратите внимание, что PlatformIO не поддерживает Python 3, поэтому рекомендуется установить версию Python 2, а затем продолжить настройку IDE PlatformIO. PlatformIO - это IDE, плюс он предоставляет официальные пакеты (плагины, расширения) для самых популярных IDE и текстовых редакторов.
Сегодня мы установим PlatformIO в такой текстовый редактор, как Atom и Visual Studio Code. В официальной документации Platform IDE говорится, что IDE PlatformIO для VS Code (Visual Studio Code) предлагает лучшую производительность системы, и пользователям стало проще начать работу. Итак, мы настроим PlatformIO в Visual Studio Code. VS Code - это широко известный текстовый редактор с рядом расширений, позволяющих нам разрабатывать на разных языках программирования.
Давайте приступим к настройке PlatformIO, чтобы начать разработку кода в Arduino UNO. Есть шаги, которые описаны ниже:
- Сначала установите Visual Studio Code с официального сайта. Шаги по установке Visual Studio Code здесь не рассматриваются, но вы можете найти их на веб-сайте VS Code. Это общие шаги, как при установке любого другого программного обеспечения в ОС Windows.
- После успешной установки код Visual Studio будет выглядеть следующим образом.
- Следующий шаг включает установку PlatformIO с помощью VS Code Extensions. Для этого вам нужно перейти к значку расширений в верхнем левом углу VS Code. В верхнем левом углу есть значок квадратной коробки, который является 5- м значком. Просто щелкните по нему, и рядом с ним появится одно поле поиска, где вы можете найти множество расширений для разных языков программирования, таких как C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript и Node.js и т. Д.
- Найдите «PlatformIO» в поле поиска расширений, и вы увидите значок PlatformIO с именем и описанием. Просто нажмите на него и установите. Установка наборов инструментов и других зависимостей может занять некоторое время. Зависимости включают среду C / C ++, поскольку разработка Arduino в основном ведется на C / C ++.
- Когда установка будет завершена, вы увидите следующий интерфейс. Интерфейс включает в себя всю необходимую навигацию, такую как создание нового проекта, импорта проекта Arduino, открытого проекта, примеров проекта и т. Д. После установки PlatformIO рекомендуется перезапустить редактор кода VS.
На этом этапы установки PlatformIO завершаются. Теперь PlatformIO установлен и готов к использованию. Так же, как Arduino IDE, мы начнем с программы Blink и попытаемся загрузить программу Blink в Arduino UNO.
Программирование Arduino UNO с помощью PlatformIO IDE
Интерфейс PlatformIO будет объяснен одновременно с программированием Arduino UNO. Здесь мы программируем Arduino для мигания светодиода с помощью PlatformIO. То же самое можно сделать с помощью Arduino IDE. Выполните следующие шаги, чтобы создать новый проект для мигающего светодиода.
- В меню быстрого доступа выберите вкладку «Новый проект».
- Назовите проект (здесь «Блинк»). Найдите и выберите плату, которая является Arduino UNO. Поскольку мы работаем во фреймворке Arduino, выбранным фреймворком будет Arduino. После заполнения всех деталей просто нажмите Готово.
- Создание проекта начнется со сбора ресурсов и других зависимостей.
- Когда проект будет успешно создан, вы получите сообщение «Проект был успешно инициализирован» со всеми заполненными деталями.
- Чтобы открыть созданный проект, просто прокрутите вниз Главное меню PlatformIO, и вы увидите весь список проектов, созданных с самого начала. В правом углу созданного проекта нажмите «Открыть», чтобы открыть проект и начать редактирование.
- Когда проект открыт, изначально он будет выглядеть так, как будто он скрыт, но не волнуйтесь, в PlatformIO есть функция файлового проводника, где будут найдены все файлы текущего проекта. Просто перейдите в верхний левый угол и откройте «Без названия (Рабочее место)». При нажатии на нее все файлы появятся в виде раскрывающегося меню. Чтобы найти текстовый редактор для редактирования «Код», выберите «src» и откройте «main.cpp». Режим текстового редактора появится на главном экране с открытием новой вкладки. Здесь вы можете написать все коды текущего текущего проекта.
- Просто напишите мигающий код для Arduino UNO. Обратите внимание, что PlatformIO не имеет доступа по умолчанию к библиотекам Arduino, поэтому каждый раз, когда вы пишете код для Arduino, всегда включайте библиотеку Arduino, то есть «#include» в начале программы.
- Следующим шагом будет компиляция и загрузка кода. Для этого давайте посмотрим на функции, предоставляемые PlatformIO. Также PlatformIO по умолчанию выбирает COM-порт. Но вы также можете изменить порт, если это не нужный COM-порт. Изменение COM-порта будет объяснено позже в этом руководстве. PlatformIO имеет такие функции, как сборка, загрузка, загрузка на удаленное устройство, очистка, тестирование, запуск задачи, мониторинг последовательного порта, новый терминал. Все функции находятся в левом нижнем углу редактора. При наведении указателя мыши на значки отображаются функции.
- Чтобы построить эскиз, нажмите «Построить», а для загрузки эскиза щелкните значок «Загрузить». Когда загрузка будет завершена, вы сможете увидеть время, затраченное на загрузку, со всеми другими деталями и сообщением «Успешно». Код успешно загружен, и вы сможете увидеть мигание светодиода на плате Arduino.
Чтобы выбрать или изменить любой COM-порт, просто перейдите на главный экран PlatformIO, а затем перейдите в раздел «Устройства», здесь вы можете увидеть все доступные подключенные устройства. Выберите соответствующий COM-порт и выполните ту же процедуру для загрузки скетча.
Программирование платы STM32 с использованием PlatformIO IDE
Программирование платы STM32 будет иметь точно такие же шаги, как и программирование Arduino UNO, описанное выше. Отличие будет заключаться в выборе платы для STM32 при открытии нового проекта для STM32. Плюс PlatformIO в том, что ему не нужен внешний пакет для какой-либо платы для отдельной загрузки, он автоматически загружает все пакеты и позволяет нам легко выбрать плату и перейти в редактор. Мы будем использовать внешний JLink / JTAG / STLink / Serial Programmer для загрузки скетча в STM32. STM32 также можно запрограммировать с помощью Arduino IDE. Чтобы запрограммировать его с помощью PlatformIO, выполните следующие действия.
- Просто назовите проект (здесь это «Blink STM32»). Затем выберите плату для STM32, то есть « BluePill F103C8 (Generic) ». Затем выберите Framework как Arduino. Нажмите Finish и подождите некоторое время, так как изначально потребуется время, чтобы загрузить пакеты и зависимости для платы STM32.
- После настройки время создания следующего проекта будет меньше по сравнению с первым. Теперь просто перейдите в Untitled (Workspace) -> src -> main.cpp в левом проводнике файлов.
- Теперь следующие шаги будут важны, так как необходимо решить, какой программист мы должны использовать для программирования платы STM32. Есть много доступных программаторов, таких как JTAG, STLink, JLink, Serial и т. Д. Все будет работать, но вам нужно настроить страницу или файл конфигурации 'platformio.ini'.
- В этом проекте мы используем последовательный программатор CP210x USB для моста UART. Мы уже выполнили программирование платы STM32F103C8 с использованием USB-порта, поэтому большинство действий будет выполняться только оттуда. Вы можете перейти по ссылке и узнать об этом больше.
- Во-первых, подключите последовательный программатор к плате STM32 со следующим отображением контактов и подключите его к ПК.
USB для последовательного программатора |
Плата STM32 |
5В |
5В |
Gnd |
Gnd |
Rx |
A9 |
Tx |
A10 |
- Теперь перейдите в проводник проекта, откройте страницу «platformio.ini» и измените оператор, как показано на рисунке. Upload_protocol покажет то, что программист должен использовать (STLink, JLink, Serial и т.д.). Upload_port выбирает порт COM. Вы можете найти, перейдя в «Устройства» на домашней странице. Измените COM-порт в соответствии с вашим COM-портом.
- Перейдите в main.cpp и измените программу на программу Blink . Теперь просто загрузите программу, и она покажет сообщение об успехе и время, затраченное на загрузку. Теперь светодиод, подключенный к выводу PC13 платы STM32, начнет мигать.
На этом завершается полное руководство по программированию Arduino UNO, а также платы STM32 с использованием PlatformIO. Если у вас возникли трудности при выполнении этих шагов, напишите на наш форум или оставьте комментарий ниже.