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

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

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

Combinant des éléments de construction LEGO colorés, du matériel facile à utiliser et un langage de programmation intuitif par glisser-déposer basé sur Scratch et Python, SPIKE Prime engage en permanence les élèves dans des activités d'apprentissage ludiques pour les aider à développer leur esprit 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 mots (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à grâce à l'enseignement STEAM précoce à l'école.

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

Environnement de programmation LEGO avec un programme de blocs de mots.

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 à coder.

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 comporte également deux moteurs : un grand et un moyen. Le hub se connecte à l'ordinateur via Bluetooth ou USB.

Les parties programmables du kit LEGO SPIKE Education.
Le grand hub, trois capteurs (couleur, distance et 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 Chromebook. L'amélioration de la mise en cache et la possibilité d'installer l'application sont des fonctionnalités prévues pour l'avenir.

Se connecter au Hub SPIKE

Les hubs SPIKE Prime et 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.

Sinon, l'application Web utilise 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.

Instructions de connexion USB pour l'application LEGO Education SPIKE.

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

Interface utilisateur "Télécharger sur le Hub" de LEGO Education SPIKE.

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

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 matérielles Web ?

Actuellement, LEGO propose des versions indépendantes de son application pour Android, macOS/iPadOS et Windows, ainsi que des anciennes versions des applications spécifiques à chaque plate-forme, en plus de l'application Web. En proposant l'application Web sur les plates-formes compatibles avec les API Web matérielles 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.

Une autre raison est la taille du téléchargement. L'application Web télécharge 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 pédagogique nécessaire en classe. Une fois ce contenu téléchargé, la taille augmente de près de 1 Go. Dans l'application Web, le contenu des leçons 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.

Outre ces raisons techniques, la simplicité d'utilisation en classe est un autre argument de poids en faveur d'une approche axée sur le Web. Les élèves n'ont pas besoin d'installer une application ni de la tenir à jour. Au lieu de cela, ils suivent simplement un lien et travaillent toujours avec la version la plus récente. LEGO peut toujours mettre à jour le contenu, 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, et le kit LEGO Education SPIKE n'échappe pas à la règle puisqu'il est accessible depuis les navigateurs Web.

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 MicroPython (read–eval–print loop) pour que les pages Web communiquent avec le hub SPIKE. Ethan Danahy, également de Tufts, utilise ensuite ce REPL pour un certain nombre d'interfaces Web pour SPIKE Prime, dont l'une est le breakdancer synchronisé sur un fichier audio.

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

Modèle LEGO du breakdancer 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 une réduction des coûts et des efforts de développement, leur laissant plus de temps pour ce qui fait la renommée de LEGO : libérer la créativité.