De ontwikkeling van embedded systemen of projecten met microcontrollers heeft de laatste tijd enorm aan populariteit gewonnen. Het kiezen van de juiste omgeving kan het verschil maken tussen een efficiënte workflow of een frustrerende ervaring. Dat is waar het in het spel komt PlatformIO IDE, een platform dat een revolutie teweeg heeft gebracht in de manier waarop ontwikkelaars verschillende hardware- en softwareconfiguraties in één ecosysteem beheren.
Als je het beu bent om meerdere ontwikkelprogramma's voor verschillende soorten borden te hebben, of als je een omgeving nodig hebt waarin je flexibel en op maat kunt werken, dan is PlatformIO wellicht de oplossing die je zoekt. Hieronder vertellen we je alles wat je moet weten over deze krachtige tool.
Wat is PlatformIO IDE?
PlatformIO IDE is een geïntegreerde ontwikkelomgeving die is ontworpen om het werken aan projecten met ingebedde systemen en IoT (Internet of Things) te vergemakkelijken. Het bijzondere van dit platform is dat je ermee kunt werken meerdere microcontrollers en ontwikkelingsplatforms, allemaal vanaf één plek, wat het beheer aanzienlijk vereenvoudigt.
Een van de meest opvallende kenmerken is de mogelijkheid van werken met meer dan 20 raamwerken (Arduino, mbed, ESP-IDF, STM32Cube, enz.), handvat meer dan 700 ontwikkelingsborden en ondersteuning voor duizenden bibliotheken. Dit alles maakt het een van de beste opties voor iedereen die aan IoT-projecten werkt of met microcontrollers van verschillende fabrikanten.
Voordelen ten opzichte van andere IDE's
In tegenstelling tot andere IDE's zoals de klassieke Arduino, onderscheidt PlatformIO zich door het aanbieden van functies die het werken met meer geavanceerde projecten vergemakkelijken:
- code voltooiing, wat u veel tijd bespaart bij het programmeren.
- Beter beheer van complexe projecten via het systeem van gestructureerde mappen voor broncode, bibliotheken en configuratiebestanden.
- Geïntegreerde foutopsporing, waarmee u de software in realtime kunt debuggen, zolang het gebruikte bord dit ondersteunt.
Bovendien is de installatie van PlatformIO IDE zeer eenvoudig en kan deze worden geïntegreerd met omgevingen zoals Visual Studio Code of Atom, waardoor de veelzijdigheid ervan verder wordt vergroot.
PlatformIO installeren: stap voor stap
Het installeren van PlatformIO is een vrij eenvoudig proces dat niet meer dan een paar minuten duurt. U hoeft alleen maar eerst de Visual Studio Code- of Atom-code-editor te installeren. Zodra u het heeft, volgt u deze stappen:
- Open uw code-editor (Visual Studio Code of Atom).
- Ga naar het gedeelte met plug-ins of extensies en zoek naar “PlatformIO IDE”.
- Installeer het en wacht tot het proces is voltooid.
Wanneer het is geïnstalleerd, wordt een nieuw tabblad genoemd PIO Thuis van waaruit u uw projecten kunt beheren, creëren en samenstellen.
Creatie van een nieuw project
Zodra PlatformIO is geïnstalleerd, is het maken van een nieuw project heel eenvoudig. Van PIO Thuis, selecteer de optie Nieuw project. U hoeft slechts drie velden in te vullen:
- Projectnaam: Kies een naam die uw project beschrijft.
- Board: Selecteer het ontwikkelbord dat u gaat gebruiken. U kunt zoeken uit meer dan 700 beschikbare apparaten, zoals Arduino Nano, ESP32 of STM32.
- Kader: Het raamwerk dat u gaat gebruiken. Als je bekend bent met Arduino, kun je die kiezen, maar andere zoals mbed of ESP-IDF zijn ook beschikbaar.
Zodra het project is geconfigureerd, downloadt PlatformIO automatisch de benodigde tools, zoals bibliotheken en specifieke configuraties voor het geselecteerde bord.
Structuur van een project in PlatformIO
Bij het maken van een nieuw project genereert PlatformIO een georganiseerde bestands- en mappenstructuur die het beheer eenvoudig maakt. Enkele van de belangrijkste elementen zijn:
.pio/
: map waarin tussentijdse compilatie- en tijdelijke bestanden worden opgeslagen.include/
: Headerbestanden worden hier opgeslagen (.h).lib/
: map bedoeld voor de privébibliotheken van het project.src/
: De broncode (bestanden) wordt hier opgeslagen .cpp).platformio.ini
: Hoofdconfiguratiebestand, dat onder andere aangeeft welke bibliotheken moeten worden gebruikt, de configuratie van de seriële poort.
Compilatie en uitvoering van een project
Een van de grote voordelen van PlatformIO is het gemak waarmee u uw programma's kunt compileren en laden op het ontwikkelbord. In tegenstelling tot andere IDE's configureert PlatformIO automatisch alles wat je nodig hebt. Wanneer u een project bouwt, maakt PlatformIO automatisch de benodigde mappen aan en downloadt eventuele aanvullende afhankelijkheden.
Om het project te compileren en te laden hoeft u alleen maar op de overeenkomstige pictogrammen in de onderste balk van Visual Studio Code of Atom te klikken. Deze iconen lijken erg op die van de Arduino IDE, met het verschil dat je in PlatformIO toegang hebt tot meer geavanceerde functies zoals debuggen.
Bibliotheekbeheer
In PlatformIO wordt bibliotheekbeheer efficiënt uitgevoerd met behulp van de ingebouwde bibliotheekmanager. Dit vergemakkelijkt de installatie van nieuwe bibliotheken aanzienlijk zonder andere projecten te beïnvloeden, iets dat in de Arduino IDE incompatibiliteit tussen verschillende versies van bibliotheken kan veroorzaken.
Bovendien kunt u voor afzonderlijke projecten verschillende versies van dezelfde bibliotheek hebben. De bibliotheken worden in de map opgeslagen libdeps binnen elk project, en het beheer ervan is onafhankelijk tussen projecten.
Realtime foutopsporing
Een ander belangrijk kenmerk van PlatformIO is de mogelijkheid om debuggen in realtime uw programma's. Als uw ontwikkelbord dit ondersteunt, kunt u breekpunten instellen en de status van het project rechtstreeks in de code analyseren, waardoor u fouten zeer efficiënt kunt optimaliseren en oplossen.
Werk met verschillende platen
Een van de belangrijkste redenen waarom PlatformIO zo succesvol is, is het vermogen om met een ongelooflijk aantal ontwikkelingsborden te werken: meer dan 700 officieel ondersteund. Dit omvat alles van het populaire Arduino-kaarten, tot de meest geavanceerde, zoals die op basis van ARM of ESP32.
Dankzij deze veelzijdigheid kunt u al uw ontwikkelingsbehoeften in dezelfde omgeving verenigen, waardoor u niet meer telkens van software hoeft te wisselen als u van type microcontroller verandert.