
Es gibt zwei häufig verwendete Methoden zum Herunterfahren (ganz zu schweigen vom externen Bildschirm und der Tastatur):
1. Melden Sie sich aus der Ferne an und geben Sie dann einen Befehl ein (dies ist die am besten geeignete Methode zum Herunterfahren, aber es ist zu mühsam, wenn kein Computer in der Nähe ist, kann er nicht heruntergefahren werden)
2. Trennen Sie die Stromversorgung (einfach und unhöflich, aber es kann leicht zu Dateischäden führen)
Um den Raspberry Pi also glücklich zu nutzen, ist es am besten, einen Power-Button wie einen Computer hinzuzufügen. Baidu fand viel Inland (ja, ich ziele auf China ab, und es gibt nur wenige Artikel, die hin und her gehen, aber ich denke immer noch, dass sie sich wiederholt kopieren) Es gibt nur eine Möglichkeit, den Netzschalter hinzuzufügen, nämlich zu Schreiben Sie ein Python-Skript oder ein anderes Skript oder kompilieren Sie ein Programm, das Prinzip ist jedenfalls das gleiche, lassen Sie das Skript (oder Programm) starten, das Programm erkennt immer den GPIO, der auf die Ein- / Aus-Taste eingestellt ist, und fährt herunter, wenn er ausgelöst wird. Obwohl diese Methode das Problem lösen kann, ist sie wirklich niedrig! ! ! Und es kann nur ausgeschaltet, nicht eingeschaltet werden.
Hier teile ich mit Ihnen eine sehr elegante Methode, die ein- und ausgeschaltet werden kann:
Öffnen und lesen Sie /boot/overlays/README sorgfältig
. Dies ist das Ende des heutigen Teilens, danke.
Tatsächlich hat /boot/overlays/README es bereits sehr ausführlich gesagt. Zum Wohle der Allgemeinheit werde ich das regeln.
Viele Leute haben Kopfschmerzen, wenn sie Englisch sehen, und diese Datei hat Tausende von Zeilen, und nur wenige Leute werden sie sorgfältig lesen. Hier werde ich nur den Inhalt extrahieren, der sich auf die Stromversorgung bezieht (der Inhalt der Systemdateien verschiedener Versionen unterscheidet sich geringfügig):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 einundzwanzig zweiundzwanzig dreiundzwanzig vierundzwanzig 25 26 27 28 29 30 | Name: gpio-shutdown Info: Initiiert ein Herunterfahren, wenn sich der GPIO-Pin ändert. Der angegebene GPIO-Pin ist als Eingabetaste konfiguriert, die KEY_POWER-Ereignisse generiert. Dieses Ereignis wird von systemd-logind behandelt, indem a stilllegen. Systemd-Versionen älter als 225 benötigen eine udev-Regel Aktivieren Sie das Abhören des Eingabegeräts: ACTION!="REMOVE", SUBSYSTEM=="input", KERNEL=="event*", \ SUBSYSTEMS=="Plattform", DRIVERS=="gpio-keys", \ ATTRS{keys}=="116", TAG+="power-switch" Dieses Overlay behandelt nur das Herunterfahren. Nach dem Herunterfahren des Systems kann wieder eingeschaltet werden, indem GPIO3 auf Low gesetzt wird. Der Standard Konfiguration verwendet GPIO3 mit einem Pullup, wenn Sie also eine Verbindung herstellen Taster zwischen GPIO3 und GND (Pin 5 und 6 auf dem 40-Pin-Header), Sie erhalten einen Shutdown- und Power-Up-Button. Laden: dtoverlay=gpio-shutdown,= Parameter: gpio_pin GPIO-Pin zum Triggern (Standard 3) active_low Wenn dies 1 ist (aktiv niedrig), ein Fallen edge generiert ein Key-Down-Event und a steigende Flanke erzeugt ein Key-Up-Ereignis. Wenn dies 0 (aktiv hoch) ist, ist dies der Fall umgedreht. Der Standardwert ist 1 (aktiv niedrig). gpio_pull Gewünschter Pull-up/down-Zustand (off, down, up) Standard ist "oben". Beachten Sie, dass der Standard-Pin (GPIO3) eine hat externer Pullup. |
Zum Beispiel so:
1 2 | # Verwenden Sie GPIO3 (der GPIO bezieht sich hier auf die 3BCM-GPIO-Nummer, dh SCL1) als Einschaltknopf, die fallende Flanke wird gedrückt, die steigende Flanke wird geprellt und der interne Pull-up dtoverlay=gpio-shutdown |
Beginnen Sie, sich zu konzentrieren! ! Prüfungen sind zu absolvieren! ! denken Sie daran! !
Es ist nicht erforderlich, eine Konfiguration hinzuzufügen. Nach dem normalen Herunterfahren wird dieHimbeer-Pikann eingeschaltet werden, indem GPIO3 auf einen niedrigen Pegel gezogen wird, ohne die Stromversorgung zu unterbrechen! Richtig, das ist der Einschaltknopf! Wenn Sie GPIO3 nicht als Einschalttaste benötigen, lesen Sie bitte selbst den entsprechenden Inhalt von gpio-poweroff in /boot/overlays/README
Die oben erwähnte Konfiguration verwendet standardmäßig GPIO3, also SCL1 als Power-Button, der die I2C-Schnittstelle belegt. Obwohl andere GPIO-Software zur Simulation von I2C verwendet werden kann, ist dies offensichtlich sehr unpraktisch. Es ist besser, es wie folgt zu einem anderen GPIO zu ändern. Der GPIO-Port kann nur als Ausschalttaste verwendet werden, und die Einschalttaste ist immer noch GPIO3. Derzeit habe ich keine Möglichkeit gefunden, andere Einschalttasten anzupassen.
1 2 | # Verwenden Sie gpio_pin=17, dh GPIO_0 (physischer Pin PIN_11) als Schaltfläche zum Herunterfahren dtoverlay=gpio-shutdown,gpio_pin=17,active_low=1,gpio_pull=up |
Ich habe nur die oben genannten Inhalte auf überprüftRaspberryPi 3B+(Systemversion: Raspbian Buster mit Desktop, Image mit Desktop basierend auf Debian Buster, Version:Juli 2019, Veröffentlichungsdatum:2019-07-10, Kernel-Version:4.19), Andere Versionen sind nicht garantiert verfügbar
Es gibt viele sehr nützliche Konfigurationen in /boot/overlays/README, und interessierte Studenten können sich selbst damit vertraut machen.
Abschließend hoffe ich, dass Sie alle schnell handeln! ! Verzichten Sie auf diese niedrigexplosiven Schalterlösungen!