Bouton d’arrêt
En dépit de ses nombreuses qualités, il manque au Raspberry Pi quelque chose que l’on trouve sur la plupart des appareils électroniques : un bouton d’arrêt.
1. Montage du bouton
Commencez par monter le bouton sur la breadboard. Si votre bouton a quatre bornes, vous devrez en utiliser deux qui seront connectées quand on appuie sur le bouton. Connectez le bouton et les fils en suivant le schéma.
2. Choix d’une broche GPIO
Ensuite, il faut choisir une broche GPIO. Nous voulons ici employer une des broches pour détecter l’appui sur un bouton : le bouton sera connecté entre la broche GPIO et la masse, si bien qu’en appuyant sur le bouton, on abaisse la tension à zéro.
Pour ce projet, choisissez GPIO 21, qui est à l’extrémité du connecteur, juste à côté de la broche de masse (vous pouvez en fait sélectionner n’importe quelle broche inutilisée). Connectez les fils selon le schéma pour terminer le circuit.
3. Programmation du Pi
Allumez le Raspberry Pi et ouvrez une fenêtre de terminal. Saisissez la commande suivante :
leafpad shutdown.py
Cela ouvre une nouvelle fenêtre de l’éditeur Leafpad. Saisissez le code suivant, puis enregistrez le fichier et fermez la fenêtre du terminal :
# !/bin/python
# Script simple pour éteindre son Raspberry Pi en appuyant sur un bouton.
# par Inderpreet Singh
import RPi.GPIO as GPIO
import time
import os
# Utilisation des numéros des broches du SOC
# Initialisation de la broche en lecture avec activation des pullups internes
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.IN, pull_up_down=GPIO.PUD_UP)
# Code de la fonction quand le bouton est pressé
def Shutdown(channel):
print("Arrêt du Pi...")
time.sleep(5)
os.system("sudo shutdown -h now")
# Ajout de la fonction à exécuter quand on appuie sur le bouton
GPIO.add_event_detect(21, GPIO.FALLING, callback=Shutdown, bouncetime=2000)
# On attend !
while 1:
time.sleep(1)
4. Test du script
Testez votre script en saisissant dans le terminal :
sudo python3 shutdown.py
Appuyez sur le bouton poussoir. Un message indiquant « Arrêt du Pi… » doit apparaître à l’écran et après cinq secondes, votre Raspberry Pi va s’éteindre. Si vous pressez les touches Ctrl + C avant ces cinq secondes, le script va s’arrêter et annuler la procédure d’arrêt.
5. Activation au démarrage
Afin d’activer le bouton d’arrêt lors du démarrage du Raspberry Pi, vous devez l’inclure dans un script rc.local. Ouvrez un nouveau terminal et saisissez la commande suivante :
sudo leafpad /etc/rc.local
Cela ouvre l’éditeur Leafpad en chargeant le fichier rc.local. À la fin du fichier (avant exit 0 dans le code) ajoutez ceci :
sudo python3 /home/pi/shutdown.py &
Enregistrez et quittez Leafpad.
6. Bravo !
Redémarrez le Pi et votre bouton d’arrêt devrait fonctionner. Félicitations ! Vous avez doté votre Raspberry Pi d’un bouton d’arrêt simple, fiable, et extrêmement utile.