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

O modelo do breakdança montada em LEGO.

O LEGO® Education SPIKETM Prime Set é uma ferramenta de aprendizado de STEAM (ciência, tecnologia, engenharia, artes e matemática) para alunos do seis ao oitavo ano (cerca de 11 a 13 anos).

Combinando elementos de construção de LEGO coloridos, 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 divertidas de aprendizado para pensar criticamente e resolver problemas complexos, independentemente do nível de aprendizado... enquanto se divertem!

Experiência em programação

Os alunos usam blocos de ícones, blocos de palavras (padrão) ou código Python para programar modelos. O ambiente de programação é adaptado do editor Scratch, que já é conhecido por muitos alunos do início do ensino de STEAM na escola.

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

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

Alunos mais avançados podem usar o código Python real diretamente, o que vem com uma base de conhecimento integrada para ajudar os alunos na programação.

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

Depois de criar um programa no app LEGO Education SPIKE, os alunos o enviam para o hub da 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 de educação SPIKE é o hub, que serve para controlar vários outros componentes de hardware, como os sensores e os 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 outro médio. O hub se conecta ao computador por Bluetooth ou USB.

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

Aplicativos compatíveis

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

A LEGO é oficialmente compatível com navegadores Chrome no Windows 10 e 11, MacBooks e Chromebooks. As melhorias no armazenamento em cache e a possibilidade de instalar o app são recursos planejados para o futuro.

Conectar-se ao SPIKE Hub

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

Como alternativa, o app da Web 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 da LEGO Education SPIKE com instruções de conexão USB.

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

Interface de "Download to Hub" do LEGO Education SPIKE.

Para se comunicar com o hub, a API Web Bluetooth e a API Web Serial precisam de um BluetoothDevice ou SerialPort, respectivamente. Elas são encontradas nos snippets de código retirados 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 das versões legadas dos apps específicos da plataforma na parte de cima, além do app da Web. Ao enviar o app da Web em plataformas com suporte às APIs de hardware da Web no Chrome, ou seja, macOS, Windows e ChromeOS, os desenvolvedores da LEGO podem reduzir significativamente a carga 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 Windows tem 292 MB. No entanto, a instalação inicial não inclui o material das aulas necessárias em sala de aula. Após o download desse material, o tamanho aumenta em quase 1 GB. No app da Web, o conteúdo da aula é transmitido, o que permite que o usuário tenha sempre a versão mais recente e faça o download apenas da aula que está visualizando.

Além desses motivos técnicos, a simplicidade do uso em sala de aula é outro forte argumento para priorizar a Web. Os alunos não precisam instalar e manter um app atualizado. Em vez disso, eles apenas acessam um link e sempre trabalham com a versão mais recente. Do ponto de vista da LEGO, as atualizações de conteúdo sempre são possíveis, independentemente dos processos de revisão da app store.

Jogo com LEGO na Web

A LEGO sempre tratava da montagem criativa de peças e, com o LEGO Education SPIKE acessível em navegadores da Web, esse kit não é exceção da regra.

A comunidade de desenvolvedores já começou a criar um código que se comunica com SPIKE. Por exemplo, o PyREPL-JS foi iniciado por Gabriel Sessions na Tufts University. O PyREPL-JS fornece um REPL (leitura/avaliação-impressão) MicroPython (em inglês) para que as páginas da Web se comuniquem com o hub do SPIKE. Ethan Danahy, também da Tufts, usa esse REPL para várias interfaces Web para SPIKE Prime, uma das que é o breakdancer sincronizado com um arquivo de áudio (links em inglês).

A universidade organizou um workshop sobre Machine learning com SPIKE e um Playground robótico com instruções e exemplos de código. Um bom lugar para começar é Hello SPIKE.

O modelo de LEGO Dançarino foi sincronizado com um arquivo de áudio.

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

A longo prazo, os desenvolvedores de LEGO terão menos apps para manter, o que significa custo reduzido e menos esforço de desenvolvimento, deixando mais tempo para fazer o que o LEGO é mais conhecido: liberar a criatividade.