- Що таке PlatformIO?
- Налаштування PlatformIO для Arduino Uno
- Програмування Arduino UNO за допомогою платформиIO IDE
- Програмування плати STM32 за допомогою платформиIO 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 ++ Code Completion та Smart Code Linter для швидкого професійного розвитку, яких немає в IDE Arduino. На додаток до цього, PlatformIO пропонує підтримку тем у темних і світлих кольорах для розробки в будь-який час. Він також постачається зі смарт-навігацією коду та форматуванням коду. Основні функції включають багатоплатформену систему побудови, Менеджер бібліотек, монітор послідовних портів тощо.
Unified Debugger з підтримкою декількох архітектур і платформ розробки дозволяє налагоджувати кілька вбудованих плати з нульовою конфігурацією. Уніфікований налагоджувач PlatformIO має такі функції, як умовні точки зупинку, вирази та контрольні точки, переглядач пам'яті, гаряче перезапуск активного сеансу налагодження. Ядро PlatformIO написано на 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, а потім продовжити налаштування PlatformIO IDE. PlatformIO - це IDE, плюс вона пропонує офіційні пакети (плагіни, розширення) для найпопулярніших IDE та текстових редакторів.
Сьогодні ми встановимо PlatformIO до такого текстового редактора, як Atom та Visual Studio Code. В офіційній документації Platform IDE зазначено, що PlatformIO IDE для коду VS (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. Для цього вам потрібно перейти до піктограми розширень у верхньому лівому куті коду VS. Є квадратна піктограма Box, яка є 5- м значком у верхньому лівому куті. Просто натисніть на нього, і одне поле пошуку з’явиться поруч із цим, де ви можете знайти безліч розширень для різних мов програмування, таких як C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript та Node.js тощо.
- Знайдіть “PlatformIO” у вікні пошуку розширення, і ви побачите піктограму PlatformIO із назвою та описом. Просто натисніть на нього та встановіть його. Установка ланцюжків інструментів та інших залежностей може зайняти деякий час. Залежності включають середовище C / C ++, оскільки розробка Arduino в основному здійснюється на C / C ++.
- Після завершення встановлення ви побачите такий інтерфейс. Інтерфейс включає всю необхідну навігацію, таку як створення нового проекту, імпорт проекту Arduino, відкритий проект, приклади проектів тощо. Рекомендується перезапустити редактор коду VS після встановлення PlatformIO.
На цьому кроки встановлення PlatformIO закінчуються. Тепер PlatformIO встановлений і готовий до використання. Так само, як Arduino IDE, ми почнемо з програми Blink і спробуємо завантажити програму Blink в Arduino UNO.
Програмування Arduino UNO за допомогою платформиIO IDE
Інтерфейс PlatformIO буде пояснено одночасно під час програмування Arduino UNO. Тут ми програмуємо Arduino для блимання світлодіода за допомогою PlatformIO. Те саме можна зробити за допомогою Arduino IDE. Дотримуйтесь наведених нижче кроків, щоб створити новий проект для блимання світлодіода.
- Виберіть вкладку «Новий проект» у меню швидкого доступу.
- Назвіть проект (тут це "Блимання"). Знайдіть і виберіть дошку, яка є Arduino UNO. Оскільки ми працюємо в Arduino framework, то вибраним фреймворком буде Arduino. Після заповнення всіх деталей просто натисніть Готово.
- Проект почне створюватися шляхом збору ресурсів та інших залежностей.
- Коли проект буде успішно створений, ви отримаєте повідомлення із запитом "Проект успішно ініціалізований" із усіма заповненими даними.
- Щоб відкрити створений проект, просто прокрутіть вниз головне меню PlatformIO, і ви побачите весь список проектів, створених з самого початку. У правому куті створеного проекту натисніть кнопку "Відкрити", щоб відкрити проект і розпочати редагування.
- Коли проект буде відкрито, спочатку він буде виглядати як прихований, але не хвилюйтеся, у PlatformIO є функція провідника файлів, де будуть знайдені всі файли поточного проекту. Просто перейдіть у верхній лівий кут і відкрийте "Без назви (на робочому місці)". При натисканні на нього всі файли з’являться у спадному меню. Щоб знайти текстовий редактор для редагування "Коду", виберіть "src" і відкрийте "main.cpp". Режим текстового редактора з'явиться на головному екрані з відкриттям нової вкладки. Тут ви можете написати всі коди поточного поточного проекту.
- Просто напишіть Blink Code для Arduino UNO. Зауважте, що PlatformIO не має типового доступу до бібліотек Arduino, тому кожного разу, коли ви пишете код для Arduino, завжди включайте бібліотеку Arduino, тобто “#include” на початку програми.
- Наступним кроком буде складання та завантаження коду. Для цього давайте розглянемо функції, що надаються PlatformIO. Також PlatformIO за замовчуванням вибирає COM-порт. Але ви також можете змінити порт, якщо це не бажаний COM-порт. Зміна COM-порту буде пояснено далі в цьому посібнику. PlatformIO має такі функції, як побудова, завантаження, завантаження на віддалений пристрій, очищення, тестування, запуск завдання, послідовний монітор, новий термінал. Всі функції можна знайти в лівому нижньому куті редактора. Коли ви наведете курсор на піктограми, будуть показані функції.
- Щоб побудувати ескіз, натисніть на кнопку "Побудувати", а для завантаження ескізу натисніть на піктограму "Завантажити". Коли завантаження буде завершено, ви зможете побачити час, необхідний для завантаження, з усіма іншими деталями та повідомленням "Успіх". Код успішно завантажений, і ви зможете побачити блимання світлодіода на платі Arduino.
Щоб вибрати або змінити будь-який COM-порт, просто перейдіть на головний екран PlatformIO, а потім перейдіть до пристроїв, тут ви можете побачити всі доступні підключені пристрої. Виберіть відповідний COM-порт і дотримуйтесь тієї ж процедури, щоб завантажити ескіз.
Програмування плати STM32 за допомогою платформиIO IDE
Програмування плати STM32 матиме точно такі самі кроки, як програмування Arduino UNO, пояснюване вище. Різниця полягатиме у виборі дошки для STM32 під час відкриття нового проекту для STM32. Хороша річ у PlatformIO полягає в тому, що для будь-якої дошки для завантаження окремо не потрібно жодного зовнішнього пакета, він автоматично завантажує всі пакети та полегшує нам вибір дошки та перехід до редактора. Для завантаження ескізу на STM32 ми використовуватимемо зовнішній JLink / JTAG / STLink / Serial Programmer. STM32 також можна запрограмувати за допомогою Arduino IDE. Виконайте наступні кроки, щоб запрограмувати його на PlatformIO.
- Просто назвіть проект (тут це "Blink STM32"). Потім виберіть плату для STM32, тобто „ BluePill F103C8 (Generic) “. Потім виберіть Framework як Arduino. Натисніть Готово і почекайте деякий час, оскільки спочатку завантаження пакетів і залежностей для плати STM32 займе час.
- Після налаштування час створення наступного проекту буде меншим порівняно з першим. Тепер просто перейдіть до Untitled (Workspace) -> src -> main.cpp у лівому провіднику файлів.
- Тепер майбутні кроки будуть важливими, оскільки потрібно вирішити, який програміст ми повинні використовувати для програмування плати STM32. Доступно багато програмістів, таких як JTAG, STLink, JLink, Serial тощо. Всі будуть працювати, але вам потрібно налаштувати конфігураційну сторінку або файл "platformio.ini".
- У цьому проекті ми використовуємо послідовний програміст CP210x USB до UART Bridge. Ми вже виконали програмування плати STM32F103C8 за допомогою порту USB, o більшість кроків буде зроблено лише звідти. Ви можете відвідати посилання та дізнатись більше про це.
- По-перше, підключіть послідовний програміст до плати 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 program. Тепер просто завантажте програму, і вона покаже повідомлення про успіх та час, необхідний для завантаження. Тепер світлодіод почне блимати, підключений на штифті PC13 плати STM32.
На цьому закінчено повний посібник з програмування Arduino UNO, а також STM32 Board з використанням PlatformIO. Якщо у вас виникають будь-які труднощі під час виконання кроків, напишіть на наш форум або залиште коментар нижче.