Como a LEGO® Education usa as APIs Web Bluetooth e Web Serial

O modelo de breakdancer montado com LEGO.

O conjunto LEGO® Education SPIKE™ Prime é uma ferramenta de aprendizado STEAM (ciência, tecnologia, engenharia, artes e matemática) para estudantes da 6ª à 8ª série (de 11 a 13 anos).

Combinando peças coloridas de LEGO, hardware fácil de usar e uma linguagem de programação intuitiva de arrastar e soltar baseada em Scratch e Python, o SPIKE Prime envolve continuamente os estudantes com atividades de aprendizado divertidas para pensar de forma crítica e resolver problemas complexos, independentemente do nível de aprendizado… e tudo isso com muita diversão!

Experiência em programação

Os estudantes usam blocos de ícones, blocos de palavras (padrão) ou código Python para programar os modelos. O ambiente de programação é adaptado do editor do Scratch, que muitos estudantes já conhecem da educação STEAM inicial na escola.

Nos dois modos visuais, os estudantes conectam blocos arrastando e soltando no canvas de programação. Eles conectam os vários blocos.

O ambiente de programação LEGO com um programa de blocos de palavras.

Os estudantes mais avançados podem usar código Python real diretamente, que vem com uma base de conhecimento integrada para ajudar os estudantes enquanto programam.

O ambiente de programação LEGO com um programa Python.

Depois de criar um programa no app LEGO Education SPIKE, os estudantes enviam o programa para o hub LEGO Education Spike Prime por uma conexão Bluetooth ou USB. O hub executa o programa e controla o modelo LEGO.

Hardware incluído

O cérebro do kit SPIKE Education é o hub, que serve para controlar os vários outros componentes de hardware, como sensores e motores. O kit inclui um sensor de cor, um sensor de distância e um sensor de força. Há também dois motores: um grande e um médio. O hub se conecta ao computador por Bluetooth ou USB.

As partes programáveis do kit LEGO SPIKE Education.
O hub grande, três sensores para cor, distância e força e dois motores.

Aplicativos compatíveis

Além dos apps específicos da plataforma, a LEGO também oferece o web app SPIKE, que pode ser acessado em spike.legoeducation.com. O app não é armazenado em cache no navegador. Por isso, os usuários precisam estar sempre conectados à Internet para que ele funcione.

A LEGO oferece suporte oficial aos navegadores Chrome no Windows 10 e 11, MacBooks e Chromebooks. Melhorias no cache e a possibilidade de instalar o app são recursos planejados para o futuro.

Conectar ao SPIKE Hub

Os hubs SPIKE Prime e SPIKE Essential podem ser conectados ao computador usando Bluetooth ou USB. Por padrão, o app da Web usa Bluetooth com a API Web Bluetooth.

Como alternativa, o web app usa a API Web Serial quando conectado por USB. Em ambos os casos, além do cabo USB, o fluxo de conexão é quase idêntico.

App LEGO Education SPIKE com instruções de conexão USB.

Depois de conectados, os estudantes fazem upload dos programas em um dos 20 slots de armazenamento do hub grande.

Interface "Download to Hub" do LEGO Education SPIKE.

Para se comunicar com o hub, as APIs Web Bluetooth e Web Serial precisam de um BluetoothDevice ou um SerialPort respectivamente. Eles são obtidos nos snippets de código extraídos do app ativo.

Conexão da API Web Bluetooth

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

Conexão da API Web Serial

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

Motivos para priorizar a Web e usar APIs de hardware da Web

Atualmente, a LEGO mantém versões independentes do app para Android, macOS/iPadOS e Windows, além de versões legadas dos apps específicos da plataforma acima, além do web app. Ao promover o web app em plataformas que oferecem suporte às APIs de hardware da Web no Chrome, ou seja, macOS, Windows e ChromeOS, os desenvolvedores da LEGO podem reduzir significativamente o trabalho de manutenção do app.

Outro motivo é o tamanho do download. O app da Web faz o download de menos de 20 MB no total, enquanto o app para macOS e iPadOS pesa 115 MB, o app Android 178 MB e o app para Windows 292 MB. No entanto, a instalação inicial não inclui o material didático necessário nas salas de aula. Depois de baixar esse material, o tamanho aumenta em quase 1 GB. No web app, o conteúdo da lição é transmitido por streaming, o que permite que o usuário sempre tenha a versão mais recente e faça o download apenas da lição exata que está acessando.

Além desses motivos técnicos, a simplicidade do uso em sala de aula é outro argumento forte para priorizar a Web. Os estudantes não precisam instalar um app e mantê-lo atualizado. Em vez disso, eles apenas seguem um link e sempre trabalham com a versão mais recente. Da parte da LEGO, as atualizações de conteúdo são sempre possíveis, independentemente dos processos de análise da loja de apps.

Brincar com LEGO na Web

O LEGO sempre foi sobre montar peças de forma criativa, e com o LEGO Education SPIKE acessível em navegadores da Web, esse kit não é exceção à regra.

A comunidade de desenvolvedores já começou a criar códigos que se comunicam com o SPIKE. Por exemplo, o PyREPL-JS foi iniciado por Gabriel Sessions na Tufts University. O PyREPL-JS oferece um REPL MicroPython (ciclo de leitura-avaliação-impressão) para que páginas da Web se comuniquem com o hub SPIKE. Ethan Danahy, também da Tufts, usa esse REPL para várias interfaces da Web para o SPIKE Prime, uma delas é o breakdancer sincronizado com um arquivo de áudio.

A universidade organizou um workshop sobre como fazer machine learning com o SPIKE e tem um Robotics Playground com instruções e exemplos de código. Um bom lugar para começar é o Hello SPIKE.

O modelo de LEGO do breakdancer sincronizado com um arquivo de áudio.

Ao permitir que os estudantes se comuniquem com modelos físicos da LEGO no navegador, as APIs Web Serial e Web Bluetooth abrem um mundo de possibilidades para aplicativos educacionais, criativos e de entretenimento. Os estudantes sempre terão a versão mais recente do app sem precisar atualizá-lo.

A longo prazo, os desenvolvedores da LEGO terão menos apps para manter, o que significa custo reduzido e menos esforço de desenvolvimento, sobrando mais tempo para fazer o que a LEGO faz de melhor: estimular a criatividade.