© Liashko/Shutterstock.com
Entwickler Magazin
IoT für Webentwickler: Die ersten Schritte mit PlatformIO

Von Null auf Firmware

PlatformIO ist ein Open-Source-Ecosystem für die IoT-Entwicklung und hat zum Ziel, die Entwicklung für verschiedene Embedded-Boards und Entwicklungsplattformen zu erleichtern. Im ersten Teil dieses Artikels haben wir bereits einen Blick darauf geworfen. Dieses Mal wollen wir das Thema vertiefen und betrachten die ersten Schritte, um von Null auf laufende Firmware zu kommen.

Andreas Schmidt


In der letzten Ausgabe des Entwickler Magazins ist es schon zwischen den Zeilen erkennbar geworden: Software- bzw. Firmwareentwicklung für Embedded Devices – in unserem Fall also Constrained Devices mit wenig Leistung – kann sehr vielschichtig sein. Vor allem im Bereich C/C++ sieht man sich als Entwickler mit Herausforderungen am unteren Teil des Entwicklungsstacks konfrontiert: Cross-Compiler und Linker, Bibliotheken, Include-Pfade sowie Build-/Flash-Werkzeuge wollen ausgewählt und installiert werden, und zwar vielfach abhängig von der unterliegenden Hardware. Eine Cross-Toolchain für einen Arduino mit Atmel-AVR-Prozessor sieht anders aus als eine für einen ARM Cortex M. Da ist es gut, wenn man ein Werkzeug hat, das sich um diese Zusammenstellung der Werkzeuge kümmert.

PlatformIO [1] nimmt dem Entwickler genau diese Arbeit ab: Es kennt aktuell 24 Entwicklungsplattformen für Embedded (z. B. Atmel AVR, Espressif 8266 …), 15 Embedded-Frameworks (z. B. Arduino, ARM mbed …), über 470 Boards (Arduino Uno, NodeMcu ESP8266 …) und Tausende von Bibliotheken und Beispielen. Da sollte für den einfachen Einstieg etwas dabei sein.

Integriert in die Entwicklungsumgebung

PlatformIO lässt sich in verschiedenen Flavours installieren und betreiben. Zum einen hat man mit PlatformIO Core die Möglichkeit, alles auf der Kommandozeile zu machen. Das ist für Entwickler hilfreich, die sich auf Ebene der Shell wohlfühlen, aber auch für die Nutzung mit Cloud-IDEs sehr sinnvoll, aber dazu mehr in einem späteren Artikel.

PlatformIO bringt Integrationen für verschiedene IDEs mit. Wir werden Visual Studio Code [2] von Microsoft verwenden. In der Entwicklergemeinde ist es aufgrund seiner offenen Architektur bzgl. Erweiterungen sehr beliebt. Ein Klick auf das Icon für Erweiterungen in der linken Menüzeile und die Eingabe von platformio in das Suchfeld führen mit dem ersten Treffer zur offiziellen VS-Code-Erweiterung von PlatformIO. Nach einem Klick auf Installieren ist die Erweiterung verfügbar.

Der Kern von PlatformIO basiert auf Python 2.7, das unter macOS und Linux zum Standardrepertoire gehört. Windows-Nutzer müssen ggf. Python nachinstallieren, was aber durch den PlatformIO-Installer automatisiert erfolgt und auf der PlatformIO-Website gut dokumentiert ist. Weiterhin kann die Installation von C-Compilern wie Clang unter macOS notwendig sein.

Nach dem Start von VS Code wird man mit dem Homescreen von PlatformIO begrüßt, zumindest solange man den Checkmark Show at Startup ausgewählt hat ...

Entwickler Magazin
IoT für Webentwickler: Die ersten Schritte mit PlatformIO

Von Null auf Firmware

PlatformIO ist ein Open-Source-Ecosystem für die IoT-Entwicklung und hat zum Ziel, die Entwicklung für verschiedene Embedded-Boards und Entwicklungsplattformen zu erleichtern. Im ersten Teil dieses Artikels haben wir bereits einen Blick darauf geworfen. Dieses Mal wollen wir das Thema vertiefen und betrachten die ersten Schritte, um von Null auf laufende Firmware zu kommen.

Andreas Schmidt


In der letzten Ausgabe des Entwickler Magazins ist es schon zwischen den Zeilen erkennbar geworden: Software- bzw. Firmwareentwicklung für Embedded Devices – in unserem Fall also Constrained Devices mit wenig Leistung – kann sehr vielschichtig sein. Vor allem im Bereich C/C++ sieht man sich als Entwickler mit Herausforderungen am unteren Teil des Entwicklungsstacks konfrontiert: Cross-Compiler und Linker, Bibliotheken, Include-Pfade sowie Build-/Flash-Werkzeuge wollen ausgewählt und installiert werden, und zwar vielfach abhängig von der unterliegenden Hardware. Eine Cross-Toolchain für einen Arduino mit Atmel-AVR-Prozessor sieht anders aus als eine für einen ARM Cortex M. Da ist es gut, wenn man ein Werkzeug hat, das sich um diese Zusammenstellung der Werkzeuge kümmert.

PlatformIO [1] nimmt dem Entwickler genau diese Arbeit ab: Es kennt aktuell 24 Entwicklungsplattformen für Embedded (z. B. Atmel AVR, Espressif 8266 …), 15 Embedded-Frameworks (z. B. Arduino, ARM mbed …), über 470 Boards (Arduino Uno, NodeMcu ESP8266 …) und Tausende von Bibliotheken und Beispielen. Da sollte für den einfachen Einstieg etwas dabei sein.

Integriert in die Entwicklungsumgebung

PlatformIO lässt sich in verschiedenen Flavours installieren und betreiben. Zum einen hat man mit PlatformIO Core die Möglichkeit, alles auf der Kommandozeile zu machen. Das ist für Entwickler hilfreich, die sich auf Ebene der Shell wohlfühlen, aber auch für die Nutzung mit Cloud-IDEs sehr sinnvoll, aber dazu mehr in einem späteren Artikel.

PlatformIO bringt Integrationen für verschiedene IDEs mit. Wir werden Visual Studio Code [2] von Microsoft verwenden. In der Entwicklergemeinde ist es aufgrund seiner offenen Architektur bzgl. Erweiterungen sehr beliebt. Ein Klick auf das Icon für Erweiterungen in der linken Menüzeile und die Eingabe von platformio in das Suchfeld führen mit dem ersten Treffer zur offiziellen VS-Code-Erweiterung von PlatformIO. Nach einem Klick auf Installieren ist die Erweiterung verfügbar.

Der Kern von PlatformIO basiert auf Python 2.7, das unter macOS und Linux zum Standardrepertoire gehört. Windows-Nutzer müssen ggf. Python nachinstallieren, was aber durch den PlatformIO-Installer automatisiert erfolgt und auf der PlatformIO-Website gut dokumentiert ist. Weiterhin kann die Installation von C-Compilern wie Clang unter macOS notwendig sein.

Nach dem Start von VS Code wird man mit dem Homescreen von PlatformIO begrüßt, zumindest solange man den Checkmark Show at Startup ausgewählt hat ...

Neugierig geworden?


   
Loading...

Angebote für Teams

Für Firmen haben wir individuelle Teamlizenzen. Wir erstellen Ihnen gerne ein passendes Angebot.

Das Library-Modell:
IP-Zugang

Das Company-Modell:
Domain-Zugang