Raspberry Piをスイッチでシャットダウン (LEDで完了確認)

スイッチを押すだけでRaspberry Pi(ラズパイ)をシャットダウンする方法を解説しています。また、LEDでシャットダウン完了を分かりやすく確認できるようにします。シャットダウン操作をする手間や、完了して電源を落としていいか分かりにくい問題を解決します。

Raspberry Pi OS Version 2020-08-20対応

更新日 : 2020年10月29日

スイッチでシャットダウンするメリット

Raspberry PiはPC(パソコン)と同様、電源を切る前にシャットダウン処理を行う必要があります。しかし、サーバーやセンシング用途でディスプレイやマウスを繋がずに運用していると、電源を切る前にリモートでシャットダウン処理を行うにはひと手間かかります。

そこで今回は、「RPZ-IR-Sensor」、「RPi TPH Monitor」拡張基板のスイッチを押すとシャットダウンする方法を紹介します。

Embed from Getty Images

LEDでシャットダウン完了を確認する

シャットダウンする際、シャットダウンが完了して電源を切っていいのか分かりにくい、という問題があります。Raspberry Pi本体の緑色LEDが点滅しなくなったら完了なのですが、点滅が不定期で分かりにくいうえにLEDが位置的に見えない場合もあります。

そこで、シャットダウンが完了したら拡張基板のLEDが消灯する方法もあわせて紹介します。

設定方法

直接自作プログラムでGPIOを制御することもできますが、Raspberry Piにはもともと上記の機能が含まれており、それを有効にする方法を解説します。

RPZ-IR-Sensorで赤スイッチ(GPIO5)でシャットダウン、黄色LED(GPIO18)で確認する場合、/boot/config.txtファイルをスーパーユーザーで開いて、以下の内容を追記します。1行目がスイッチでシャットダウンする設定で、2行目が完了をLEDに表示する設定です。片方だけを設定しても構いません。

dtoverlay=gpio-shutdown,gpio_pin=5
dtoverlay=gpio-poweroff,gpiopin=18,active_low=1

gpio_pinとgpiopinの値は、拡張基板と使いたいスイッチ、LEDによって変更してください。以下が対応表です。

GPIOLED/スイッチ
GPIO5LED黄
GPIO6LED緑
GPIO22スイッチSW1
GPIO23スイッチSW2
GPIO24スイッチSW3
RPi TPH MonitorのGPIO番号
GPIOLED/スイッチ
GPIO17LED緑
GPIO18LED黄
GPIO22LED青
GPIO27LED白
GPIO5スイッチ赤
GPIO6スイッチ黒
RPZ-IR-SensorのGPIO番号
RPi TPH Monitor拡張基板
RPZ-IR-Sensor拡張基板

設定ができたらRaspberry Piを再起動して下さい。

動作確認

再起動すると、設定したLEDが点灯します。

設定したスイッチを押すと、シャットダウンを開始します。Raspberry Piをディスプレイにつなぐか、リモートでログインしておくとシャットダウンで接続が切れるのが確認できると思います。

シャットダウンが完了するとLEDが消灯するので、電源ケーブルを抜きます。Raspberry Pi本体の緑色LEDよりも簡単に判別できます。

オプションパラメーター

設定に関して、オプションパラメーターについて補足の解説です。

gpio-shutdown

詳細な使用方法は dtoverlay -h gpio-shutdown コマンドで確認できます。

デフォルトではGPIO信号の立ち下がりを検出してシャットダウンを開始します。active_low=0 を指定すると立ち上がりを検出するようになります。

デフォルトではGPIOはプルアップされており、スイッチONによりGNDと繋がってLOWとなることで信号が変化します。gpio_pull=”down” を指定するとプルダウンに変更できます。回路構成によって使い分けます。

gpio-poweroff

詳細な使用方法は dtoverlay -h gpio-shutdown コマンドで確認できます。

今回の例ではactive_low=1として、動作中はHIGH出力でLED点灯、シャットダウン後はLOW出力でLED消灯としました。active_low=0とすると逆論理になります。

まとめ

スイッチからシャットダウンを行い、LEDで完了を確認する方法の解説は以上です。Raspberry Piはソフトや拡張基板を追加することで幅広い使い方が可能になります。

本記事で利用した拡張基板の購入先、パッケージの種類は以下を参照して下さい。

Indoor Corgi製の拡張基板や、赤外線通信を行う方法なども解説しているので、ぜひ参考にして下さい。

PythonでRaspberry PiのGPIO、LED、スイッチ制御

Raspberry Pi(ラズパイ)では、GPIOを通じて電気信号を送受信することで、様々なデバイスを制御することができます。本記事では、基本的なLEDとスイッチについて、Pythonプログラムで制御する方法を解説します。LEDにステータスを表示させたり、スイッチが押されたら何らかの動作をさせるなど、自分が好きなように動作をプログラミングすることが可能になります。

Node-REDをRaspberry PにインストールしてLEDとセンサーを動かす

Node-REDとは、ノードと呼ばれる部品を接続していくことで、視覚的にプログラミングできるツールです。HTTPやメール、クラウド、SNSと連携できる機能もあり、IoTデバイスの開発にも適しています。本記事ではRaspberry Pi(ラズパイ)へNode-REDのインストールし、LEDやセンサーを動かす方法を実例を使って解説しています。

拡張基板/HAT対応 Raspberry Pi4用おすすめケース (DIYメタルケース)

本記事では、Rasbperry Pi 4のおすすめケースとして、Raspberry Pi4用 DIYメタルケース (Physical Computing Lab)を紹介します。冷却性能、コンパクトさなどバランス良く仕上がっており、かつGPIO端子に拡張基板/HATをそのまま装着できる数少ないケースです。実際に温度を測定した結果も掲載しています。