Raspberry Pi に電源ボタンを付けるサンプル。
OS が起動していない状態でボタンを押すと、OS を起動する。
OS が起動している状態でボタンを 3 秒間押し続けると、OS をシャットダウンする。
配線図
- ジャンパー ワイヤー (赤): BCM3 (ピン番号 5)
- ジャンパー ワイヤー (黒): GND
スクリプト
shutdown.py:
1 | #!/usr/bin/python |
OS の起動
BCM3 (SCL1) と GND を接続するだけで動作する。
OS が起動していない状態でボタンを押す。
OS のシャットダウン
以下のコマンドでスクリプトを実行してから、ボタンを 3 秒間押し続ける。
1 | $ chmod +x shutdown.py # 実行権限を付与 |
スクリプトの自動実行
OS の起動時にスクリプトを自動的に実行するようにする。
/etc/rc.local
を編集して、exit 0
の直前に shutdown.py
を追加する。
例:
1 |
|
トラブルシューティング
スクリプトを実行すると “A physical pull up resistor is fitted on this channel” が表示される
1 | pi@raspberrypi:~ $ shutdown.py |
このチャンネルには物理的なプルアップ抵抗が取り付けられています。
本来なら BCM3 (SCL1) に GPIO.setup(PIN, GPIO.IN, pull_up_down=GPIO.PUD_UP)
は不要。
このサンプルでは、ピンの可変性を考慮して記述している。