A Microsoft apresentou recentemente um novo aplicativo UWP que permite aos usuários programar um Raspberry Pi 2, Raspberry 3 ou um Raspberry Pi Sense Hat em seus navegadores. O Windows 10 IoT Core Blockly permite que os usuários criem um programa com blocos interligados que podem controlar um minicomputador Raspberry Pi.
A Microsoft se inspirou em quatro projetos diferentes ao desenvolver esta nova ferramenta, incluindo o editor de blocos de código aberto Blockly do Google, o micro: bit da BBC e seu próprio editor de blocos.
O Windows 10 IoT Core Blockly tem uma estrutura simples: o aplicativo principal inicia um servidor web que atende à página do editor Blockly na porta 8000. Os usuários podem acessar o editor Blockly navegando até seu Raspberry Pi: 8000 em um navegador. A Microsoft também criou blocos personalizados para funcionalidades específicas do Sense Hat que podem ser encontradas em categorias específicas Básico, Entrada, LED, Imagens, Pin e muito mais.
Outros recursos incluem:
- O Blockly simplifica a tradução de blocos para JavaScript, para que pudéssemos gerar um snippet de JavaScript executável. Você pode ver o que o seu programa de bloco se traduz em JavaScript pressionando o botão azul “Converter para JavaScript” - nota: para habilitar “eventos” como “botão do joystick pressionado”, temos algumas funções auxiliares do JavaScript e prestamos atenção especial ao ordem das várias funções.
- Neste ponto, temos um editor de blocos que pode gerar um snippet de JavaScript executável: Precisamos de algo que possa executar esse snippet de JavaScript em um thread diferente sem interferir no servidor da web.
- Para executar o snippet, instanciamos o mecanismo Chakra JavaScript (que faz parte de todas as edições do Windows 10) e iniciamos o snippet. Chakra torna mais fácil interromper o trecho à vontade.
- Muitos dos blocos interagem diretamente com o Chapéu dos Sentidos. Poderíamos ter escrito um monte de código JavaScript para controlar o Sense Hat, mas aproveitamos a biblioteca C # SenseHat completa e fácil de usar da EmmellSoft. A ponte entre JavaScript e C # foi extremamente fácil aproveitando uma biblioteca UWP wrapper.
- Por último, adicionamos alguns mecanismos para garantir que o último trecho de "execução" seja salvo no Raspberry Pi (o layout de blocos e o trecho de JavaScript são armazenados em cache) e execute novamente na próxima vez que o aplicativo IoT Core Blockly for iniciado (por exemplo, quando você reiniciar seu dispositivo).
Para obter mais informações sobre como configurar o IoT Core Blockly em seu Raspberry Pi, confira a postagem do blog da Microsoft.