-
Notifications
You must be signed in to change notification settings - Fork 0
StartShutdownButton FR
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.
- Démarrage normal du RPI en connectant le bloc d'alimentation
- 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
- 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
- Lorsque le RPI est arrêté, le GPIO 4 est mis à high, ce qui active le bouton pour le démarrage
- En appuyant sur le bouton, le RPI démarre et effectue le point 2
/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

