[IoT] Raspberry Pi 2 et Windows 10 IoT Core – Les premiers pas

Aujourd’hui nous allons installer Windows 10 IoT Core Insider Preview sur un Raspberry Pi 2 et y installer notre première application.

 

J’ai pas mal hésité avant de faire cet article. En effet, les tutoriels proposés par Microsoft sont déjà très complets et détaillés et je vous invite bien sûr à les consulter en suivant ce lien : http://ms-iot.github.io/content/win10/SetupRPI.htm

Je souhaitais proposer ici une alternative en français pour ceux que la langue de Shakespeare rebute mais surtout en abordant les problématiques que l’on peut rencontrer durant cette installation.

 

Prérequis :

Il faut avoir une machine sous Windows 10. Celle-ci sera nécessaire, non seulement pour l’installation de Win10 IOT Core sur la SD mais également pour le développement et déploiement de vos apps sur le Raspberry.

Vous devez également être inscrit au programme Connect Windows Embedded . C’est gratuit et se fait en quelques clics donc pas d’inquiétude.

Enfin, vous devez avoir un Raspberry Pi 2 (oui oui je vous assure) et une carte micro SD.

 

Installation

 

Première étape : Installation sur la carte SD

Télécharger l’image de Windows 10 destinée au Raspberry Pi 2 : Windows 10 IoT Core Insider Preview Image for Raspberry Pi 2

Décompressez le fichier télécharger et vérifier qu’il contient le fichier flash.ffu qui servira à l’installation.

 

Insérez ensuite la carte micro SD dans le PC tournant sous Windows 10.

Ouvrez alors une console en mode administrateur.

On va ensuite essayer de trouver le numéro de disque de notre carte SD avec les commandes suivantes :

diskpart
list disk
exit

 

Une fois que l’on a identifié le numéro de notre carte, on utilise la commande suivante pour l’installation en pensant bien à remplacer le N de PhysicalDriveN par l’identifiant de notre carte :

dism.exe /Apply-Image /ImageFile:flash.ffu /ApplyDrive:\\.\PhysicalDriveN /SkipPlatformCheck

 

Vous pouvez ensuite retirer la carte SD de l’ordinateur en pensant bien sûr à la retirer “en toute sécurité” pour éviter de se retrouver avec une image corrompue.

 

Il ne vous reste alors pour l’installation qu’à insérer la carte dans votre Raspberry Pi 2 et à le brancher. Pensez également à le connecter au réseau, avec un câble RJ45 tout simplement, car c’est ainsi que nous pourrons l’administrer à distance.

 

Si votre carte est connectée à un écran via son port HDMI vous devriez voir cet écran :

DefaultAppRpi2

 

Vous pouvez y voir le nom de votre carte ainsi que l’adresse IP qui lui a été attribuée sur le réseau.

 

Web Server

L’image Windows 10 que nous avons installée a également installé un serveur web sur la carte et celui-ci nous permet d’y accéder depuis un simple navigateur avec l’adresse IP que nous avons récupérée :

De nombreuses fonctionnalités sont disponibles comme le listing des applications installées ou les performances CPU ou I/O.

 

Capture4

Nous pouvons d’ailleurs y voir que l’écran par défaut que nous avons affiché sur notre Raspberry est en réalité celui de l’application par défaut installée sur celui-ci :

runningApp

 

A nous désormais d’installer notre première application.

 

Développement et déploiement pour Raspberry Pi 2

 

Visual Studio 2015 et Windows 10 SDK

Pour commencer à développer sur Windows 10 IOT Core vous devez avoir installé Microsoft Visual Studio 2015 RC.

La subtilité à ne pas rater est qu’il faut choisir une installation custom et bien installer le SDK de développement Windows 10 avec VS2015.

Si, comme moi, vous rencontrez des problèmes à installer ces outils en même temps que Visual Studio, je vais vous faire gagner du temps, des reboots inutiles et des nerfs qui lâchent.

Essayez tout simplement de récupérer l’installateur autonome de ces outils en suivant ce lien : Standalone Windows 10 SDK for Windows 10

 

SDK IoT Core

Au niveau code, nous n’allons pas rentrer dans le détail mais sachez qu’il existe déjà de nombreux samples sur le site de Microsoft pour bien débuter.

Il est bon toutefois de noter que ceux-ci possèdent déjà une référence vers le SDK Windows 10 IoT Core mais que si vous souhaitez en créer une from scratch vous devrez l’inclure vous-même. Ce SDK vous permet notamment l’accès au namespace Gpio qui est utile lors des accès aux I/O des broches du Raspberry Pi.

Capture3

IOTSDK

 

Watcher

Il est possible que vous ne souhaitiez pas brancher d’écran sur votre Raspberry mais que vous souhaitez voir à tout moment quels sont les micro-ordinateurs tournant sous Windows 10 IoT Core sur votre réseau. 

Pour cela, vous devez installer le msi qui se situe dans le dossier que vous avez décompressé au début pour installer l’image sur la micro SD.

Ce msi installera un Watcher qui liste donc tous les Windows 10 IoT Core sur le réseau avec leurs IPs et leur petit nom. C’est utile si l’affectation des adresses IPs est amenée à changer régulièrement sans avoir à monitorer celles-ci directement depuis le Raspberry.

Capture2

 

Déploiement

Comme je l’indiquais dans l’article récapitulatif IoT de la Build, le déploiement d’une app Win10 IOT Core est très simple. En effet, si vous avez l’habitude de débugger des apps Windows 8 ou 8.1 sur des tablettes distantes en wifi, vous ne serez pas dépaysés. Dans les propriétés de votre projet, dans l’onglet Debug, vous pourrez choisir “Remote Machine” et sélectionnez la cible.

Il arrive que le listing ne fonctionne pas bien et dans ce cas là, saisir l’IP ou le nom de la machine cible fonctionne tout aussi bien.

remotedevice

 

Vous avez votre cible et votre application, alors déployons :

test

 

Vous devriez désormais vous retrouvez sur votre Raspberry Pi 2 avec votre application lancée et celle-ci devrait apparaitre dans les Running Apps de la machine.

Vous pourrez alors décider de la passer en application par défaut afin que ce soit celle qui soit lancée au démarrage du Raspberry.

 

 

Aux vues des prix des Raspberry Pi 2, de la gratuité des outils et de la simplicité d’installation, vus n’avez donc plus aucune excuse pour ne pas vous lancer.

Ces billets pourraient aussi vous intéresser

Vous nous direz ?!

Commentaires

comments powered by Disqus