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

Il modello di breakdancer assemblato con LEGO.

Il set LEGO® Education SPIKE™ Prime è uno strumento di apprendimento STEAM (scienze, tecnologia, ingegneria, arte e matematica) per studenti dalla prima alla terza media (circa 11-13 anni).

Combinando colorati elementi di costruzione LEGO, hardware facile da usare e un linguaggio di programmazione intuitivo basato su Scratch e Python, SPIKE Prime coinvolge continuamente gli studenti attraverso attività di apprendimento ludiche per pensare in modo critico e risolvere problemi complessi, indipendentemente dal loro livello di apprendimento… divertendosi!

Esperienza di programmazione

Gli studenti utilizzano blocchi di icone, blocchi di parole (impostazione predefinita) o codice Python per programmare i loro modelli. L'ambiente di programmazione è adattato dall'editor Scratch, già noto a molti studenti grazie all'istruzione STEAM a scuola.

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

L'ambiente di programmazione LEGO con un programma a blocchi di parole.

Gli studenti più avanzati possono scegliere di utilizzare direttamente il codice Python reale, che include una knowledge base integrata per supportarli durante la programmazione.

L'ambiente di programmazione LEGO con un programma Python.

Dopo aver creato un programma nell'app LEGO Education SPIKE, gli studenti lo inviano 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 i vari altri componenti hardware come i sensori e i 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 connette al computer tramite Bluetooth o USB.

Le parti programmabili del kit LEGO SPIKE Education.
Il grande hub, tre sensori per colore, distanza e 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 viene memorizzata nella cache del browser, quindi gli utenti devono sempre essere connessi a internet per farla funzionare.

LEGO supporta ufficialmente i browser Chrome su Windows 10 e 11, MacBook e Chromebook. Sono previsti miglioramenti della memorizzazione nella cache e la possibilità di installare l'app.

Connettiti allo 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 collegati, gli studenti caricano i loro programmi in uno dei 20 slot di archiviazione dell'hub grande.

Interfaccia utente "Scarica sull'hub" di LEGO Education SPIKE.

Per comunicare con l'hub, le API Web Bluetooth e Web Serial richiedono un BluetoothDevice o un SerialPort rispettivamente. Questi vengono ottenuti negli snippet di codice estratti 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 dare la priorità al web e utilizzare le API hardware web

Attualmente, LEGO gestisce versioni indipendenti della propria app per Android, macOS/iPadOS e Windows, oltre a versioni legacy delle app specifiche per piattaforma, oltre all'app web. Se i developer LEGO utilizzano l'app web su piattaforme che supportano le API hardware web sottostanti in Chrome, ovvero macOS, Windows e ChromeOS, possono ridurre in modo significativo il carico di lavoro di manutenzione dell'app.

Un altro motivo è la dimensione del download. L'app web scarica meno di 20 MB in totale, mentre l'app per macOS e iPadOS pesa 115 MB, l'app per Android 178 MB e l'app per Windows 292 MB. L'installazione iniziale, tuttavia, non include il materiale didattico necessario nelle classi. Dopo aver scaricato questo materiale, le dimensioni aumentano di quasi 1 GB. Nell'app web, i contenuti della lezione vengono riprodotti in streaming, il che consente all'utente di avere sempre l'ultima versione e di scaricare solo la lezione esatta che sta visualizzando.

Oltre a questi motivi tecnici, la semplicità di utilizzo in classe è un altro forte argomento a favore dell'approccio web-first. Gli studenti non devono installare un'app e mantenerla aggiornata. Invece, seguono un link e lavorano sempre con la versione più recente. Per quanto riguarda LEGO, gli aggiornamenti dei contenuti sono sempre possibili, indipendentemente dalle procedure di revisione degli store.

Giocare con i LEGO sul web

LEGO ha sempre avuto a che fare con l'assemblaggio creativo di mattoncini e con LEGO Education SPIKE accessibile dai browser web, questo kit non fa eccezione alla regola.

La community di sviluppatori ha già iniziato a creare codice che comunica con SPIKE. Ad esempio, PyREPL-JS è stato avviato da Gabriel Sessions presso la Tufts University. PyREPL-JS fornisce un REPL MicroPython (ciclo di lettura-valutazione-stampa) per le pagine web per comunicare con l'hub SPIKE. Ethan Danahy, anche lui di Tufts, utilizza poi questo REPL per una serie di interfacce web per SPIKE Prime, una delle quali è il breakdancer sincronizzato con un file audio.

L'università ha ospitato un workshop su come fare machine learning con SPIKE e ospita un Playground di robotica con istruzioni ed esempi di codice. Un buon punto di partenza è Hello SPIKE.

Il modello LEGO del ballerino di breakdance sincronizzato con un file audio.

Consentendo agli studenti di comunicare con i modelli LEGO fisici dall'interno del browser, le API Web Serial e Web Bluetooth aprono un mondo di possibilità per applicazioni educative, creative e di intrattenimento. Gli studenti avranno sempre l'ultima versione 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ù conosciuta: liberare la creatività.