Encore un petit manque dans le monde du raspberry pi , un bouton arrêt ( propre , pas en coupant a la sauvage l’alimentation du PI ).
besoin d’avoir python et rpi.gpio installé , un boutton poussoir (dans cet exemple cablé entre le GPIO17 et gnd )
installation de rpi.gpio
1- Paquets debian :
apt-get install python-rpi.gpio
2- install depuis sources :
wget https://pypi.python.org/packages/source/R/RPi.GPIO/RPi.GPIO-0.6.3.tar.gz
tar -xvf RPi.GPIO-0.6.3.tar.gz
cd RPi.GPIO-0.6.3
sudo python setup.py install
cd ~
sudo rm -rf RPi.GPIO-0.*
script pour attendre appuie sur le bouton et lancer shutdown lorsque l’on appuie sur le bouton : pishutdown.py =>
#!/usr/bin/python
# Import the modules to send commands to the system and access GPIO pins
import RPi.GPIO as gpio
import os
#set up GPIO using BCM numbering
gpio.setmode(gpio.BCM)
#Set up pin 7 as an input
gpio.setup(17, gpio.IN, pull_up_down = gpio.PUD_UP)
# Set up an interrupt to look for pressed button
gpio.wait_for_edge(17, gpio.FALLING)
# Shutdown
os.system('shutdown now -h')
script qui va se lancer au demérrage du PI : pishutdown.sh =>
#!/bin/sh
cd /
cd home/tools
python pishutdown.py
cd /
puis chmod +x pishutdown.sh
on édite le fichier /etc/rc.local
/home/tools/pishutdown.sh &
a rajouter avant la ligne exit 0 , a adapter selon l’endroit ou vous copiez les 2 fichiers ( pishutdown.py , pishutdown.sh) et du gpio utilisé .