Raspberry pi4 ein ausschalter

[How TO] Raspberry PI 4 GPIO Ein- und Ausschalten – Power ON/OFF Button

Wer seinen Raspberry PI nach dem Ausschalten wieder starten möchte, musst bisher das Stromkabel ziehen und wieder Anstecken oder es wurde ein USB-Kabel mit einem Kippschalter gekauft.
Der Raspberry PI 4 verfügt nun über die GPIOs die Möglichkeit mit einfachsten mitteln sich Aus- und wider Einschalten zu lassen.
Das ist sehr einfach möglich, es wird lediglich ein Kabel mit einem Taster benötigt. Diese sind in den meisten PCs als „Reset – Knopf“ bekannt.

Einkaufsliste

Wir benötigen nur einen Power SW Schalter / Taster inkl. einem Kabel, dies gibts bereits ab ca. 7 € bei Amazon.
Es kann natürlich jegliche Art von Taster verwendet werden! Beim Kauf beachtet, dass der Schalter auch in das Gehäuse passt 😉

Es funktioniert nur ein Taster, dieser schließt kurz den Stromkreislauf und öffnet diesen wieder. Ein Schalter der zwei Zustände hat offen oder zu funktioniert hierbei nicht. (z. B. Lichtschalter)

Verdrahtung am Raspberry

Der Taster muss an GPIO3 (Gelbe Leitung) und dem gegenüberliegende GND Pin verbunden werden. (Pull up/down Prinzip siehe Konfiguration)

GPIO Pin Out – Header

Eine kurze Übersicht der GPIO Belegung
Quelle: https://www.raspberrypi.org/documentation/usage/gpio/

Raspberry GPIO Pinout Header
Raspberry GPIO Pinout Header

Software – GPIO Überwachung aktivieren

Damit nun euer Raspberry PI auch auf einen Tastendruck reagiert, müssen wir einen Befehl in der boot.cfg noch eintragen.

Öffnet die Datei /boot/config.txt und fügt zum Schluss diese Zeilen hinzu: (Dies kann natürlich auch am PC erfolgen, indem die SD-Karte an einem PC angeschlossen wird und mit einem Editor die Datei bearbeitet wird.)

sudo nano /boot/config.txt
# Ein- und Ausschalten 
dtoverlay=gpio-shutdown,gpio_pin=3, active_low=1,gpio_pull=up

Mit STRG + O speichern und STRG + X schließen wir den Editor.

Raspberry Bootloader – update

Danach müssen wir noch prüfen, ob Unser Raspberry PI 4, diesen Befehl auch unterstützt, dies erledigen wir ganz einfach mit einem Bootloader Update. Dazu einfach die folgenden Befehle nacheinander ausführen.

Für ein erfolgreiches Bootloader Update benötigen wir eine Aufrechte Internetverbindung.

sudo apt update
sudo apt full-upgrade
sudo apt install rpi-eeprom
sudo rpi-eeprom-update

Zum Schluss mit sudo reboot unser Gerät neu starten und den Taster gleich ausprobieren!

Quelle Bootloader update: https://www.raspberrypi.org/documentation/hardware/raspberrypi/booteeprom.md

Viel Spaß

Christoph Purin
Christoph Purin

Mein Name ist Christoph Purin und befasse mich mit IoT Geräten wie Raspberry, Arduino, ESP. Auch Aktivitäten wie die FFW, Quad-fahren, Amateurfunk zählen zu meinen bevorzugten Hobbys.
Dieser Blog, stellt eine Sammlung meiner Projekte dar, wie Dinge gelöst oder umgebaut werden können.

Artikel: 345

10 Kommentare

  1. Hallo Stoffl!

    Warum nimmt fast jeder den GPIO3? Dort liegt doch das I2C Signal drauf – den Bus blockiere ich mir dann komplett?

    Oder muss ich diesen PIN nehmen ?
    Ich teste gerade ein paar Kontakte durch, ausschalten geht immer, nur einschalten lässt sich die Kiste nicht mehr?

    • Hallo Oliver, lt. Raspberry muss dieser GPIO zum Einschalten verwendet werden.
      Ich vermute, da in diesem „Deep Standby“ nur dieser GPIO überwacht wird.

      Als Lösung würde ich für das Herunterfahren einen anderen GPIO verwenden als für das Starten.
      Herunterfahren x GPIO – das funktioniert.
      Einschalten GPIO3.

      im ausgeschalteten Zustand hört die RTC auf diesen GPIO.
      Ist der Raspberry eingeschalten übernimmt Raspbian diese Aufgabe.

      Damit nicht versehentlich der RPI ausgeschaltet wird, muss für das Herunterfahren einfach ein anderer Pin genommen werden. Somit wenn SDA auf LOW GPIO3 zieht, wird es für I2S interpretiert und nicht als Trigger zum Herunterfahren.

      Hoffe, ich konnte mich verständlich ausdrücken.

      Quelle: https://www.raspberrypi.org/forums/viewtopic.php?t=241101

      Gruß
      Stoffl

      • Hallo Stoffl,

        danke für die schnelle und verständliche Antwort – auch wenn es nicht das ist was ich hören wollte 😉

        Dann muss ich das mal so umbauen bzw. überlegen ob ich nach dem runterfahren dem Raspi nicht einfach die Versorgungsspannung abklemme. Sobald diese wieder anliegt fährt er ja normal wieder hoch.
        Mal schauen was der Platz auf der Platine noch hergibt…

        Danke nochmal!

        Oliver

  2. Hi, ich hab es nachgebaut, mit einem ganz einfachen PC Power-Button (geht sicherlich auch mit einem PC Reset-Button) von inLine (PC Mainboard Test-Set).
    Ich habe dafür die PINS 3 (Gelb) und 14 (Ground) benutzt.
    Dies führt, mit dem o. g. Skript dazu, dass der Raspi nach dem ersten Klick OFF geht und nach dem zweiten Klick wieder ON geht.
    Man darf sich nur nicht wundern, die rote LED bleibt an!
    Bei Hochfahren (zweiter Klick) jedoch erkennt man am Blinken der grünen LED das alles geklappt hat.
    Gruss und Dank aus Berlin

    • Hallo Kokarde,
      freut mich wenn es funktioniert 🙂 und auch danke für die Info bezüglich den LEDs, da hast du vollkommen Recht.
      Es ist leider kein “richtiges” Herunterfahren, lediglich die “Software” wird in eine Art tiefschlaf versetzt, wobei der GPIO noch überwacht wird und das OS wieder startet.

      Ich bin gespannt wie es beim Raspberry 400 gelöst ist (Tastatur + Raspberry in einem) dort soll es über die F10 Taste (FN + F10) dieselbe Aktion wie mit diesem Taster ausgeführt werden.

      Gruß
      Stoffl

    • Hallo Kai,
      wichtig ist die gelbe Leitung GPIO3 PIN 5 – diese wird auf Masse (GND) geschaltet PIN 6 – GND
      Die schwarze Leitung kann irgend ein GND Pin sein 🙂

      Pinout Header Bild im Artikel ergänzt 🙂

      Gruß
      Stoffl

      • Hi Stoffl,
        danke für die schnelle Antwort, hat alles genauso geklappt wie beschrieben. Einziges Problem: Der angeschlossene Lüfter schaltet sich nicht mit aus. Konnte ich da die Zeile in der config.txt ergänzen mit:
        dtoverlay=gpio-shutdown,gpio_pin=1, active_low=1,gpio_pull=up

        Der Lüfter ist an Pin1, 3,3v angeschlossen.
        Vielen Dank im Voraus.
        Viele Grüße
        Kai
        Kai

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert