Recalbox Forum

    • Register
    • Login
    • Search
    • Recent
    • Tags
    • recalbox.com
    • Gitlab repository
    • Documentation
    • Discord

    [Résolu][Tuto]Circuit Mausberry et recalbox

    Recalbox Général
    mausberry
    18
    97
    50237
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • acris
      acris last edited by

      Bonjour si je me base un peu sur les deux scripts existants pour connecter ma manette avec un service qui lanche le bash j'aurai fait ainsi C'est de la pure théorie, sauvegarde ton image avant. Je n'ai pas compris si switch.sh était juste un fichier d'installation ou d’exécution script switch.sh

      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
      sudo poweroff
      fi
      done' > /recalbox/scripts/switch.sh
      chmod 777 /recalbox/scripts/switch.sh
      

      Puis basé sur le Btservice de ma manette que j'ai adapté , A nommer S92sw

      #!/bin/bash
      ### BEGIN INIT INFO
      # Provides: switch.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 init script.
      # Description: Starts and stops SwitchDaemon service.
      ### END INIT INFO
      
      #VAR
      RUN="/recalbox/scripts/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
      

      Faire un chmod 777 /etc/init.d/S92sw Ensuite tester :

      /etc/init.d/S92sw start
      /etc/init.d/S92sw stop
      /etc/init.d/S92sw status
      

      et ensuite redémarre le rpi2 pour voir si ça lance tout seul. attention il faut attendre quelques secondes pour que le service démarre.

      1 Reply Last reply Reply Quote 0
      • n1kod
        n1kod last edited by

        Merci beaucoup !! j'avais vu des trucs du genre en cherchant comment passer un script en mode deamon mais je trouvais ca ouf juste pour ca ! Je vais tester ce week end merci beaucoup !

        Rpi2 + microsd 16go Manettes : Buffalo snes usb Boitier : NES + mausberry circuit Alimentation : belkin 2A

        1 Reply Last reply Reply Quote 0
        • n1kod
          n1kod last edited by

          je viens de tester le script supplémentaire et ca fonctionne apparemment bien 🙂 je confirme ce week end et je fais un petit tuto si d'autres achetent ce circuit de control power/reset 🙂 merci beaucoup pour ton aide / votre aide

          Rpi2 + microsd 16go Manettes : Buffalo snes usb Boitier : NES + mausberry circuit Alimentation : belkin 2A

          1 Reply Last reply Reply Quote 0
          • reivaax
            reivaax last edited by

            Ça serait en effet très sympa de ta part @n1kod. Bonne soirée 🙂

            1 Reply Last reply Reply Quote 0
            • n1kod
              n1kod last edited by

              j'en avais déjà préparé un jusqu'au moment ou je me suis rendu compte que ca ne fonctionnait pas au reboot.. y a plus qu'a adapter

              Rpi2 + microsd 16go Manettes : Buffalo snes usb Boitier : NES + mausberry circuit Alimentation : belkin 2A

              1 Reply Last reply Reply Quote 0
              • antipode-x-alex
                antipode-x-alex last edited by

                je ferais bien l'essais sur mon script que je n'ai pas réussi à faire fonctionner. http://blog.recalbox.com/forums/topic/bouton-on-off-reboot/

                1 Reply Last reply Reply Quote 0
                • acris
                  acris last edited by

                  Bonjour n1kod super contente que mon adaptation a pu t'aider J'aj hâte de ton retour de test et tuto final pour aider la communauté 😄 Antipode X j'ai modifié une ou deux choses dans ton script et ajouter aussi un fichier "service" si tu en as besoin. A tester 😄 Have fun !

                  1 Reply Last reply Reply Quote 0
                  • n1kod
                    n1kod last edited by

                    voici mon petit tuto : Un grand merci a tous et plus particulièrement à "Acris" pour le script à placer dans /etc/init.d. Je vous présente toutes les étapes nécessaires pour faire fonctionner son mausberry circuit avec recalbox. prérequis : 1) un rpib/b+/2 2) un mausberry circuit commandé sur : http://mausberry-circuits.myshopify.com/collections/frontpage/products/shutdown-circuit-use-your-own-switch 3) un interrupteur pour le power et le reset soudé à votre mausberry circuit (ici j'utilise mes boutons d'une Nes récupérée). Etape 1 : Connectez-vous en root sur recalbox en ssh via putty sur windows ou via une console/terminal sur linux/max (ssh root@ip_local_recal_box) Etaoe 2 : Télécharger le script pour raspbian/raspbmc/dérivé wget http://files.mausberrycircuits.com/setup.sh Vous êtes en root pas besoin de sudo et de toute facon le paquet "sudo" n'est pas installé sur recalbox. Etape 3 : éditer le script que nous venons de récupérer nano setup.sh faire une copie de sauvegarde : cp setup.sh setup.sh.old 1) Supprimer les sudo et la dernière ligne du script 2) modifier la destination du script et son nom (je veux créer le script dans /etc) le script doit être comme ci-dessous maintenant :

                    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/mausberry.sh
                    chmod 777 /etc/mausberry.sh
                    

                    Enregistrer le script (ctrl+x+y avec nano) A noter que vous pouvez modifier les numéros des gpio si besoin (Si ils sont utilisés pour une manette par exemple).. Etape 4 : exécuter setup.sh bash setup.sh si il n'y a pas d'erreur, un fichier mausberry.sh est créé dans /etc Etape 5 : Créer le script qui va lancer mausberry.sh au démarrage de votre recalbox nano /etc/init.d/S99maus Copier le code suivant :

                    #!/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/mausberry.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 mausberry.sh ['$BTD_PID'] [33[33;32m OK 33[0m]'
                       else
                          echo -e '33[0mservice mausberry.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
                    

                    Enregistrer le fichier avec ctrl+x+y faire un chmod sur le fichier généré pour eviter tout problème de droit : chmod 777 /etc/init.d/S99maus Etape 6 : rebootez recalbox ou lancer le script 1) reboot 2) /etc/init.d/S99maus start Après avoir terminé l'une de ces deux dernières étapes au chois. Votre mausberry circuit doit être fonctionnel. le fait de repasser le powerswitch en position haute devrait arrêter votre recalbox électriquement et proprement. si vous avez des remarques à apporter? je ne suis pas un expert. Je sais qu'il y a plus simple notamment pour générer le mausberry.sh

                    Rpi2 + microsd 16go Manettes : Buffalo snes usb Boitier : NES + mausberry circuit Alimentation : belkin 2A

                    1 Reply Last reply Reply Quote 0
                    • acris
                      acris last edited by

                      Bonjour Merci pour le tutoriel 😄 pourquoi avoir placer le fichier dans /etc/mausberry.sh ? et non dans /recalbox/scripts ? J'ai peur que ce soit en partie réinitialisé lors de mise à jour A confirmer.

                      1 Reply Last reply Reply Quote 0
                      • n1kod
                        n1kod last edited by

                        Aucune raison particulière à vrai dire. oui a voir en cas de maj effectivement !

                        Rpi2 + microsd 16go Manettes : Buffalo snes usb Boitier : NES + mausberry circuit Alimentation : belkin 2A

                        1 Reply Last reply Reply Quote 0
                        • kalelra
                          kalelra last edited by

                          Im sorry, I do not understand. Could you add a step by step tutorial? Thanks!

                          1 Reply Last reply Reply Quote 0
                          • acris
                            acris last edited by

                            Hello Rico it's already a tutorial explained step by step Attention les emplacements ci dessous pour les scripts sont différents. du tuto pour éviter une suppression lors de la mise à jour. Via putty in SSH : login (root) / password (recalboxroot)

                            wget https://app.box.com/s/znhbk1crgdxbc6x8fh866tnkeimabfr4
                            bash setup.sh
                            wget https://app.box.com/s/b1i4j3w2lr4lkabdqg6zsohurzrh6ww8
                            cp ~/S99maus  /etc/init.d/
                            chmod 775 /etc/init.d/S99maus
                            reboot
                            
                            1 Reply Last reply Reply Quote 0
                            • n1kod
                              n1kod last edited by

                              Thanks Acris 🙂

                              Rpi2 + microsd 16go Manettes : Buffalo snes usb Boitier : NES + mausberry circuit Alimentation : belkin 2A

                              1 Reply Last reply Reply Quote 0
                              • klem1
                                klem1 last edited by

                                bonjour, j'ai suivi toutes les étapes. j'ai brancher un bouton poussoir pour le reset et un bouton coulissant on-off pour la mise en marche. Mais des que j'appuie sur le reset la console s'éteint mais ne redémarre pas, et si je fait coulisser mon bouton  que ce soit de on à off  ou l'inverse la console s'allume.  Mais je ne peux pas éteindre la console avec le bouton on-off.

                                -3 Grande borne arcade Zelda et StarWars
                                -3 Bartop Donkey Kong, bubble bobble ...
                                -6 RecalNes
                                -1 Gameboy Pi Zero
                                -1 Sega Modifié pour KODI

                                1 Reply Last reply Reply Quote 0
                                • acris
                                  acris last edited by

                                  Bonjour les scripts ont été créé pour le mausberry, ils ne sont pas adaptés à tes boutons apparemment. Sur quel pin as tu branché ton bouton reset ? si effectivement tu n'as pas de mausberry as tu essayé ce script : http://blog.recalbox.com/forums/topic/bouton-on-off-reboot/#post-5114

                                  1 Reply Last reply Reply Quote 0
                                  • klem1
                                    klem1 last edited by

                                    Re, j'ai bien un mausberry. J'ai brancher le bouton reset sur les 2 trou prévu a cet effet ( rst ).   Je vais re testé dans l'après midi. Et en même temps comment puis-je brancher une leds sur le mausberry, j'ai vu qu'il y avait un trou seulement ?!  Comment je fait pour brancher mon + et - de ma leds moi ^^ . je dois brancher la masse ailleurs ? Sur les gpio?

                                    -3 Grande borne arcade Zelda et StarWars
                                    -3 Bartop Donkey Kong, bubble bobble ...
                                    -6 RecalNes
                                    -1 Gameboy Pi Zero
                                    -1 Sega Modifié pour KODI

                                    1 Reply Last reply Reply Quote 0
                                    • acris
                                      acris last edited by

                                      Bonjour n ayant pas ce matériel je ne pourrai pas te répondre. Attendons d'avoir des infos de n1kod voirsi il a pu faire quelques choses. tu as testé en mettant le bouton sur off et en pressant sur le bouton blanc reset ?

                                      The white button on the rocker-switch circuits is a reset button - if for some reason the switch is not functioning as it should, put the rocker switch in the "off" position and press the reset button. You can perform a hard-reset with the LED switch by holding for 5 seconds. Please power down the Raspberry Pi prior to doing this (via SSH/remote/keyboard/mouse) as it will perform a hard reset if the Pi is still on.

                                      1 Reply Last reply Reply Quote 0
                                      • n1kod
                                        n1kod last edited by

                                        brancher une led en plus ? sur un gpio 5v ou 3.3v + une masse mais pour moi ca n' a aucun rapport avec le circuit mausberry

                                        Rpi2 + microsd 16go Manettes : Buffalo snes usb Boitier : NES + mausberry circuit Alimentation : belkin 2A

                                        1 Reply Last reply Reply Quote 0
                                        • klem1
                                          klem1 last edited by

                                          BON , resultat : Quand je coulisse mon bouton on-off ma console s'allume donc sur ce point nickel. Par contre pas moyen de l’éteindre avec ce même bouton cela ne fait aucune réaction.. Ensuite pour mon bouton **reset **quand je clic dessus la console s’éteint ( assez brutalement mais bon peut être que le poweroff est rapide ) mais la console ne redémarre pas.     Désolé la photo du bouton poussoir est un peu flou je l'ai vue trop tard.

                                          -3 Grande borne arcade Zelda et StarWars
                                          -3 Bartop Donkey Kong, bubble bobble ...
                                          -6 RecalNes
                                          -1 Gameboy Pi Zero
                                          -1 Sega Modifié pour KODI

                                          1 Reply Last reply Reply Quote 0
                                          • klem1
                                            klem1 last edited by

                                            Voici le trou pour une led.   en laissant le bouton coulissant sur ON  quand je fait un reset la console redémarre bien. Si je met le bouton sur OFF et que j'appuie sur le bouton reset la console s’éteint et ne redémarre pas

                                            -3 Grande borne arcade Zelda et StarWars
                                            -3 Bartop Donkey Kong, bubble bobble ...
                                            -6 RecalNes
                                            -1 Gameboy Pi Zero
                                            -1 Sega Modifié pour KODI

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Want to support us ?

                                            72
                                            Online

                                            99.6k
                                            Users

                                            28.1k
                                            Topics

                                            187.1k
                                            Posts

                                            Copyright © 2021 recalbox.com