Utilisation mausberry ou alternative sur raspberry

Vous avez réalisé ou vous voulez réaliser un truc impensable avec votre Raspberry Pi ? Cet endroit est pour vous...

Modérateur : Francois

Répondre
Avatar du membre
xGunMachine
Messages : 91
Enregistré le : jeu. 2 juin 2016 19:27

Utilisation mausberry ou alternative sur raspberry

Message par xGunMachine » dim. 12 juin 2016 15:41

Bonjour, j'ai tenté de brancher une Mausberry sur mon projet NES Pi (pour le moment je branche juste la Raspberry sur la Mausberry)
Or je n'arrive pas à faire fonctionner celle-ci voici les détails :

Une Raspberry brancher sur la Mausberry alimentation et pin :
OUT = 11 / IN = 8

J'ai branché également les boutons de façade de la NES (bouton Power, Reset et LED (Je ne sais pas si la LED fonctionne))

Voici les photo (http://xgmachine.net76.net/img-forum/) :
Image
Image
Image
Image
Image
Image

Mausberry et Façade NES (Power, Reset et LED) avec les correspondance suivante :
Marron = SW +
Rouge = SW -
Blanc = 3V.LED
Orange = GND/RST -
Jaune = RST +
(J'ai donné ici la véritable connexion car les fils jaune et blanc sont inversé peut avant la Mausberry suite à une erreur dans les soudures sur celle-ci)

Afin de faire fonctionner la Mausberry des fichier doivent être créer voici ceux que j'ai mis en suivant divers tuto (divers problème de droit d'écriture)

Le premier étant le setup.sh (recalbox/share/system/setup.sh):

Code : Tout sélectionner

echo '#!/bin/bash

#this is the GPIO pin connected to the lead on switch labeled OUT
GPIOpin1=23

#this is the GPIO pin connected to the lead on switch labeled IN
GPIOpin2=24

echo "$GPIOpin1" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio$GPIOpin1/direction
echo "$GPIOpin2" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio$GPIOpin2/direction
echo "1" > /sys/class/gpio/gpio$GPIOpin2/value
while [ 1 = 1 ]; do
power=$(cat /sys/class/gpio/gpio$GPIOpin1/value)
if [ $power = 0 ]; then
sleep 1
else
poweroff
fi
done' > /etc/switch.sh
chmod 777 /etc/switch.sh
sed -i '$ i /etc/switch.sh &' /etc/init.d
Le second switch.sh (etc/switch.sh):

Code : Tout sélectionner

#!/bin/bash

#this is the GPIO pin connected to the lead on switch labeled OUT
GPIOpin1=23

#this is the GPIO pin connected to the lead on switch labeled IN
GPIOpin2=24

echo "$GPIOpin1" > /sys/class/gpio/export
echo "in" > /sys/class/gpio/gpio$GPIOpin1/direction
echo "$GPIOpin2" > /sys/class/gpio/export
echo "out" > /sys/class/gpio/gpio$GPIOpin2/direction
echo "1" > /sys/class/gpio/gpio$GPIOpin2/value
while [ 1 = 1 ]; do
power=$(cat /sys/class/gpio/gpio$GPIOpin1/value)
if [ $power = 0 ]; then
sleep 1
else
poweroff
fi
done
Et enfin le troisième S99maus (/etc/init.d/S99maus) :

Code : Tout sélectionner

#!/bin/bash
### BEGIN INIT INFO
# Provides: mausberry.sh
# Required-Start: $network $local_fs $remote_fs
# Required-Stop: $network $local_fs $remote_fs
# Default-Start: 2 3 4 5
# Default-Stop: 0 1 6
# Short-Description: switch mausberry init script.
# Description: Starts and stops SwitchDaemon service.
### END INIT INFO

#VAR
RUN="/etc/switch.sh"
BTD_PID=$(ps -eo pid,command | grep "/bin/bash $RUN" | grep -v grep | awk '{print $1}')

serviceStatus() {
   if [ ! -z "$BTD_PID" ]; then
      echo -e '33[0mservice switch.sh ['$BTD_PID'] [33[33;32m OK 33[0m]'
   else
      echo -e '33[0mservice switch.sh [33[33;31m KO 33[0m]'
   fi
}

# Carry out specific functions when asked to by the system
case "$1" in
   start)
      echo "Starting script $RUN ..."
      if [ -z "$BTD_PID" ]; then
         nice -n 19 $RUN&

         if [ $? -eq 0 ]; then
            echo -e "33[0mscript $RUN [33[33;32m STARTED 33[0m]"
         fi
      else
         echo "script $RUN already started ['$BTD_PID']!"
      fi
      #serviceStatus
   ;;
   stop)
      echo "Stopping script $RUN ..."
      if [ ! -z "$BTD_PID" ]; then
         kill $BTD_PID

         if [ $? -eq 0 ]; then
            echo -e "33[0mscript $RUN [33[33;31m STOPPED 33[0m]"
         fi
      fi
      #serviceStatus
   ;;
   status)
      serviceStatus
   ;;
   *)
      echo "Usage: /etc/init.d/SwitchService {start | stop | status}"
      exit 1
   ;;
esac

exit 0
Voila avec tout ça ainsi que les branchement fait j’obtiens :

J’appuie sur Power (le bouton reste enfoncé) = la Pi s'allume nickel avec RecalBox
J'arrive sur le menu je lance un jeu, j’attends un peu et j'appuie sur Reset qui est sensé ramener au menu comme l'aurais fait le bouton échap d'un clavier, or cela fait redémarrer la Pi
Une fois redémarré, j'appuie sur le bouton Power qui revient à sa position d'origine or cela n'a aucun effet.
(La LED ne s'allume pas mais je ne l'ai pas testé)

J'aimerai savoir ce que je dois faire pour que la Mausberry fonctionne avec RecalBox, et dans le pire des cas s'il est possible de se passer de la Mausberry et de passer par le GPIO

Merci d'avance :D
Mes projets :
NES Pi : Émulateur Raspberry pi dans un boitier NES dans sont jus
GameBoy Pi : Émulateur Raspberry pi dans un boitier GameBoy Classic

Avatar du membre
xGunMachine
Messages : 91
Enregistré le : jeu. 2 juin 2016 19:27

Re: Utilisation mausberry ou alternative sur raspberry

Message par xGunMachine » lun. 13 juin 2016 14:28

Pour mieux visualiser j'ai fait une petite vidéo où on peut voir le matériel et les branchements :

http://xgmachine.net76.net/img-forum/NE ... sberry.mp4

Le contenue des fichiers sh est cité dans mon premier post
Mes projets :
NES Pi : Émulateur Raspberry pi dans un boitier NES dans sont jus
GameBoy Pi : Émulateur Raspberry pi dans un boitier GameBoy Classic

Répondre

Retourner vers « Utilisateurs avancés »