- Kaj je PlatformIO?
- Nastavitev PlatformIO za Arduino Uno
- Programiranje Arduino UNO z uporabo PlatformIO IDE
- Programiranje plošče STM32 z uporabo PlatformIO IDE
Razvoj v Arduinu in Arduino IDE je bil vedno preprost in zabaven s preprostim uporabniškim vmesnikom. Arduino IDE je odprtokodna in lahko uporablja razvojno okolje z vsemi funkcijami, kot so pisanje, prevajanje in nalaganje kode na plošče Arduino. Temelji na Javi in deluje na večjih operacijskih sistemih, kot so Windows, OS X in Linux. Toda z vso preprostostjo in veliko skupnostjo nima nekaterih funkcij, ki jih bo izkušen razvijalec potreboval za hiter razvoj, ki lahko skrajša razvojno obdobje. Za Arduino je na voljo veliko razvojnih okolij, vendar imajo vsa nekaj prednosti in slabosti. Danes bomo začeli z razvojnim okoljem PlatformIO, ki je enostavno za uporabo in ima dodane funkcije v primerjavi z okoljem Arduino.
Kaj je PlatformIO?
PlatformIO je odprtokodni ekosistem za razvoj interneta stvari, ki temelji na Pythonu, IDE z več platformami z enotnim odpravnikom napak pa deluje v sistemih Windows, Mac in Linux. PlatformIO je opremljen z upraviteljem knjižnic za platforme, kot sta podpora Arduino ali MBED, skupaj s testiranjem enot in posodobitvami vdelane programske opreme. PlatformIO podpira številne platforme, ogrodja, plošče, kot so Arduino, ESP32, ESP8266 in vsebuje številne primere in knjižnice. Neodvisen je od platforme, v kateri se izvaja, in zahteva samo Python, nameščen v računalniku.
Prednosti PlatformIO
PlatformIO se odlikuje po hitrem razvoju s svojimi funkcijami, kot sta C / C ++ Code Completion in Smart Code Linter za hiter profesionalni razvoj, ki ga v Arduino IDE ni. Poleg tega PlatformIO ponuja tematsko podporo s temnimi in svetlimi barvami za razvoj kadar koli. Na voljo je tudi s pametnimi navigacijskimi kodami in oblikovanjem kode. Glavne značilnosti vključujejo sistem za večplastno zgradbo, upravitelj knjižnic, monitor serijskih vrat itd.
Unified Debugger s podporo za več arhitektur in razvojne platforme omogoča razhroščevanje več vgrajenih plošč z Zero-Configuration. Unified Debugger PlatformIO ima funkcije, kot so pogojne mejne točke, izrazi in nadzorne točke, pregledovalnik pomnilnika, vroč ponovni zagon aktivne seje za odpravljanje napak. Jedro PlatformIO je napisano v Pythonu 2.7 in deluje v sistemih Windows, macOS, Linux, FreeBSD in celo v računalnikih s kreditno kartico, ki temeljijo na ARM, kot so Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK itd. Poleg tega ima PlatformIO še File Explorer, ki pomaga organiziranje datotek, ko projekt zraste na določeno raven in organiziranje postane potrebno.
Nastavitev PlatformIO za Arduino Uno
Uporaba PlatformIO je zelo preprosta in za začetek zahteva nekaj korakov. PlatformIO zahteva Python, nameščen v računalniku, saj je, kot je razloženo zgoraj, jedro PlatformIO napisano v Python 2.7. Upoštevajte, da PlatformIO ne podpira Python 3, zato je priporočljivo namestiti različico Python 2 in nato nadaljevati z nastavitvijo PlatformIO IDE. PlatformIO je IDE in ponuja uradne pakete (vtičnike, razširitve) za najbolj priljubljene IDE in urejevalnike besedil.
Danes bomo PlatformIO namestili v takšen urejevalnik besedil, kot sta Atom in Visual Studio Code. V uradni dokumentaciji Platform IDE piše, da PlatformIO IDE za kodo VS (Visual Studio Code) ponuja boljšo zmogljivost sistema, uporabniki pa so lažje začeli. Tako bomo PlatformIO nastavili v Visual Studio Code. VS Code je znani urejevalnik besedil s številnimi razširitvami, ki nam omogočajo razvoj v različnih programskih jezikih.
Začnimo z nastavitvijo PlatformIO za začetek razvijanja kode v Arduino UNO. V nadaljevanju so razloženi koraki:
- Najprej namestite Visual Studio Code z njegove uradne spletne strani. Koraki namestitve Visual Studio Code tukaj ne bodo razloženi, najdete pa jih lahko na spletnem mestu VS Code. Vključeni so splošni koraki, tako kot namestitev katere koli druge programske opreme v operacijskem sistemu Windows.
- Koda Visual Studio bo videti uspešno, ko bo uspešno nameščena.
- Naslednji korak vključuje namestitev PlatformIO z uporabo razširitev kode VS. Za to morate odpreti ikono razširitev v zgornjem levem kotu kode VS. V zgornjem levem kotu je kvadratna ikona polja, ki je peta ikona. Samo kliknite to in poleg tega se bo pojavilo eno iskalno polje, kjer boste našli veliko razširitev za različne programske jezike, kot so C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript in Node.js itd.
- V iskalnem polju razširitve poiščite »PlatformIO« in videli boste ikono PlatformIO z imenom in opisom. Samo kliknite nanjo in jo namestite. Namestitev verig orodij in drugih odvisnosti lahko traja nekaj časa. Odvisnosti vključujejo okolje C / C ++, saj se razvoj Arduina večinoma izvaja na C / C ++.
- Ko je namestitev končana, boste videli naslednji vmesnik. Vmesnik vključuje vso potrebno navigacijo, kot je ustvarjanje novega projekta, uvoz projekta Arduino, odprti projekt, primeri projektov itd. Priporočljivo je, da po namestitvi PlatformIO znova zaženete urejevalnik kod VS.
S tem se končajo namestitveni koraki PlatformIO. Zdaj je PlatformIO nameščen in pripravljen za uporabo. Tako kot Arduino IDE bomo tudi mi začeli s programom Blink in poskusili program Blink naložiti v Arduino UNO.
Programiranje Arduino UNO z uporabo PlatformIO IDE
Vmesnik PlatformIO bo sočasno razložen med programiranjem Arduino UNO. Tukaj programiramo Arduino za utripanje LED z uporabo PlatformIO. Enako lahko storimo z uporabo Arduino IDE. Sledite spodnjim korakom, da ustvarite nov projekt za utripajočo LED.
- V meniju za hitri dostop izberite zavihek »Nov projekt«.
- Poimenujte projekt (tukaj je 'Blink'). Poiščite in izberite ploščo, ki je Arduino UNO. Ker delamo v okolju Arduino, bo izbrani okvir Arduino. Po izpolnitvi vseh podrobnosti samo kliknite Finish.
- Projekt se bo začel ustvarjati z zbiranjem virov in drugih odvisnosti.
- Ko je projekt uspešno ustvarjen, se prikaže hitro sporočilo »Projekt je bil uspešno inicializiran« z vsemi izpolnjenimi podrobnostmi.
- Če želite odpreti ustvarjeni projekt, se preprosto pomaknite navzdol po začetnem meniju PlatformIO in videli boste ves seznam projektov, ustvarjenih od začetka. V desnem kotu ustvarjenega projekta kliknite »Odpri«, da odprete projekt in začnete urejati.
- Ko bo projekt odprt, bo sprva videti kot skrit, toda brez skrbi, PlatformIO ima funkcijo raziskovalec datotek, kjer bodo najdene vse datoteke trenutnega projekta. Samo pojdite v zgornji levi kot in odprite 'Untitled (Workplace)'. Ko kliknete nanjo, se vse datoteke prikažejo kot spustni meni. Če želite poiskati urejevalnik besedil za urejanje 'Kode', izberite 'src' in odprto 'main.cpp'. Način urejevalnika besedila se prikaže na začetnem zaslonu z odprtjem novega zavihka. Tu lahko napišete vse kode trenutnega tekočega projekta.
- Preprosto napišite Blink Code za Arduino UNO. PlatformIO nima privzetega dostopa do knjižnic Arduino, zato vsakič, ko napišete kodo za Arduino, na začetku programa vedno vključite knjižnico Arduino, tj. "#Include".
- Naslednji korak bi bil sestavljanje in nalaganje kode. Za to si oglejmo funkcije, ki jih ponuja PlatformIO. PlatformIO privzeto izbere tudi vrata COM. Vrata pa lahko spremenite tudi, če niso želena vrata COM. Sprememba vrat COM bo pojasnjena kasneje v tej vadnici. PlatformIO ima funkcije, kot so Build, Upload, Upload na oddaljeno napravo, Clean, Test, Run Task, Serial Monitor, New Terminal. Vse funkcije najdete v spodnjem levem kotu urejevalnika. Ko premaknete miškin kazalec nad ikone, se prikažejo funkcije.
- Če želite zgraditi skico, kliknite na »Zgradi« in za nalaganje skice kliknite ikono »Naloži«. Ko je nalaganje končano, boste videli čas, potreben za nalaganje, z vsemi drugimi podrobnostmi in sporočilom »Uspeh«. Koda je uspešno naložena in na plošči Arduino boste videli utripanje LED.
Če želite izbrati ali spremeniti katero koli vrata COM, pojdite na začetni zaslon PlatformIO in nato v Naprave, kjer si lahko ogledate vse povezane naprave, ki so na voljo. Izberite ustrezna vrata COM in po istem postopku naložite skico.
Programiranje plošče STM32 z uporabo PlatformIO IDE
Programiranje plošče STM32 bo imelo natančno podobne korake, kot je zgoraj razloženo programiranje Arduino UNO. Razlika bo izbira odbora za STM32 ob odprtju novega projekta za STM32. Dobra stvar PlatformIO je, da ne potrebuje nobenega zunanjega paketa za prenos nobene plošče posebej, samodejno prenese vse pakete in nam olajša izbiro plošče in odhod v urejevalnik. Za nalaganje skic na STM32 bomo uporabili zunanji program JLink / JTAG / STLink / Serial Programmer. STM32 je mogoče programirati tudi z Arduino IDE. Nadaljujte z naslednjimi koraki, da ga programirate z PlatformIO.
- Samo poimenujte projekt (tukaj je 'Blink STM32'). Nato izberite ploščo za STM32, tj. " BluePill F103C8 (Generic) ". Nato izberite Framework kot Arduino. Kliknite Dokončaj in počakajte nekaj časa, saj bo na začetku potreben čas za prenos paketov in odvisnosti za ploščo STM32.
- Ko bo nastavljen, bo čas ustvarjanja naslednjega projekta manj primeren kot prvi. Zdaj preprosto pojdite na Untitled (Workspace) -> src -> main.cpp v levem raziskovalcu datotek.
- Zdaj bodo pomembni prihodnji koraki, saj se je treba odločiti, kateri programer naj uporabimo za programiranje plošče STM32. Na voljo je veliko programerjev, kot so JTAG, STLink, JLink, Serial itd. Vsi bodo delovali, vendar morate konfigurirati konfiguracijsko stran ali datoteko 'platformio.ini'.
- V tem projektu uporabljamo serijski programer CP210x USB do UART Bridge. Programiranje plošče STM32F103C8 smo že opravili z uporabo vrat USB, o večino korakov bomo izvedli samo od tam. Obiščete lahko povezavo in najdete več o tem.
- Najprej priključite serijski programer na ploščo STM32 z naslednjim preslikavanjem pinov in ga povežite z računalnikom.
USB za serijski programer |
STM32 plošča |
5V |
5V |
Gnd |
Gnd |
Rx |
A9 |
Tx |
A10 |
- Zdaj pojdite na raziskovalec projektov in odprite stran 'platformio.ini' ter spremenite izjavo, kot je prikazano na sliki. Upload_protocol bo povedal to, kar bi moral programer uporabljati (STLink, JLink, Serijska itd). Upload_port izbere vrata COM. Najdete tako, da obiščete 'Naprave' na domači strani. Spremenite vrata COM glede na vrata COM.
- Pojdite na 'main.cpp' in spremenite program v Blink program. Zdaj samo naložite program in prikazal se bo sporočilo o uspehu in čas, potreben za nalaganje. Zdaj bo LED začela utripati, priključena na PC13 pin STM32 plošče.
S tem je končana celotna vadnica o programiranju Arduino UNO in STM32 Board s pomočjo PlatformIO. Če imate med postopkom kakršne koli težave, pišite na naš forum ali komentirajte spodaj.