Das Arduino Framework und die dazugehörige IDE (Entwicklungsumgebung) helfen Programmieranfängern beim Einstieg in die Welt von Physical Computing. Dabei bietet die Umgebung einen einfache Editor, eine Möglichkeit den Code zu kompilieren und auf ein Arduino Gerät zu laden, sowie Entwicklungsbibliotheken in das Projekt einzubinden. Doch diese Hilfen, welche den Einstieg vereinfachen, können in einem grösseren Projekt hinderlich sein. Sobald man mehr als fünf Tabs in der Arduino IDE offen hat, wird es unübersichtlich und man sollte sich überlegen, auf eine professionellere Umgebung zu wechseln.
PlatformIO ist eine alternative zur Arduino Umgebung. Dabei ist wichtig zu wissen, dass PlatformIO nur die Umgebung von Arduino ersetzt. Das bedeutet, dass das Projekt management, entwickeln, hochladen und testen verändert wird, der Funktionsumfang vom Arduino Core Framework aber immer noch der gleiche ist.
Dabei liegen die Vorteile von PlatformIO vor allem in den folgenden Bereichen:
- Entwicklungsumgebung frei wählbar
- Projekte können in mehrere Dateien aufgeteilt werden
- Abhängigkeiten werden in einer Konfiguration definiert (Dependency Management)
- Build Prozess ist in Konfiguration definiert (Continues Integration)
- C / C++ ist vollumfänglich unterstützt
Dabei muss aber auch erwähnt werden, dass die Komplexität beim Aufsetzen eines Projektes leicht zu nimmt.
Installation
Um PlatformIO auf dem System zu installieren, muss man sich zuerst entscheiden, ob man nur die Kommandozeilen-Umgebung (CLI) installieren will, oder gleich eine Entwicklungsumgebung wie Visual Studio Code mit dem PlatformIO Plugin.
Grundsätzlich macht es Sinn, die Kommandozeilen-Umgebung zu installieren und zusätzlich dazu eine IDE mit Plugin. Dann kann man Projekt auch ohne ein grafisches Programm verwalten und ist frei, PlatformIO in Scripts einzubinden.
Eine Installationsanleitung für die CLI findet man unter folgendem Link:
https://docs.platformio.org/en/latest/installation.html
Entwicklungsumgebung
Wie schon erwähnt kann man mit PlatformIO verschiedene Entwicklungsumgebungen (en: Integrated Development Environment (IDE)) verwenden. PlatformIO selbst empfiehlt dabei Visual Studio Code, es ist aber auch möglich Jetbrains Clion zu verwenden oder einfach einen Atom Text Editor. Nachfolgend gibt es eine kurze Übersicht über mögliche Entwicklungsumgebungen.
Kommandozeilen Programm
Für einfachere Projekte, kann man auch nur das Kommandozeilen Tool und einen Texteditor wie z.B. Atom verwenden. Dabei werden die Befehle für das kompilieren und hochladen direkt im Terminal eingegeben.
https://docs.platformio.org/en/latest/ide/atom.html
Visual Studio Code
Microsofts Visual Studio Code ist ein Editor, welcher mit Plugins erweitert werden kann. PlatformIO hat ein Plugin dafür Entwickelt, welches alle Funktionen der Arduino IDE bietet und darüber hinaus auch die Möglichkeit, Code zu debuggen.
https://platformio.org/platformio-ide
JetBrains Clion
Im professionellen Bereich arbeiten viele Entwickler mit Clion von Jetbrains. Clion ist eine mächtige C/C++ IDE, welche den geschrieben Code analysiert und versucht Verbesserungsvorschläge zu machen. Das kann in grösseren Projekt sehr wichtig sein, um Security Bugs oder Memory Leaks zu verhindern. Die Integration von PlatformIO ist etwas komplizierter, als mit Visual Studio Code.
https://www.jetbrains.com/clion/
https://docs.platformio.org/en/latest/ide/clion.html
Entwickeln mit PlatformIO
Hier folgt nun eine kurze Einführung in die verschiedenen Komponenten von PlatformIO. Für weitere Informationen kann man die ausführliche Dokumentation von PlatformIO konsultieren.
https://docs.platformio.org/en/latest/
Initialisierung
tbd
Hallo Welt
tbd
Konfiguration
tbd
Bibliotheken
tbd