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

El modelo de bailarín de cerveza fabricado a partir de LEGO.

El Conjunto primario de LEGO® Education SPIKETM es una herramienta de aprendizaje de ciencia, tecnología, ingeniería, artes y matemáticas (STEAM) (ciencia, tecnología, ingeniería, artes y matemáticas) para estudiantes de sexto a octavo grado (entre 11 y 13 años).

SPIKE Prime combina coloridos elementos de construcción con LEGO, hardware fáciles de usar y un lenguaje de programación intuitivo con la función de arrastrar y soltar basado en Scratch y Python que, al mismo tiempo, involucra a los alumnos a través de actividades divertidas de aprendizaje para pensar de forma crítica y resolver problemas complejos, sin importar su nivel de aprendizaje.

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 se adaptó del editor de Scratch, que muchos estudiantes ya comenzaron desde el principio de ciencia, tecnología, ingeniería y matemáticas en la escuela.

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

Entorno de programación LEGO con un programa de bloques de palabras.

Los estudiantes más avanzados pueden optar por usar el código real de Python de forma directa, que incluye una base de conocimiento integrada para asistir a los estudiantes mientras programan.

Entorno de programación LEGO con un programa Python.

Una vez que crean un programa en la app LEGO Education SPIKE, lo envían al concentrador LEGO Education Spike Prime mediante una conexión Bluetooth o USB. El concentrador ejecuta el programa y controla el modelo LEGO.

Hardware incluido

El cerebro del kit SPIKE Education es el núcleo, que sirve para controlar las diversas piezas 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 otro mediano. El concentrador se conecta a la computadora con Bluetooth o USB.

Las piezas programables del kit LEGO SPIKE Education.
El concentrador 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 aplicación 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 la app web.

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

Conéctate al SPIKE Hub

El concentrador SPIKE Prime y el concentrador SPIKE Essential se pueden conectar a la computadora a través de 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, además del cable USB, el flujo de conexión es casi idéntico.

App LEGO Education SPIKE con instrucciones para la conexión USB.

Una vez conectados, los estudiantes suben sus programas a una de las 20 ranuras de almacenamiento del concentrador grande.

IU de "Download to Hub" de LEGO Education SPIKE.

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

Conexión a la API de Bluetooth web

(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
});

Motivos 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. Al enviar la app web en plataformas que admiten las APIs de hardware web subyacentes en Chrome, es decir, macOS, Windows y ChromeOS, los desarrolladores de LEGO pueden reducir significativamente la carga de mantenimiento de la 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 alcanza los 292 MB. Sin embargo, la instalación inicial no incluye el material de las lecciones que se necesita en el aula. Después de descargar este material, el tamaño aumenta casi 1 GB. En la app web, se transmite el contenido de la lección, lo que permite al usuario tener siempre la versión más reciente y descargar solo la lección exacta que está viendo.

Además de estas razones técnicas, la simplicidad de uso en el aula es otro argumento sólido respecto de priorizar la Web. No es necesario que los estudiantes instalen una app y la mantengan actualizada. Solo siguen un vínculo y siempre trabajan con la versión más reciente. Desde el punto de vista de LEGO, las actualizaciones de contenido son siempre posibles, independientemente de los procesos de revisión de la tienda de aplicaciones.

Juega con LEGO en la Web

LEGO siempre se enfocaba en armar ladrillos de forma creativa y, como se podía acceder a SPIKE de LEGO Education 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, Gabriel Sessions de la Universidad de Tufts inició PyREPL-JS. 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 de SPIKE. Ethan Danahy, también de Tufts, usa este REPL para varias interfaces web de SPIKE Prime, una de las cuales es el dancer de salto sincronizado con un archivo de audio.

La universidad organiza un taller sobre cómo realizar aprendizaje automático con SPIKE y un Playground de la robótica con instrucciones y muestras de código. Un buen punto de partida es Hello SPIKE.

El modelo LEGO del secuencia de baile se sincronizó con un archivo de audio.

Cuando los estudiantes pueden comunicarse con modelos LEGO físicos 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 se traduce en menores costos y menos esfuerzo de desarrollo, lo que deja más tiempo para dedicarse a lo que LEGO es más conocido: desbloquear la creatividad.