まんま!の備忘録

ソフトウェア・ファームウェア・ハードウェア関連の備忘録

Raspberry Piのプッシュスイッチによるシャットダウン

Raspberry Piをプッシュスイッチでシャットダウンする方法を記載します。

こちら参考にしました。電源ONインジケータを設定する方法も記載されていますが、今回は割愛します。
External Button Shutdown for Raspberry Pi · GitHub
Raspberry Pi Zero WHの回路図
https://datasheets.raspberrypi.com/rpizero/raspberry-pi-zero-w-reduced-schematics.pdf


GPIO3, Low Active, Internal Pull-up, 1000ms押下でシャットダウンの設定としました。

taogya@taogya-pi0:~ $ sudo vi /boot/config.txt 
:
#dtparam=i2c_arm=on
:
[all]
dtoverlay=gpio-shutdown,gpio_pin=3,active_low=1,gpio_pull=up,debounce=1000
:

※default設定のGPIO3で使用する場合は、I2CをOFFにする必要があります。


パラメータについて

Parameter Summary Default Setting Value
gpio_pin GPIOピン番号 3 3
active_low 入力信号のエッジ
Low: 1
High: 0
1 1
gpio_pull GPIOピン処理
up: Pull-up
down: Pull-down
off: Hi-Z
up up
debounce シャットダウン検出時間[ms] 100 1000


動きとしては以下の感じでした。

  • 電源投入 → ブート
  • プッシュスイッチ長押し(1秒) → シャットダウン
  • シャットダウン状態からプッシュスイッチ短押し → ブート