Skip to content

StartShutdownButton FR

Sébastien Gariépy edited this page Jul 2, 2019 · 4 revisions

Testé sur un Raspberry PI 3 modèle B+.

J'ai ajouté un bouton ­marche/arrêt tout en pouvant utiliser le protocol I2C sur les pins 3 et 5 (GPIO 2 et 3). Par défaut, le RPI peut être démarré après un arrêt logiciel (shutdown/poweroff) en connectant la pin 5 (GPIO 3) à un ground (pin 6 ou 9 ou autre).

J'ai utilisé la pin 7 (GPIO 4) car il est sur high lorsque le RPI est en mode arrêt. Selon la documentation, les GPIO 0 à 8 sont sur high à l'arrêt. Nous évitons d'utiliser les GPIO 0 et 1 car ils sont utilisés par le BCM pour parler à l'eMMC ou le SDX. Les GPIO 2 et 3 sont notre I2C. Il reste donc les GPIO 4 à 8 utilisable afin de mettre à high notre transistor 2N7000 afin que le bouton fonctionne lorsque le RPI est arrêté.

J'ai utilisé la pin 15 (GPIO 22), mais à peu près n'importe quel GPIO aurait fait l'affaire.

Fonctionnement

  1. Démarrage normal du RPI en connectant le bloc d'alimentation
  2. Lors du démarrage, le GPIO 4 est mis à low afin de désactiver le bouton pour le démarrage, permet d'utiliser le I2C et active le GPIO 22 pour l'arrêt
  3. En appuyant sur le bouton, le signal est envoyé au GPIO 22 pour le démarrage de l'arrêt du système d'exploitation
  4. Lorsque le RPI est arrêté, le GPIO 4 est mis à high, ce qui active le bouton pour le démarrage
  5. En appuyant sur le bouton, le RPI démarre et effectue le point 2

Configurations

/boot/config.txt

#Désactive le bouton power pour permettre d'utiliser le I2C
gpio=4=op,dl
#Au besoin pour mettre les GPIO 4 à 8 à low
#gpio=4-8=op,dl
#Active un GPIO pour le poweroff
dtoverlay=gpio-shutdown,gpio_pin=22  
#Active le I2C
dtparam=i2c_arm=on

Le DS3231 est pour l'exemple. Pour l'utiliser, ajoutez

dtoverlay=i2c-rtc,ds3231

Schéma de connection

StarShutdown_bb

Clone this wiki locally