7
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

Architecture et programmation des mécanismes de base d’un

  • Upload
    others

  • View
    1

  • Download
    0

Embed Size (px)

Citation preview

Page 1: Architecture et programmation des mécanismes de base d’un

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 

Page 2: Architecture et programmation des mécanismes de base d’un

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                       front­end.  

EmulationStation est lui­mê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.        

Page 3: Architecture et programmation des mécanismes de base d’un

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 TFT­LCD 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 

 

Page 4: Architecture et programmation des mécanismes de base d’un

 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. 

 

 

Page 5: Architecture et programmation des mécanismes de base d’un

 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 front­end, 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 front­end, par exemple activer le driver “mk_arcade_joystick”, (on peut tout                         de même accéder à la console avec Alt+F4).  

Page 6: Architecture et programmation des mécanismes de base d’un

 Accès SSH via Putty 

 

 Accès via l’explorer Windows 

Page 7: Architecture et programmation des mécanismes de base d’un

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/Media­Center 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 ci­dessous). 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.