Dans notre précèdent article, nous étions ressortis assez frustrés de l'installation de Windows 10 on ARM sur notre Raspberry Pi. Il faut dire que ce système d'exploitation n'est absolument pas optimisé pour tourner sur la framboise. Nous avons donc finalement décidé, cette fois-ci, de tester un OS destiné aux nano-ordinateurs, déployé et approuvé par Microsoft : il s'agit de Windows 10 IoT Core.
Windows 10 IoT Core, c'est quoi ?
Ne vous laissez pas tromper par sa désignation, Windows 10 IoT Core n'a pas grand-chose à voir avec le dernier système d'exploitation grand public de Microsoft, du moins elle ne porte pas les mêmes promesses que Windows 10 ARM64, de porter l'environnement de bureau de Windows 10 sur Raspberry Pi.Cette version minimaliste, et très légère, est optimisée pour les modules et nano-ordinateurs (Raspberry Pi, Intel Joule, Dragonboard et Minnowboard Max) avec ou sans affichage. Elle ne requiert en effet pas plus de 400 Mo de RAM pour fonctionner.
Comme son nom l'indique, Windows IoT Core se destine à l'IoT - Internet des Objets - et est particulièrement conçu pour les Makers qui souhaitent créer et gérer des objets connectés. Avec cette solution, Microsoft ouvre ses portes sur le monde du libre et de l'Open Source, et rend accessible la création d'appareils pour des applications tels que la robotique, la domotique et bien d'autres systèmes embarqués grâce à des nano-ordinateurs peu coûteux.
Fonctionnant depuis un ordinateur exécutant une version de Windows 10, Windows 10 IoT fait l'impasse sur un environnement de bureau ou une interface en ligne de commande, puisqu'elle utilise l'API Universal Windows Platform (UWP) qui permet de développer des applications pouvant être exécutées avec de multiples objets connectés. En outre, Windows 10 IoT Core fonctionne aussi avec une assez large diversité de langages comme Python, C ++, C #, Node.js, ou encore JavaScript. Les bidouilleurs en herbe comme les professionnels peuvent aussi avoir recours à Visual Studio pour développer leurs applications, mais aussi à des outils tels que l'API Wiring d'Arduino ou encore au projet Open Source de Connect the Dots qui permet de mettre en œuvre des solutions IoT tout en profitant des services analytiques de Microsoft Azure.
Sur sa page GitHub, Microsoft propose plusieurs dizaines d'exemples d'applications classées par catégories pour vos appareils. Vous retrouverez également, sur hackster.io, une sélection de projets réalisés grâce à Windows 10 IoT Core.
Débuter facilement avec l'outil IoT Dashboard
Pour gérer le plus facilement possible vos différents matériels destinés à l'IoT, Microsoft à mis au point un outil pratique et simple d'utilisation : Windows 10 IoT Core Dashboard, ou plus simplement IoT Dashboard. Cet outil vous permettra entre autres d'installer facilement Windows 10 IoT Core sur votre Raspberry Pi, ainsi que sur tout autre module, de gérer les différents appareils, de vous connecter via Microsoft Azure, mais aussi de retrouver rapidement les différents périphériques connectés sur le réseau local.1. Déploiement de Windows 10 IoT Core sur la carte SD
Pour commencer, il vous faudra télécharger l'exécutable permettant d'installer Windows 10 IoT Core Dashboard. Dans cette première partie, vous n'aurez pas encore besoin de votre Raspberry Pi mais simplement d'un ordinateur sous Windows ainsi que d'une carte microSD et, éventuellement, de son adaptateur.Installez IoT Dashboard grâce à l'exécutable récupéré dans le Centre de développement Windows. Sur cette page, Microsoft propose également d'autres téléchargements tels que Visual Studio 2017 ou Windows Developer Tools for Visual Studio, des outils qui pourraient vous être bien utiles par la suite.
Une fois installée, ouvrez l'application puis rendez vous dans la section « Configurer un nouvel appareil ». Vous noterez que pour accéder aux versions les plus récentes de Windows IoT Core, il est nécessaire d'être connecté via un compte Microsoft.
Ici, il suffit de choisir le type d'appareil, dans notre cas « Broadcomm Raspberry Pi 2 & 3 », ainsi que la version du système d'exploitation que vous souhaitez obtenir. Dans le cadre de ce tutoriel, nous avons opté pour la dernière version stable de Windows 10 IoT Core, et non pour une Insider Preview.
Pour faire tourner Windows 10 IoT Core sur le plus récent des Raspberry Pi, il est nécessaire de faire partie du programme Insider de Microsoft, afin d'avoir accès à une preview Windows IoT pour Pi 3 B +, puis de réaliser une installation « Custom » à partir d'une image « .iso », depuis l'IoT Dashboard. Pour plus d'informations, connectez-vous à votre compte Microsoft depuis cette page, où vous pourrez notamment acquérir la Technical Preview Build 17661 pour RaspberryPi 3B+.
Sélectionnez ensuite l'emplacement de votre carte SD en faisant bien attention de ne pas vous tromper car le processus d'installation supprimera toutes les données sur l'emplacement sélectionné. Votre carte microSD doit au minimum avoir une capacité de 8 Go, il est également préférable d'utiliser une carte de classe 10.
Il ne vous reste plus qu'à choisir un nom ainsi qu'un mot de passe pour votre appareil. Concernant la connexion Wi-Fi, seuls les réseaux auxquels votre PC a déjà été connecté sont affichés ici ; pour indiquer le réseau auquel se connecter ensuite via votre Raspberry Pi, cochez la case « Connexion au réseau Wi-Fi », si cela est nécessaire bien entendu.
Acceptez les termes du contrat de licence logiciel puis cliquez ensuite sur « Télécharger et installer ».
Vous pourrez suivre la progression du téléchargement et de l'installation de l'OS sur votre carte microSD. Le téléchargement en soi est assez rapide puisque l'image pèse environ 800 Mo, mais son déploiement sur la carte SD peut prendre plusieurs longues minutes.
Notons que l'installation de Windows 10 IoT Core peut également se faire de façon simplifiée via l'utilitaire NOOBS que nous vous avions déjà présenté en vue d'installer Raspbian sur Raspberry Pi. Seulement, nous avons préféré décrire ici la solution avec IoT Dashboard afin d'avoir un contrôle plus approfondi sur notre matériel tout en profitant au mieux des ressources mis à disposition par Microsoft.
2. Installation de Windows 10 IoT Core sur Raspberry Pi
Une fois le déploiement achevé sur votre carte microSD, cette dernière comprend normalement trois partitions. Vous pouvez désormais éjecter correctement votre carte afin de l'insérer dans votre Raspberry Pi.Raccordez votre framboise à son alimentation ainsi qu'à un écran avec son câble HDMI, insérez-y votre carte microSD et c'est parti, vous allez désormais pouvoir passer à la partie installation sur votre Raspberry Pi.
Contrairement à une installation classique de Windows 10, à l'instar de notre installation de Windows 10 ARM64 sur le Raspberry Pi, vous pourrez constater ici que le processus est plutôt épuré et rapide puisqu'il vous suffira de configurer votre connexion internet avant de vous retrouver sur l'interface de Windows 10 IoT Core.
L'installation en elle-même peut prendre cinq bonnes minutes sur un Raspberry Pi 3 B, voir jusqu'à 15 minutes si vous utilisez une carte SD moins rapide que celles de classe 10. Microsoft recommande par ailleurs de changer votre carte microSD si jamais vous rencontrez des problèmes de lenteur, ou si l'installation ne fonctionne simplement pas. Le premier démarrage peut donc prendre un certain temps, notez néanmoins que les démarrages suivants devraient, logiquement, être bien plus rapides (environ 30 secondes dans notre cas).
Une fois votre Raspberry Pi démarré et connecté à Internet, vous devriez retrouver votre appareil dans le Dashboard, précédemment utilisé pour installer Windows IoT Core sur la carteSD. Néanmoins, si vous utilisez un Raspberry Pi 2, il est fort probable que vous soyez confronté à des problèmes de connectivité Wi-Fi, si c'est le cas il vous faudra certainement passer par un câble Ethernet.
Pour retrouver votre appareil, rendez-vous simplement dans « Mes appareils », dans l'interface de l'IoT Dashboard sur votre PC sous Windows 10. Si jamais votre Raspberry Pi n'y apparaît pas, vérifiez que windows10iotcoredashboard.exe soit bien autorisé à communiquer sur votre réseau, via le pare-feu Windows.
3. Connexion au Windows Device Portal
D'un simple clic droit sur votre appareil, vous serez en mesure de lancer Windows Device Portal, que Microsoft a nommé ici « Portail d'appareil ». Vous serez ainsi redirigé, via le navigateur web, vers l'adresse IP de votre appareil. Entrez alors l'identifiant « administrator » (et non administrateur !), ainsi que le mot de passe que vous avez choisi lors de la première étape avec IoT Dashboard.Vous découvrirez une interface assez complète, qui vous permettra de gérer une multitude de paramètres (par exemple les connexions réseau et Bluetooth), de vérifier si une éventuelle mise à jour est disponible, d'activer le Windows IoT Remote Server, de suivre les performances de votre appareil, d'avoir des détails sur les processus en cours d'exécution, ou encore, et surtout, de gérer les applications installées sur votre appareil, en installer de nouvelles et ainsi de suite. En somme, un très bon outil pour interagir avec Windows IoT Core.
Pour vous faire une bonne idée de la façon dont fonctionne Windows 10 IoT Core, vous pouvez commencer par déployer l'un des exemples proposés dans l'IoT Dashboard, tels que le classique Hello World, l'Internet radio, ou encore l'IoT Standard Blockly, qui permet de programmer simplement un Raspberry Pi muni d'une carte d'extension Sense Hat.
Windows ou Linux ?
Bien que le Raspberry soit généralement utilisé avec Linux, Windows propose ici une alternative performante et cohérente pour les Makers, qu'ils soient amateurs ou professionnels, afin de créer des systèmes embarqués de haute qualité. Pour la suite, si de solides connaissances en développement sont requises pour déployer des applications pleinement opérationnelles, Windows IoT Core rend cette tâche peu couteuse et accessible, même aux amateurs, grâce à sa myriade de ressources, pensées pour vous permettre de profiter de la meilleure expérience possible.À vous de jouer !