Arduino tarkvara asemel VS Code + PlatformIO kasutamine
1. Eesmärk
Käesoleva juhendi eesmärk on anda õppejõududele ja tudengitele alternatiiv Arduino IDE kasutamisele olukorras, kus Arduino tarkvara kasutamine administratiivsete õigustega ei ole soovitav või võimalik. Alternatiivse lahendusena kasutatakse Visual Studio Code’i ja selle laiendust PlatformIO IDE, mis toetab Arduino raamistikku ning võimaldab kirjutada, kompileerida, laadida üles ja jälgida jadaporti ühest keskkonnast. PlatformIO ametlik dokumentatsioon kirjeldab VS Code’i põhiseks IDE-ks ning märgib, et PlatformIO Core on VS Code’i laienduse töövoogu sisse ehitatud. VS Code ametlik Windowsi paigaldusjuhend kirjeldab ka kasutajapõhist installi (VSCodeUserSetup), mis paigaldatakse kasutaja profiili alla. (docs.platformio.org)
2. Miks kasutada VS Code + PlatformIO lahendust?
VS Code + PlatformIO sobib õppetöös hästi, sest:
võimaldab kasutada kaasaegset koodiredaktorit;
toetab Arduino-põhiseid projekte;
haldab teeke ja projektiseadeid projektipõhiselt;
sisaldab kompileerimise, üleslaadimise ja jadapordi tööriistu;
ei eelda PlatformIO Core eraldi käsitsi paigaldamist, kui kasutatakse VS Code’i laiendust. (PlatformIO Documentation)
VS Code on tasuta ja töötab Windowsi, macOS-i ja Linuxi peal. Windowsi puhul on olemas kasutajapõhine installer, mis paigaldab programmi vaikimisi kasutaja kodukataloogi alla. (Visual Studio Code)
3. Sihtgrupp
Juhend on mõeldud:
õppejõududele, kes koostavad labori- või projektijuhendeid;
tudengitele, kes programmeerivad Arduino või Arduino-ühilduvaid mikrokontrollereid;
IT-toele, kes soovib pakkuda Arduino IDE asemel hallatavamat alternatiivi.
4. Vajalik tarkvara
Paigalda järgmised komponendid:
4.1 Visual Studio Code
Laadi alla ja paigalda Visual Studio Code ametlikult veebilehelt. Windowsi puhul kasuta eelistatult kasutajapõhist paigaldajat VSCodeUserSetup. Microsofti ametlik juhend ütleb, et see paigaldatakse vaikimisi kausta C:\Users\{kasutaja}\AppData\Local\Programs\Microsoft VS Code. (Visual Studio Code)
PS Klassiarvutites paigaldatakse VS Code süsteemi kontekstis, kasutades paigaldajat VSCodeSetup. Sellisel juhul paigaldatakse programm vaikimisi kausta C:\Program Files\Microsoft VS Code.
4.2 PlatformIO IDE laiendus
Pärast VS Code’i paigalda PlatformIO IDE laiendus VS Code’i Extensions vaatest. PlatformIO ametliku juhendi järgi toimub paigaldus VS Code’i laienduste halduris ning eraldi PlatformIO Core install ei ole tavakasutuse jaoks vajalik. (PlatformIO Documentation)
5. Paigaldusjuhend
5.1 VS Code’i paigaldamine
Ava VS Code’i ametlik allalaadimisleht.
Laadi alla Windowsi kasutajainstaller.
Käivita installer.
Lõpeta paigaldus vaikeseadetega.
Microsofti juhendi kohaselt lisab paigaldus soovi korral VS Code’i ka PATH muutujasse ning install toimub kasutajapõhiselt, mitte süsteemitasemel. (Visual Studio Code)
5.2 PlatformIO IDE paigaldamine
Ava VS Code.
Vali vasakult Extensions.
Otsi: PlatformIO IDE.
Vajuta Install.
Oota, kuni laiendus lõpetab vajalike komponentide seadistamise.
PlatformIO dokumentatsiooni järgi on just see soovitatud paigaldusviis VS Code’i kasutajatele. (PlatformIO Documentation)
6. Esimese Arduino projekti loomine
6.1 Uue projekti loomine
Ava VS Code.
Ava PlatformIO avaleht.
Vali New Project.
Sisesta projekti nimi.
Vali sobiv plaat, näiteks:
Arduino Uno
Arduino Nano
Arduino Mega 2560
Vali raamistikuks Arduino.
Vajuta Finish.
PlatformIO kasutab projektipõhist seadistust failis platformio.ini, kus määratakse ära platvorm, plaat ja raamistik. (PlatformIO Documentation)
6.2 Projekti struktuur
Tüüpilises PlatformIO projektis on:
src/– lähtekoodinclude/– päisefailidlib/– projekti teegidplatformio.ini– projekti seadistus
See projektipõhine ülesehitus on üks peamisi erinevusi võrreldes klassikalise Arduino IDE sketši-põhise töövooga. (PlatformIO Documentation)
7. Näidisprogramm
Faili src/main.cpp võib lisada näiteks järgmise programmi:
#include <Arduino.h>
void setup() {
Serial.begin(115200);
pinMode(LED_BUILTIN, OUTPUT);
}
void loop() {
digitalWrite(LED_BUILTIN, HIGH);
delay(500);
digitalWrite(LED_BUILTIN, LOW);
delay(500);
}
Näide kasutab Arduino raamistikku PlatformIO projektis. PlatformIO ametlik quick start juhend kasutab sama tööpõhimõtet: lähtekood paigutatakse src kausta ning projekt ehitatakse ja laaditakse üles IDE kaudu. (PlatformIO Documentation)
8. Projekti seadistusfail platformio.ini
Näiteks Arduino Uno jaoks võib platformio.ini välja näha järgmine:
[env:uno]
platform = atmelavr
board = uno
framework = arduino
monitor_speed = 115200
See fail määrab ära:
kasutatava platvormi,
sihtplaadi,
raamistiku,
jadapordi kiiruse.
PlatformIO dokumentatsioon kirjeldab platformio.ini faili keskse projektikonfiguratsioonina. (PlatformIO Documentation)
9. Programmi kompileerimine ja üleslaadimine
9.1 Kompileerimine
Vali PlatformIO menüüst Build või kasuta alumisel tööriistaribal vastavat nuppu.
9.2 Üleslaadimine mikrokontrollerile
Ühenda plaat USB kaudu arvutiga ja vali Upload.
9.3 Jadapordi jälgimine
Vali Monitor, et avada serial monitor.
PlatformIO IDE for VS Code dokumentatsioon kirjeldab kogu seda töövoogu ühe integreeritud lahendusena. (PlatformIO Documentation)
10. Teekide lisamine
Teeke saab lisada kahel viisil:
PlatformIO graafilise Libraries vaate kaudu;
lisades sõltuvused faili
platformio.ini.
Näiteks:
lib_deps =
adafruit/Adafruit Unified Sensor
adafruit/DHT sensor library
PlatformIO haldab teeke projektipõhiselt, mis aitab vältida olukorda, kus ühe projekti teegiversioon mõjutab teist projekti. PlatformIO dokumentatsioon rõhutab deklaratiivset ja korduvat töövoogu. (PlatformIO Documentation)
11. Võrdlus Arduino IDE ja VS Code + PlatformIO vahel
Teema | Arduino IDE | VS Code + PlatformIO |
|---|---|---|
Kasutusmudel | lihtne sketši-põhine | projektipõhine |
Koodi haldus | sobib väiksematele töödele | sobib hästi suurematele töödele |
Mitme faili tugi | piiratum | tugev |
Teekide haldus | globaalne/IDE-keskne | projektipõhine |
Laiendatavus | piiratud | väga hea |
Kasutajapõhine paigaldus | sõltub paketist | VS Code toetab ametlikult user installi |
Arduino IDE ametlik dokumentatsioon keskendub lihtsale alustamisele ja sketšide kasutamisele, samas kui PlatformIO dokumentatsioon rõhutab projektipõhist arendust ja töövoogu. (PlatformIO Documentation)
12. Soovitus õppetööks
Õppetöös on soovitatav:
kasutada VS Code + PlatformIO lahendust laborites ja projektides;
hoida iga ülesanne eraldi projektina;
lisada kursuse materjalidesse valmis
platformio.ininäited;anda tudengitele ette minimaalne projekti struktuur.
See vähendab seadistuse erinevust tudengite arvutite vahel ja muudab projektid paremini hallatavaks.
13. Võimalikud probleemid
13.1 Jadaport ei avane
Kontrolli:
kas seade on ühendatud;
kas õige COM-port on kasutusel;
kas draiver on olemas.
13.2 Laiendus ei paigaldu
Kontrolli:
internetiühendust;
kas VS Code’i laienduste paigaldamine on asutuse arvutites lubatud.
13.3 Projekt ei kompileeru
Kontrolli:
kas
boardväärtus on õige;kas kõik vajalikud teegid on lisatud;
kas kasutatakse Arduino jaoks sobivat raamistikku.
PlatformIO ametlikud juhendid käsitlevad nii paigaldust kui ka IDE töövoogu ning on esmased abimaterjalid probleemide lahendamisel. (PlatformIO Documentation)
14. Kokkuvõte
Kui Arduino IDE kasutamine ei ole sobiv administratiivsete õiguste või haldusnõuete tõttu, on VS Code + PlatformIO tugev ja tänapäevane alternatiiv. See lahendus toetab Arduino raamistikku, pakub projektipõhist töökorraldust ning kasutab VS Code’i, millel on ametlik kasutajapõhine Windowsi paigaldus. PlatformIO integreerub VS Code’i sisse ning ei nõua tavakasutuses eraldi Core’i käsitsi paigaldamist. (PlatformIO Documentation)
15. Kasulikud viited
PlatformIO IDE for VS Code dokumentatsioon (PlatformIO Documentation)
PlatformIO Core paigalduse dokumentatsioon (PlatformIO Documentation)
VS Code Windowsi paigaldusjuhend (Visual Studio Code)
Arduino IDE paigaldusjuhend (support.arduino.cc)
Soovi korral võin järgmisena teha sellest ka lühema Confluence-versiooni koos nummerdatud sammudega või ametlikuma juhendi kujul, sobivana õppeasutuse siseveebi jaoks.