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 reconnaissant :)

    Edit : Ah oui, Recalbox 4.0.2 si jamais :)





  • 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, time

    GPIO.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")
    break

    Mais 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) !


Log in to reply
 

Want to support us ?

Join us on :

231
Online

28775
Users

14633
Topics

110616
Posts

Looks like your connection to Recalbox Forum was lost, please wait while we try to reconnect.