Upload
others
View
1
Download
0
Embed Size (px)
Citation preview
Architecture et programmation des mécanismes de base d’un système informatique
Groupe A2 : 1 Durfort Nicolas Graillot Youé
Holubec Valentin Schott Guillaume
Projet : Borne d’Arcade Raspberry PI
Table des matières
Introduction I. Partie Logicielle II. Partie Technique III. Partie Réseau
Conclusion
1
Introduction :
Notre projet de borne d’arcade, consiste en un Raspberry Pi 1, avec l’OS Recalbox (Raspbian modifié). L’engin est intégré dans son contrôleur, une manette style arcade (joystick + 8 boutons). L’ensemble portatif, permet de se brancher à n’importe quel écran à disposition (par défaut l’écran 7” fourni par l’IUT. 6 émulateurs sont compatibles avec le Pi 1. Les jeux, sauvegardes, etc, sont stockés sur la carte SD mais peuvent être modifiés à distance (voir partie III. Réseau). La disposition des boutons est étudiée pour convenir aux layouts classiques des consoles simulées. La sensation de réalisme est cruciale pour les nostalgiques.
I.Partie Logicielle
Recalbox est développé par le Français retroboy alias digitalLumberjack . L’OS est programmé de telle sorte que le programme EmulationStation démarre en frontend.
EmulationStation est luimême composé de plusieurs émulateurs développés bien avant l’apparition du Raspberry (exemple : snes9x), et déjà portés sur beaucoup de machines (parfois en homebrew par exemple sur la Nintendo Wii).
Recalbox intègre le driver “mk_arcade_joystick” (du même auteur), permettant d’utiliser le GPIO du Raspberry Pi pour connecter le joystick et les boutons (voir partie II. Technique). Grâce à ce driver, notre joystick et nos boutons sont reconnus comme une seule et même manette, pouvant être configurée dans EmulationStation directement. De plus les ports USB étant libres, des manettes supplémentaires peuvent être ajoutées (les drivers des manettes les plus commercialisées sont intégrés). L’OS intègre aussi un media center : Kodi, une version modifiée de XBMC.
2
II.Partie Technique Le matériel fourni par l’IUT est le suivant, avec en gras les éléments utilisés :
Raspberry PI 1 et son boîtier Carte µSD 4Go et son adaptateur Câble HDMI Câble d’alimentation Câble Ethernet 6 boutons arcade multicolores Nappe de connection au GPIO Écran TFTLCD 7” avec alimentation et support pivotant Kit de fils multicolores Kit de fils blancs avec cosse (normalement pour les boutons) Breadboard (inutile car tous les éléments du contrôleur sont reliés à la nappe, et ont
une masse commune) Le matériel que nous avons acheté :
Joystick à boule rouge. Boutons rouges (Start & Select)
Le joystick a pour chacune de ses directions, 2 connecteurs, dont 1 qui doit être relié
à la masse, peu importe lequel, car les touches sont reconfigurables dans EmulationStation. Les boutons ont 2 connecteurs chacun et suivent la même règle que ceux du joystick. Au total 13 pins du GPIO sont utilisés, car toutes les masses sont reliées au même pin GND.
Layout de branchement des contrôleurs sur le GPIO
3
Représentation de la ligne de masse
L’ensemble portatif fait ressortir sur un côté les câbles d’alimentation, de vidéo et de
réseau. Il devait être à la base dans une boite en bois, mais les moyens et la technique nécessaire nous faisant défauts, une humble boite en carton se trouve être le substitut idéal.
4
Dessin de définition original de la boite et rendu virtuel (à l’époque, 3 boutons
supplémentaires étaient prévus)
III.Partie Réseau Une fois le RPi alimenté en électricité, les différentes fonctions réseau sont :
Mise à jour en ligne de l’OS, comprends aussi bien les évolutions au niveau de l’OS, du frontend, des émulateurs, et des drivers.
L’OS partage sur le réseau un dossier share, accessible de 2 façons :
Par SSH. Sur le réseau de partage Windows.
On peut y modifier les jeux, sauvegardes, codes de triches, captures d’écran, etc, mais surtout un fichier de configuration : recalbox.conf permettant de modifier des options invisibles sur le frontend, par exemple activer le driver “mk_arcade_joystick”, (on peut tout de même accéder à la console avec Alt+F4).
5
Accès SSH via Putty
Accès via l’explorer Windows
6
Conclusion :
Notre projet a été mené à terme, avec toutes les fonctionnalités requises dont la partie réseau. L’avantage majeur d’un tel dispositif est qu’il est facilement transportable et se branche partout via HDMI et USB (pour l’alimentation). La bibliothèque de jeu est potentiellement énorme, de plus un support de stockage amovible peut être monté en USB. La dualité Emulateur/MediaCenter de l’OS agrandit le potentiel de notre projet. Afin d’aller plus loin, l’utilisation d’un Raspberry Pi 2 aurait pu permettre :
L’émulation de consoles plus récentes (par exemple : Playstation 1 de Sony), mais nécessite aussi plus de stockage pour les roms.
L’ajout d’un joystick et d’un set de boutons pour un 2ème joueur (voir cidessous). Ce qui est toujours possible via une platine de montage électronique USB.
Layout de branchement des contrôleurs sur le GPIO du RPi 2
Pour finir, nous avons non seulement renforcé nos acquis en commandes Linux, nous avons aussi du faire de l’électronique de base, et comprendre le fonctionnement du Raspberry Pi. Ce projet était extrêmement motivant car chacun d’entre nous l’aurait fait par pur plaisir dans notre intérêt personnel.
7