- Wat is PlatformIO?
- PlatformIO instellen voor Arduino Uno
- Programmeren van Arduino UNO met behulp van de PlatformIO IDE
- Programmering STM32 Board met behulp van de PlatformIO IDE
Ontwikkeling in Arduino en Arduino IDE is altijd gemakkelijk en leuk geweest met hun eenvoudige gebruikersinterface. De Arduino IDE is open-source en gratis te gebruiken Development Environment met alle functies zoals schrijven, compileren en uploaden van de code naar Arduino Boards. Het is gebaseerd op Java en draait op de belangrijkste besturingssystemen zoals Windows, OS X en Linux. Maar met al zijn eenvoud en grote gemeenschap, heeft het niet een aantal functies die een ervaren ontwikkelaar nodig heeft voor een snelle ontwikkeling die de ontwikkelingsperiode kan verkorten. Er zijn veel ontwikkelomgevingen beschikbaar voor Arduino, maar ze hebben allemaal een aantal voor- en nadelen. Vandaag beginnen we met de PlatformIO-ontwikkelomgeving die gebruiksvriendelijk is en extra functies heeft vergeleken met de Arduino-omgeving.
Wat is PlatformIO?
De PlatformIO is een op Python gebaseerd open source ecosysteem voor IoT-ontwikkeling en een cross-platform IDE met een uniforme debugger die draait op Windows, Mac en Linux. PlatformIO wordt geleverd met bibliotheekbeheer voor platforms zoals Arduino of MBED-ondersteuning, samen met unit-testen en firmware-updates. De PlatformIO ondersteunt een aantal platforms, frameworks, boards zoals Arduino, ESP32, ESP8266 en wordt geleverd met een aantal voorbeelden en bibliotheken. Het is onafhankelijk van het platform waarop het wordt uitgevoerd en het vereist alleen Python geïnstalleerd op de computer.
Voordelen van PlatformIO
De PlatformIO biedt snelle ontwikkeling met zijn functies zoals C / C ++ Code Completion en Smart Code Linter voor snelle professionele ontwikkeling die er niet is in de Arduino IDE. Daarnaast biedt de PlatformIO de thema-ondersteuning met donkere en lichte kleuren voor ontwikkeling op elk moment. Het wordt ook geleverd met Smart Code-navigatie en code-opmaak. De kernfuncties zijn onder meer het Multi-platform Build System, Library Manager, Serial Port Monitor etc.
De Unified Debugger met ondersteuning voor de meerdere architecturen en ontwikkelingsplatforms maakt het mogelijk om meerdere embedded boards te debuggen met Zero-Configuration. De PlatformIO Unified Debugger heeft functies zoals Conditional Breakpoints, Expressions and Watchpoints, Memory Viewer, een hete herstart van een actieve debugging-sessie. De PlatformIO Core is geschreven in Python 2.7 en werkt op Windows, macOS, Linux, FreeBSD en zelfs op ARM-gebaseerde computers met creditcardformaat, zoals Raspberry Pi, BeagleBone, CubieBoard, Samsung ARTIK, enz. Afgezien hiervan heeft de PlatformIO File Explorer die helpt het ordenen van de bestanden als het project naar een bepaald niveau groeit en organiseren noodzakelijk wordt.
PlatformIO instellen voor Arduino Uno
Het gebruik van PlatformIO is heel eenvoudig en vereist een paar stappen om aan de slag te gaan. De PlatformIO vereist dat Python op de computer is geïnstalleerd, aangezien, zoals hierboven uitgelegd, de PlatformIO-kern is geschreven in Python 2.7. Merk op dat de PlatformIO Python 3 niet ondersteunt, dus het wordt aanbevolen om Python 2-versie te installeren en vervolgens door te gaan met het instellen van PlatformIO IDE. De PlatformIO is een IDE en biedt officiële pakketten (plug-ins, extensies) voor de meest populaire IDE's en teksteditors.
Vandaag zullen we PlatformIO installeren op een teksteditor zoals Atom en Visual Studio Code. In de officiële documentatie van Platform IDE staat dat de PlatformIO IDE voor VS Code (Visual Studio Code) betere systeemprestaties biedt en dat gebruikers het gemakkelijker hebben gevonden om aan de slag te gaan. Dus gaan we PlatformIO opzetten in Visual Studio Code. De VS-code is een bekende teksteditor met een aantal extensies waardoor we in verschillende programmeertalen kunnen ontwikkelen.
Laten we beginnen met het opzetten van de PlatformIO om code te ontwikkelen in Arduino UNO. Er zijn stappen die hieronder worden uitgelegd:
- Installeer eerst de Visual Studio-code vanaf de officiële website. De installatiestappen van Visual Studio Code worden hier niet uitgelegd, maar u kunt deze vinden op de VS Code-website. Er zijn algemene stappen nodig, net als bij het installeren van andere software op Windows OS.
- De Visual Studio-code ziet er als volgt uit wanneer deze met succes is geïnstalleerd.
- Volgende stap omvat het installeren van de PlatformIO met behulp van VS Code Extensions. Hiervoor moet je naar het extensiepictogram in de linkerbovenhoek van de VS-code gaan. Er is vierkant Box Icon dat is de 5 e pictogram in de linkerbovenhoek. Klik daar gewoon op en er verschijnt een zoekvak naast dat waar u veel extensies kunt vinden voor verschillende programmeertalen zoals C / C ++, C #, Python, PHP, Go, JavaScript, TypeScript en Node.js enz.
- Zoek naar "PlatformIO" in het zoekvak van de extensie en u ziet PlatformIO-pictogram met naam en beschrijving. Klik er gewoon op en installeer het. Het installeren van toolchains en andere afhankelijkheden kan enige tijd duren. Afhankelijkheden zijn onder meer de C / C ++ -omgeving, aangezien de ontwikkeling van Arduino meestal gebeurt op C / C ++.
- Als de installatie is voltooid, ziet u de volgende interface. De interface bevat alle benodigde navigatie, zoals het maken van een nieuw project, een Arduino-project importeren, een project openen, projectvoorbeelden enz. Het wordt aanbevolen om de VS Code Editor opnieuw te starten na de installatie van PlatformIO.
Hiermee zijn de installatiestappen van PlatformIO voltooid. Nu is de PlatformIO geïnstalleerd en klaar voor gebruik. Net als Arduino IDE zullen we beginnen met het Blink-programma en proberen het Blink-programma te uploaden in de Arduino UNO.
Programmeren van Arduino UNO met behulp van de PlatformIO IDE
De PlatformIO-interface zal gelijktijdig worden uitgelegd tijdens het programmeren van Arduino UNO. Hier programmeren we Arduino voor knipperende LED met behulp van de PlatformIO. Hetzelfde kan worden gedaan met Arduino IDE. Volg de onderstaande stappen om een nieuw project voor knipperende LED's te maken.
- Selecteer het tabblad "Nieuw project" in het snelmenu.
- Geef het project een naam (hier is het 'Blink'). Zoek en selecteer het bord dat Arduino UNO is. Omdat we in het Arduino-framework werken, is het geselecteerde framework Arduino. Nadat u alle details heeft ingevuld, klikt u op Voltooien.
- Het project wordt gemaakt door bronnen en andere afhankelijkheden te verzamelen.
- Wanneer het project met succes is aangemaakt, krijgt u het promptbericht "Project is succesvol geïnitialiseerd" met alle ingevulde details.
- Om het gemaakte project te openen, scrolt u gewoon door het Home Menu van PlatformIO en ziet u alle lijst van de projecten die vanaf het begin zijn gemaakt. Klik in de rechterhoek van het aangemaakte project op 'Openen' om het project te openen en te beginnen met bewerken.
- Wanneer het project wordt geopend, ziet het er aanvankelijk uit alsof het verborgen is, maar maak je geen zorgen, de PlatformIO heeft een bestandsverkenner waar alle bestanden van het huidige project kunnen worden gevonden. Ga gewoon naar de linkerbovenhoek en open de 'Untitled (Workplace)'. Als u erop klikt, verschijnen alle bestanden als een vervolgkeuzemenu. Om de teksteditor te vinden om de 'Code' te bewerken, selecteer je 'src' en open je 'main.cpp'. De teksteditor-modus verschijnt op het startscherm wanneer u een nieuw tabblad opent. Hier kunt u alle codes van het huidige lopende project schrijven.
- Schrijf gewoon de Blink Code voor Arduino UNO. Merk op dat de PlatformIO niet de standaardtoegang tot Arduino-bibliotheken heeft, dus elke keer dat u de code voor Arduino schrijft, moet u altijd de Arduino-bibliotheek opnemen, dwz "#include" aan het begin van het programma.
- De volgende stap is het compileren en uploaden van de code. Laten we om dit te doen eens kijken naar de functies die door PlatformIO worden geboden. Ook selecteert de PlatformIO standaard de COM-poort. Maar u kunt de poort ook wijzigen als dit niet de gewenste COM-poort is. De wijziging van de COM-poort wordt later in deze tutorial uitgelegd. PlatformIO heeft functies zoals Build, Upload, Upload to Remote Device, Clean, Test, Run Task, Serial Monitor, New Terminal. Alle functies zijn te vinden in de linker benedenhoek van de Editor. Wanneer u met de muis over de pictogrammen beweegt, worden de functies weergegeven.
- Om de schets te bouwen, klikt u op 'Bouwen' en om de schets te uploaden klikt u op het pictogram 'Uploaden'. Wanneer het uploaden is voltooid, kun je zien hoeveel tijd het kost om te uploaden met alle andere details en een bericht met de tekst "Succes". De code is met succes geüpload en je kunt het knipperen van de LED op het Arduino-bord zien.
Om een COM-poort te selecteren of te wijzigen, gaat u naar het PlatformIO-startscherm en gaat u vervolgens naar Apparaten, hier kunt u alle beschikbare apparaten zien die zijn aangesloten. Selecteer de juiste COM-poort en volg dezelfde procedure om de schets te uploaden.
Programmering STM32 Board met behulp van de PlatformIO IDE
Het programmeren van het STM32-bord zal precies dezelfde stappen hebben als het programmeren van Arduino UNO zoals hierboven uitgelegd. Het verschil is het selecteren van het bord voor STM32 bij het openen van een nieuw project voor STM32. Het goede aan de PlatformIO is dat het geen extern pakket nodig heeft om een bord apart te downloaden, het downloadt automatisch alle pakketten en maakt het ons gemakkelijk om een bord te selecteren en naar de editor te gaan. We zullen externe JLink / JTAG / STLink / Serial Programmer gebruiken om de schets naar STM32 te uploaden. STM32 kan ook worden geprogrammeerd met Arduino IDE. Ga verder met de volgende stappen om het te programmeren met PlatformIO.
- Geef het project een naam (hier is het 'Blink STM32'). Selecteer vervolgens het bord voor STM32, dwz ' BluePill F103C8 (Generic) '. Selecteer vervolgens Framework als Arduino. Klik op Voltooien en wacht enige tijd, aangezien het in eerste instantie even zal duren om de pakketten en afhankelijkheden voor board STM32 te downloaden.
- Eenmaal ingesteld, is de tijd voor het maken van het volgende project minder in vergelijking met de eerste. Ga nu gewoon naar Untitled (Workspace) -> src -> main.cpp in de linker bestandsverkenner.
- Nu zullen de komende stappen belangrijk zijn omdat er moet worden besloten welke programmeur we moeten gebruiken voor het programmeren van het STM32-bord. Er zijn veel programmeurs beschikbaar, zoals JTAG, STLink, JLink, Serial etc. Alles werkt, maar je moet de configuratiepagina 'platformio.ini' of het configuratiebestand configureren.
- In dit project gebruiken we Serial Programmer CP210x USB to UART Bridge. We hebben het STM32F103C8-bord al geprogrammeerd met behulp van de USB-poort, o de meeste stappen worden alleen vanaf daar genomen. U kunt de link bezoeken en hier meer over vinden.
- Ten eerste verbinding Seriële Programmer STM32 Board met volgende pin mapping en aansluiten op de PC.
USB naar seriële programmeur |
STM32-kaart |
5V |
5V |
GND |
GND |
Rx |
A9 |
Tx |
A10 |
- Ga nu naar de projectverkenner en open de pagina 'platformio.ini' en verander de verklaring zoals weergegeven in de afbeelding. Het upload_protocol zal vertellen welke programmeur moet gebruiken (STLink, JLink, Serieel enz.). De upload_port selecteert de COM-poort. U kunt het vinden door naar 'Apparaten' op de startpagina te gaan. Wijzig de COM-poort volgens uw COM-poort.
- Ga naar 'main.cpp' en verander het programma in Blink- programma. Upload nu gewoon het programma en het toont een succesbericht en de tijd die nodig is om te uploaden. Nu begint de LED te knipperen aangesloten op de PC13-pin van de STM32-kaart.
Hiermee is de volledige tutorial over het programmeren van de Arduino UNO en het STM32-bord met PlatformIO voltooid. Als je problemen ondervindt bij het volgen van de stappen, schrijf dan naar ons forum of reageer hieronder.