Mikrocontroller programmieren mit Hilfe von PlatformIO

Die PlatformIO IDE mit VSCode

PlatformIO ist eine kostenlose quelloffene IDE, die die Software-Entwicklung für Mikrocontroller stark vereinfacht. Als Quelltext-Editor hat sich Visual Studio Code (VSCode) stark etabliert.

PlatformIO wird ständig weiterentwickelt. Inzwischen können weit über 1000 unterschiedliche Mikrocontroller-Boards mit PlatformIO programmiert werden.

Visual Studio Code ist in Verbindung mit PlatformIO ein mächtiger Code-Editor, der dem Programmmierer beispielsweise durch Syntax-Highlighting und automatischer Syntax-Prüfung das Leben deutlich einfacher macht.

VSCode und PlatformIO installieren

Visual Studio Code in Verbindung mit PlatformIO ist auf verschiedenen Betriebssystemen lauffähig.
Selbst auf einem Raspberry pi 4 können so komfortabel die unterschiedlichsten Mikrocotroller programmiert werden.

Hier der Link zu VSCode https://code.visualstudio.com/.

Link to the video in English language

PlatformIO auf Linux Betriebssystemen

Bei der Installation auf einem Linux-System muss der Benutzer folgenden Gruppen zugeordnet sein:

  • dialouts
  • tty

Sonst ist häufig keine Kommunikation via USB mit dem Mikrocontroller möglich.

Bei Mikrocontrollern mit bestimmten USB zu Serial Konverter Chips kann außerdem der Treiber für die Blindenschrift brltty Probleme beim Erkennen der Hardware machen. In diesem Fall sollte der brltty Treiber deinstalliert oder zumindest deaktiviert werden.

Projekte in PlatformIO

PlatformIO arbeitet mit Projekten, die in einer speziell angelegten Ordnerstruktur gespeichert werden.
Auf diese Weise lassen sich Projekte einfach von einem Computer zum anderen kopieren. Alle wichtigen Daten zum Projekt sind im Projektordner gespeichert.

Ein neues Projekt in PlatformIO anlegen

Im PIO Home Fenster kann man auf einfache Art und Weise neue Projekte erstellen. Man gibt dem Projekt einen Namen und muss nur noch das Mikrocontroller-Board und die Plattform und ggf. das Framework angeben. Notwendige Daten werden dann von PlatformIO automatisch aus dem Internet nachgeladen. Allerdings wird dazu eine stabile (und einigermaßen schnelle) Internetverbindung vorausgesetzt.

Link to the video in English language

Ein großer Vorteil von PlatformIO ist, dass Projekte auf beliebigen Pfaden erstellt werden können. Man kann Projekte auf einem USB-Stick erstellen und diesen dann an mehreren Rechnern verwenden. Dazu muss bei der Neuerstellung eines Projekts ein Ordner angewählt oder angelegt werden. Dies ist über eine GUI möglich.

Ein neues Projekt durch Kopieren eines bestehenden Projekts anlegen

Projekte lassen sich einfach kopieren, indem man den Projektordner mit seinem gesamten Inhalt kopiert. Alle Einstellungen werden so ins kopierte Projekt übernommen.

Dies ist auch eine gute Methode, um neue Projekte zu erzeugen, die auf bestehenden Projekten basieren. Man kopiert einfach den Projektordner des bestehenden Projekts und benennt ihn anschließend um.

Link to the video in English language

Die platformio.ini Datei

Die Funktionalität von PlatformIO wird im Wesentlichen von den Angaben in der platformio.ini Datei gesteuert. Hier stehen Angaben zum verwendeten Mikrocontroller, zum Board und zum Framework.
Optionale Angaben wie z.B. die Definition des Upload Ports können ebenfalls gemacht werden.

Die main.cpp Datei

Der eigentliche Code steht in der main.cpp Datei, die sich im Projektordner in einem Unterordner namens src/ befindet.

Link to the video in English language

Kompilieren und Hochladen eines Programms auf den Mikrocontroller

Im unteren Bildschirmbereich befindet sich die Taskleiste zum Kompilieren und Hochladen. Durch anklicken eines der Symbole wird der entsprechende Vorgang initiiert.

Beim Hochladen sucht sich PlatformIO den Port selbst aus. Man kann aber in der platformio.ini Datei auch einen festen Upload-Port angeben.

Link to the video in English language