Wie viel Spannung für einen Taster am RPi

Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
  • Halli-Hallo! :rolleyes:
    Ich wollte ein Projekt realisieren in dem der RPi durch Taster an- bzw. ausgeschaltet wird.
    siehe --> http://ul.to/diqxnipp
    Für dieses Projekt brauche ich sogenannte Kurzhubtaster, aber da gibt es so viele verschieden mit unterschiedlicher Voltgröße. Könnte mir jemand helfen und sagen welche ich da brauche? :helpnew:
    Außerdem habe ich an meinem Adafruit LCD Display (http://www.amazon.de/gp/product/B00DJUHBJG/ref=s9_simh_gw_p23_d0_i2?pf_rd_m=A3JWKAKR8XB7XF&pf_rd_s=center-2&pf_rd_r=11XYHDEDKXAP27J585RE&pf_rd_t=101&pf_rd_p=455353807&pf_rd_i=301128&tag=psblog-21 [Anzeige]) schon 5 Taster vorhanden und diese wollte ich durch andere ersetzen jetzt nun wie selbe Frage, welche brauche ich hier?

    Falls mir jemand helfen kann, vielen Dank!

    Einmal editiert, zuletzt von ShySalad16775 (2. August 2014 um 19:53)

  • Bitte bearbeite die Überschrift im ersten Beitrag und ergänze diese durch etwas passenderes zu deinem Anliegen - Danke


    Zur Frage:
    Es gibt unzählige Taster - im Prinzip kannst du also JEDEN nehmen der Dir gefällt und die richtigen Masse für dein Vorhaben hat.

    Zu der Anleitung:
    Das Python Script ist nicht so gut da es permanent läuft und Last (CPU+RAM) erzeugt. Besser wäre eine Interrupt Abfrage.
    Desweiteren ist es unsauber geschrieben und hat nicht die korrekten Einrückungen: def main(): ist zu weit rechts und müsste stattdessen bündig nach links. Python ist was das betrifft äußerst pingelig.
    Außerdem glaub ich ist das Script fehlerhaft... aber nunja, dass der Autor des Scripts nicht der des PDF's ist merkt man irgendwie :-/

    Und zu guter letzt kann man den PI nicht Ausschalten - das ist also prinzipiell bereits Falsch - sowohl in deinem Anliegen als auch in der Überschrift des PDF's

  • Der Code wird so niemals funktionieren.
    In der while True Schleife kommt am Ende ein return 0, beendet also nach dem ersten Durchlauf das Programm. Und nach einem "shutdown" bedarf es eigentlich auch keinem return mehr. Die Einrückungen sind Teil der Python Syntax und hier total wild zusammengewürfelt.
    Und der Versuch eine Taste für 3 Sekunden abzufragen ist leider auch vollkommen gescheitert.
    Falls Du da was funktionierendes brauchst, kannst Dich ja nochmal melden.

    Welchen Taster Du da verwendest hat meigrafd ja schon geschrieben.

    ...and write down with pencil&paper...
    Where can i download "pencil&paper" ?

  • Ok. Vielen Dank erstmal. Die Überschrift wurde auch geändert. :D
    Jetzt zu meinem vorhaben mit dem aus- bzw. einschalten. Ich habe auch einen anderen Thread gefunden der das beschreibt. Und tut mir leid, dass ich nicht erkennen konnte, dass der Code nicht funktioniert, denn ich bin noch nicht so bewandert in Python ...
    Der andere Thread ist dieser: Schaltplan Rev. 2.0 oder auch : https://www.forum-raspberrypi.de/Thread-tutoria…incl-status-led
    Könnte das funktionieren? Ich versuche irgendwie den Pi zum Herunterfahren zu bringen ohne Tastatur und shutdown, und das selbe dann wieder mit dem Starten.

    Einmal editiert, zuletzt von ShySalad16775 (2. August 2014 um 20:02)

  • Hallo Beta_Tester,

    ich habe mal etwas gebastelt und programmiert, was Deinem Vorhaben sehr nahe kommt.

    Schau mal hier herein.

    Du brauchst dann nur noch den Tip von Mathias umzusetzen, d.h. eine zweipolige Stiftleiste mit Kabel und Taster in die Buchse P6 löten. Wenn Du über entsprechende Erfahrungen verfügst, kannst Du den Taster auch direkt in die Buchse P6 löten.

    Dann kannst Du den Raspberry Pi über den Taster (mein Thread) sauber herunterfahren und über den Taster an P6 wieder hochfahren.


    Gutes Gelingen!

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

    2 Mal editiert, zuletzt von Andreas (8. Oktober 2017 um 18:01)


  • Willst du ihn auch starten benötigst du einen 2Polige Stiftleiste die du in die Aussparung neben dem Kondensator platziertst
    Da kannst du dann einen Reset machen.

    Das sollte man mit äussester Vorsicht betrachten da das einem plötzlichen Stromlos schalten gleich kommt und das Dateisystem beschädigen kann. Den Hard-Reset über P6 sollte man ausschließlich dann nutzen wenn ein regulärer Shutdown nicht mehr funktioniert da das Betriebssystem hängt und nicht mehr reagiert!


    rpi-power-switch das angeblich über gpio schalten soll.

    Nicht nur angeblich sondern tut es. Das wird in folgender Anleitung beschrieben: https://learn.adafruit.com/adafruit-pitft…berry-pi/extras

    Problematisch wirds nur wenn man ein nicht-adafruit Image nutzt, dann muss man sich das Module selber kompilieren und dafür brauch man die Kernel-Header Dateien, die exakt mit dem installierten Kernel übereinstimmen müssen...
    Da hatte ich jüngst bereits einige Probleme, es gibt zwar son get_kernel_source.sh Script um die Header Dateien wie sie auch vom rpi-update Script genutzt werden zu laden, aber trotzdem gibts da anscheint Unstimmigkeiten was letztlich zum Fehlschlag führt...

    Daher beschreibe ich hier noch mal den funktionierenden Weg - man muss eben nur darauf achten dass man danach kein rpi-update mehr ausführen darf sonst kann man das Modul nicht mehr laden.

    Code
    aptitude update
    aptitude install -y linux-image-3.12-1-rpi linux-headers-3.12-1-rpi
    echo -e "kernel=vmlinuz-3.12-1-rpi\ninitramfs initrd.img-3.12-1-rpi followkernel" | tee -a /boot/config.txt
    reboot

    Anschließend mit uname -r prüfen das tatsächlich 3.12-1-rpi aktiv ist.

    Dann dieses Kernel Module laden und kompilieren, bzw vorher die dafür benötigten Pakete installieren:


    Das sollte fehlerfrei abgelaufen sein.

    Dann wie in der Anleitung beschrieben die Konfigurationsdatei bearbeiten bzw erstellen nano /etc/modprobe.d/adafruit.conf und dort folgendes eintragen:

    Code
    options rpi_power_switch gpio_pin=23 mode=0

    Nun das Modul ohne reboot laden:

    Code
    insmod /lib/modules/3.12-1-rpi/rpi_power_switch.ko gpio_pin=23 mode=0


    Ob es erfolgreich geladen wurde kann man mit lsmod prüfen

    Jetzt einen Taster zwischen GND und GPIO-23 (pin#16) anbringen.

    Drückt man nun diesen Taster so fährt der PI runter, allerdings nicht ganz so wie mans vllt kennt, die LEDs bleiben alle an trotzdem ist er heruntergefahren.. Drückst man den selben Taster dann noch mal gehen alle bis auf die Rote PowerLED aus und 2sek später wieder an sowie der PI bootet.

  • Vielen Dank für eure zahlreichen Antworten.
    Also habe ich das jetzt richtig verstanden:
    Das starten des RPi geht mit der genannten Anleitung, aber der Shutdown ist ein kalter Reset und schädigt den Pi? Das wäre wirklich schade, denn das Starten kann man ja noch lösen, indem man einfach die Stromzufuhr stoppt und wieder startet.
    Mein Problem wäre, dass ich an den GPIO schon ein Adafruit LCD Display habe und die deswegen nicht ansteuern kann.

    Einmal editiert, zuletzt von ShySalad16775 (3. August 2014 um 13:38)

  • Unabhängige Frage an die Profis:

    Entprellt Ihr den die Taster hardwareseitig oder softwareseitig ??

    Ich denke, letzteres dürfte wohl billiger und einfacher sein, oder ??

    ;) Gruß Outi :D
    Pis: 2x Pi B (Rente) / 1x Pi B+ (Rente) / 1x Pi 2 B (Rente) / 2x Pi 3 B (RaspberryMatic / Repetier Server) / 2x Pi Zero 1.2 (B. Lite) / 2x Pi Zero 1.3 (B. Lite) / 2x Pi Zero W 1.1 (B. Lite) / 1x Pi Zero 2 (mal so, mal so) / 1x Pi 3 B+ (Tests) / 1x Pi 4 B 4GB (BW Lite (Webserver)) / Pi 400 (BW) / 1x Pi 5 (BW) / 2x Pi Pico / 2x Pi Pico W
    Platinen: Sense HAT / HM-MOD-RPI-PCB / RPI-RF-MOD / PiFi DAC+ V2.0 / TV HAT / Pi 5 Kühler HAT
    Kameras: orig. Raspberry Pi Camera Module V1 & V3 / PS3 Eye

  • aber der Shutdown ist ein kalter Reset und schädigt den Pi? Das wäre wirklich schade

    Wenn der pseudo-"shutdown" über den P6 erfolgt ist das nicht gut fürs Dateisystem des Betriebssystems. Dem PI ist das egal, also der Hardware.
    P6 ist eben so als würdest du die Stromzufuhr trennen.

    Erfolgt der "shutdown" aber über eine Software, also über den Konsolen Befehl shutdown oder poweroff usw, besteht keine Gefahr (solange das OS vollständig heruntergefahren werden konnte)

  • Hallo Beta_Tester,

    der Taster am P6 dient nur dem Einschalten / Hochfahren - nicht zum sauberen Herunterfahren.

    Wenn Deine GPIOs schon belegt sind, dann wird's mit dem Taster zum sauberen Herunterfahren schwierig.

    Da könntest Du höchstens die Schaltung auf einen GPIO-Pin von P5 übertragen - mit entsprechender Software-Anpassung natürlich.

    Beste Grüße

    Andreas

    Ich bin wirklich nicht darauf aus, Microsoft zu zerstören. Das wird nur ein völlig unbeabsichtigter Nebeneffekt sein.
    Linus Torvalds - "Vater" von Linux

    Linux is like a wigwam, no windows, no gates, but with an apache inside dancing samba, very hungry eating a yacc, a gnu and a bison.

  • Hat jemand ein ähnliches Projekt realisiert in dem man den Pi über P5 steuert? Sprich an-/ ausschalten.

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!