«Ce qui est choquant, c'est que les logiciels non-libres viennent d'une industrie sans conscience et qui est prête à espionner les gens dès qu'elle en a l'occasion.» Richard Stallman

Bouton arrêt et reset une recalbox possible ?

Avatar de l’utilisateur
Optik8
Messages : 24
Inscription : 13 févr. 2019, 20:22

Bouton arrêt et reset une recalbox possible ?

Message par Optik8 » 17 mars 2019, 08:10

Bonjour je me posais la question de savoir si il est possible de faire un bouton qui éteint proprement le raspberry pi, le bouton qui l’allume c’est déjà fait avec un switch reset de pc sur pen run.

J’ai comme des doutes que ce soit possible avec un bouton physique seul je pense m’orienter sur un bouton sur gpio et un script

Bon dimanche à tous !!!
Avatar de l’utilisateur
Steflin
Administrateur
Messages : 1052
Inscription : 01 juil. 2018, 20:19

Re: Bouton arrêt et reset une recalbox possible ?

Message par Steflin » 17 mars 2019, 12:40

Optik8 a écrit :
17 mars 2019, 08:10
...faire un bouton qui éteint proprement le raspberry pi...
... avec un bouton physique seul je pense m’orienter sur un bouton sur gpio et un script...
oui c'est possible via les gpio (visiblement sans script mais je peux me tromper).
Vu que je n'utilise pas recalbox, je ne peux pas confirmer, mais ça devrait fonctionner
au cas où, d'autres sources ici
là via un script bash là avec le boitier retroflag A NOTER qu'il existe la même chose pour raspbian (pour info retropie est basé sur raspbian lite)
(chercher raspbian script shutdown ou bouton shutdown)
Logiquement ce sera géré via des scripts en python car c'est le language principal pour gérer les GPIO (mais pas le seul)

en ce qui concerne recalbox, ils ont dû les intégrer à l'os
"La vitesse de la lumière dépend de la distance qui nous sépare de l'interrupteur"
[Alfred Einstein, cousin par alliance d'Albert]
Avatar de l’utilisateur
Steflin
Administrateur
Messages : 1052
Inscription : 01 juil. 2018, 20:19

Re: Bouton arrêt et reset une recalbox possible ?

Message par Steflin » 17 mars 2019, 13:08

Juste pour info, voici comment ça se passerait sur un raspbian ou un retropie:
Les boutons d'arrêt et de redémarrage......

Installer wiringPI

Entrez les commandes suivantes à partir de l'invite de commandes :

Code : Tout sélectionner

cd
git clone git://git.drogon.net/wiringPi
cd ~/wiringPi
git pull origin
cd ~/wiringPi
./build
Vous pouvez tester votre installation avec les commandes suivantes :

Code : Tout sélectionner

gpio -v
gpio readall
La commande "gpio readall" est pratique pour identifier les broches physiques et les numéros de broches BCM correspondants.

Créer le script de shutdown

Entrez les commandes suivantes à partir de l'invite de commandes :

Code : Tout sélectionner

cd
mkdir Scripts
cd Scripts
touch shutdown_pi.py
La commande suivante ouvrira l'éditeur de texte nano intégré à debian :

Code : Tout sélectionner

nano shutdown_pi.py
Copiez et collez ce qui suit dans l'éditeur de texte nano :

Code : Tout sélectionner

#!/bin/python  
# Un script simple pour éteindre le Raspberry Pi sur simple pression d'un bouton.  

import RPi.GPIO as GPIO  
import time  
import os  

#  Utilisez les numéros d'identification du Broadcom SOC  
#  Configurez le Pin avec les pullups internes activés et le PIN en mode lecture.  
GPIO.setmode(GPIO.BCM)  
GPIO.setup(18, GPIO.IN, pull_up_down = GPIO.PUD_UP)  

#  Notre fonction sur ce qu'il faut faire quand on appuie sur le bouton  
def Shutdown(channel):  
    os.system("sudo shutdown -h now")  

#  Ajout de notre fonction à exécuter lorsque l'événement appuyé sur le bouton se produit   
GPIO.add_event_detect(18, GPIO.FALLING, callback = Shutdown, bouncetime = 2000)  

#  Maintenant, attendez !  
while 1:  
    time.sleep(1)
Sauvegardez le fichier en appuyant sur CTRL+X, puis sur y, Enter.

Vous pouvez tester votre script avec la commande suivante :

Code : Tout sélectionner

sudo python shutdown_pi.py 
utilisez control + c pour arrêter l'exécution du script

Charger notre script au démarrage pour le lancer en arrière-plan

Utilisez la commande suivante pour ouvrir à nouveau l'éditeur nano pour ajouter le script au fichier qui est exécuté au démarrage :

Code : Tout sélectionner

sudo nano /etc/rc.local
Copiez la ligne suivante entre l'instruction if juste avant la ligne "fi".

Code : Tout sélectionner

sudo python /home/pi/Scripts/shutdown_pi.py &
Redémarrez le pi et si tout va bien, votre script s'exécutera maintenant en arrière-plan et lorsque vous appuierez sur votre bouton d'arrêt, le Pi s'arrêtera en toute sécurité.
source: https://www.thingiverse.com/thing:2636449

Il y a une méthode légèrement différente ici ainsi que divers scripts comme la gestion des ventilos (raspbian)
Raspberry PI : bouton marche arrêt et refroidissement automatique
et en bonus pour éviter de predre du temps, un commentaire issu de cette page:
En fait c’est juste le fichier shutdown.py qui n’avait pas les droits d’exécution, j’ai eu qu’à faire un chmod...
(logique, la base - sudo chmod u+x mon_script.py )

Recalbox est construit sur buildroot, ce qui explique la différence du système, et le fait que tout soit différent à la conf

Bon week end.
"La vitesse de la lumière dépend de la distance qui nous sépare de l'interrupteur"
[Alfred Einstein, cousin par alliance d'Albert]
Avatar de l’utilisateur
ricola
Messages : 685
Inscription : 01 juil. 2018, 23:11

Re: Bouton arrêt et reset une recalbox possible ?

Message par ricola » 17 mars 2019, 21:44

De mémoire sur recalbox, le script est "intégré" :
https://github.com/recalbox/recalbox-os ... albox-(FR)
Le monde se compose en 10 catégories : ceux qui comprennent le binaire et les autres :lol:
Avatar de l’utilisateur
Steflin
Administrateur
Messages : 1052
Inscription : 01 juil. 2018, 20:19

Re: Bouton arrêt et reset une recalbox possible ?

Message par Steflin » 17 mars 2019, 22:01

Oui, ma deuxième réponse concerne raspbian ou RetroPie mais pas recalbox
"La vitesse de la lumière dépend de la distance qui nous sépare de l'interrupteur"
[Alfred Einstein, cousin par alliance d'Albert]
Avatar de l’utilisateur
Optik8
Messages : 24
Inscription : 13 févr. 2019, 20:22

Re: Bouton arrêt et reset une recalbox possible ?

Message par Optik8 » 03 avr. 2019, 16:12

Comme toujours désolé de la réponse tardive... merci pour ces précieuses infos !

Je suis en train de finir de ré câbler ma CR10s je lui ai fait un beau boîtier de commande bien pratique.

Et prochaine étape la console.... elle est en peinture vais bientôt attaquer les choses sérieuses pour la programmer paramétrer aux ptits oignons grâce à vos conseils.

Bonne journée.
Répondre