- Какво е PlatformIO?
- Настройване на PlatformIO за Arduino Uno
- Програмиране на Arduino UNO с помощта на PlatformIO IDE
- Програмиране на STM32 Board с помощта на PlatformIO IDE
Разработката в Arduino и Arduino IDE винаги е била лесна и забавна с простия им потребителски интерфейс. IDE на Arduino е с отворен код и безплатна за използване среда за разработка с всички функции като писане, компилиране и качване на кода в Arduino Boards. Той се основава на 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 за бързо професионално развитие, което не е налице в Arduino IDE. В допълнение към това, PlatformIO предлага поддръжка на теми с тъмни и светли цветове за разработване по всяко време. Той също така се предлага с интелигентна навигация на кода и форматиране на кода. Основните характеристики включват системата за изграждане на няколко платформи, мениджър на библиотеки, монитор за сериен порт и др.
The Unified Debugger с поддръжка за множество архитектури и платформи за развитие дава възможност за отстраняване на грешки множество внедрени табла с нулева конфигурация. Унифицираният дебъгер на PlatformIO има функции като условни точки на прекъсване, изрази и точки за наблюдение, преглед на паметта, горещо рестартиране на активна сесия за отстраняване на грешки. Core PlatformIO е написан на Python 2.7 и работи на Windows, macOS, Linux, FreeBSD и дори базирани на ARM компютри с размер на кредитни карти като Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK и др. Освен това PlatformIO има File Explorer, който помага организиране на файловете, когато проектът нарасне до определено ниво и организирането стане необходимо.
Настройване на 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 Code (Visual Studio Code) предлага по-добра производителност на системата и потребителите са установили, че е по-лесно да започнат. Така че ще настроим PlatformIO в Visual Studio Code. VS Code е добре познат текстов редактор с редица разширения, позволяващи ни да се развиваме на различни програмни езици.
Нека започнем да настройваме PlatformIO, за да започнем да разработваме код в Arduino UNO. Включени са стъпки, които са обяснени по-долу:
- Първо инсталирайте Visual Studio Code от официалния му уебсайт. Стъпките за инсталиране на Visual Studio Code няма да бъдат обяснени тук, но можете да го намерите на уебсайта на VS Code. Включени са общи стъпки, точно като инсталирането на всеки друг софтуер в Windows OS.
- Кодът на Visual Studio ще изглежда по следния начин, когато бъде инсталиран успешно.
- Следващата стъпка включва инсталиране на PlatformIO с помощта на VS Code Extensions. За това трябва да отидете на иконата за разширения в горния ляв ъгъл на VS кода. Има квадратна икона Box, която е петата икона в горния ляв ъгъл. Просто кликнете върху него и ще се появи едно поле за търсене точно до това, където можете да намерите много разширения за различни програмни езици като C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript и Node.js и т.н.
- Потърсете „PlatformIO“ в полето за търсене на разширението и ще видите иконата PlatformIO с име и описание. Просто кликнете върху него и го инсталирайте. Инсталирането на вериги с инструменти и други зависимости може да отнеме известно време. Зависимостите включват C / C ++ среда, тъй като разработката на Arduino се извършва най-вече на C / C ++.
- Когато инсталацията приключи, ще видите следния интерфейс. Интерфейсът включва цялата необходима навигация, като създаване на нов проект, импортиране на проект Arduino, отворен проект, примери за проекти и др. Препоръчително е да рестартирате VS Code Editor след инсталирането на PlatformIO.
Това завършва стъпките за инсталиране на PlatformIO. Сега PlatformIO е инсталиран и готов за употреба. Точно като Arduino IDE, ще започнем с Blink Program и ще се опитаме да качим Blink Program в Arduino UNO.
Програмиране на Arduino UNO с помощта на PlatformIO IDE
Интерфейсът на PlatformIO ще бъде обяснен едновременно при програмиране на Arduino UNO. Тук програмираме Arduino за мигащ светодиод с помощта на PlatformIO. Същото може да се направи с помощта на Arduino IDE. Следвайте стъпките по-долу, за да създадете нов проект за мигащ светодиод.
- Изберете раздела „Нов проект“ от менюто за бърз достъп.
- Назовете проекта (Тук е „Blink“). Потърсете и изберете дъската, която е Arduino UNO. Тъй като работим в Arduino framework, така избраната рамка ще бъде Arduino. След попълване на всички подробности просто кликнете върху Finish.
- Проектът ще започне да се създава чрез събиране на ресурси и други зависимости.
- Когато проектът е създаден успешно, ще получите бързо съобщение като „Проектът е успешно инициализиран“ с всички попълнени подробности.
- За да отворите създадения проект, просто превъртете надолу началното меню на PlatformIO и ще видите целия списък на проектите, създадени от началото. В десния ъгъл на създадения проект кликнете върху „Отваряне“, за да отворите проекта и да започнете да редактирате.
- Когато проектът бъде отворен, първоначално ще изглежда като скрит, но не се притеснявайте, PlatformIO има функция за изследовател на файлове, където ще бъдат намерени всички файлове на текущия проект. Просто отидете в горния ляв ъгъл и отворете „Untitled (Workplace)“. Когато кликнете върху него, всички файлове ще се покажат като падащо меню. За да намерите текстовия редактор за редактиране на „Кода“, изберете „src“ и отвореното „main.cpp“. Режимът на текстов редактор ще се появи на началния екран с отваряне на нов раздел. Тук можете да напишете всички кодове на текущия текущ проект.
- Просто напишете Blink Code за Arduino UNO. Имайте предвид, че PlatformIO няма достъп по подразбиране до библиотеките на Arduino, така че всеки път, когато пишете кода за Arduino, винаги включвайте библиотеката на Arduino, т.е. "#include" в началото на програмата.
- Следващата стъпка ще бъде компилиране и качване на кода. За целта нека разгледаме функциите, предоставени от PlatformIO. Също така PlatformIO избира COM порта по подразбиране. Но можете също да промените порта, ако не е желаният COM порт. Промяната на COM порта ще бъде обяснена по-късно в този урок. PlatformIO има функции като изграждане, качване, качване на отдалечено устройство, почистване, тестване, изпълнение на задача, сериен монитор, нов терминал. Всички функции могат да бъдат намерени в долния ляв ъгъл на редактора. Когато задържите курсора на мишката върху иконите, функциите ще се покажат.
- За да създадете скицата, кликнете върху „Изграждане“, а за качване на скицата - върху иконата „Качване“. Когато качването приключи, ще можете да видите времето, необходимо за качване, с всички други подробности и съобщение „Успех“. Кодът се качва успешно и ще можете да видите Мигането на LED в Arduino Board.
За да изберете или промените който и да е COM порт, просто отидете на началния екран на PlatformIO и след това отидете на Devices, тук можете да видите всички налични свързани устройства. Изберете подходящ COM порт и следвайте същата процедура, за да качите скицата.
Програмиране на STM32 Board с помощта на 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 Bridge. Вече сме направили програмиране на платка STM32F103C8 с помощта на USB порт, o повечето стъпки ще бъдат предприети само от там. Можете да посетите връзката и да намерите повече за това.
- Първо, свържете серийния програмист към платката STM32 със следното картографиране на пиновете и го свържете към компютър.
USB към сериен програмист |
STM32 дъска |
5V |
5V |
Gnd |
Gnd |
Rx |
A9 |
Tx |
A10 |
- Сега отидете в изследователя на проекти и отворете страницата 'platformio.ini' и променете изявлението, както е показано на снимката. В upload_protocol ще кажа това, което трябва да използвате програмист (STLink, JLink, Сериен и т.н.). В upload_port избира COM порт. Можете да намерите, като отидете на „Устройства“ в началната страница. Променете COM порта според вашия COM порт.
- Отидете на 'main.cpp' и променете програмата на Blink program. Сега просто качете програмата и тя ще покаже съобщение за успех и време, необходимо за качване. Сега светодиодът ще започне да мига, свързан към PC13 щифт на платката STM32.
Това завършва пълния урок по програмиране на Arduino UNO, както и на STM32 Board с помощта на PlatformIO. Ако срещнете някакви трудности, докато следвате стъпките, моля, пишете на нашия форум или коментирайте по-долу.