Bonjour,
Sur un raspberry pi 0, j'ai rajouté un bouton poussoir et une led pour pouvoir éteindre le système proprement sans écran ni clavier.
L'idée est que lorsque l'on appuie le bouton assez longtemps (min 2s), le système s'éteint. La led doit s'allumer lors de la mise sous tension, et clignoter lorsque le bouton est appuyé.
j'ai écrit 2 scripts python qui sont lancé au démarrage grâce à supervisor.
le code pour le bouton :
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 #!/usr/bin/env python # -*- coding: utf-8 -*- from gpiozero import Button from subprocess import check_call from signal import pause def shutdown(): check_call(['sudo', 'poweroff']) shutdown_btn = Button(26, hold_time=2) print("extinction") shutdown_btn.when_held = shutdown pause()
le code pour la led :
Code python : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16 #!/usr/bin/env python # -*- coding: utf-8 -*- import time import os import signal from gpiozero import LED pin = 23 red = LED(pin) def Signal_Handler(signal, frame): red.blink(on_time=0.5, off_time=0.5, n=None) red.on() signal.signal(signal.SIGTERM, Signal_Handler) while 1: time.sleep(0.2)
Le seul défaut c'est que la led s'allume avec un délai énorme par rapport à la mise sous tension (environ 1 min). Un énorme délai aussi pour le clignotement lors de l'appui sur le bouton, de plus j'ai l'impression que cela ralentit l'extinction du système (la led clignote pendant + d' 1 min).
Je ne sais pas si mon code est en cause...
Partager