Raspberry Piをより使いやすく!シャットダウンボタンの装着方法を詳しく解説

RaspberryPiは電源スイッチがなく、モニタなど繋げずヘッドレスサーバーとして使っている時は、ターミナル経由で

sudo shutdown -h now

を送って、ソフトウェア的にシャットダウンしないといけません。

開発時はこれで問題ないとして、店頭などで活用する時は、さすがに現場でコマンドを叩いて終了なんてありえないし、電源引っこ抜いて終了もよろしくない。

そこで、安全に電源を落とすためのスイッチを自作してみます。

購入したもの

シンプルデザインのステンレス製スイッチ(モーメンタリ)を選んでみました。

ちなみに、スイッチには「モーメンタリ」と「オルタネイト」があって、100均で売っているような電池式フロアライト(押したらあかりが点灯し、もう一度押したら消灯)のようなものは、「オルタネイト」です。

詳しい違いはこちらをご覧ください。

ハードウェアを実装する

スイッチを半田付けする

まずはスイッチの両端にハンダします。使ったケーブルは塩化ビニール線のこちら

ハンダした部分を収縮チューブで保護しておきます。

RaspberryPiのGPIO端子に接続

絵的にちょっと複雑になってしまってますが、左から3番目の「SCL」と書いているGPIO 3と空いている「GND」端子に接続してください。

店頭で活用することを想定していたので、GPIO端子の抜けを防止するために、ブレークアウトモジュールを設置しました。

ソフトウェアを設定する

RaspberryPi 4BはGPIO3に対応したシャットダウン機能をつけることができます。

sudo vi /boot/config.txt

config.txtファイルに

dtoverlay=gpio-shutdown,gpio_pin=3,debounce=2000

この一行を加えるだけです。

終了後も、またボタンを押すことで、起動も可能です。

誤動作を避けるために「debounce=2000」にして2秒ほど長押しでシャットダウンするようにしています。

稼働のデモ

https://soan.jp/wp-content/uploads/2023/03/IMG_6714.mov

これだけで安全にシャットダウンできるようになりました。

また、GPIO3端子は、シャットダウンだけでなく、起動ボタンにもなります。

同じくボタンをおすだけで起動します。

これならばRaspberryPi本体から離れた場所に電源ボタンをおいて、楽に電源のオンオフができるようになります。

Shareこの記事をシェアしよう!

モバイルバージョンを終了