So nutzt LEGO® Education Web Bluetooth und Web Serial APIs

Das aus LEGO gebaute Breakdancer-Modell.

Das LEGO® Education SPIKE™ Prime-Set ist ein MINT-Lerntool (Mathematik, Informatik, Naturwissenschaft, Technik und Kunst) für Schüler der 6. bis 8. Klasse (etwa 11 bis 13 Jahre).

SPIKE Prime kombiniert bunte LEGO-Bauelemente, nutzerfreundliche Hardware und eine intuitive Drag-and-drop-Programmiersprache, die auf Scratch und Python basiert. So werden Schüler und Studenten durch spielerische Lernaktivitäten dazu angeregt, unabhängig von ihrem Lernniveau kritisch zu denken und komplexe Probleme zu lösen – und dabei Spaß zu haben!

Programmiererfahrung

Die Schüler programmieren ihre Modelle entweder mit Symbolblöcken, Wortblöcken (Standard) oder Python-Code. Die Programmierumgebung wurde vom Scratch-Editor adaptiert, der vielen Schülern bereits aus der frühen STEAM-Ausbildung in der Schule bekannt ist.

In den beiden visuellen Modi verbinden die Schüler Blöcke, indem sie sie per Drag-and-drop auf das Programmcanvas ziehen. Sie verbinden die verschiedenen Blöcke miteinander.

Die LEGO-Programmierumgebung mit einem Wortblockprogramm.

Fortgeschrittene Schüler und Studenten können direkt echten Python-Code verwenden. Dieser wird mit einer integrierten Wissensdatenbank geliefert, die die Schüler und Studenten beim Programmieren unterstützt.

Die LEGO-Programmierumgebung mit einem Python-Programm

Nachdem die Schüler und Studenten ein Programm in der LEGO Education SPIKE App erstellt haben, senden sie es über eine Bluetooth- oder USB-Verbindung an den LEGO Education Spike Prime-Hub. Der Hub führt das Programm aus und steuert das LEGO-Modell.

Im Lieferumfang enthaltene Hardware

Das Gehirn des SPIKE Education-Kits ist der Hub, mit dem die verschiedenen anderen Hardwarekomponenten wie Sensoren und Motoren gesteuert werden. Das Kit enthält einen Farbsensor, einen Abstandssensor und einen Kraftsensor. Außerdem gibt es zwei Motoren: einen großen und einen mittleren. Der Hub wird über Bluetooth oder USB mit dem Computer verbunden.

Die programmierbaren Teile des LEGO SPIKE Education-Kits.
Der große Hub, drei Sensoren für Farbe, Abstand und Kraft sowie zwei Motoren.

Unterstützte Anwendungen

Neben plattformspezifischen Apps bietet LEGO auch die SPIKE-Web-App an, die unter spike.legoeducation.com aufgerufen werden kann. Die App wird nicht im Browser zwischengespeichert. Daher müssen Nutzer immer mit dem Internet verbunden sein, damit die Web-App funktioniert.

LEGO unterstützt offiziell Chrome-Browser unter Windows 10 und 11, MacBooks und Chromebooks. Für die Zukunft sind Verbesserungen beim Caching und die Installation der App geplant.

Verbindung zum SPIKE Hub herstellen

Der SPIKE Prime-Hub und der SPIKE Essential-Hub können über Bluetooth oder USB mit dem Computer verbunden werden. Standardmäßig verwendet die Webanwendung Bluetooth mit der Web Bluetooth API.

Alternativ verwendet die Webanwendung die Web Serial API, wenn eine USB-Verbindung besteht. In beiden Fällen ist der Verbindungsablauf abgesehen vom USB-Kabel fast identisch.

LEGO Education SPIKE App mit Anleitung für die USB-Verbindung

Nach der Verbindung laden die Schüler/Studenten ihre Programme in einen der 20 Speicherplätze des großen Hubs hoch.

Benutzeroberfläche von LEGO Education SPIKE „Download to Hub“ (Zum Hub herunterladen)

Für die Kommunikation mit dem Hub benötigen die Web Bluetooth API und die Web Serial API jeweils einen BluetoothDevice oder einen SerialPort. Diese werden in den Code-Snippets aus der Live-App abgerufen.

Web Bluetooth API-Verbindung

(X.next = 4),
  navigator.bluetooth.requestDevice({
    filters: [
      {
        namePrefix: 'GDX',
      },
    ],
    optionalServices: ['d91714ef-28b9-4f91-ba16-f0d9a604f112'],
  });

Web Serial API-Verbindung

const v = yield navigator.serial.requestPort({
  filters: [{
    usbVendorId: Zt.SerialVendorId.LEGO // 1684
  }]
});
yield v.open({
  baudRate: 115200
});

Gründe für eine webfirst-Strategie und die Verwendung von Web-Hardware-APIs

Derzeit verwaltet LEGO unabhängige Versionen seiner App für Android, macOS/iPadOS und Windows sowie alte Versionen der plattformspezifischen Apps zusätzlich zur Web-App. Durch die Bereitstellung der Web-App auf Plattformen, die die zugrunde liegenden Web-Hardware-APIs in Chrome unterstützen, nämlich macOS, Windows und ChromeOS, können die LEGO-Entwickler den Aufwand für die App-Wartung erheblich reduzieren.

Ein weiterer Grund ist die Downloadgröße. Die Web-App hat eine Gesamtgröße von weniger als 20 MB, während die macOS- und iPadOS-App 115 MB, die Android-App 178 MB und die Windows-App 292 MB groß ist. Die Erstinstallation enthält jedoch nicht das Unterrichtsmaterial, das in Kursen benötigt wird. Nach dem Herunterladen dieses Materials erhöht sich die Größe um fast 1 GB. In der Web-App werden die Kursinhalte gestreamt. So haben Nutzer immer die neueste Version und können nur die Kurslektion herunterladen, die sie sich gerade ansehen.

Abgesehen von diesen technischen Gründen ist die einfache Nutzung im Unterricht ein weiteres starkes Argument für die Web-first-Philosophie. Schüler und Studenten müssen keine App installieren und aktualisieren. Stattdessen folgen sie einfach einem Link und arbeiten immer mit der neuesten Version. LEGO kann Inhalte jederzeit aktualisieren, unabhängig von den Überprüfungsprozessen im App-Shop.

Im Web mit LEGO basteln

LEGO stand schon immer für das kreative Zusammensetzen von Steinen. Da LEGO Education SPIKE über Webbrowser zugänglich ist, ist dieses Kit keine Ausnahme.

Die Entwicklergemeinde hat bereits damit begonnen, Code zu erstellen, der mit SPIKE kommuniziert. PyREPL-JS wurde beispielsweise von Gabriel Sessions an der Tufts University entwickelt. PyREPL-JS bietet eine MicroPython-REPL (Read-Eval-Print-Loop) für Webseiten, um mit dem SPIKE-Hub zu kommunizieren. Ethan Danahy, ebenfalls von Tufts, verwendet diese REPL dann für eine Reihe von Web-Oberflächen für SPIKE Prime, darunter der mit einer Audiodatei synchronisierte Breakdancer.

Die Universität hat einen Workshop zum Thema Machine Learning mit SPIKE und einen Robotics Playground mit Anleitungen und Codebeispielen veranstaltet. Ein guter Ausgangspunkt ist Hello SPIKE.

Das LEGO-Modell des Breakdancers, das mit einer Audiodatei synchronisiert ist.

Da Schüler und Studenten über die Web Serial API und die Web Bluetooth API direkt über den Browser mit physischen LEGO-Modellen kommunizieren können, eröffnen sich ihnen viele Möglichkeiten für Bildungs-, Kreativ- und Unterhaltungsanwendungen. Schüler und Studenten haben immer die neueste Version der App, ohne sie aktualisieren zu müssen.

LEGO-Entwickler müssen langfristig weniger Apps verwalten, was zu geringeren Kosten und weniger Entwicklungsaufwand führt. So bleibt mehr Zeit für das, wofür LEGO am besten bekannt ist: die Kreativität zu fördern.