- Co je PlatformIO?
- Nastavení PlatformIO pro Arduino Uno
- Programování Arduino UNO pomocí PlatformIO IDE
- Programování desky STM32 pomocí PlatformIO IDE
Vývoj v Arduinu a Arduino IDE byl vždy jednoduchý a zábavný díky jejich jednoduchému uživatelskému rozhraní. Arduino IDE je open-source a volně použitelné vývojové prostředí se všemi funkcemi, jako je zápis, kompilace a nahrávání kódu na desky Arduino. Je založen na prostředí Java a běží na hlavních operačních systémech, jako jsou Windows, OS X a Linux. Ale se vší svou jednoduchostí a velkou komunitou nemá některé funkce, které zkušený vývojář bude potřebovat pro rychlý vývoj, který může zkrátit vývojové období. Arduino má k dispozici mnoho vývojových prostředí, ale všechna mají určité výhody a nevýhody. Dnes začneme s vývojovým prostředím PlatformIO, které se snadno používá a ve srovnání s prostředím Arduino má přidané funkce.
Co je PlatformIO?
PlatformIO je open source ekosystém založený na Pythonu pro vývoj IoT a IDE pro více platforem s jednotným debuggerem běžícím na Windows, Mac a Linux. PlatformIO je dodáván se správcem knihoven pro platformy, jako je podpora Arduino nebo MBED, spolu s testováním jednotek a aktualizacemi firmwaru. PlatformIO podporuje řadu platforem, rámců, desek jako Arduino, ESP32, ESP8266 a přichází s řadou příkladů a knihoven. Je nezávislý na platformě, na které běží, a vyžaduje pouze Python nainstalovaný v počítači.
Výhody PlatformIO
PlatformIO se vyznačuje rychlým vývojem s jeho funkcemi, jako je C / C ++ Code Completion a Smart Code Linter pro rychlý profesionální vývoj, který v Arduino IDE není. Kromě toho PlatformIO nabízí podporu motivů s tmavými a světlými barvami pro vývoj kdykoli. Dodává se také s inteligentními navigacemi kódu a formátováním kódu. Mezi hlavní funkce patří Multi-platform Build System, Library Manager, Serial Port Monitor atd.
Unified debugger s podporou pro více architektur a vývojové platformy umožňuje ladit několika vloženými deskami s nulové konfigurace. Unifikovaný debugger PlatformIO má funkce jako podmíněné zarážky, výrazy a sledovací body, prohlížeč paměti, horký restart aktivní relace ladění. PlatformIO Core je napsán v Pythonu 2.7 a funguje na počítačích o velikosti kreditních karet založených na Windows, macOS, Linux, FreeBSD a dokonce ARM, jako jsou Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK atd. Kromě toho má PlatformIO File Explorer, který pomáhá organizování souborů, když projekt naroste na určitou úroveň a organizování bude nezbytné.
Nastavení PlatformIO pro Arduino Uno
Používání PlatformIO je velmi jednoduché a vyžaduje několik kroků, abyste mohli začít. PlatformIO vyžaduje Python nainstalovaný v počítači, protože jak bylo vysvětleno výše, jádro PlatformIO bylo napsáno v Pythonu 2.7. Všimněte si, že PlatformIO nepodporuje Python 3, proto se doporučuje nainstalovat verzi Pythonu 2 a poté pokračovat v nastavení PlatformIO IDE. PlatformIO je IDE a poskytuje oficiální balíčky (pluginy, rozšíření) pro nejpopulárnější IDE a textové editory.
Dnes nainstalujeme PlatformIO do takového textového editoru, jako je Atom a Visual Studio Code. V oficiální dokumentaci Platform IDE uvádí, že PlatformIO IDE pro VS Code (Visual Studio Code) nabízí lepší výkon systému a pro uživatele bylo snazší začít. Takže nastavíme PlatformIO v Visual Studio Code. VS Code je známý textový editor s řadou rozšíření, který nám umožňuje vývoj v různých programovacích jazycích.
Začněme nastavovat PlatformIO pro zahájení vývoje kódu v Arduino UNO. Jsou zahrnuty kroky, které jsou vysvětleny níže:
- Nejprve nainstalujte Visual Studio Code z jeho oficiálního webu. Kroky instalace Visual Studio Code zde nebudou vysvětleny, ale najdete je na webu VS Code. Existují obecné kroky, stejně jako instalace jakéhokoli jiného softwaru v operačním systému Windows.
- Po úspěšné instalaci bude Visual Studio Code vypadat následovně.
- Další krok zahrnuje instalaci PlatformIO pomocí rozšíření VS Code. K tomu musíte přejít na ikonu Extensions Icon v levém horním rohu VS Code. Tam je čtvercový Box Icon, což je 5 th ikonu na horní levý roh. Stačí na to kliknout a vedle toho se objeví jedno vyhledávací pole, kde najdete mnoho rozšíření pro různé programovací jazyky jako C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript a Node.js atd.
- Vyhledejte „PlatformIO“ ve vyhledávacím poli rozšíření a uvidíte ikonu PlatformIO s názvem a popisem. Stačí na něj kliknout a nainstalovat jej. Instalace řetězců nástrojů a dalších závislostí může nějakou dobu trvat. Závislosti zahrnují prostředí C / C ++, protože vývoj Arduina se většinou provádí na C / C ++.
- Po dokončení instalace se zobrazí následující rozhraní. Rozhraní zahrnuje veškerou nezbytnou navigaci, jako je vytvoření nového projektu, import Arduino projektu, otevřený projekt, příklady projektu atd. Po instalaci PlatformIO se doporučuje restartovat VS Code Editor.
Tím jsou dokončeny kroky instalace PlatformIO. Nyní je PlatformIO nainstalováno a připraveno k použití. Stejně jako Arduino IDE začneme s Blink programem a pokusíme se nahrát Blink program do Arduino UNO.
Programování Arduino UNO pomocí PlatformIO IDE
Rozhraní PlatformIO bude vysvětleno souběžně při programování Arduino UNO. Zde programujeme Arduino pro blikání LED pomocí PlatformIO. Totéž lze provést pomocí Arduino IDE. Podle níže uvedených kroků vytvořte nový projekt pro blikající LED.
- V nabídce rychlého přístupu vyberte kartu „Nový projekt“.
- Pojmenujte projekt (zde je „Blink“). Vyhledejte a vyberte desku, kterou je Arduino UNO. Protože pracujeme v rámci Arduino, bude vybraný rámec Arduino. Po vyplnění všech podrobností stačí kliknout na Dokončit.
- Projekt se začne vytvářet shromažďováním zdrojů a dalších závislostí.
- Když je projekt úspěšně vytvořen, zobrazí se výzva „Projekt byl úspěšně inicializován“ se všemi vyplněnými údaji.
- Chcete-li otevřít vytvořený projekt, posuňte se dolů v nabídce Domů PlatformIO a uvidíte seznam všech projektů vytvořených od začátku. V pravém rohu vytvořeného projektu klikněte na 'Otevřít' pro otevření projektu a zahájení úprav.
- Když je projekt otevřen, zpočátku bude vypadat jako skrytý, ale nebojte se, PlatformIO má funkci průzkumníka souborů, kde budou nalezeny všechny soubory aktuálního projektu. Jednoduše přejděte do levého horního rohu a otevřete „Bez názvu (pracoviště)“. Po kliknutí na něj se všechny soubory zobrazí jako rozevírací nabídka. Chcete-li najít textový editor pro úpravu „kódu“, vyberte „src“ a otevřete „main.cpp“. Režim textového editoru se objeví na domovské obrazovce s otevřením nové karty. Zde můžete napsat všechny kódy aktuálního probíhajícího projektu.
- Jednoduše napište Blink Code pro Arduino UNO. Všimněte si, že PlatformIO nemá výchozí přístup do knihoven Arduino, takže pokaždé, když napíšete kód pro Arduino, vždy na začátku programu zahrňte knihovnu Arduino, tj. „#Include“.
- Dalším krokem bude kompilace a nahrání kódu. Podívejme se tedy na funkce poskytované PlatformIO. PlatformIO také ve výchozím nastavení vybere port COM. Můžete ale také změnit port, pokud to není požadovaný port COM. Změna portu COM bude vysvětlena dále v tomto kurzu. PlatformIO má funkce jako Build, Upload, Upload to Remote Device, Clean, Test, Run Task, Serial Monitor, New Terminal. Všechny funkce najdete v levém dolním rohu editoru. Když umístíte ukazatel myši na ikony, zobrazí se funkce.
- Chcete-li vytvořit náčrt, klikněte na „Sestavit“ a náčrt nahrajte kliknutím na ikonu „Nahrát“. Po dokončení nahrávání uvidíte dobu potřebnou k nahrání se všemi dalšími podrobnostmi a zprávou „Úspěch“. Kód se úspěšně nahraje a na desce Arduino uvidíte Blikání LED.
Chcete-li vybrat nebo změnit libovolný port COM, přejděte na domovskou obrazovku PlatformIO a poté přejděte na Zařízení, kde uvidíte všechna připojená dostupná zařízení. Vyberte příslušný port COM a stejným postupem nahrajte skicu.
Programování desky STM32 pomocí PlatformIO IDE
Programování desky STM32 bude mít přesně podobné kroky, jako je programování Arduino UNO vysvětleno výše. Rozdíl bude ve výběru desky pro STM32 při otevírání nového projektu pro STM32. Dobrá věc na platformě PlatformIO je, že nepotřebuje žádný externí balíček pro každou desku ke samostatnému stahování, automaticky stahuje všechny balíčky a usnadňuje nám výběr desky a přechod do editoru. K nahrání náčrtu do STM32 použijeme externí programátor JLink / JTAG / STLink / Serial. STM32 lze také programovat pomocí Arduino IDE. Při programování pomocí PlatformIO postupujte podle následujících kroků.
- Stačí pojmenovat projekt (zde je to „Blink STM32“). Poté vyberte desku pro STM32, tj. „ BluePill F103C8 (obecná) “. Poté vyberte Framework jako Arduino. Klikněte na Dokončit a chvíli počkejte, protože zpočátku to bude chvíli trvat, než si stáhnete balíčky a závislosti pro desku STM32.
- Po nastavení bude čas vytvoření dalšího projektu kratší v porovnání s prvním. Nyní jednoduše přejděte na Untitled (Workspace) -> src -> main.cpp v levém průzkumníku souborů.
- Nyní budou důležité nadcházející kroky, protože je třeba se rozhodnout, který programátor bychom měli použít pro programování desky STM32. Existuje mnoho programátorů, jako jsou JTAG, STLink, JLink, Serial atd. Všechny budou fungovat, ale musíte nakonfigurovat konfigurační stránku nebo soubor 'platformio.ini'.
- V tomto projektu používáme sériový programátor CP210x USB na UART Bridge. Programování desky STM32F103C8 jsme již provedli pomocí USB portu, o většina kroků bude provedena pouze odtud. Můžete navštívit odkaz a najít o tom více.
- Nejprve připojte sériový programátor k desce STM32 pomocí následujícího mapování pinů a připojte jej k PC.
USB na sériový programátor |
Deska STM32 |
5V |
5V |
Gnd |
Gnd |
Rx |
A9 |
Tx |
A10 |
- Nyní přejděte do průzkumníka projektu a otevřete stránku 'platformio.ini' a změňte příkaz, jak je znázorněno na obrázku. Upload_protocol řekne, že programátor, který by měl používat (STLink, JLink, Serial, atd). Upload_port vybere COM port. Najdete na domovské stránce „Zařízení“. Změňte port COM podle svého portu COM.
- Přejděte na 'main.cpp' a změňte program na Blink program. Nyní stačí nahrát program a zobrazí zprávu o úspěchu a čas potřebný k nahrání. Nyní začne LED blikat připojená k pinu PC13 desky STM32.
Tím je dokončen kompletní kurz programování Arduino UNO a desky STM32 pomocí PlatformIO. Pokud při provádění těchto kroků narazíte na potíže, napište nám prosím na naše fórum nebo komentář níže.