Microsoft presentó recientemente una nueva aplicación para UWP que permite a los usuarios programar una Raspberry Pi 2, Raspberry 3 o una Raspberry Pi Sense Hat desde sus navegadores. Windows 10 IoT Core Blockly permite a los usuarios crear un programa con bloques entrelazados que luego pueden controlar una mini computadora Raspberry Pi.
Microsoft se inspiró en cuatro proyectos diferentes al diseñar esta nueva herramienta, incluido el editor de bloques de código abierto Blockly de Google, micro: bit de BBC y su propio editor de bloques..
Windows 10 IoT Core Blockly tiene una estructura simple: la aplicación principal inicia un servidor web que sirve a la página del editor Blockly en el puerto 8000. Los usuarios pueden acceder al editor Blockly navegando a su Raspberry Pi: 8000 desde un navegador. Microsoft también creó bloques personalizados para funcionalidades específicas de Sense Hat que se pueden encontrar en categorías específicas Básico, Entrada, LED, Imágenes, Pin y más..
Otras características incluyen:
- Blockly simplifica la traducción de bloques a JavaScript, por lo que podríamos generar un fragmento de JavaScript ejecutable. Puede ver a qué se traduce su programa de bloques en JavaScript presionando el botón azul "Convertir a JavaScript" - nota: para habilitar "eventos" como "en el botón del joystick presionado" tenemos algunas funciones auxiliares de JavaScript y prestamos especial atención a la orden de las diversas funciones.
- En este punto, tenemos un editor de bloques que puede generar un fragmento de JavaScript ejecutable: necesitamos algo que pueda ejecutar este fragmento de JavaScript en un hilo diferente sin interferir con el servidor web..
- Para ejecutar el fragmento, creamos una instancia del motor de JavaScript Chakra (que forma parte de todas las ediciones de Windows 10) e iniciamos el fragmento. Chakra hace que sea fácil detener el fragmento a voluntad.
- Muchos de los bloques interactúan directamente con el Sense Hat. Podríamos haber escrito un montón de código JavaScript para controlar el Sense Hat, pero aprovechamos la biblioteca C # SenseHat completa y fácil de usar de EmmellSoft. Hacer un puente entre JavaScript y C # fue extremadamente fácil aprovechando una biblioteca UWP contenedora.
- Por último, agregamos algo de maquinaria para asegurarnos de que el último fragmento de "ejecución" se guarde en la Raspberry Pi (tanto el diseño de los bloques como el fragmento de JavaScript se almacenan en caché) y que se ejecute nuevamente la próxima vez que se inicie la aplicación IoT Core Blockly (por ejemplo, cuando reinicie tu dispositivo).
Para obtener más información sobre cómo configurar IoT Core Blockly en su Raspberry Pi, consulte la publicación del blog de Microsoft..