Microsoft a récemment introduit une nouvelle application UWP qui permet aux utilisateurs de programmer un Raspberry Pi 2, Raspberry 3 ou un Raspberry Pi Sense Hat à partir de leur navigateur. Windows 10 IoT Core Blockly permet aux utilisateurs de créer un programme avec des blocs imbriqués qui peuvent ensuite contrôler un mini-ordinateur Raspberry Pi.
Microsoft s'est inspiré de quatre projets différents lors de la conception de ce nouvel outil, notamment l'éditeur de blocs open source Blockly de Google, micro: bit de la BBC et son propre éditeur de blocs..
Windows 10 IoT Core Blockly a une structure simple: l'application principale démarre un serveur Web qui dessert la page de l'éditeur Blockly sur le port 8000. Les utilisateurs peuvent accéder à l'éditeur Blockly en naviguant vers leur Raspberry Pi: 8000 à partir d'un navigateur. Microsoft a également créé des blocs personnalisés pour des fonctionnalités spécifiques de Sense Hat qui peuvent être trouvées dans des catégories spécifiques Basique, Entrée, LED, Images, Pin, etc..
Les autres caractéristiques comprennent:
- Blockly simplifie la traduction des blocs en JavaScript, afin que nous puissions générer un extrait de code JavaScript exécutable. Vous pouvez voir ce que votre programme de blocs se traduit en JavaScript en appuyant sur le bouton bleu «Convertir en JavaScript» - remarque: pour activer les «événements» comme «sur le bouton du joystick enfoncé», nous avons quelques fonctions d'aide JavaScript et nous accordons une attention particulière à la ordre des différentes fonctions.
- À ce stade, nous avons un éditeur de blocs qui peut générer un extrait de code JavaScript exécutable: nous avons besoin de quelque chose qui puisse exécuter cet extrait de code JavaScript sur un autre thread sans interférer avec le serveur Web.
- Pour exécuter l'extrait de code, nous instancions le moteur JavaScript Chakra (qui fait partie de chaque édition de Windows 10) et démarrons l'extrait. Chakra facilite l'arrêt de l'extrait à volonté.
- De nombreux blocs interagissent directement avec le Sense Hat. Nous aurions pu écrire un tas de code JavaScript pour contrôler Sense Hat, mais nous avons tiré parti de la bibliothèque C # SenseHat complète et facile à utiliser d'EmmellSoft. Le pontage entre JavaScript et C # était extrêmement facile en exploitant une bibliothèque UWP wrapper.
- Enfin, nous avons ajouté des machines pour nous assurer que le dernier extrait de code «exécuté» est enregistré sur le Raspberry Pi (la disposition des blocs et l'extrait de code JavaScript sont mis en cache) et réexécuté au prochain démarrage de l'application IoT Core Blockly (par exemple, lorsque vous redémarrez votre appareil).
Pour plus d'informations sur la configuration de IoT Core Blockly sur votre Raspberry Pi, consultez l'article de blog de Microsoft.