Microsoft introducerede for nylig en ny UWP-app, der giver brugerne mulighed for at programmere en Raspberry Pi 2, Raspberry 3 eller en Raspberry Pi Sense Hat fra deres browsere. Windows 10 IoT Core Blockly lader brugerne oprette et program med sammenlåsende blokke, som derefter kan styre en Raspberry Pi mini-computer.
Microsoft tog inspiration fra fire forskellige projekter, når de designede dette nye værktøj, herunder Googles Blockly open source block editor, BBC's micro: bit og sin egen block editor..
Windows 10 IoT Core Blockly har en enkel struktur: Hovedappen starter en webserver, der betjener Blockly-editor-siden på port 8000. Brugere kan få adgang til Blockly-editoren ved at gå til deres Raspberry Pi: 8000 fra en browser. Microsoft oprettede også brugerdefinerede blokke til specifikke Sense Hat-funktioner, som kan findes under specifikke kategorier Basic, Input, LED, Images, Pin og mere.
Andre funktioner inkluderer:
- Blockly gør det nemt at oversætte blokke til JavaScript, så vi kan generere et kørbart JavaScript-uddrag. Du kan se, hvad dit blokprogram oversætter til i JavaScript ved at trykke på den blå knap "Konverter til JavaScript" - Bemærk: for at aktivere "begivenheder" som "på joystick-knappen trykkes" har vi et par JavaScript-funktioner, og vi lægger særlig vægt på rækkefølgen af de forskellige funktioner.
- På dette tidspunkt har vi en blokeditor, der kan generere et JavaScript-uddrag, der kan køres: Vi har brug for noget, der kan udføre dette JavaScript-uddrag på en anden tråd uden at forstyrre webserveren.
- For at køre uddraget instantierer vi Chakra JavaScript-motoren (som er en del af hver Windows 10-udgave) og starter uddraget. Chakra gør det let at stoppe uddraget efter ønske.
- Mange af blokkene interagerer direkte med Sense Hat. Vi kunne have skrevet en masse JavaScript-kode for at kontrollere Sense Hat, men vi udnyttede det komplette og brugervenlige C # SenseHat-bibliotek fra EmmellSoft. At bygge bro mellem JavaScript og C # var ekstremt let at udnytte et UWP-bibliotek til indpakning.
- Til sidst tilføjede vi nogle maskiner for at sikre, at det sidste "kør" -uddrag gemmes på Raspberry Pi (både bloklayoutet og JavaScript-uddraget er cache) og køres igen næste gang IoT Core Blockly-appen starter (f.eks. Når du genstarter din enhed).
For mere information om, hvordan du konfigurerer IoT Core Blockly på din Raspberry Pi, skal du tjekke Microsofts blogindlæg.