Accéder au contenu principal

Windows 10 (IoT) sur Raspberry Pi 2

J'ai reçu un mail de Microsoft suite à l'inscription sur le programme Microsoft IoT permettant de télécharger gratuitement Windows 10 preview pour Raspberry Pi 2. Il suffit pour cela de s'inscrire à l'adresse https://connect.microsoft.com/windowsembeddediot/SelfNomination.aspx?ProgramID=8558 et d'attendre la sortie des nouvelles versions. Il faut bien sûr avoir un Raspberry Pi 2 pour pouvoir commencer à tester cette nouvelle version.
La page http://ms-iot.github.io/content/en-US/win10/SetupRPI.htm indique précisément comment s'inscrire et télécharger l'image.

Téléchargement de l'image

Le fichier Windows_IoT_Core_RPI2_BUILD.zip téléchargé depuis le site contient deux fichiers : WindowsDeveloperProgramForIoT.msi (nécessite d'avoir Visual Studio Pro, pas Express, donc inutilisable pour moi) et un fichier Flash.ffu. Pas de fichier ".img" classique à une installation sur Raspberry. La procédure indique de lancer les commandes suivantes :
1."diskpart" puis "list disk" et "exit" pour déterminer où la carte SD est installée.
2. dism.exe /Apply-Image /ImageFile:flash.ffu /ApplyDrive:\\.\PhysicalDrive1 /SkipPlatformCheck

C'est là que les choses se gâtent. Ce serait trop simple, sinon. DISM est l'outil de Gestion et de Maintenance des Images de Déploiement. Il est disponible sous Windows 7, mais la version installée par défaut ne supporte pas les nouvelles options proposées sur la page Web. Le site indique qu'il faut faire l'installation depuis un PC sous Windows 10. Si vous n'en n'avez pas sous la main, il est possible d'installer l'ADK pour Windows 10, même sous Windows 7. Celui-ci peut être obtenu directement à l'adresse http://go.microsoft.com/fwlink/p/?LinkId=526740. Comme souvent, il ne s'agit pas du programme en lui même, mais d'un programme d'aide à l'installation de modules. Sélectionnez uniquement "Deployment Tools" pour économiser quelques méga-octets.
 

Copiez ensuite le fichier flash.ffu dans le répertoire "C:\Program Files (x86)\Windows Kits\10\Assessment and Deployment Kit\Deployment Tools\amd64\DISM" et lancez la commande :
"dism.exe /Apply-Image /ImageFile:flash.ffu /ApplyDrive:\\.\PhysicalDrive1 /SkipPlatformCheck"



 Une fois le flash de la carte terminée, insérez là dans le RaspBerry et démarrez le en l'ayant connecté à un écran. Le premier démarrage prend environ 5 minutes avec un long écran noir sans que rien ne se passe, puis la machine redémarre et on a enfin l'écran tant attendu de Windows 10.


C'est très bien tout ça, mais on fait quoi avec?

Un ensemble de programmes sont déjà disponibles en Open Source à l'adresse suivante:
https://github.com/Microsoft/Windows-universal-samples. On y trouve ainsi des exemples en Python, en Node.js (Javascript) et en C#. Toutes ces applications peuvent être testées et déployées depuis Visual Studio 2015 preview. On se retrouve ainsi un peu dans le même environnement que celui que j'utilise pour développer sur Fez Panda II ou Fez Cerbuino. Voilà qui ne devrait pas trop me dépayser.
La connexion au Rpi2 est également un peu différente. Il faut utiliser PowerShell au lieu du ssh Putty habituel.

Commentaires

  1. Intéressant ! Quelle est la valeur ajoutée par rapport à un linux ?

    RépondreSupprimer
  2. Pour l'instant, Linux sur Raspberry Pi est très loin devant (Java, Python et le repository Debian). La version actuelle de Windows 10 est complètement nue, sans aucune application pré-compilée et il faut se connecter en shell. Si Microsoft voit qu'il y a de l'intérêt, cela permettra peut être de disposer des mêmes applications que sur les Lumia, c'est à dire Office et tout le Market. Cela dit le Raspberry Pi est sous ARM et tous les drivers ne seront pas forcément disponibles (Wifi, imprimante, bluetooth, etc). On n'en est qu'au début pour Windows 10 sur Raspberry Pi.

    RépondreSupprimer

Enregistrer un commentaire

Posts les plus consultés de ce blog

Utilisez votre tablette Android comme second écran pour Linux (Raspberry Pi, MK908II)

Les tablettes Android atteignent désormais des prix qui défient toute concurrence. On trouve désormais des modèles à 39 € TTC en super marché, soit à peine plus cher que le Raspberry PI, mais avec un écran. Ces modèles souvent mono-core 1Ghz ou 1,4 Ghz avec 512 ou 1Go de mémoire ne sont très probablement pas utilisables pour une utilisation régulière sur Internet et ne sont en aucun point comparables à leur équivalent de marque (Samsung, Sony, LG, HTC, Lenovo, etc). Plusieurs tutoriels indiquent comment connecter utiliser une tablette Android comme second écran ( http://www.linux-magazine.com/Online/Blogs/Productivity-Sauce/Use-an-Android-Device-as-Screen-and-Input-for-Raspberry-Pi ). Ces méthodes utilisent généralement l'USB Tethering qui n'est malheureusement disponible que sur les téléphones ou tablettes avec un accès mobile (3G ou 4G) inclus. Dans ce billet, je vais vous montrer comment se connecter à une tablette en utilisant le mode Debug adb (Android Debug Bridge...

Ardublock ou S4A pour développer graphiquement

Si vous n'aimez pas le développement en C, ou C# sur les micro-contrôleurs, vous pouvez vous essayer au développement graphique avec Ardublock. Historique Cet environnement de développement est issu d' OpenBlocks développé par le MIT qui se positionne lui même dans la suite du langage Logo de Seymour Papert . Le langage Logo est un langage issu de l'Intelligence Artificielle dans les années 1970 dont l'objectif était de faciliter l'apprentissage de la programmation à de jeunes enfants par le biais du pilotage d'une tortue munie d'un crayon. Les ordres étaient relativement simples : avance de 90 cm, tourne à droite de 90°, etc. Ceci, permettait de réaliser des dessins assez simple, de piloter un petit robot et d'apprendre la programmation. C'était cependant un langage textuel. Exemple pour tracer un carré : POUR CARRE REPETE 4 [AV 100 TD 90] FIN   Son digne successeur, le langage Scratch désormais intégré à l'image Raspbian du Raspberry Pi...

Hack du RoboSapien en Infra-Rouge

Mon fils a eu un RoboSapien V1 il y a une dizaine d'années. Il prenait la poussière sur le haut d'une armoire, jusqu'à ce que j'ai envie de le ramener à la vie. Il était temps, les piles étaient en train de commencer à couler et vu le nombre de servo moteurs qu'il contient, ses jours étaient comptés. Mais non, j'ai réussi à contenir mon irrésistible envie de tout démonter et j'ai décidé de passer par la télécommande Infrarouge pour le piloter. Le protocole est assez similaire de celui d'une télécommande infrarouge classique avec cependant quelques petites différences. Il est correctement expliqué sur les sites http://www.aibohack.com/robosap/ir_codes.htm et http://www.markcra.com/robot/ir_codes.php . Je vais traduire en français pour ceux qui auraient un peu de difficulté. Il existe des librairies Arduino, mais comme d'habitude, pas toujours de librairie en C#. Voici les choses importantes à connaitre sur le protocole : Le protocole envoie...