Da die Arduino „IDE“ in ihrem Funktionsumfang doch recht eingeschränkt ist, habe ich mich nach Alternativen umgesehen und bin dabei auf das freie „PlatformIO“ gestoßen, das es auch in Form einer IDE (basierend auf dem freien Editor „Atom“ von GitHub) gibt. Neben der Arduino-Plattform werden auch noch zahlreiche weitere Plattformen unterstützt (siehe hier), darunter der ESP8266, Teensy und einige Texas Instruments Boards.

Im nachfolgenden Artikel beschreibe ich die ersten Schritte mit PlatformIO, um einen einfachen Einstieg zu erleichtern.

 

Installation der IDE

Die IDE kann hier heruntergeladen werden und ist für alle wichtigen Plattformen verfügbar. Wer bereits Atom installiert hat, braucht nur das entsprechende Plugin installieren (siehe hier). Wer Atom noch nicht installiert hat kann ein komplettes Installationspaket unter der oben genannten Adresse für seine Plattform herunterladen. Die Installation erfolgt Betriebssystem-abhängig, unter Ubuntu lässt sich das Paket z.B. über

installieren. Anschließend kann die IDE geöffnet werden, indem man Atom öffnet. PlattformIO sollte sich beim ersten Start vollautomatisch installieren:platformio1

Ein entsprechender Hinweise nach Installation kann abgenickt werden:platformio2

Nun ist alles betriebsbereit installiert und PlattformIO kann in Atom verwendet werden.

 

Anlegen eines Arduino-Projekts

Um ein PlattformIO-Projekt anzulegen muss der entsprechende Button in der Leiste oben geklickt werden:platformio3

Anschließend müsst ihr eure Zielplattform auswählen (hier: Arduino Leonardo):platformio4

Nachdem ihr noch einen Ordner gewählt hab, in dem die Projektdateien gespeichert werden sollen, klickt ihr auf „Initialize“.platformio5

Dieser Vorgang dauert etwas. Wenn der Initialisierungsvorgang abgeschlossen wurde, erhaltet ihr eine entsprechende Meldung in Grün:platformio6

Ihr könnt nun im „src“-Ordner eine neue Datei anlegen:platformio7

Für ein kleines LED-Blinkprogramm, das nur aus einer Datei besteht habe ich hier „main.cpp“ als Namen der Klasse gewählt:platformio8

Ihr erhaltet nun eventuell eine Meldung, dass Clang bei euch nicht installiert ist. Diese Komponenten ist für die intelligente Codevervollständigung notwendig und sollte installiert werden, um alle Vorteile von PlatformIO nutzen zu können. Wie das geht ist plattformabhängig hier beschrieben.

Unter Ubuntu geht das sehr einfach via sudo apt-get install clang .

Atom sollte nun nochmal neu gestartet werden, um sicherzustellen, dass der Editor mitbekommt, dass Clang nachinstalliert wurde. In der main.cpp könnt ihr nun den bekannten Arduino-LED-Blink-Code einfügen:platformio10

Anschließend klickt ihr auf den Build-Button, um das Programm zu bauen und zu schauen, ob noch Fehler auftreten.platformio11

Ihr werdet nun noch gefragt, ob ihr euren Quellcode speichern wollt bevor das Programm kompiliert wird. Das solltet ihr tun, falls nicht sowieso schon zuvor gespeichert:platformio12

Der Build-Prozess sollte nun ohne Fehler durchlaufen:platformio13

Wie in der Arduino IDE auch könnt ihr das Programm nun ganz einfach auf eurem Board installieren, indem ihr den Upload-Button drückt:

platformio_upload

 

 

Nutzung von PlatformIO

Autovervollständigung

Besonders hilfreich ist die Autovervollständigung, die in der Arduino IDE leider komplett fehlt. Diese poppt wie auch bei anderen IDEs üblich auf, sobald man tippt. Ein Druck auf die Tab-Taste wählt den obersten Eintrag aus:

platformio_autocomplete

 

Serieller Monitor

Wie die Arduino IDE auch bringt PlatformIO einen seriellen Monitor mit, der es erlaubt auf die Serielle Ausgabe des Arduinos (oder anderen Boards) zuzugreifen. Ihr könnt ihn ganz einfach über das entsprechende Symbol in der Leiste oben öffnen:

platformio_serial

 

Bibliotheken installieren

Die Verwaltung von Bibliotheken über einen entsprechenden Manager ist bereits aus neueren Versionen der Arduino IDE bekannt und fehlt natürlich auch in PlatformIO nicht. Aktuell ist noch keine GUI dafür implementiert – diese soll aber noch folgen (siehe hier). Bis dahin muss man sich noch mit dem Kommandozeileninterface zufrieden geben (mehr dazu in der PlatformIO-Dokumentation). Es gibt auch eine Websuche, um die benötigte Bibliothek zu finden, ihr könnt sie über diesen Link aufrufen. Für die Installation wird die ID benötigt. Wollt ihr zum Beispiel die hier vorgestellte Bibliothek zum Auslesen von RFID-Karten nutzen, so wäre die entsprechende ID dafür die „63“ (siehe hier). Die Installation erfolgt ganz einfach über den Bibliotheksmanager via platformio lib install 63 .

platformio_library


PlatformIO ist eine mächtige Alternative zu der recht spärlich ausgestatteten Arduino IDE und ist gerade für größere Projekte eine sinnvolle Ergänzung. Durch die zahlreich unterstützten Plattformen ist zudem kein „Umgewöhnen“ in der Entwicklungsumgebung mehr nötig, wenn man oft die Entwicklungsplattform wechselt.