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

Modèle "Breakdancer" assemblé à partir de LEGO.

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

Associant des éléments de construction LEGO colorés, du matériel facile à utiliser et un langage de codage intuitif basé sur Scratch et Python, SPIKE Prime suscite en permanence l'engagement des élèves à travers des activités d'apprentissage ludiques pour réfléchir de manière critique et résoudre des problèmes complexes, quel que soit leur niveau... 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, familier de nombreux élèves déjà en début de formation STEAM à l'école.

Dans les deux modes visuels, les élèves connectent les blocs en les faisant glisser et en les 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 étudiants plus avancés peuvent choisir d'utiliser directement du code Python réel, lequel est fourni avec une base de connaissances intégrée pour aider les élèves pendant qu'ils codent.

L'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 éléments matériels tels que les capteurs et les moteurs. Le kit comprend un capteur de couleur, de distance et de force. Il existe également deux moteurs: un grand, un moyen. Le hub se connecte à l'ordinateur via le Bluetooth ou USB.

Parties programmables du kit LEGO SPIKE Education.
Le grand hub, trois capteurs de couleur, de distance et de force, ainsi que deux moteurs.

Applications acceptées

Outre les 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 MacBooks et les Chromebooks. Les améliorations 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

Le hub SPIKE Prime et le hub SPIKE Essential peuvent être connectés à l'ordinateur via le Bluetooth ou un câble 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 "Télécharger dans le hub" de LEGO Education SPIKE.

Pour communiquer avec le hub, les API Web Bluetooth et Web Serial nécessitent respectivement un élément BluetoothDevice ou SerialPort. Ils sont obtenus dans les extraits de code issus 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 adopter le Web-first et utiliser des API Web matérielles ?

Actuellement, LEGO gère des versions indépendantes de son application pour Android, macOS/iPadOS et Windows, ainsi que les anciennes versions des applications spécifiques à la plate-forme, en plus de l'application Web. En déployant l'application Web sur des 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 leur maintenance.

ou la taille du téléchargement. L'application Web télécharge moins de 20 Mo au total, alors que l'application macOS et iPadOS pèse 115 Mo, l'application Android 178 Mo et l'application Windows affiche une taille de 292 Mo. L'installation initiale n'inclut toutefois pas les supports de cours nécessaires aux salles de classe. Après le téléchargement, la taille augmente de près de 1 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 qu'il est en train de consulter.

Au-delà de ces raisons techniques, la simplicité d'utilisation en classe est un autre argument important en faveur d'une approche Web-first. Les élèves n'ont pas besoin d'installer une application et de la maintenir à jour. Il suffit de suivre un lien et de toujours utiliser la version la plus récente. Du côté de LEGO, les mises à jour du contenu sont toujours possibles, indépendamment des processus d'examen de la plate-forme de téléchargement d'applications.

Jouez avec LEGO sur le Web

L'objectif de LEGO a toujours été d'assembler des briques de manière créative. LEGO Education SPIKE étant accessible depuis un navigateur Web, ce kit ne fait pas exception à la règle.

La communauté des développeurs a déjà commencé à créer du code communiquant avec SPIKE. Par exemple, PyREPL-JS a été lancé par Gabriel Sessions de l'université Tufts. PyREPL-JS fournit une boucle de lecture-évaluation-impression (REPL) MicroPython permettant aux pages Web de communiquer avec le hub SPIKE. Ethan Danahy, également de Tufts, utilise ensuite cette REPL pour un certain nombre d'interfaces Web pour SPIKE Prime, dont le breakdancer synchronisé avec un fichier audio.

L'université a organisé un atelier sur l'utilisation du machine learning avec SPIKE, ainsi qu'un site pour la robotique contenant des instructions et des exemples de code. Hello SPIKE est un bon point de départ.

Modèle LEGO "Breakdancer" synchronisé avec un fichier audio.

En permettant aux élèves de communiquer avec des modèles LEGO physiques à partir du navigateur, les API Web Serial et Web Bluetooth ouvrent un monde de possibilités pour des applications éducatives, créatives et de divertissement. Les élèves disposent toujours de 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 se traduira par des coûts réduits et des efforts de développement réduits, ce qui leur laissera plus de temps pour faire ce que la marque LEGO est la plus connue: libérer la créativité.