So nutzt LEGO® Education Web Bluetooth und Web Serial APIs

Das aus LEGO zusammengesetzte Breakdancer-Modell.

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

SPIKE Prime kombiniert farbenfrohe LEGO-Bauelemente, benutzerfreundliche Hardware und eine intuitive Drag-and-drop-Programmiersprache, die auf Scratch und Python basiert. So werden Schülerinnen und Schüler durch spielerische Lernaktivitäten kontinuierlich dazu angeregt, kritisch zu denken und komplexe Probleme zu lösen – unabhängig von ihrem Lernniveau. Und das alles mit viel Spaß!

Programmiererfahrung

Schüler verwenden entweder Symbolblöcke, Wortblöcke (Standard) oder Python-Code, um ihre Modelle zu programmieren. Die Programmierumgebung ist an den Scratch-Editor angelehnt, der vielen Schülern bereits aus dem frühen MINT-Unterricht in der Schule bekannt ist.

In den beiden visuellen Modi verbinden die Schüler Blöcke, indem sie sie per Drag-and-drop auf die Programmieroberfläche ziehen. Die verschiedenen Blöcke werden durch Verbindungen miteinander verknüpft.

Die LEGO-Programmierumgebung mit einem Wortblockprogramm.

Fortgeschrittene Schüler und Studenten können auch direkt echten Python-Code verwenden. Dabei steht ihnen eine integrierte Wissensdatenbank zur Verfügung, die sie beim Programmieren unterstützt.

Die LEGO-Programmierumgebung mit einem Python-Programm.

Nachdem die Schüler 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.

Mitgelieferte Hardware

Das Herzstück des SPIKE Education-Sets ist der Hub, mit dem die verschiedenen anderen Hardwarekomponenten wie die Sensoren und die Motoren gesteuert werden. Das Set enthält einen Farbsensor, einen Abstandssensor und einen Kraftsensor. Es gibt auch zwei Motoren: einen großen und einen mittelgroßen. Der Hub wird über Bluetooth oder USB mit dem Computer verbunden.

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

Unterstützte Anwendungen

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

LEGO unterstützt Chrome-Browser offiziell unter Windows 10 und 11, auf MacBooks und Chromebooks. Verbesserungen beim Caching und die Möglichkeit, die App zu installieren, sind für die Zukunft geplant.

Verbindung zum SPIKE Prime 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 Web-App Bluetooth mit der Web Bluetooth API.

Alternativ verwendet die Web-App die Web Serial API, wenn sie über USB verbunden ist. In beiden Fällen ist der Verbindungsablauf bis auf das USB-Kabel fast identisch.

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

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

LEGO Education SPIKE – Benutzeroberfläche „Auf Hub herunterladen“

Für die Kommunikation mit dem Hub benötigen die Web Bluetooth API und die Web Serial API jeweils eine BluetoothDevice oder eine 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 Web-First und die Verwendung von Web-Hardware-APIs

Derzeit bietet LEGO unabhängige Versionen seiner App für Android, macOS/iPadOS und Windows sowie ältere Versionen der plattformspezifischen Apps zusätzlich zur Web-App an. 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 LEGO-Entwickler den Wartungsaufwand für ihre App erheblich reduzieren.

Ein weiterer Grund ist die Downloadgröße. Die Web-App lädt insgesamt weniger als 20 MB herunter, 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 Klassenzimmern benötigt wird. Nach dem Herunterladen dieses Materials erhöht sich die Größe um fast 1 GB. In der Web-App werden die Lektionsinhalte gestreamt. So haben Nutzer immer die aktuelle Version und laden nur die Lektion herunter, die sie sich gerade ansehen.

Neben diesen technischen Gründen ist die einfache Verwendung im Unterricht ein weiteres starkes Argument für Web-First. Schüler müssen keine App installieren und auf dem neuesten Stand halten. Stattdessen folgen sie einfach einem Link und arbeiten immer mit der aktuellen Version. Von LEGO aus sind Inhaltsaktualisierungen jederzeit möglich, unabhängig von den Überprüfungsverfahren im App-Store.

Mit LEGO im Web basteln

Bei LEGO ging es schon immer darum, Steine kreativ zusammenzusetzen. Da LEGO Education SPIKE über Webbrowser zugänglich ist, ist dieses Set keine Ausnahme von der Regel.

Die Entwickler-Community hat bereits begonnen, Code zu erstellen, der mit SPIKE kommuniziert. PyREPL-JS wurde beispielsweise von Gabriel Sessions an der Tufts University ins Leben gerufen. PyREPL-JS bietet einen MicroPython-REPL (Read-Eval-Print-Loop) für Webseiten, um mit dem SPIKE-Hub zu kommunizieren. Ethan Danahy von Tufts nutzt diese REPL dann für eine Reihe von Web-Schnittstellen für SPIKE Prime, darunter Breakdancer, der mit einer Audiodatei synchronisiert wird.

Die Universität veranstaltete einen Workshop zum Thema Machine Learning mit SPIKE und bietet einen Robotics Playground mit Anleitungen und Codebeispielen. Ein guter Ausgangspunkt ist Hallo SPIKE.

Das Breakdancer-LEGO-Modell, synchronisiert mit einer Audiodatei.

Die Web Serial API und die Web Bluetooth API ermöglichen es Schülern, über den Browser mit physischen LEGO-Modellen zu kommunizieren. Das eröffnet eine Vielzahl von Möglichkeiten für Bildungs-, Kreativ- und Unterhaltungsanwendungen. Schüler und Studenten haben immer die aktuelle Version der App, ohne sie aktualisieren zu müssen.

LEGO-Entwickler müssen langfristig weniger Apps warten, was zu geringeren Kosten und weniger Entwicklungsaufwand führt. So bleibt mehr Zeit für das, was LEGO am besten kann: Kreativität freisetzen.