Bouton d’arrêt

 

Shutdown Button Main Image

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

 

Shutdown Button Step One

Simple Shutdown Step One Detail

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

Shutdown Button Step 3

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

Shutdown Button Step 4

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

Shutdown Button Step 5

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 !

Shutdown Button Step Six

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.