Page 3 sur 3

Re: Démarrer et éteindre son RPi sans clavier ni écran

Publié : 15 mars 2019, 18:52
par mulot35
J'ai investi dans une supernespi (sur la route actullement) pour remplacer ma boite en carton, avec les boutons qui vont bien pour éteindre proprement le pi ainsi que pour redemarrer l'appli de sont choix (d'origine recalbox).

Image
Image

D'origine l'appui sur power demande au pi de lancer l'arret (=> clignottement de la led) puis après l'arret extintion de l'alim.
Le Bp reset reboot l'appli de retrogaming

Bref le script py et le suivant:
SafeShutdown.py

Code : Tout sélectionner

#!/usr/bin/env python3
from gpiozero import Button, LED
import os
from signal import pause
powerPin = 3
resetPin = 2
ledPin = 14
powerenPin = 4
hold = 1
led = LED(ledPin)
led.on()
power = LED(powerenPin)
power.on()

# fonctions qui gère les événements lorsqu'un bouton
# est actionné
def when_pressed():
    led.blink(.2,.2)
    os.system("sudo killall emulationstation && sleep 5s && sudo shutdown -h now")
def when_released():
     led.on() def reboot():
     os.system("sudo killall emulationstation && sleep 5s && sudo reboot")

btn = Button(powerPin, hold_time=hold)
rebootBtn = Button(resetPin) reboot
btn.when_pressed = reboot
btn.when_pressed = when_pressed
btn.when_released = when_released
pause()
Le reset pourrez faire un :
-sudo service domoticz.sh stop
-sleep 15s
-sudo service domoticz.sh start

et le power
-sudo service domoticz.sh stop
-sleep 15s
-sudo shutdown -h now

lien:
Nespi https://www.framboise314.fr/super-pi-ca ... -2-et-pi3/

quand pensez vous?

Re: Démarrer et éteindre son RPi sans clavier ni écran

Publié : 15 mars 2019, 19:18
par CSONNECK
Bonjour

Tu installes le système complet RetroPie ?

Dans le cas contraire, il faudra adapter le positionnement du fichier python "SafeShutdown.py"

Framboise314 est selon moi une bonne référence.

A+

Re: Démarrer et éteindre son RPi sans clavier ni écran

Publié : 15 mars 2019, 22:29
par mulot35
CSONNECK a écrit : 15 mars 2019, 19:18 Bonjour

Tu installes le système complet RetroPie ?

Dans le cas contraire, il faudra adapter le positionnement du fichier python "SafeShutdown.py"

Framboise314 est selon moi une bonne référence.

A+
Non j'ai deja mon domoticz qui tourne depuis janvier 2015.
Je pense mettre mon rfx et ma clef z wave et le rj45 sur le coté exterieur, et loger a l'interieur via 2 usb coudé les 2 TTL du téléinfo (edf/production photovoltaique)et donc ne pas utilisé ceux en facade.
Je me demande juste si il ne va pas y avoir de conflis...

Re: Démarrer et éteindre son RPi sans clavier ni écran

Publié : 16 mars 2019, 07:35
par CSONNECK
Bonjour

J'ai pour habitude (à force d'avoir détesté) de na pas installer plusieurs distributions sur un même système. Surtout si celui-ci est stable.

Tu peux utiliser le système que j'ai présenté sur ma chaîne (on/off avec un bouton) ICI

J'ai présenté un second système pour avoir une Led d'activité du RPi. ICI

A+

Re: Démarrer et éteindre son RPi sans clavier ni écran

Publié : 16 mars 2019, 10:33
par mulot35
Je pense que ca doit passer en installation manuel je testerai et referai un sujet propre.

https://www.framboise314.fr/super-pi-ca ... -2-et-pi3/
Configuration manuelle

Pour ma part j’ai opté pour une installation manuelle car je n’ai pas de console de rétrogaming installée sur mon Raspberry Pi de test (et puis j’aime bien savoir ce que ça fait quand ça installe 🙂 ). Tapez

wget https://raw.githubusercontent.com/Retro ... install.sh
1

wget https://raw.githubusercontent.com/Retro ... install.sh

pour récupérer le fichier install.sh que vous rendrez exécutable avant de le lancer. Il installera alors gpiozero et ajoutera le fichier SafeShutdown.py dans /opt/RetroFlag.

Modifiez ensuite le fichier /opt/RetroFlag/SafeShutdown.py (faites en une sauvegarde avant !) pour enlever la suppression de l’émulateur de retrogaming emulationstation. (killall emulationstation && le && permettant d’enchaîner les commandes…)

Les fichiers sont disponibles en téléchargement ici.

SafeShutdown.py :

#!/usr/bin/env python3
from gpiozero import Button, LED
import os
from signal import pause
powerPin = 3
resetPin = 2
ledPin = 14
powerenPin = 4
hold = 1
led = LED(ledPin)
led.on()
power = LED(powerenPin)
power.on()

# fonctions qui gère les événements lorsqu'un bouton
# est actionné
def when_pressed():
led.blink(.2,.2)
os.system("sudo killall emulationstation && sleep 5s && sudo shutdown -h now")
def when_released():
led.on() def reboot():
os.system("sudo killall emulationstation && sleep 5s && sudo reboot")

btn = Button(powerPin, hold_time=hold)
rebootBtn = Button(resetPin) reboot
btn.when_pressed = reboot
btn.when_pressed = when_pressed
btn.when_released = when_released
pause()
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29

#!/usr/bin/env python3
from gpiozero import Button, LED
import os
from signal import pause
powerPin = 3
resetPin = 2
ledPin = 14
powerenPin = 4
hold = 1
led = LED(ledPin)
led.on()
power = LED(powerenPin)
power.on()

# fonctions qui gère les événements lorsqu'un bouton
# est actionné
def when_pressed():
led.blink(.2,.2)
os.system("sudo killall emulationstation && sleep 5s && sudo shutdown -h now")
def when_released():
led.on() def reboot():
os.system("sudo killall emulationstation && sleep 5s && sudo reboot")

btn = Button(powerPin, hold_time=hold)
rebootBtn = Button(resetPin) reboot
btn.when_pressed = reboot
btn.when_pressed = when_pressed
btn.when_released = when_released
pause()

Redémarrez le Raspberry Pi et votre système Raspbian est prêt pour fonctionner avec le boîtier SuperPi Case. Il réagit maintenant aux actions sur les boutons A/M et RESET

Re: Démarrer et éteindre son RPi sans clavier ni écran

Publié : 12 avr. 2019, 15:50
par domcars0
Salut,
Petit montage sympa, merci.
Mais je ne suis pas certain que cela fonctionne avec tous les Pi (1, 2, 2B, Zero, etc ..?) Perso quand l'un de mes Pi a un souci, je branche vite fait un clavier en USB et je tapes Ctrl-Alt-Sup (pas besoin d'écran , pas besoin de se loguer, fonctionne sur tous les Pi) et , si le système n'est pas planté, il reboote. Si l'OS est planté je le débranche et je le rebranche (de toutes façons dans ce cas , le shutdown propre n'est plus possible).