Hoe LEGO® Education de Web Bluetooth en de Web Serial API's gebruikt

Het breakdancer-model samengesteld uit LEGO.

De LEGO® Education SPIKE™ Prime Set is een STEAM-leermiddel (wetenschap, technologie, techniek, kunst en wiskunde) voor leerlingen in groep zes tot en met acht (ongeveer 11 tot 13 jaar).

Door kleurrijke LEGO-bouwelementen, eenvoudig te gebruiken hardware en een intuïtieve codeertaal met slepen en neerzetten op basis van Scratch en Python te combineren, betrekt SPIKE Prime leerlingen voortdurend via speelse leeractiviteiten om kritisch na te denken en complexe problemen op te lossen, ongeacht hun leerniveau niveau... terwijl je plezier hebt!

Programmeerervaring

Leerlingen gebruiken pictogramblokken, woordblokken (standaard) of Python-code om hun modellen te programmeren. De programmeeromgeving is aangepast van de Scratch-editor , die bij veel leerlingen al bekend is vanaf het vroege STEAM-onderwijs op school.

In de twee visuele modi verbinden leerlingen blokken door ze naar het programmeercanvas te slepen en neer te zetten. Ze verbinden de verschillende blokken met elkaar door ze met elkaar te verbinden.

De LEGO-programmeeromgeving met een woordblokprogramma.

Meer gevorderde studenten kunnen ervoor kiezen om rechtstreeks echte Python-code te gebruiken, die wordt geleverd met een geïntegreerde kennisbank om studenten te ondersteunen terwijl ze coderen.

De LEGO-programmeeromgeving met een Python-programma.

Zodra ze een programma hebben gemaakt in de LEGO Education SPIKE-app, sturen de leerlingen het programma via een Bluetooth- of USB-verbinding naar de LEGO Education Spike Prime-hub. De hub voert het programma uit en bestuurt het LEGO-model.

Inclusief hardware

Het brein van de SPIKE Education-kit is de hub, die dient om de verschillende andere hardwareonderdelen, zoals de sensoren en de motoren, te besturen. De kit bevat een kleurensensor, afstandssensor en krachtsensor. Er zijn ook twee motoren: één grote, één middelgrote. De hub wordt via Bluetooth of USB met de computer verbonden.

De programmeerbare onderdelen van het LEGO SPIKE Education-pakket.
De grote hub, drie sensoren voor kleur, afstand en kracht, en twee motoren.

Ondersteunde applicaties

Naast platformspecifieke apps biedt LEGO ook de SPIKE-webapp aan, die toegankelijk is via spike.legoeducation.com . De app wordt niet in de cache van de browser opgeslagen, dus gebruikers moeten altijd verbinding hebben met internet om de webapp te laten werken.

LEGO ondersteunt officieel Chrome-browsers op Windows 10 en 11, MacBooks en Chromebooks. Verbeteringen in de cache en het installeerbaar maken van de app zijn geplande functies voor de toekomst.

Maak verbinding met de SPIKE-hub

De SPIKE Prime hub en de SPIKE Essential hub kunnen via Bluetooth of USB op de computer worden aangesloten. Standaard gebruikt de webapp Bluetooth met de Web Bluetooth API .

Als alternatief gebruikt de webapp de Web Serial API wanneer deze is aangesloten via USB. In beide gevallen is de verbindingsstroom, afgezien van de USB-kabel, vrijwel identiek.

LEGO Education SPIKE-app met USB-verbindingsinstructies.

Eenmaal aangesloten uploaden studenten hun programma's naar een van de 20 opslagslots van de grote hub.

LEGO Education SPIKE 'Downloaden naar Hub'-gebruikersinterface.

Voor communicatie met de hub hebben de Web Bluetooth en de Web Serial API respectievelijk een BluetoothDevice of een SerialPort nodig. Deze worden verkregen in de codefragmenten uit de live app.

Web Bluetooth API-verbinding

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

Web Seriële API-verbinding

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

Redenen om web-first te gaan en webhardware-API's te gebruiken

Momenteel onderhoudt LEGO onafhankelijke versies van hun app voor Android, macOS/iPadOS en Windows; plus oudere versies van de platformspecifieke apps bovenaan, naast de webapp. Door de webapp te pushen op platforms die de onderliggende webhardware-API's in Chrome ondersteunen, namelijk macOS, Windows en ChromeOS, kunnen LEGO-ontwikkelaars de onderhoudslast van hun app aanzienlijk verminderen.

Een andere reden is de downloadgrootte. De webapp downloadt in totaal minder dan 20 MB, terwijl de macOS- en iPadOS-app 115 MB weegt, de Android-app 178 MB en de Windows-app klokt op 292 MB. De initiële installatie omvat echter niet het lesmateriaal dat nodig is in de klaslokalen. Na het downloaden van dit materiaal neemt de grootte met bijna 1 GB toe. Op de webapp wordt de lesinhoud gestreamd, waardoor de gebruiker altijd over de nieuwste versie beschikt en alleen de exacte les downloadt waar hij naar kijkt.

Afgezien van deze technische redenen is de eenvoud van het gebruik in de klas een ander sterk argument om voor web-first te kiezen. Studenten hoeven geen app te installeren en up-to-date te houden. In plaats daarvan volgen ze gewoon een link en werken ze altijd met de meest recente versie. Vanaf het einde van LEGO zijn inhoudsupdates altijd mogelijk, onafhankelijk van de beoordelingsprocessen in de app store.

Knutselen met LEGO op internet

Bij LEGO ging het altijd om het creatief in elkaar zetten van stenen, en omdat LEGO Education SPIKE toegankelijk is via webbrowsers, vormt dit bouwpakket geen uitzondering op de regel.

De ontwikkelaarsgemeenschap is al begonnen met het maken van code die met SPIKE praat. PyREPL-JS is bijvoorbeeld gestart door Gabriel Sessions aan de Tufts University. PyREPL-JS biedt een MicroPython REPL (read-eval-print loop) waarmee webpagina's met de SPIKE-hub kunnen praten. Ethan Danahy , ook van Tufts, gebruikt deze REPL vervolgens voor een aantal webinterfaces voor SPIKE Prime , waarvan er één de breakdancer is die is gesynchroniseerd met een audiobestand .

De universiteit organiseerde een workshop over Machine Learning met SPIKE en organiseert een Robotics Playground met instructies en codevoorbeelden. Een goed beginpunt is Hello SPIKE .

Het breakdancer LEGO-model gesynchroniseerd met een audiobestand.

Door leerlingen vanuit de browser te laten communiceren met fysieke LEGO-modellen, openen de Web Serial en Web Bluetooth API's een wereld aan mogelijkheden voor educatieve, creatieve en entertainmenttoepassingen. Studenten beschikken altijd over de nieuwste versie van de app, zonder dat ze deze hoeven te updaten.

LEGO-ontwikkelaars zullen op de lange termijn minder apps hoeven te onderhouden, wat lagere kosten en minder ontwikkelingsinspanningen betekent, waardoor er meer tijd overblijft voor datgene waar LEGO het meest bekend om staat: het ontsluiten van creativiteit.