
一般的に使用される 2 つのシャットダウン方法があります (外部スクリーンとキーボードは言うまでもありません)。
1. リモートでログインし、コマンドを入力します (これが最も適切なシャットダウン方法ですが、面倒です。周りにコンピューターがないとシャットダウンできません)。
2. 電源プラグを抜きます (単純で失礼ですが、ファイルの破損につながる可能性があります)。
Raspberry Pi を快適に使うためには、コンピュータのような電源ボタンを追加するのが最適です。 Baidu は多くの国内を見つけました (はい、私は中国をターゲットにしており、前後に移動する記事はわずかしかありませんが、相互に繰り返しコピーしていると思います) 電源ボタンを追加する方法は 1 つしかありません。 python スクリプトや他のスクリプトを書いたり、プログラムをコンパイルしたりしても、原則は同じです。スクリプト (またはプログラム) を起動すると、プログラムは常に電源キーに設定された GPIO を検出し、トリガーされた場合はシャットダウンします。この方法で問題は解決できますが、本当に低いです。 ! !また、オンにすることはできず、オフにすることしかできません。
ここでは、オンとオフを切り替えることができる非常にエレガントな方法を紹介します。
/boot/overlays/README を開いてよく読んでください
.これで今日の共有は終わりです、ありがとう。
実際、/boot/overlays/README には既に詳細に記述されています。一般大衆の利益になるように、私はそれを整理します。
多くの人は英語を見ると頭が痛くなりますが、このファイルは何千行もあり、注意深く読む人はほとんどいません。ここでは、電源に関連する内容のみを抽出します (システム ファイルの内容は、バージョンによって若干異なります)。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | 名前: gpio シャットダウン 情報: GPIO ピンが変化するとシャットダウンを開始します。指定された GPIO ピン KEY_POWER イベントを生成する入力キーとして構成されます。 このイベントは、systemd-logind によって処理されます。 シャットダウン。 225 より古い Systemd バージョンには udev ルールが必要です 入力デバイスのリッスンを有効にします。 ACTION!="削除"、SUBSYSTEM=="入力"、KERNEL=="イベント*"、\ SUBSYSTEMS=="プラットフォーム", DRIVERS=="gpio キー", \ ATTRS{キー}=="116"、TAG+="電源スイッチ" このオーバーレイは、シャットダウンのみを処理します。シャットダウン後、システム GPIO3 を Low に駆動することで、再びパワーアップできます。デフォルト 構成はプルアップ付きの GPIO3 を使用するため、 GPIO3 と GND の間のボタン (40 ピンヘッダーのピン 5 と 6)、 シャットダウンおよび電源投入ボタンが表示されます。 ロード: dtoverlay=gpio-shutdown,= Params: gpio_pin トリガーする GPIO ピン (デフォルト 3) active_low これが 1 (アクティブ LOW) の場合、立ち下がり edge はキー ダウン イベントを生成し、 立ち上がりエッジでキーアップ イベントが生成されます。 これが 0 (アクティブ ハイ) の場合、これは 逆。デフォルトは 1 (アクティブ LOW) です。 gpio_pull 必要なプルアップ/ダウン状態 (オフ、ダウン、アップ) デフォルトは「上」です。 デフォルトのピン (GPIO3) には 外部プルアップ。 |
たとえば、次のようにします。
1 2 | # GPIO3 (ここでの GPIO は 3BCM GPIO 番号、つまり SCL1 を指します) を電源ボタンとして使用し、立ち下がりエッジを押し、立ち上がりエッジをバウンスし、内部プルアップを dtoverlay = gpio シャットダウン |
集中開始! !受験するべし! !覚えて! !
構成を追加する必要はありません。通常のシャットダウン後、ラズベリーパイ電源を切らずにGPIO3をローレベルにすることでオンにできる!そうです、それが電源ボタンです!電源オンボタンとして GPIO3 が必要ない場合は、/boot/overlays/README にある gpio-poweroff の関連内容を自分で読んでください。
上記の構成では、デフォルトで GPIO3、つまり I2C インターフェイスを占有する電源ボタンとして SCL1 を使用します。他の GPIO ソフトウェアを使用して I2C をシミュレートできますが、明らかに非常に不便です。以下のように他のGPIOに変更した方が良いです。 GPIO ポートは電源オフ キーとしてのみ使用でき、電源オン キーは引き続き GPIO3 です。現在、他のパワーオン キーをカスタマイズする方法が見つかりません。
1 2 | # gpio_pin=17、つまり GPIO_0 (物理ピン PIN_11) をシャットダウン ボタンとして使用 dtoverlay=gpio-shutdown、gpio_pin=17、active_low=1、gpio_pull=up |
上記内容のみ確認しましたラズベリーパイ 3B+(システムバージョン: Raspbian Buster with Desktop, Image with Desktop based on Debian Buster, Version:July 2019, Release date:2019-07-10, Kernel version:4.19), その他のバージョンは提供を保証しておりません
/boot/overlays/README には非常に便利な設定がたくさんあり、興味のある学生は自分で勉強できます。
最後に、皆さんが迅速に行動することを願っています! !これらの低爆発性スイッチ ボタン ソリューションを放棄してください!