Mikrocontroller bequem programmieren mit PlatformIO

Mikrocontroller bequem programmieren mit PlatformIO

Praxis & Tipps | Praxis

Bild: Jan Mahn

Das Open-Source-Projekt PlatformIO ist eine kostenlose Alternative zur Arduino-IDE für die Mikrocontroller-Entwicklung. Wir zeigen, wie Sie es einrichten und erste Projekte anlegen.

Das Standardwerkzeug für die Mikrocontroller-Entwicklung ist bei Bastlern die Arduino-IDE. Der Funktionsumfang ist jedoch eingeschränkt und nicht nur die Verwaltung von Abhängigkeiten unbefriedigend. Mit PlatformIO gibt es eine kostenlose Alternative, die vieles erleichtert und auch Ansprüchen von professionellen Anwendern gerecht wird.

Das Open-Source-Projekt PlatformIO hat es sich zur Aufgabe gemacht, das Programmieren von Mikrocontrollern wie Arduino, ESP oder ATtiny zu vereinfachen. Die Software vermeidet die Schwachstellen, die bei der Arbeit mit der Arduino-IDE schnell Nerven kosten. PlatformIO hat eine funktionierende Verwaltung von Abhängigkeiten (inklusive Versionsverwaltung). Das Besondere: Für jeden Projektordner legt man eine Konfigurationsdatei an, die alle nötigen Einstellungen für die Hardware enthält. Damit ist es ein Leichtes, ein Projekt weiterzugeben oder Projekte anderer Entwickler zu verwenden.

In diesem Artikel geht es um die Einrichtung der Software und das Anlegen des ersten Projekts. PlatformIO funktioniert unter Windows, Linux und macOS.

PlatformIO liefert eine Erweiterung für die Open-Source-IDE Visual Studio Code (VSC), die von Microsoft entwickelt wird. Diese IDE darf nicht mit Microsoft Visual Studio verwechselt werden – eine proprietäre Software für die Entwicklung von Windows-Software.

VSC dagegen richtet sich an Entwickler aller Programmiersprachen auf allen Betriebssystemen und erfreut sich seit einigen Jahren immer größerer Beliebtheit, vor allem wegen der offenen Bauweise. Über Erweiterungen können Funktionen für unterschiedlichste Programmieraufgaben nachgerüstet werden. Um PlatformIO zu nutzen, müssen Sie VSC zunächst für Ihr Betriebssystem herunterladen und installieren.

PlatformIO einrichten (7 Bilder)

Die Installation von PlatformIO beginnt mit der darunterliegenden IDE. Laden Sie Visual Studio Code für Ihr Betriebssystem herunter und installieren Sie das Programm.

Jetzt können Sie PlatformIO als Erweiterung aus VSC heraus hinzufügen. Das Menü für VSC-Erweiterungen finden Sie hinter dem Puzzlezeil-Symbol links im Menü. Mit dem Suchbegriff "platformio-ide" finden Sie die richtige Erweiterung und können sie installieren. Nach spätestens 5 Minuten ist PlatformIO einsatzbereit.

Im Begrüßungsbildschirm können Sie Ihr erstes Projekt für eine Platine Ihrer Wahl anlegen. Klicken Sie dazu auf "New Project". Vergeben Sie im Dialog einen Namen und wählen Sie Ihr Board aus. PlatformIO kennt nach eigenen Angaben 624 davon – gängige Bastelboards wie die ESPs, ATtinys oder Arduinos sind dabei. Einige Boards können in mehreren Frameworks programmiert werden – meist ist "Arduino" für den Einstieg die richtige Wahl. Hier ist das Angebot an Bibliotheken am größten.

Ist das Projekt angelegt, sehen Sie seine Ordnerstruktur, die für alle PlatformIO-Projekte typisch ist. Auf der obersten Ebene liegt die "platformio.ini", eine Konfigurationsdatei, mit der das Projekt auf jedem anderen Rechner weiterentwickelt werden kann. Für ein ESP32-Projekt sieht diese zum Beispiel so aus:

[env:esp32dev]
platform = espressif32
board = esp32dev
framework = arduino

Diese Datei ist der wahre Clou von PlatformIO. Wenn Sie den Projektordner auf einem anderen Rechner mit PlatformIO öffnen, lädt die Software alle Abhängigkeiten automatisch im Hintergrund herunter. Neben dem Framework für das Board werden zum Beispiel auch Bibliotheken in der ini-Datei definiert.

Der Programmcode selbst landet im Ordner "src", die Datei mit dem Programmeinstieg heißt "main.cpp". Ein kleines Beispielprogramm für den ESP8266 (oder ESP32), das die Zeichenkette "test" über die serielle Schnittstelle ausgibt, zeigt weitere Vorteile von PlatformIO:

#include <Arduino.h>
void setup(){
Serial.begin(1200);
}

void loop(){
Serial.println("test");
delay(2000);
}

Kopieren Sie diese Zeilen in die Datei "main.cpp". Wenn Sie einen ESP zur Hand haben, schließen Sie ihn an. In der unteren blauen Leiste finden Sie ein Symbol mit einem Pfeil der nach rechts zeigt. Klicken Sie ihn an, damit der Code kompiliert und auf den ESP geladen wird. Den Port findet PlatformIO allein, sofern nur ein Gerät angeschlossen ist.

Im Code wird eine serielle Verbindung mit 1200 Baud geöffnet. PlatformIO bringt einen integrierten seriellen Monitor mit. Damit dieser richtige die Baudrate verwendet, tragen Sie diese Einstellung einfach in der "platform.ini" am Ende ein:

monitor_speed = 1200

Den seriellen Monitor finden Sie hinter dem Stecker-Symbol in der unteren Leiste. Ist der ESP angeschlossen, sollte alle zwei Sekunden die Zeile "test" geschrieben werden.

Ist die eigene Anwendung fertig, können Sie sie leicht mit anderen teilen. Sehr einfach funktioniert das, indem Sie den Ordner bei einem Git-Hoster wie GitHub hochladen. Der PlatformIO-Assistent hat bereits die Datei ".gitignore" angelegt, die festlegt, welche Unterordner nicht mit hochgeladen werden sollen. (jam)

Anzeige