Microsoft introducerade nyligen en ny UWP-app som tillåter användare att programmera en Raspberry Pi 2, Raspberry 3 eller en Raspberry Pi Sense Hat från sina webbläsare. Windows 10 IoT Core Blockly låter användare skapa ett program med sammankopplade block som sedan kan styra en Raspberry Pi minidator.
Microsoft hämtade inspiration från fyra olika projekt när de designade detta nya verktyg, inklusive Googles Blockly open source block editor, BBC: s micro: bit och sin egen block editor..
Windows 10 IoT Core Blockly har en enkel struktur: huvudappen startar en webbserver som serverar Blockly-redigeringssidan på port 8000. Användare kan komma åt Blockly-redigeraren genom att bläddra till deras Raspberry Pi: 8000 från en webbläsare. Microsoft skapade också anpassade block för specifika Sense Hat-funktioner som finns under specifika kategorier Basic, Input, LED, Images, Pin och mer.
Andra funktioner inkluderar:
- Blockly gör det enkelt att översätta block till JavaScript, så vi kan skapa ett körbart JavaScript-kodavsnitt. Du kan se vad ditt blockprogram översätts till i JavaScript genom att trycka på den blå knappen "Konvertera till JavaScript" - notera: för att aktivera "händelser" som "på joystick-knappen intryckt" har vi några hjälp JavaScript-funktioner och vi ägnar särskild uppmärksamhet åt ordning på de olika funktionerna.
- Vid den här tiden har vi en blockredigerare som kan generera ett körbart JavaScript-kodavsnitt: Vi behöver något som kan köra JavaScript-kodavsnittet på en annan tråd utan att störa webbservern.
- För att köra utdraget startar vi Chakra JavaScript-motorn (som ingår i varje Windows 10-utgåva) och startar utdraget. Chakra gör det enkelt att stoppa utdraget efter behag.
- Många av blocken interagerar direkt med Sense Hat. Vi kunde ha skrivit en massa JavaScript-kod för att styra Sense Hat, men vi utnyttjade det kompletta och lättanvända C # SenseHat-biblioteket från EmmellSoft. Att överbrygga mellan JavaScript och C # var extremt enkelt att använda ett UWP-bibliotek för omslag.
- Sist lade vi till några maskiner för att se till att det senaste "kör" -avsnittet sparas på Raspberry Pi (både blocklayouten och JavaScript-utdraget är cachat) och körs igen nästa gång IoT Core Blockly-appen startar (t.ex. när du startar om din enhet).
För mer information om hur du ställer in IoT Core Blockly på din Raspberry Pi, kolla in Microsofts blogginlägg.