- Što je PlatformIO?
- Postavljanje PlatformIO za Arduino Uno
- Programiranje Arduino UNO pomoću PlatformIO IDE
- Programiranje STM32 ploče pomoću PlatformIO IDE
Razvoj u Arduinu i Arduino IDE-u uvijek je bio jednostavan i zabavan s njihovim jednostavnim korisničkim sučeljem. Arduino IDE je otvorenog koda i besplatan je za razvojno okruženje sa svim značajkama poput pisanja, kompajliranja i prijenosa koda na Arduino ploče. Temelji se na Javi i radi na glavnim OS-ima poput Windows, OS X i Linux. Ali uz svu svoju jednostavnost i veliku zajednicu, on nema neke značajke koje će iskusni programer trebati za brzi razvoj koji može smanjiti razvojno razdoblje. Za Arduino je dostupno mnogo razvojnih okruženja, ali sva imaju neke prednosti i nedostatke. Danas ćemo započeti s razvojnim okruženjem PlatformIO koje je jednostavno za upotrebu i ima dodane značajke u usporedbi s Arduino okruženjem.
Što je PlatformIO?
PlatformIO je ekosustav otvorenog koda zasnovan na Pythonu za razvoj IoT-a, a IDE s više platformi s jedinstvenim programom za pronalaženje pogrešaka radi na sustavima Windows, Mac i Linux. PlatformIO dolazi s upraviteljem knjižnica za platforme poput Arduino ili MBED podrške, zajedno s jedinstvenim testiranjem i ažuriranjima firmvera. PlatformIO podržava brojne platforme, okvire, ploče poput Arduino, ESP32, ESP8266, a isporučuje se s nizom primjera i biblioteka. Neovisan je od platforme na kojoj je pokrenut i potreban mu je samo Python instaliran na računalu.
Prednosti PlatformIO
PlatformIO karakterizira brzi razvoj sa svojim značajkama poput C / C ++ Code Completion i Smart Code Linter za brzi profesionalni razvoj kojih nema u Arduino IDE-u. Uz to, PlatformIO nudi podršku za teme s tamnim i svijetlim bojama za razvoj u bilo koje vrijeme. Također dolazi s pametnom navigacijom koda i oblikovanjem koda. Osnovne značajke uključuju sustav za izgradnju više platformi, upravitelj knjižnica, monitor serijskog priključka itd.
Unified Debugger s podrškom za višestruke arhitekture i razvojnim platformama omogućuje ispravljanje više ugrađenih ploča s nula-konfiguraciju. Unified Debugger programa PlatformIO ima značajke poput uvjetnih točaka prekida, izraza i nadzornih točaka, Preglednik memorije, vruće ponovno pokretanje aktivne sesije uklanjanja pogrešaka. Jezgra PlatformIO napisana je u Pythonu 2.7 i radi na sustavima Windows, macOS, Linux, FreeBSD, pa čak i na računalima s kreditnom karticom zasnovanim na ARM-u, poput Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK itd. Osim toga, PlatformIO ima i File Explorer koji pomaže organiziranje datoteka kad projekt naraste na određenu razinu i organiziranje postane neophodno.
Postavljanje PlatformIO za Arduino Uno
Korištenje PlatformIO vrlo je jednostavno i za početak je potrebno nekoliko koraka. PlatformIO zahtijeva Python instaliran na računalu, jer kako je gore objašnjeno, jezgra PlatformIO napisana je u Pythonu 2.7. Imajte na umu da PlatformIO ne podržava Python 3 pa se preporučuje instaliranje verzije Python 2, a zatim nastavite s postavljanjem PlatformIO IDE. PlatformIO je IDE, plus pruža službene pakete (dodatke, proširenja) za najpopularnije IDE-ove i uređivače teksta.
Danas ćemo instalirati PlatformIO u takav uređivač teksta kao što su Atom i Visual Studio Code. U službenoj dokumentaciji Platform IDE stoji da PlatformIO IDE za VS kôd (Visual Studio Code) nudi bolje performanse sustava, a korisnicima je bilo lakše započeti. Stoga ćemo postaviti PlatformIO u Visual Studio Code. VS Code je poznati uređivač teksta s brojnim proširenjima koji nam omogućuju razvoj na različitim programskim jezicima.
Počnimo postavljati PlatformIO kako bismo započeli s razvojem koda u Arduino UNO. Uključeni su koraci koji su objašnjeni u nastavku:
- Prvo instalirajte Visual Studio Code sa njegove službene web stranice. Koraci instalacije Visual Studio koda ovdje neće biti objašnjeni, ali ih možete pronaći na web mjestu VS Code. Uključeni su opći koraci poput instaliranja bilo kojeg drugog softvera na Windows OS.
- Visual Studio Code će izgledati kao sljedeći kada se uspješno instalira.

- Sljedeći korak uključuje instaliranje PlatformIO pomoću VS Code Extensions. Za to trebate otići na ikonu Proširenja u gornjem lijevom kutu VS koda. Postoji četvrtasta ikona okvira koja je peta ikona u gornjem lijevom kutu. Samo kliknite na to i pojavit će se jedan okvir za pretraživanje odmah pored onog gdje možete pronaći mnoštvo proširenja za različite programske jezike kao što su C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript i Node.js itd.

- Potražite „PlatformIO“ u okviru za pretraživanje proširenja i vidjet ćete ikonu PlatformIO s imenom i opisom. Samo kliknite na njega i instalirajte ga. Instaliranje lanaca alata i drugih ovisnosti može potrajati. Ovisnosti uključuju C / C ++ okruženje jer se razvoj Arduina uglavnom vrši na C / C ++.

- Kada je instalacija završena, vidjet ćete sljedeće sučelje. Sučelje uključuje svu potrebnu navigaciju, poput stvaranja novog projekta, uvoza projekta Arduino, otvorenog projekta, primjera projekata itd. Preporučuje se ponovno pokretanje VS uređivača koda nakon instalacije PlatformIO.

Time su završeni instalacijski koraci PlatformIO. Sada je PlatformIO instaliran i spreman za upotrebu. Baš kao i Arduino IDE, započet ćemo s Blink programom i pokušati prenijeti Blink program u Arduino UNO.
Programiranje Arduino UNO pomoću PlatformIO IDE
Sučelje PlatformIO bit će istodobno objašnjeno tijekom programiranja Arduina UNO. Ovdje programiramo Arduino za treptanje LED-a pomoću PlatformIO. Isto se može učiniti pomoću Arduino IDE-a. Slijedite donje korake u nastavku da biste kreirali novi projekt za trepćuću LED diodu.
- Odaberite karticu “New Project” s izbornika za brzi pristup.

- Dajte naziv projektu (ovdje je 'Treptaj'). Pretražite i odaberite ploču koja je Arduino UNO. Budući da radimo u Arduino framework-u, odabrani okvir bit će Arduino. Nakon popunjavanja svih detalja samo kliknite na Finish.

- Projekt će se početi stvarati prikupljanjem resursa i drugih ovisnosti.

- Kada se projekt uspješno kreira, dobit ćete promptnu poruku kao „Projekt je uspješno inicijaliziran“ sa svim ispunjenim detaljima.

- Da biste otvorili stvoreni projekt, samo se pomaknite dolje do početnog izbornika PlatformIO i vidjet ćete sav popis projekata stvorenih od početka. U desnom kutu kreiranog projekta kliknite na 'Otvori' da biste otvorili projekt i započeli uređivanje.

- Kada se projekt otvori, u početku će izgledati skriveno, ali ne brinite, PlatformIO ima značajku istraživača datoteka u kojoj će se naći sve datoteke trenutnog projekta. Samo idite u gornji lijevi kut i otvorite "Bez naziva (na radnom mjestu)". Kada kliknete na nju, sve će se datoteke pojaviti kao padajući izbornik. Da biste pronašli uređivač teksta za uređivanje 'Koda', odaberite 'src' i otvorite 'main.cpp'. Način uređivanja teksta pojavit će se na početnom zaslonu s otvaranjem nove kartice. Ovdje možete napisati sve kodove trenutnog tekućeg projekta.

- Jednostavno napišite Blink Code za Arduino UNO. Imajte na umu da PlatformIO nema zadani pristup Arduino bibliotekama, pa svaki put kad napišete kôd za Arduino, uvijek na početku programa dodajte Arduino knjižnicu, tj. "#Include".

- Sljedeći korak bio bi sastavljanje i prijenos koda. Da bismo to učinili, pogledajmo funkcije koje pruža PlatformIO. Također PlatformIO odabire COM ulaz prema zadanim postavkama. Ali također možete promijeniti port ako to nije željeni COM port. Promjena COM porta bit će objašnjena kasnije u ovom vodiču. PlatformIO ima funkcije kao što su Build, Upload, Upload na udaljeni uređaj, Clean, Test, Run Task, Serial Monitor, New Terminal. Sve funkcije mogu se naći u lijevom donjem kutu uređivača. Kad zadržite pokazivač iznad ikona, prikazat će se funkcije.

- Da biste izradili skicu, kliknite na "Izgradi", a za prijenos skice kliknite na ikonu "Učitaj". Kada se prijenos završi, moći ćete vidjeti vrijeme potrebno za prijenos sa svim ostalim pojedinostima i porukom "Uspjeh". Kôd je uspješno prenesen i moći ćete vidjeti Treptanje LED-a na Arduino ploči.


Da biste odabrali ili promijenili bilo koji COM priključak, samo idite na početni zaslon PlatformIO, a zatim idite na Uređaji, ovdje možete vidjeti sve dostupne povezane uređaje. Odaberite odgovarajući COM port i slijedite isti postupak za prijenos skice.

Programiranje STM32 ploče pomoću PlatformIO IDE
Programiranje ploče STM32 imat će točno slične korake poput gore opisanog Programiranja Arduino UNO. Razlika će biti odabir ploče za STM32 prilikom otvaranja novog projekta za STM32. Dobra stvar PlatformIO je u tome što mu nije potreban nikakav vanjski paket da bi se bilo koja ploča preuzimala odvojeno, on automatski preuzima sve pakete i olakšava nam odabir ploče i odlazak u uređivač. Za prijenos skice na STM32 koristit ćemo vanjski JLink / JTAG / STLink / serijski programer. STM32 se također može programirati s Arduino IDE. Nastavite sa sljedećim koracima kako biste ga programirali s PlatformIO.
- Samo nazovite projekt (ovdje je 'Blink STM32'). Zatim odaberite ploču za STM32, tj. ' BluePill F103C8 (Generic) '. Zatim odaberite Framework kao Arduino. Kliknite Finish i pričekajte neko vrijeme jer će u početku trebati vremena za preuzimanje paketa i ovisnosti za ploču STM32.

- Jednom kada se postavi, sljedeće vrijeme izrade projekta bit će manje u odnosu na prvo. Sada jednostavno idite na Untitled (Workspace) -> src -> main.cpp u lijevom istraživaču datoteka.
- Sada će predstojeći koraci biti važni jer treba odlučiti koji programer trebamo koristiti za programiranje STM32 ploče. Dostupni su mnogi programeri poput JTAG, STLink, JLink, Serial itd. Svi će raditi, ali trebate konfigurirati konfiguracijsku stranicu ili datoteku 'platformio.ini'.
- U ovom projektu koristimo serijski programer CP210x USB za UART most. Već smo izvršili programiranje ploče STM32F103C8 pomoću USB priključka, o većina koraka poduzet će se samo odatle. Možete posjetiti vezu i pronaći više o tome.
- Prvo, spojite serijski programer na ploču STM32 pomoću sljedećeg mapiranja pin-ova i spojite ga na računalo.
|
USB za serijski programer |
STM32 ploča |
|
5V |
5V |
|
Gnd |
Gnd |
|
Rx |
A9 |
|
Tx |
A10 |
- Sada idite na istraživač projekta i otvorite stranicu 'platformio.ini' i promijenite izjavu kao što je prikazano na slici. Upload_protocol će reći ono što programer bi trebao koristiti (STLink, JLink, serijski itd). Upload_port odabire COM port. To možete pronaći odlaskom na "Uređaji" na početnoj stranici. Promijenite COM port prema vašem COM portu.

- Idite na 'main.cpp' i promijenite program u Blink program. Sada samo prenesite program i on će prikazati poruku o uspjehu i vrijeme potrebno za prijenos. Sada će LED početi treptati spojen na PC13 pinu STM32 ploče.

Ovim je završen cjelovit vodič o programiranju Arduino UNO-a kao i STM32 ploče pomoću PlatformIO. Ako imate poteškoća dok slijedite korake, molimo vas da pišete na naš forum ili da komentirate u nastavku.
