はじめに
Raspberry Piの電源を切るとき、電源をいきなり引っこ抜いてはいけない、ということはよく知られています。SDカードへの書き込みが行われている最中だと、カードが破損し、起動できなくなってしまう恐れがあります。
一方で、毎回シャットダウンコマンドを実行するのは手間ですよね。
ラズパイのシャットダウン手順(4ステップ)
- PCを起動する
- PCとRaspberry Piが同じLANに接続されていることを確認する
- SSHクライアントを起動し、Raspberry PiにSSH接続する
-
sudo shutdown -h now
を実行する
そこで、もっと楽にシャットダウンする方法をまとめてみました。
物理シャットダウンボタン
この方法に関しては多くの先人が記事を書いてくれているので、それを紹介するにとどめます。
- RaspberryPiにshutdownボタンを付けよう
- ラズパイでシャットダウンボタンを付ける(ついでに起動ボタン)
- Raspberry Pi 3 にシャットダウン/リブート/再開ボタンを追加する
- OnOff SHIM
物理ボタンによるシャットダウンの強みは、ラズパイがWebに接続していなくても使えるところですね。
この中で最もおすすめしたいのは4つめの「OnOff SHIM」です。セットアップが簡単で、1コマンド実行すれば使えるようになります。また、ラズパイのピンに直接マウントできるので、ブレットボードにジャンパワイヤを挿したまま持ち歩く必要もありません。ネックになるのは、はんだ付けが必要なことでしょうか。
Web経由でシャットダウン
ラズパイがWebに繋がっている状態なら、遠隔でシャットダウンができる方法がいくつかあります。
IIJ Legsを使う
IIJが2019年7月にリリースした新しいサービスです。
IIJ Legsを利用すると、Webコンソールを利用して世界中どこからでも任意のコマンドを安全に実行できます。すなわち、IIJ LegsのWebコンソールを開き、sudo shutdown -h now
を実行すればミッション完了です。
導入が非常に簡単なのも嬉しいところです。チュートリアルに従い数コマンドで導入が完了します。
加えて、起動時に ./legsc start
が自動で実行されるよう設定し、常に使える状態にしておきましょう。
IIJ Legsはシャットダウン以外にも様々な用途で使える、非常に便利なサービスですが、まだ使っている人は少ないようです。ぜひ広めてください。
IIJ LegsにはURLフォワーディング機能があり、グローバルなURLをラズパイのlocalhostにフォワーディングできます。
しかし、この機能には不具合があるようです。例えば、localhost:8080へのフォワーディングを設定すると、このフォワーディング自体はうまくいきますが、localhost:8080/style.cssなどへのフォワーディングがうまく行かず、表示がおかしくなることがあります。
まだβ版とのことなので、今後のアップデートに期待しましょう。
Blynkを使う
Blynkは、スマホアプリからRaspberry Piなどのハードウェアを制御できるサービスです。
スマホアプリのUIはカスタマイズ可能です。ボタンやスライダーを好きな場所に設置し、それらへの入力をトリガーにRaspberry Pi上で処理を実行することができます。
すなわち、Blynkアプリ上に設置したボタンをタップしたときに、シャットダウンコマンドが実行されるように設定すればいいですね。
私が試してみたものを紹介します。安全装置として設置したスライダーが100%のときにシャットダウンボタンを押すと、ラズパイがシャットダウンされます。
スマホアプリを立ち上げてさっとシャットダウンができるので、IIJ Legs以上にお手軽に使えます。
一方でセットアップはそこそこ手間がかかります。以下のサイトで紹介している手順に従いセットアップしたら、私はうまくシャットダウンできましたよ。
Rasberry Pi 3B + Blynkで実現、スマホからラズベリーパイを遠隔操作してシャットダウンする無料で簡単な方法
終わりに
これ以外にも良い方法があったら、ぜひコメント欄で教えていただけるとありがたいです。
それでは、良きラズパイライフを。