Hoch- und runterfahren mittels Taster

  • Moin Moin

    ich versuche meinen Raspberry über einen Taster aus und einzuschalten. Ich habe einen Taster an GPIO3 und GND angeschlossen und in der config die Zeile hinzugefügt.

    sudo nano /boot/firmware/config.txt

    # Make pushbotton on GPIO3 on / off switch
    dtoverlay=gpio-shutdown,gpio_pin=3


    Leider öffnet sich dann ein Fenster mit den Ausschaltfunktionen und es muss ein zweites Mal gedrückt werden.


    Gibt es eine Möglichkeit die Meldung abzuschalten, damit er direkt runterfährt und startet?

  • Go to Best Answer
  • Ergänzung zu:

    Laut offizieller Dokumentation ist bei neueren Raspis wie dem Pi5 zweimal Drücken bei OS-"Desktop" und einmal Drücken bei OS-"Lite" angesagt:

    https://www.raspberrypi.com/documentation/…ml#power-button

    Ich habe es eben auch mal auf einem Pi3 mit aktuellem Raspberry Pi OS "Desktop" probiert:

    Sogar hier kommt nun diese Meldung beim Schließen des GPIO3-Tasters.
    Zum Shutdown ist ebenfalls jetzt zweimaliges Drücken erforderlich. Früher™ war das nicht erforderlich.

    Das ist also nicht nur beim neuen Pi5 so, wie die Doku es vermuten lässt...

    Edited once, last by simonz (February 21, 2025 at 9:16 AM).

  • Moin

    ich habe hier einen Raspi 4 B mit Bookworm laufen, aber ohne klassische Oberfläche. (Openhabian mit Kioskmode)
    GPIO 3 startet immer den Raspi, Hardware (solange Spannung anliegt), und da ich I2C Nutze habe ich GPIO 22 für den Powerdown.
    config.txt :
    # Power ON/OFF with GPIO 3/22
    dtoverlay=gpio-shutdown,gpio_pin=22,gpio_pull=up,debounce=300


    3 und 22 sind über ein 10 KOhm Widerstand gebrückt, beide Pullup. Damit klappt das ganz gut.

    Grüße Hajo

  • Moin Moin

    ich habe es mit dem Skript versucht

    Python
    #!/usr/bin/env python3
    from gpiozero import Button
    import os
    Button(3).wait_for_press()
    os.system("sudo poweroff")

    ich versuche es mit der rc.local automatisch starten zu lassen. Irgend etwas funktioniert aber nicht. Wenn ich die Datei danach manuell starten will, bekomme ich eine Fehlermeldung

    Wie kann ich erkennen ob das Skript läuft?

  • ich habe es mit dem Skript versucht

    So wird das nichts!

    Versuch es damit: https://gpiozero.readthedocs.io/en/stable/reci…shutdown-button und dort statt Button 17 die 3 verwenden.

    Drückt man für 2 Sekunden den Taster, dann fährt der RPi runter.

  • Ich habe es ausprobiert und auf Pin3 geändert. Leider funktioniert es nicht . Wenn ich den RPi mit sudo shutdown runtergefahren habe kann ich ihn über die Taste wieder hochfahren. Er reagiert aber nicht wenn ich ihn mit den Taster runterfahren will. Muss ich noch irgendwo anders was ändern? Es läuft ein Magicmirror auf dem RPi. Die GPIOs funktionieren. Ich habe zusätzlich noch einen Bewegungsmelder, der den Monitor ausschaltet, dort funktioert es super.

    • New
    • Best Answer

    Ich habe es ausprobiert und auf Pin3 geändert.

    Wie, an welchen Pins, ist der Taster angeschlossen? Ist es dieser https://pinout.xyz/pinout/pin5_gpio3/ und GND?

    Hast Du den Taster mindestens 2 Sekunden gedrückt gehalten?

    Hast Du das dtoverlay aus der config.txt auch wieder entfernt?

    Kommen Fehlermeldungen beim manuellen Start des Skripts?

  • Das wars!! :)

    ich habe smarten Schalter , der auf 2sec eingestellt war. Ich habe den Schalter auf jetzt auf 3sec programmiert. Dadurch erreicht er die 2sec vom RPi. Jetzt läuft es.

    SUPER! Vielen herzlichen Dank

  • Stacheltier March 2, 2025 at 5:44 PM

    Selected a post as the best answer.

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!