Solved Aide powerswitch
-
Bonjour,
J'ai un Rpi avec un switch mausberry ça fonctionne nickel de ce côté là. Je viens de me faire une nouvelle bête dans une mini case de nes, j'ai créé un système d'extinction avec un mofset. J'ai un bouton power (et un reset, mais on verra plus tard quand ça fonctionnera) qui reste enfoncé, donc en "HIGH" lorsque j'appuie pour lancer la machine. J'ai également une entrée de contrôle, tant que c'est HIGH je garde le jus, dès que j'ai plus rien je coupe en hard le power du Rpi.
Donc l'idée est d'avoir un script :- Au démarrage du PI : GPIO_Control = HIGH, GPIO_InputPower en read
- Si GPIO_InputPower = LOW alors je fais une extinction propre (avec enregistrement métadata etc..), et tout seul le GPIO_Control va tomber en LOW et le mofset va couper le jus au raspberry.
Mon problème, si j'utilise le script du mausberry ça ne fonctionne pas (ça doit fonctionner un peu différemment, même si proche dans l'idée), et je ne sais pas vraiment quoi modifier, si je dois faire un nouveau script et quoi mettre dedans ? (oui j'ai jamais spécialement mis les mains dans Recalbox pour le coup ...).
Si quelqu'un peut m'aider, je lui en serai très reconnaissantEdit : Ah oui, Recalbox 4.0.2 si jamais
-
@daminoutav Yo !
Au risque d'enfoncer une porte ouverte : https://github.com/recalbox/recalbox-os/wiki/Ajouter-un-bouton-on-off-a-votre-recalbox-(FR) ?
-
Merci mais peut-on changer le GPIO d'entrée ? Et pour le control ? J'ai pas juste envie de cocher une case, placer les pins où il faut mais ne pas savoir ce qui est foutu derrière, surtout que dans ce cas ça ne fonctionnera pas totalement.
Enfaite pour l'instant j'ai récupéré un script, l'ai placé avec les autres dans /etc/init.d (j'ai créé un nouveau fichier), le voici :import RPi.GPIO as GPIO
import os, timeGPIO.setmode(GPIO.BCM)
GPIO.setup(23, GPIO.IN, pull_up_down=GPIO.PUD_UP) #Reset switch
GPIO.setup(24, GPIO.IN, pull_up_down=GPIO.PUD_UP) #Power switch
GPIO.setup(25, GPIO.OUT) #ON control
GPIO.output(25, GPIO.HIGH)while True:
if (GPIO.input(24)):
time.sleep(0.25)
else:
print ("Shutting down...")
os.system("sudo shutdown -h now")
break
if (GPIO.input(23)):
time.sleep(0.25)
else:
print ("Resetting...")
os.system("sudo reboot now")
breakMais j'ai l'impression qu'il n'est pas exécuté, je n'ai rien sur le GPIO 25 au multimètre ..
-
@daminoutav tu peux tout-a-fait editer le script en remontant / en RW, oui
-
@substring Lequel ? Car tout ceux que j'ouvrent c'est du chinois pour moi .. Je demande de l'aide car je ne comprends rien au système enfaite ^^ trop d'appel entremêlé ..
-
@daminoutav sais plus ... dans /recalbox/scripts, le nom du .py devrait etre assez explicite. Pk tu ne veux pas utiliser les gpio par défaut ?
-
@substring Je te remercie ! Je faisais n'importe quoi enfaite ^^' Je ne comprenais pas tout le système de fichier au démarrage, mais maintenant ça fonctionne parfaitement !
-
@daminoutav impeccable (de frein) !