Projekt 01 — Softwareentwicklung

ArduBlock
IDE Bridge

ArduBlock IDE Bridge – Export grafisch erstellter Projekte in moderne Entwicklungsumgebungen

ArduBlock IDE Bridge

Im Rahmen meiner Ausbildung am Umwelt-Campus Birkenfeld habe ich an der Weiterentwicklung der ArduBlock-Umgebung des Makey-Lab gearbeitet. Hintergrund des Projekts war die Migration von der inzwischen veralteten Arduino IDE 1.8.19 auf moderne Entwicklungsumgebungen wie die Arduino IDE 2.x und PlatformIO.

Die bestehende Umgebung ermöglicht es, Programme grafisch mit ArduBlock zu erstellen und anschließend für Mikrocontroller-Projekte zu exportieren. Meine Aufgabe bestand dabei insbesondere darin, die bestehende Exportfunktion zu überarbeiten und an die aktuellen Entwicklungsumgebungen anzupassen, ohne die grundlegende Arbeitsweise der bestehenden Anwendung zu verändern.

Die überarbeitete Bridge bietet verschiedene Möglichkeiten, ein mit ArduBlock erstelltes Projekt weiterzuverwenden. Neben dem direkten Export für die Arduino IDE 2.x kann ein vollständiges PlatformIO-Projekt für Visual Studio Code erzeugt werden. Alternativ besteht weiterhin die Möglichkeit, lediglich die erzeugte .ino-Datei zu speichern.

Exportablauf – Auswahl der Zielumgebung und automatische Projekterzeugung

Beim PlatformIO-Export wird automatisch die benötigte Projektstruktur angelegt. Dazu gehören unter anderem die platformio.ini sowie die entsprechende src/main.cpp. Zusätzlich werden die für das Projekt benötigten IoTW-Bibliotheken in die Projektstruktur übernommen.

Beim Export für die Arduino IDE werden die benötigten Bibliotheken dagegen automatisch in das lokale Arduino-Library-Verzeichnis installiert. Dadurch kann das erzeugte .ino-Projekt anschließend direkt mit der aktuellen Arduino IDE weiterverwendet werden.

Ein wesentlicher Bestandteil der Umsetzung war die Trennung der unterschiedlichen Exportwege und die korrekte Behandlung der jeweiligen Projektstrukturen. Abhängig von der gewählten Zielumgebung werden die benötigten Dateien erzeugt, Bibliotheken bereitgestellt und nicht mehr benötigte Dateien entfernt.

Exportmenü – Auswahl der gewünschten Zielumgebung

Auch die verwendete Hardware wird bei der Projekterzeugung berücksichtigt. Unter anderem wird zwischen den im Makey-Lab verwendeten ESP32- und ESP8266-basierten Boards unterschieden, damit die erzeugten Projekte mit der jeweiligen Zielhardware kompatibel sind.

Die Anwendung wurde dabei nicht nur auf dem Papier angepasst, sondern mit verschiedenen realen Boards getestet. Zum Einsatz kamen unter anderem ein ESP32-C3 Super Mini, ein ESP8266 sowie ein Wemos D1 Mini.

Mit der überarbeiteten Exportfunktion kann die bestehende ArduBlock-Umgebung weiterhin genutzt werden, während die erzeugten Projekte mit aktuellen Entwicklungsumgebungen weiterbearbeitet werden können.

Das Projekt verband dabei mehrere Bereiche meiner Ausbildung: Java-Entwicklung, Projektstrukturen und Dateiverarbeitung, Build-Systeme, Bibliotheksverwaltung sowie die praktische Arbeit mit Arduino-, ESP32- und ESP8266-basierten Systemen.

Technologien Java · Maven · PlatformIO · Arduino
Hardware ESP32 · ESP8266 · Wemos D1 Mini
Kontext Ausbildungsprojekt · Umwelt-Campus Birkenfeld
← Zurück