Comment LEGO® Education utilise les API Web Bluetooth et Web Serial

Modèle de breakdancer assemblé à partir de LEGO.

Le set LEGO® Education SPIKE™ Prime est un outil d'apprentissage STEAM (sciences, technologie, ingénierie, arts et mathématiques) destiné aux élèves de la 6e à la 8e classe (environ 11 à 13 ans).

Combinant des éléments de construction LEGO colorés, du matériel facile à utiliser et un langage de codage par glisser-déposer intuitif basé sur Scratch et Python, SPIKE Prime engage en permanence les élèves grâce à des activités d'apprentissage ludiques pour les inciter à réfléchir de manière critique et à résoudre des problèmes complexes, quel que soit leur niveau d'apprentissage… tout en s'amusant !

Expérience en programmation

Les élèves utilisent des blocs d'icônes, des blocs de texte (par défaut) ou du code Python pour programmer leurs modèles. L'environnement de programmation est adapté de l'éditeur Scratch, que de nombreux élèves connaissent déjà depuis leur première éducation STEAM à l'école.

Dans les deux modes visuels, les élèves connectent des blocs en les faisant glisser sur le canevas de programmation. Ils connectent les différents blocs.

Environnement de programmation LEGO avec un programme de bloc de texte.

Les élèves plus avancés peuvent choisir d'utiliser directement du code Python réel, qui est fourni avec une base de connaissances intégrée pour les aider pendant qu'ils codent.

Environnement de programmation LEGO avec un programme Python.

Une fois qu'ils ont créé un programme dans l'application LEGO Education SPIKE, les élèves l'envoient au hub LEGO Education Spike Prime via une connexion Bluetooth ou USB. Le hub exécute le programme et contrôle le modèle LEGO.

Matériel inclus

Le cerveau du kit SPIKE Education est le hub, qui sert à contrôler les différents autres éléments matériels tels que les capteurs et les moteurs. Le kit comprend un capteur de couleur, un capteur de distance et un capteur de force. Il y a également deux moteurs: un grand et un moyen. Le hub se connecte à l'ordinateur via Bluetooth ou USB.

Les pièces programmables du kit LEGO SPIKE Education
Grand hub, trois capteurs pour la couleur, la distance et la force, et deux moteurs.

Applications acceptées

En plus des applications spécifiques à la plate-forme, LEGO propose également l'application Web SPIKE, accessible à l'adresse spike.legoeducation.com. L'application n'est pas mise en cache dans le navigateur. Les utilisateurs doivent donc toujours être connectés à Internet pour que l'application Web fonctionne.

LEGO est officiellement compatible avec les navigateurs Chrome sur Windows 10 et 11, les MacBook et les Chromebooks. Des améliorations de la mise en cache et la possibilité d'installer l'application sont prévues pour le futur.

Se connecter au hub SPIKE

Le hub SPIKE Prime et le hub SPIKE Essential peuvent être connectés à l'ordinateur via Bluetooth ou USB. Par défaut, l'application Web utilise le Bluetooth avec l'API Web Bluetooth.

L'application Web utilise également l'API Web Serial lorsqu'elle est connectée via USB. Dans les deux cas, à l'exception du câble USB, le flux de connexion est presque identique.

Application LEGO Education SPIKE avec instructions de connexion USB.

Une fois connectés, les élèves importent leurs programmes dans l'un des 20 emplacements de stockage du grand hub.

Interface utilisateur de LEGO Education SPIKE "Télécharger vers le hub".

Pour communiquer avec le hub, l'API Web Bluetooth et l'API Web Serial ont besoin d'un BluetoothDevice ou d'un SerialPort, respectivement. Ils sont obtenus dans les extraits de code extraits de l'application en ligne.

Connexion à l'API Web Bluetooth

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

Connexion à l'API Web Serial

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

Pourquoi privilégier le Web et utiliser les API Web pour le matériel

Actuellement, LEGO gère des versions indépendantes de son application pour Android, macOS/iPadOS et Windows, ainsi que des anciennes versions des applications spécifiques à la plate-forme en plus de l'application Web. En poussant l'application Web sur les plates-formes compatibles avec les API matérielles Web sous-jacentes dans Chrome, à savoir macOS, Windows et ChromeOS, les développeurs LEGO peuvent réduire considérablement la charge de maintenance de leur application.

Autre raison : la taille du téléchargement. L'application Web se télécharge pour moins de 20 Mo au total, tandis que l'application macOS et iPadOS pèse 115 Mo, l'application Android 178 Mo et l'application Windows 292 Mo. Toutefois, l'installation initiale n'inclut pas le matériel de cours nécessaire en classe. Après avoir téléchargé ce contenu, la taille augmente de près d'un Go. Dans l'application Web, le contenu de la leçon est diffusé en streaming, ce qui permet à l'utilisateur de toujours disposer de la dernière version et de ne télécharger que la leçon exacte qu'il consulte.

En plus de ces raisons techniques, la simplicité d'utilisation en classe est un autre argument fort pour adopter une approche Web first. Les étudiants n'ont pas besoin d'installer d'application ni de la mettre à jour. Au lieu de cela, ils suivent simplement un lien et travaillent toujours avec la version la plus récente. Du côté de LEGO, les mises à jour de contenu sont toujours possibles, indépendamment des processus d'examen des plates-formes de téléchargement d'applications.

Jouer avec LEGO sur le Web

LEGO a toujours consisté à assembler des briques de manière créative. Étant donné que LEGO Education SPIKE est accessible depuis les navigateurs Web, ce kit ne fait pas exception à la règle.

La communauté des développeurs a déjà commencé à créer du code qui communique avec SPIKE. Par exemple, PyREPL-JS a été lancé par Gabriel Sessions à l'université Tufts. PyREPL-JS fournit une boucle REPL (Read-Evaluate-Print Loop) MicroPython pour que les pages Web puissent communiquer avec le hub SPIKE. Ethan Danahy, également de Tufts, utilise ensuite cette IPE pour un certain nombre d'interfaces Web pour SPIKE Prime, dont l'breakdancer synchronisé avec un fichier audio.

L'université a organisé un atelier sur le machine learning avec SPIKE et un Robotics Playground avec des instructions et des exemples de code. Un bon point de départ est Hello SPIKE.

Modèle LEGO de danseur de breakdance synchronisé avec un fichier audio.

En permettant aux élèves de communiquer avec des modèles LEGO physiques depuis le navigateur, les API Web Serial et Web Bluetooth ouvrent un monde de possibilités pour les applications éducatives, créatives et de divertissement. Les élèves auront toujours la dernière version de l'application sans avoir à la mettre à jour.

À long terme, les développeurs LEGO auront moins d'applications à gérer, ce qui signifie que les coûts seront réduits et que les efforts de développement seront moindres. Ils auront ainsi plus de temps pour faire ce que LEGO est le plus connu: libérer la créativité.