Cómo LEGO® Education usa las APIs de Web Bluetooth y Web Serial

El modelo de b-boy armado con LEGO.

El set LEGO® Education SPIKE™ Prime es una herramienta de aprendizaje de STEAM (ciencia, tecnología, ingeniería, arte y matemáticas) para estudiantes de sexto a octavo grado (de 11 a 13 años aproximadamente).

SPIKE Prime combina elementos de construcción de LEGO de colores, hardware fácil de usar y un lenguaje de programación intuitivo de arrastrar y soltar basado en Scratch y Python. SPIKE Prime atrae a los estudiantes de forma continua a través de actividades de aprendizaje lúdicas para que piensen de forma crítica y resuelvan problemas complejos, independientemente de su nivel de aprendizaje… ¡y se diviertan!

Experiencia en programación

Los estudiantes usan bloques de íconos, bloques de palabras (predeterminado) o código de Python para programar sus modelos. El entorno de programación está adaptado del editor de Scratch, que muchos estudiantes ya conocen desde la educación STEAM temprana en la escuela.

En los dos modos visuales, los estudiantes conectan bloques arrastrándolos y soltándolos en el lienzo de programación. Conectan los diferentes bloques.

El entorno de programación de LEGO con un programa de bloques de palabras.

Los estudiantes más avanzados pueden optar por usar código Python real directamente, que incluye una base de conocimiento integrada para apoyar a los estudiantes mientras codifican.

El entorno de programación de LEGO con un programa de Python

Una vez que hayan creado un programa en la app de LEGO Education SPIKE, los estudiantes envían el programa al centro LEGO Education Spike Prime a través de una conexión Bluetooth o USB. El concentrador ejecuta el programa y controla el modelo de LEGO.

Hardware incluido

El cerebro del kit de SPIKE Education es el concentrador, que sirve para controlar los otros componentes de hardware, como los sensores y los motores. El kit incluye un sensor de color, un sensor de distancia y un sensor de fuerza. También hay dos motores: uno grande y uno mediano. El concentrador se conecta a la computadora con Bluetooth o USB.

Las partes programables del kit LEGO SPIKE Education.
El centro grande, tres sensores de color, distancia y fuerza, y dos motores.

Aplicaciones admitidas

Además de las apps específicas de la plataforma, LEGO también ofrece la app web SPIKE, a la que se puede acceder en spike.legoeducation.com. La app no se almacena en caché en el navegador, por lo que los usuarios siempre deben estar conectados a Internet para que funcione.

LEGO admite oficialmente los navegadores Chrome en Windows 10 y 11, MacBooks y Chromebooks. Las mejoras en el almacenamiento en caché y la posibilidad de instalar la app son funciones planificadas para el futuro.

Cómo conectarse al SPIKE Hub

El concentrador SPIKE Prime y el concentrador SPIKE Essential se pueden conectar a la computadora con Bluetooth o USB. De forma predeterminada, la app web usa Bluetooth con la API de Web Bluetooth.

Como alternativa, la app web usa la API de Web Serial cuando se conecta con USB. En ambos casos, aparte del cable USB, el flujo de conexión es casi idéntico.

App de LEGO Education SPIKE con instrucciones de conexión USB.

Una vez conectados, los estudiantes suben sus programas a uno de los 20 espacios de almacenamiento del centro grande.

IU de "Download to Hub" de LEGO Education SPIKE

Para comunicarse con el concentrador, la API de Web Bluetooth y la de Web Serial necesitan un BluetoothDevice o un SerialPort, respectivamente. Se obtienen en los fragmentos de código tomados de la app en vivo.

Conexión a la API de Web Bluetooth

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

Conexión a la API de Web Serial

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

Razones para priorizar la Web y usar APIs de hardware web

Actualmente, LEGO mantiene versiones independientes de su app para Android, macOS/iPadOS y Windows, además de versiones heredadas de las apps específicas de la plataforma en la parte superior, además de la app web. Cuando se envía la app web a plataformas que admiten las APIs de hardware web subyacentes en Chrome, como macOS, Windows y ChromeOS, los desarrolladores de LEGO pueden reducir significativamente la carga de mantenimiento de su app.

Otro motivo es el tamaño de la descarga. La app web descarga menos de 20 MB en total, mientras que la app para macOS y iPadOS pesa 115 MB, la app para Android 178 MB y la app para Windows 292 MB. Sin embargo, la instalación inicial no incluye el material de las lecciones necesario en las aulas. Después de descargar este material, el tamaño aumenta casi 1 GB. En la app web, el contenido de la clase se transmite, lo que permite que el usuario siempre tenga la versión más reciente y solo descargue la clase exacta que está viendo.

Además de estos motivos técnicos, la simplicidad del uso en el aula es otro argumento sólido para priorizar la Web. Los estudiantes no necesitan instalar una app ni mantenerla actualizada. En su lugar, solo siguen un vínculo y siempre trabajan con la versión más reciente. Por parte de LEGO, siempre es posible actualizar el contenido, independientemente de los procesos de revisión de la tienda de aplicaciones.

Juega con LEGO en la Web

LEGO siempre se trató de ensamblar bloques de manera creativa y, como se puede acceder a LEGO Education SPIKE desde navegadores web, este kit no es una excepción a la regla.

La comunidad de desarrolladores ya comenzó a crear código que se comunica con SPIKE. Por ejemplo, PyREPL-JS fue iniciado por Gabriel Sessions en la Universidad de Tufts. PyREPL-JS proporciona un REPL de MicroPython (bucle de lectura, evaluación e impresión) para que las páginas web se comuniquen con el concentrador SPIKE. Luego, Ethan Danahy, también de Tufts, usa esta REPL para varias interfaces web para SPIKE Prime, una de las cuales es el bailarín de breakdance sincronizado con un archivo de audio.

La universidad organizó un taller sobre aprendizaje automático con SPIKE y aloja un Robotics Playground con instrucciones y muestras de código. Un buen lugar para comenzar es Hello SPIKE.

El modelo de LEGO del bailarín de breakdance sincronizado con un archivo de audio

Dado que permiten que los estudiantes se comuniquen con modelos físicos de LEGO desde el navegador, las APIs de Web Serial y Web Bluetooth abren un mundo de posibilidades para aplicaciones educativas, creativas y de entretenimiento. Los estudiantes siempre tendrán la versión más reciente de la app sin necesidad de actualizarla.

A largo plazo, los desarrolladores de LEGO tendrán menos apps que mantener, lo que significa un costo reducido y menos esfuerzo de desarrollo, lo que les permitirá dedicar más tiempo a lo que LEGO es más conocido: liberar la creatividad.