In che modo LEGO® Education utilizza le API Web Bluetooth e Web Serial

Il modello Breakdancer assemblato da LEGO.

LEGO® Education SPIKETM Prime Set è uno strumento di apprendimento STEAM (scienza, tecnologia, ingegneria, arte e matematica) destinato agli studenti dalla sesta alla terza media (dai 11 ai 13 anni circa).

Grazie alla combinazione di variopinti elementi di costruzione LEGO, hardware facile da usare e un intuitivo linguaggio di programmazione a trascinamento basato su Scratch e Python, SPIKE Prime coinvolge continuamente gli studenti attraverso divertenti attività di apprendimento per pensare in modo critico e risolvere problemi complessi, indipendentemente dal loro livello di apprendimento... divertendosi.

Esperienza di programmazione

Per programmare i modelli, gli studenti usano blocchi di icone, blocchi di parole (predefinito) o codice Python. L'ambiente di programmazione è stato adattato dall'editor Scratch, familiare a molti studenti già dalla prima istruzione STEAM a scuola.

Nelle due modalità visive, gli studenti collegano i blocchi trascinandoli sul canvas di programmazione. Collegano i vari blocchi.

L'ambiente di programmazione LEGO con un programma di blocco di parole.

Gli studenti più esperti possono usare direttamente il codice Python reale, con una knowledge base integrata che li aiuta a programmare.

L'ambiente di programmazione LEGO con un programma Python.

Dopo aver creato un programma nell'app LEGO Education SPIKE, gli studenti inviano il programma all'hub LEGO Education Spike Prime tramite una connessione Bluetooth o USB. L'hub esegue il programma e controlla il modello LEGO.

Hardware incluso

Il cervello del kit SPIKE Education è l'hub, che serve a controllare diversi altri componenti hardware come sensori e motori. Il kit include un sensore di colore, un sensore di distanza e un sensore di forza. Ci sono anche due motori: uno grande e uno medio. L'hub si collega al computer tramite Bluetooth o USB.

Le parti programmabili del kit LEGO SPIKE Education.
L'ampio hub, tre sensori per il colore, la distanza e la forza, e due motori.

Applicazioni supportate

Oltre alle app specifiche per piattaforma, LEGO offre anche l'app web SPIKE, accessibile all'indirizzo spike.legoeducation.com. L'app non è memorizzata nella cache del browser, quindi gli utenti devono essere sempre connessi a internet affinché l'app web funzioni.

LEGO supporta ufficialmente i browser Chrome su Windows 10 e 11, MacBook e Chromebook. I miglioramenti della memorizzazione nella cache e l'installazione dell'app sono funzionalità pianificate per il futuro.

Connettiti a SPIKE Hub

L'hub SPIKE Prime e l'hub SPIKE Essential possono essere collegati al computer tramite Bluetooth o USB. Per impostazione predefinita, l'app web utilizza il Bluetooth con l'API Web Bluetooth.

In alternativa, l'app web utilizza l'API Web Serial quando connessa tramite USB. In entrambi i casi, a parte il cavo USB, il flusso di connessione è quasi identico.

App LEGO Education SPIKE con istruzioni per la connessione USB.

Una volta connessi, gli studenti caricano i loro programmi in uno dei 20 slot di archiviazione dell'hub di grandi dimensioni.

UI "Scarica su Hub" di LEGO Education SPIKE.

Per comunicare con l'hub, le API Web Bluetooth e Web Serial richiedono rispettivamente un BluetoothDevice o un SerialPort. Questi dati sono ottenuti negli snippet di codice recuperati dall'app live.

Connessione API Web Bluetooth

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

Connessione API Web Serial

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

Motivi per passare al web-first e utilizzare le API hardware web

Attualmente, LEGO mantiene versioni indipendenti della propria app per Android, macOS/iPadOS e Windows, oltre a versioni legacy delle app specifiche per piattaforma in cima, oltre all'app web. Tramite il push dell'app web su piattaforme che supportano le API hardware web sottostanti in Chrome, ovvero macOS, Windows e ChromeOS, gli sviluppatori LEGO possono ridurre notevolmente il carico di manutenzione delle loro app.

Un altro motivo è la dimensione del download. L'app web scarica in totale meno di 20 MB, mentre l'app per macOS e iPadOS pesa 115 MB, l'app per Android 178 MB e l'orologio per l'app per Windows a 292 MB. Tuttavia, l'installazione iniziale non include il materiale didattico necessario in classe. Dopo aver scaricato questo materiale, le dimensioni aumentano di quasi 1 GB. Nell'app web i contenuti delle lezioni vengono riprodotti in streaming e ciò consente all'utente di disporre sempre dell'ultima versione e di scaricare solo la lezione che sta guardando.

A parte questi motivi tecnici, la semplicità dell'uso in classe è un altro importante argomento per dare priorità al web. Gli studenti non hanno bisogno di installare un'app e di mantenerla aggiornata. ma seguono un link e funzionano sempre con la versione più recente. Da parte di LEGO, gli aggiornamenti dei contenuti sono sempre possibili, a prescindere dai processi di revisione degli store.

Tinker con i LEGO sul web

LEGO assemblava sempre i mattoncini in modo creativo e, dato che LEGO Education SPIKE era accessibile dai browser web, questo kit non fa eccezione alla regola.

La community degli sviluppatori ha già iniziato a creare codice in comunicazione con SPIKE. Ad esempio, PyREPL-JS è stato avviato da Gabriel Sessions presso la Tufts University. PyREPL-JS fornisce un MicroPython REPL (read-eval-print loop) per le pagine web con cui comunicare con l'hub SPIKE. Ethan Danahy, sempre di Tufts, utilizza questo REPL per varie web-interfaces per SPIKE Prime, una delle quali è breakdancer sincronizzato con un file audio.

L'università ha ospitato un workshop sul Machine Learning con SPIKE e ospita un Robotics Playground con istruzioni ed esempi di codice. Un buon punto di partenza è Hello SPIKE.

Il modello LEGO dell'autore della violazione sincronizzato con un file audio.

Consentendo agli studenti di comunicare con modelli LEGO fisici dall'interno del browser, le API Web Serial e Web Bluetooth offrono un mondo di opportunità per applicazioni didattiche, creative e di intrattenimento. Gli studenti disporranno sempre della versione più recente dell'app, senza doverla aggiornare.

A lungo termine, gli sviluppatori LEGO avranno meno app da gestire, il che significa costi ridotti e meno sforzi di sviluppo, lasciando più tempo per fare ciò per cui LEGO è più noto: liberare la creatività.