Accéder au contenu principal

Emulateur Raspberry Pi sous Windows

Si vous souhaitez développer ou tester des applications pour Raspberry Pi, vous pouvez, soit compiler directement l'application sur Raspberry, soit la développer sous Linux ou Windows et la compiler pour Raspberry. La seconde solution est souvent plus simple car elle permet de disposer d'un environnement de compilation complet tel qu'Eclipse pour le développement. Une fois l'application développée, il faut la tester sur Raspberry. Là, il faut copier l'application en utilisant un client FTP ou SCP, puis se connecter en SSH et lancer l'exécutable.
Il existe un autre moyen de tester une application Raspberry sans avoir à l'allumer. Il suffit de passer par un émulateur tel que QEMU qui permet de lancer un OS pour processeur ARM sous Linux ou Windows.

L'émulateur sous Windows

1. Récupérez l'émulateur à l'adresse suivante : http://sourceforge.net/projects/rpi-emulator-win32/.
2. Dézippés le contenu de l'image Rpi-Occidentalis-v02-qemu.7z avec 7-zip.
3. Démarrez l'émulation en lançant run.bat

La configuration du Raspberry

Une fois la machine virtuelle démarrée, vous devrez la configurer la première fois. Pour faire une installation en français, commencez par changer la langue locale en ajoutant fr-FR et éventuellement fr-FR-UTF-8


Changez ensuite la configuration du clavier pour le passer en mode Azerty.
Faitez OK et Choisissez la disposition Française.
Autorisez le mode SSH, ce qui vous permettra de vous connecter avec Putty ou de transférer des fichiers sur la machine.
Choisissez ou non d'utiliser le mode graphique au démarrage. N'autorisez surtout pas l'utilisation des touches CTRL+ALT+BACKSPACE pour sortir du mode graphique, car les touches CTRL+ALT permettent à l'émulateur de redonner le contrôle souris et clavier à Windows.
Vous pouvez également définir le mot de passe. Utilisez en un qui vous permette de vous connecter aussi bien en AZERTY qu'en QWERTY pour éviter les surprises.
Si vous redémarre entre deux modifications de configuration vous pouvez relancer l'outil à tout moment à l'aide de la commande "raspi-config".

Utilisation en mode graphique

Une fois démarré en mode graphique ou en exécutant startx depuis la ligne de commande, vous retrouverez votre environnement graphique habituel.

Utilisation en mode ligne de commande

La machine virtuelle est pré-configurée pour rediriger le port 2222 vers le port SSH (22). Vous pouvez vous connecter avec Putty ou n'importe quel autre outils SSH en vous connectant sur "localhost:2222".

Quelle utilité?

L'émulateur vous permettra de tester assez simplement de nouveaux outils tant qu'ils ne font pas appels à des ressources physiques telles que les ports GPIO, le bluetooth, le Wifi, etc. Vous pouvez par exemple installer et tester un Asterisk, un serveur domotique, Java 8, etc. Cela vous permet ainsi de préparer une image sans avoir à la copier sur une carte SD, à démarrer le Raspberry, etc. Au final, il faudra quand même tester la solution sur le Raspberry, mais en phase de développement, vous aurez économisé beaucoup de temps.



Commentaires

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...