Microsoft ha recentemente introdotto una nuova app UWP che consente agli utenti di programmare un Raspberry Pi 2, Raspberry 3 o un Raspberry Pi Sense Hat dai propri browser. Windows 10 IoT Core Blockly consente agli utenti di creare un programma con blocchi ad incastro che possono quindi controllare un mini-computer Raspberry Pi.
Microsoft ha preso ispirazione da quattro diversi progetti durante la progettazione di questo nuovo strumento, tra cui Blockly editor di blocchi open source di Google, micro: bit della BBC e il proprio editor di blocchi.
Windows 10 IoT Core Blockly ha una struttura semplice: l'app principale avvia un server web che serve la pagina dell'editor Blockly sulla porta 8000. Gli utenti possono accedere all'editor Blockly navigando nel loro Raspberry Pi: 8000 da un browser. Microsoft ha anche creato blocchi personalizzati per funzionalità Sense Hat specifiche che possono essere trovate in categorie specifiche Base, Input, LED, Immagini, Pin e altro.
Altre caratteristiche includono:
- Blockly semplifica la traduzione dei blocchi in JavaScript, in modo da poter generare uno snippet JavaScript eseguibile. Puoi vedere in che cosa si traduce il tuo programma a blocchi in JavaScript premendo il pulsante blu "Converti in JavaScript" - nota: per abilitare "eventi" come "con il pulsante del joystick premuto" abbiamo alcune funzioni JavaScript di supporto e prestiamo particolare attenzione al ordine delle varie funzioni.
- A questo punto, abbiamo un editor di blocchi in grado di generare uno snippet JavaScript eseguibile: abbiamo bisogno di qualcosa che possa eseguire questo frammento JavaScript su un thread diverso senza interferire con il server web.
- Per eseguire lo snippet, istanziamo il motore JavaScript Chakra (che fa parte di ogni edizione di Windows 10) e avviamo lo snippet. Chakra rende facile interrompere lo snippet a piacimento.
- Molti dei blocchi interagiscono direttamente con Sense Hat. Avremmo potuto scrivere un mucchio di codice JavaScript per controllare Sense Hat, ma abbiamo sfruttato la libreria C # SenseHat completa e facile da usare di EmmellSoft. Il bridging tra JavaScript e C # è stato estremamente semplice sfruttando una libreria UWP wrapper.
- Infine, abbiamo aggiunto alcuni macchinari per assicurarci che l'ultimo snippet "eseguito" venga salvato sul Raspberry Pi (sia il layout dei blocchi che lo snippet JavaScript vengono memorizzati nella cache) e che venga eseguito di nuovo al successivo avvio dell'app IoT Core Blockly (ad es. Al riavvio il tuo dispositivo).
Per ulteriori informazioni su come configurare IoT Core Blockly sul tuo Raspberry Pi, controlla il post del blog di Microsoft.