Python und Bluetooth Low Energy lernen mit dem Lego Boost Roboter

Mit dem hier vorgestellten Hack wird ein Lego Boost Roboter mit der kostenlosen und Open Source Programmierumgebung Python 3 gesteuert. Die Programmentwicklung wie auch das Steuern ist unter Windows, Mac oder Linux möglich. Ein Raspberry Pi 3 zum Programmieren reicht völlig aus.

Softwareentwicklung und Steuerung des Lego Boost mit einem Raspberry Pi 3

Lego ist ein faszinierendes Spielzeug, mit dem man viel lernen kann. Speziell für die Mechatronik sind die verschiedenen Legoroboter interessant. Leider ist Mindstorms-Roboter von Lego sehr teuer und benötigt einen leistungsstarken PC für deren Programmierung. Auch ist die auf LabView basierte grafische Programmiersprache nicht „Jedermanns Sache“.

Für Schülertechnikprojekte ist sicher der Legonio die beste Alternative zu Lego Mindstorms: Die Hardwarekosten sind fast vernachlässigbar, und zum Programmieren reicht ein ausrangierter PC oder auch ein Raspberry Pi. Außerdem erlernt man hierbei die Programmiersprache C sowie grundlegende Elektronikkompetenzen.

Fortgeschrittene Lego-Robotik-Fans möchten vielleicht objektorientiert in Python programmieren, die moderne Bluetooth Low Energy Kommunikation verwenden und haben weniger Lust am Umgang mit einem Arduino und dessen Peripherie.
Für solche „Lego-Nerds“ ist der hier vorgestellte Hack des Lego Boost Roboters die Lösung: Die umfangreiche Lego-Hardware kostet nur ca. 100 €. Zum Programmieren wird die kostenlose Programmierumgebung Python 3 verwendet, die es für Windows, Mac und Linux gibt. Ein Raspberry Pi 3 zum Programmieren reicht völlig aus. Und wenn man möchte, dann kann man den Steuerrechner in Form eines 10 € Raspberry Pi Zero Rechners auf dem Lego Boost Roboter gleich mitfahren lassen!

Da Python inzwischen weit verbreitet ist, sind der Roboterhardware keine Grenzen gesetzt: Steuerung via Bildverarbeitung, Kommunikation mit einer Cloud oder das grafische Darstellen von Messdaten sind ohne großen Aufwand möglich, um nur einige Potentiale dieses Konzepts zu nennen. Da Python ähnlich wie Java auf einer virtuellen Maschine läuft, kann man den selben Python Code auf unterschiedlichen Rechnerplattformen ausführen. Z.B. kann man das Roboterprogramm auf einem Windows 7 PC entwickeln und dann auf einen Raspberry Pi Zero übertragen, der schlussendlich den Lego Boost Roboter steuert.

Sie finden eine detaillierte Anleitung als PDF sowie die nötigen Pyhton Codes im Downloadbereich.

Das Konzept vom Lego Boost sieht vor, dass dieser Roboter ausschließlich zusammen mit ei­nem Tablet genutzt wird, welches als Master-Rechner für die Steuerung, für die Programmierum­gebung als auch für die Darstellung der Bauanleitungen verwendet wird. Hier steht weniger das eigenständige Konstruieren und Programmieren im Vordergrund, sondern das Nachbauen von vor­gegebenen Modellen sowie ein anschließendes vorgegebenes schrittweises Programmieren nach Plan. Kreatives Konstruieren und Programmieren ist leider konzeptionell nicht vorgesehen.

Andere Programmierumgebungen als diese grafikbasierte und sehr rudimentäre auf dem Tablet werden von Lego bewusst nicht angeboten und auch nicht unterstützt. Dies ist vermutlich mit ein Grund für den mangelnden Erfolg dieses Robotiksets, zumal die Lego-Programmierumgebung auch neben iPads nur auf sehr wenigen Android-Tablets verwendet werden kann. Dies führte letzt­lich dazu, dass das Lego Boost Set derzeit für ca. 110 € statt UVP 159,90 € von den meisten Onlinehänd­lern angeboten wird.

Zum Glück gibt es aber kreative Hacker, die die unverschlüsselte Bluetooth Low Energy (BLE) Kommunika­tion der Lego-App mit dem Boost Roboters belauscht haben. Mit dem dadurch gewon­nen Wissen wurden von mehreren Personen quelloffene Softwarebibliotheken erstellt. Dadurch ist es jetzt möglich, den Lego Boost mit der kostenlosen Open Source Programmiersprache Py­thon zu betreiben bzw. programmieren. Anders als bei der Lego-App ist hier die Rechnerplatt­form egal, denn Python gibt es auf PCs mit Windows, Linux oder Mac OS, sowie auf den meisten Einplatinen­computern wie beispielsweise dem Raspberry Pi.