Microsoft hat kürzlich eine neue UWP-App eingeführt, mit der Benutzer einen Raspberry Pi 2, Raspberry 3 oder einen Raspberry Pi Sense Hat über ihren Browser programmieren können. Mit Windows 10 IoT Core Blockly können Benutzer ein Programm mit ineinandergreifenden Blöcken erstellen, das dann einen Raspberry Pi-Minicomputer steuern kann.
Microsoft ließ sich bei der Entwicklung dieses neuen Tools von vier verschiedenen Projekten inspirieren, darunter dem Open-Source-Blockeditor Blockly von Google, dem micro: bit von BBC und einem eigenen Blockeditor.
Windows 10 IoT Core Blockly hat eine einfache Struktur: Die Haupt-App startet einen Webserver, der die Blockly-Editor-Seite auf Port 8000 bereitstellt. Benutzer können auf den Blockly-Editor zugreifen, indem sie über einen Browser zu ihrem Raspberry Pi: 8000 navigieren. Microsoft hat außerdem benutzerdefinierte Blöcke für bestimmte Sense Hat-Funktionen erstellt, die unter bestimmten Kategorien Basic, Input, LED, Images, Pin und mehr zu finden sind.
Weitere Funktionen sind:
- Blockly macht es einfach, Blöcke in JavaScript zu übersetzen, sodass wir ein ausführbares JavaScript-Snippet generieren können. Sie können sehen, was Ihr Blockprogramm in JavaScript übersetzt, indem Sie auf die blaue Schaltfläche "In JavaScript konvertieren" klicken. Hinweis: Um "Ereignisse" wie "Drücken der Joystick-Taste" zu aktivieren, haben wir einige JavaScript-Hilfsfunktionen und achten besonders auf die Reihenfolge der verschiedenen Funktionen.
- Zu diesem Zeitpunkt haben wir einen Blockeditor, der ein ausführbares JavaScript-Snippet generieren kann: Wir benötigen etwas, das dieses JavaScript-Snippet auf einem anderen Thread ausführen kann, ohne den Webserver zu stören.
- Um das Snippet auszuführen, instanziieren wir die Chakra-JavaScript-Engine (die Teil jeder Windows 10-Edition ist) und starten das Snippet. Chakra macht es einfach, das Snippet nach Belieben anzuhalten.
- Viele der Blöcke interagieren direkt mit dem Sense Hat. Wir hätten eine Menge JavaScript-Code schreiben können, um den Sense Hat zu steuern, aber wir haben die vollständige und einfach zu verwendende C # SenseHat-Bibliothek von EmmellSoft genutzt. Die Überbrückung zwischen JavaScript und C # war mithilfe einer Wrapper-UWP-Bibliothek äußerst einfach.
- Zuletzt haben wir einige Maschinen hinzugefügt, um sicherzustellen, dass das letzte "Run" -Snippet auf dem Raspberry Pi gespeichert ist (sowohl das Blocklayout als auch das JavaScript-Snippet werden zwischengespeichert) und beim nächsten Start der IoT Core Blockly-App erneut ausgeführt (z. B. beim Neustart) Ihr Gerät).
Weitere Informationen zum Einrichten von IoT Core Blockly auf Ihrem Raspberry Pi finden Sie im Microsoft-Blogbeitrag.