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 gli studenti delle classi dalla sesta all'ottava (da circa 11 a 13 anni).

Combinando elementi LEGO colorati, hardware facile da usare e un linguaggio di programmazione intuitivo basato su trascinamento 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… e divertendosi.

Esperienza di programmazione

Gli studenti utilizzano blocchi di icone, blocchi di parole (predefiniti) o codice Python per programmare i propri modelli. L'ambiente di programmazione è adattato dall'editor di Scratch, familiare a molti studenti già dall'inizio dell'istruzione STEAM a scuola.

Nelle due modalità visive, gli studenti collegano i blocchi trascinandoci sopra la tela di programmazione. Collega i vari blocchi.

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

Gli studenti più esperti possono scegliere di utilizzare direttamente il codice Python reale, che è fornito con una knowledge base integrata per supportare gli studenti 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. Sono inoltre presenti 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.
L'hub grande, 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 nel browser, pertanto gli utenti devono essere sempre collegati a internet per consentirne il funzionamento.

LEGO supporta ufficialmente i browser Chrome su Windows 10 e 11, MacBook e Chromebook. I miglioramenti alla memorizzazione nella cache e la possibilità di installare l'app sono funzionalità previste 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 è collegata tramite USB. In entrambi i casi, a parte il cavo USB, il flusso di connessione è quasi identico.

App LEGO Education SPIKE con istruzioni per il collegamento USB.

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

Interfaccia utente "Scarica nell'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 vengono ottenuti negli snippet di codice estratti dall'app in produzione.

Connessione all'API Web Bluetooth

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

Connessione all'API Web Serial

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

Motivi per adottare un approccio web first e utilizzare le API di hardware web

Attualmente, LEGO gestisce versioni indipendenti della propria app per Android, macOS/iPadOS e Windows; inoltre, versioni precedenti delle app specifiche della piattaforma, oltre all'app web. Se spinge l'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 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. Tuttavia, l'installazione iniziale non include il materiale didattico necessario nei corsi. Dopo aver scaricato questo materiale, le dimensioni aumentano di quasi 1 GB. Nell'app web, i contenuti delle lezioni vengono trasmessi in streaming, in modo che l'utente possa sempre avere la versione più recente e scaricare solo la lezione esatta che sta guardando.

Oltre a questi motivi tecnici, la semplicità d'uso in classe è un altro argomento convincente per optare per il web first. Gli studenti non devono installare un'app e aggiornarla. ma seguono semplicemente un link e lavorano sempre con la versione più recente. Da parte di LEGO, gli aggiornamenti dei contenuti sono sempre possibili, indipendentemente dalle procedure di revisione dello store.

Fai esperimenti con i LEGO sul web

LEGO è sempre stato sinonimo di assemblaggio creativo dei mattoncini e, poiché 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 interagisce con SPIKE. Ad esempio, PyREPL-JS è stato avviato da Gabriel Sessions della Tufts University. PyREPL-JS fornisce un REPL MicroPython (loop di lettura, valutazione e stampa) per le pagine web per comunicare con l'hub SPIKE. Ethan Danahy, anche lui della facoltà di Tufts, utilizza poi questo REPL per una serie di interfacce web per SPIKE Prime, tra cui il breakdancer sincronizzato con un file audio.

L'università ha ospitato un seminario sul machine learning con SPIKE e un Robotics Playground con istruzioni e 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 dal browser, le API Web Serial e Web Bluetooth aprono un mondo di possibilità per applicazioni didattiche, creative e di intrattenimento. Gli studenti avranno sempre la 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 impegno di sviluppo, lasciando più tempo per fare ciò per cui LEGO è più nota: liberare la creatività.