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

O modelo de dançarino de breakdance montado com LEGO.

O LEGO® Education SPIKE™ Prime Set é uma ferramenta de aprendizagem de STEAM (ciência, tecnologia, engenharia, arte e matemática) para estudantes do 6º ao 8º ano (de 11 a 13 anos).

Combinando elementos de construção coloridos do LEGO, hardware fácil de usar e uma linguagem de programação intuitiva de arrastar e soltar baseada no Scratch e no Python, o SPIKE Prime envolve os alunos continuamente com atividades de aprendizado lúdicas para pensar criticamente e resolver problemas complexos, independentemente do nível de aprendizado, 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 já é conhecido por muitos estudantes desde o início da educação STEAM na escola.

Nos dois modos visuais, os estudantes conectam blocos arrastando-os e soltando-os na tela 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 optar por usar o 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 app da Web SPIKE, que pode ser acessado em spike.legoeducation.com. O app não é armazenado em cache no navegador, portanto, os usuários precisam estar sempre conectados à Internet para que o app da Web funcione.

A LEGO oferece suporte oficial aos navegadores Chrome no Windows 10 e 11, MacBooks e Chromebooks. As melhorias de armazenamento em cache e a instalação do 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 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 LEGO Education SPIKE com instruções de conexão USB.

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

Interface "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 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 legados dos apps específicos da plataforma, além do app da Web. Ao enviar o app da Web em plataformas que oferecem suporte às APIs de hardware da Web no Chrome, como 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 tem menos de 20 MB de downloads no total, enquanto o app para macOS e iPadOS pesa 115 MB, o app para Android pesa 178 MB e o app para Windows tem 292 MB. No entanto, a instalação inicial não inclui o material de aula necessário nas salas de aula. Após o download desse material, o tamanho aumenta em quase 1 GB. No app da Web, 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 que está visualizando.

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. Do ponto de vista da LEGO, as atualizações de conteúdo são sempre possíveis, independentemente dos processos de análise da app store.

Criar com LEGO na Web

O LEGO sempre foi sobre montar blocos de forma criativa, e, como o LEGO Education SPIKE é acessível em navegadores da Web, esse kit não é uma 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 Universidade Tufts. O PyREPL-JS fornece um MicroPython REPL (loop de leitura-avaliação-impressão) 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 da Web para o SPIKE Prime, uma delas é o breakdancer sincronizado com um arquivo de áudio.

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

O modelo de dançarino de breakdance LEGO sincronizado com um arquivo de áudio.

Ao permitir que os estudantes se comuniquem com modelos físicos de 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 vão ter a versão mais recente do app sem precisar atualizá-lo.

Os desenvolvedores da LEGO terão menos apps para manter a longo prazo, o que significa redução de custos e menos esforço de desenvolvimento, deixando mais tempo para fazer o que a LEGO é mais conhecida: estimular a criatividade.