So nutzt LEGO® Education Web Bluetooth und Web Serial APIs

Das aus LEGO gebaute Breakdancer-Modell.

Das LEGO® Education SPIKETM Prime Set ist ein Lerntool für MINT-Fächer (Wissenschaft, Technologie, Technik, Kunst und Mathematik) für Schüler der Klassenstufen 6 bis 8 (etwa 11 bis 13 Jahre).

Durch die Kombination von farbenfrohen LEGO-Bauelementen, benutzerfreundlicher Hardware und einer intuitiven, auf Scratch und Python basierenden Programmiersprache Drag-and-drop fesselt SPIKE Prime die Schüler kontinuierlich durch spielerische Lernaktivitäten, um kritisch zu denken und komplexe Probleme zu lösen – unabhängig von ihrem Lernniveau und Spaß!

Programmiererfahrung

Die Schüler verwenden entweder Symbolblöcke, Wortblöcke (Standardeinstellung) oder Python-Code, um ihre Modelle zu programmieren. Die Programmierumgebung wurde vom Scratch-Editor übernommen, der vielen Schülern bereits in der frühen MINKT-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 die Programmier-Canvas ziehen. Die verschiedenen Blöcke verbinden sie miteinander.

LEGO-Programmierumgebung mit einem Wortblockprogramm

Fortgeschrittene können sich dafür entscheiden, echten Python-Code direkt zu verwenden. Diese enthalten eine integrierte Wissensdatenbank, die Lernende beim Programmieren unterstützt.

LEGO-Programmierumgebung mit einem Python-Programm

Nachdem sie ein Programm in der LEGO Education SPIKE-App erstellt haben, senden sie das Programm ü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.

Enthaltene Hardware

Das Gehirn des SPIKE Education-Kits ist der Hub, über den verschiedene andere Hardwareelemente wie Sensoren und Motoren gesteuert werden. Das Kit umfasst einen Farbsensor, einen Entfernungssensor und einen Kraftsensor. Es gibt auch zwei Motoren: einen großen, einen mittelgroßen. Der Hub wird über Bluetooth oder USB mit dem Computer verbunden.

Die programmierbaren Teile des LEGO SPIKE-Bildungskits
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 Web-App SPIKE an, auf die unter spike.legoeducation.com zugegriffen werden kann. Da die App nicht im Browser zwischengespeichert wird, müssen Nutzer immer mit dem Internet verbunden sein, damit die Webanwendung funktioniert.

LEGO unterstützt offiziell Chrome-Browser unter Windows 10 und 11, MacBooks und Chromebooks. Caching-Verbesserungen und die Erstellung der App installierbar sind geplante Features für die Zukunft.

Mit SPIKE-Hub verbinden

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 Webanwendung bei einer USB-Verbindung die Web Serial API. In beiden Fällen ist der Verbindungsablauf, abgesehen vom USB-Kabel, nahezu identisch.

LEGO Education SPIKE App mit USB-Verbindungsanleitung

Sobald die Verbindung hergestellt ist, laden die Studenten ihre Programme in einen der 20 Speicherslots des großen Hubs hoch.

Benutzeroberfläche von LEGO Education SPIKE „Download to Hub“

Für die Kommunikation mit dem Hub benötigen Web Bluetooth und die Web Serial API jeweils einen BluetoothDevice bzw. ein 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
});

Vorteile von Web-First-Lösungen und Web-Hardware-APIs

Derzeit bietet LEGO unabhängige Versionen seiner App für Android, macOS/iPadOS und Windows sowie Legacy-Versionen der plattformspezifischen Apps zusätzlich zur Webanwendung. Durch die Bereitstellung der Webanwendung auf Plattformen, die die zugrunde liegenden Webhardware-APIs in Chrome unterstützen (macOS, Windows und ChromeOS), können LEGO-Entwickler ihren App-Wartungsaufwand 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 für den Unterricht benötigt wird. Nach dem Herunterladen dieses Materials erhöht sich die Größe um fast 1 GB. In der Webanwendung werden die Lektionsinhalte gestreamt, sodass Nutzer immer die aktuelle Version haben und nur die Lektion herunterladen können, die sie sich gerade angesehen haben.

Abgesehen von diesen technischen Gründen ist die einfache Nutzung im Klassenzimmer ein weiteres starkes Argument für einen Web-First-Ansatz. Die Studenten müssen keine App installieren und auf dem neuesten Stand halten. Stattdessen folgen sie einem Link und arbeiten immer mit der neuesten Version. LEGO ist immer möglich, unabhängig von den Überprüfungsprozessen im App-Shop.

Mit LEGO im Web basteln

Bei LEGO ging es schon immer um die kreative Zusammenstellung von Bausteinen, und da LEGO Education SPIKE über Webbrowser zugänglich war, ist dieses Set keine Ausnahme von der Regel.

Die Entwickler-Community hat bereits damit begonnen, Code zu erstellen, der mit SPIKE kommuniziert. PyREPL-JS wurde beispielsweise von Gabriel Sessions an der Tufts University gestartet. PyREPL-JS bietet eine MicroPython REPL (Read-eval-print-Schleife) für Webseiten, die mit dem SPIKE-Hub kommunizieren. Ethan Danahy, ebenfalls von Tufts, verwendet diese REPL dann für eine Reihe von Web-Interfaces für SPIKE Prime, darunter der Breakdancer, das mit einer Audiodatei synchronisiert wird.

Die Universität veranstaltete einen Workshop zum Thema Maschinelles Lernen mit SPIKE und veranstaltet einen Robotics Playground mit Anleitungen und Codebeispielen. Ein guter Ausgangspunkt ist Hello SPIKE.

Das LEGO-Modell des Breakdancers wird mit einer Audiodatei synchronisiert.

Die Web Serial und Web Bluetooth APIs ermöglichen den Schülern die Kommunikation mit physischen LEGO-Modellen aus dem Browser und eröffnen eine Welt voller Möglichkeiten für Bildungs-, kreative und Unterhaltungsanwendungen. Die Schüler und Studenten haben immer die aktuelle Version der App, ohne sie aktualisieren zu müssen.

LEGO-Entwickler werden langfristig weniger Apps haben müssen, was niedrigere Kosten und weniger Entwicklungsaufwand bedeutet. So bleibt mehr Zeit für das, wofür LEGO am besten bekannt ist: die Freisetzung der Kreativität.