Hallo Zusammen
Einige von euch wissen bestimmt, dass der RPI zwei spezielle Hard-Reset
Pins hat, die man zum restarten verwenden kann (via einem normalen
Schalter/Button) - werden überbrückt mit einem Button/Switch.
Was ich suche ist jetzt noch eine Schaltung, wo ich verhindern kann,
dass nach dem Booten der Resetknopf ausversehen gedrückt werden kann. Es
soll eine Art "Relais" sein - ein Relais/SSR aber ist zu gross für den
Zweck.
Ich fände eine Schaltung toll, wo durchschaltet wenn keine Spannung
anliegt also 0V und wenn der RPI gebootet ist 3.3V oder 5V Spannung an
einem GPIO der auf High gesetzt wird, dass dann der Stromkreis
unterbrochen ist und kein Reset mehr stattfinden kann. Hoffe es ist
verständlich ...
Also bei 0V geschlossen und bei 3.3V offen.
Nach was für einer Schaltung suche ich da? Resp. mit was für Bauteilen
lässt sich das realisieren?
Danke für eure Zeit und eure Antworten.
Beste Grüsse
Matthias
> RPI zwei spezielle Hard-Reset
Es sind sogar drei!
Der dritte ist ein Taster ueber die Betriebsspannung.
Ansonsten ist dein Ansinnen ohnehin Schwachfug.
Weder fuer 1. noch 2. noch 3. ist im Originalzustand entsprechende
Hardware vorhanden. Man muss nichts verhindern.
Der letzte Rechner wo ein "Resetknopf" noch sinnvoll war,
war der C64.
Hallo Larry
Danke für Deine Zeit und Antwort.
Die einzige mir bekannten Lösungen zum Restart vom RPI ist (sofern er
ausgeschaltet ist und am USB Kabel noch hängt, also grundsätzlich mal
Strom hat):
a) USB Kabel ziehen und wieder einstecken.
b) Hardreset Knöpfchen drücken.
Andere sind mir nicht bekannt. Falls es welche noch gibt - dann wäre ich
froh um Aufklärung. Da ich a) für meine Anwendung nicht so toll finde,
da dann irgendwann der Stecker hin ist, wollte ich mit Variante b)
fahren.
Diese hat aber den Nachteil, dass wenn der RPI gebootet ist man immer
noch einfach einen Hardreset machen kann - dies möchte ich eigentlich
nach dem Booten des RPI mit einer einfachen "Schaltung" beseitigen.
Ich denke das Vorhaben ist klar umschrieben, kann mir jemand noch Input
dazu liefern? Aber falls Fragen sind ...
Herzlichen Dank für eure Hilfe.
Gruss
Matthias
This overlay only handles shutdown. After shutdown, the system
13
can be powered up again by driving GPIO3 low. The default
14
configuration uses GPIO3 with a pullup, so if you connect a
15
button between GPIO3 and GND (pin 5 and 6 on the 40-pin header),
16
you get a shutdown and power-up button.
17
Load: dtoverlay=gpio-shutdown,<param>=<val>
18
Params: gpio_pin GPIO pin to trigger on (default 3)
19
20
active_low When this is 1 (active low), a falling
21
edge generates a key down event and a
22
rising edge generates a key up event.
23
When this is 0 (active high), this is
24
reversed. The default is 1 (active low).
25
26
gpio_pull Desired pull-up/down state (off, down, up)
27
Default is "up".
28
29
Note that the default pin (GPIO3) has an
30
external pullup.
31
32
debounce Specify the debounce interval in milliseconds
33
(default 100)
GPIO3 (Pin5) low weckt automatisch den RPI aus dem shutdown ohne weitere
Änderungen, wenn Du auch den shutdown machen willst, dann mit der oben
beschriebenen Konfiguration. Ein weiterer Weg ist, so etwas in SW zu
realisieren und dabei GPIO3 statt GPIO26 zu verwenden, das gibt
ebenfalls shut-down und wake-up mit einer Taste:
https://core-electronics.com.au/tutorials/how-to-make-a-safe-shutdown-button-for-raspberry-pi.html
Martin
samatthias schrieb:> Was ich suche ist jetzt noch eine Schaltung, wo ich verhindern kann,> dass nach dem Booten der Resetknopf ausversehen gedrückt werden kann
Ich schätze da liegt ein Denkfehler vor: hat der Raspi keinen Strom,
bewirkt der Resetknopf nichts. Hat er Strom und ist hochgelaufen, so
soll der Resetknopf nichts bewirken, er ist also einfach nur
überflüssig. Die "Schaltung" die du suchst ist einfach keinen
Resettaster anzuschliessen.
Ich habe einen angeschlossen, aber der einzige (nie gebrauchte)
Einsatzzweck ist ein gewaltsamer Halt, wenn der Raspi durchdreht. Aber
genau das willst du ja verhindern.
Georg
in /boot/config.txt schreibst du dtoverlay=gpio-shutdown und von
Pin5/GPIO3 nach GND ein Taster schalten. Dann wird bei stromversorgten
aber heruntergefahrenem Raspi der Rechner gestartet und bei laufendem
Raspi das OS sauber runtergefahren, wenn man den Taster drückt.
Schreibst du dtoverlay=gpio-shutdown,gpio_pin=26 in /boot/config.txt und
verbindest einen Taster von GND nach Pin26 dann macht er nur einen
Shutdown und über Pin5 den Startup.
Das V2 im Titel deiner Frage bezieht sich auf die Raspi Version?
Wenn ja dann könnte es sein das du für den Pi2 andere Pins verwenden
musst. Ich habe obiges alles auf einen Pi3B+ getestet und verwende es
auch.
Hallo Zusammen
Besten Dank für eure Antworten. Dank Martin H. habe ich jetzt eine
Lösung gefunden - nochmals speziellen
Dank an Dich.
1) Der Raspberry Pi kann durch sudo halt -p in den Ruhezustand versetzt
werden. Die Aussage von "georg"
finde ich etwas missverständlich.
2) Der Raspberry Pi (egal welche Version) hat meines Wissens folgende
Möglichkeiten um ihn aus diesem Ruhezustand
zu wecken:
a) Die beiden speziellen Run Pins werden kurz geschlossen (dies hatte
ich am Anfang auch immer so).
Nachteil, wenn der Button an diesen Run Pins hängt und der PI
gebootet ist und man drückt den Button,
wird sofort ein ein Reboot durchgeführt (... eher nicht das was man
will wegen dem Filesystem Corruption
usw.) - siehe auch Bilder.
b) Pin 5 (GPIO 3) und 6 (GND) am grossen GPIO Header können verwendet
werden um den Raspberry PI ebenfalls
aus dem Ruhezustand wecken (wie es Martin H. eben beschrieben hat).
Vorteil dieser Variante ist: Wenn der
PI gebootet ist und man drückt den Button passiert - oh Wunder
nichts! <-- Genau dies wollte ich ja!
Also ist b) die Lösung.
Das Beste daran ist, diese Lösung benötigt keine Schaltung ... :-)
3) Weitere interessante Overlays in diesem Zusammenhang:
- Name: gpio-shutdown (von Martin H. bereits zitiert.)
- Name: gpio-poweroff (von mir noch angesehen im GIT Repo zu finden
unter dem Link von Martin H.)
Herzlichen Dank nochmals an alle die mitgeholfen haben! Sehr nett von
euch.
Beste Grüsse
Matthias
Hallo Matthias, wenn ich dein Anliegen richtig verstanden habe willst du
den RPI aus dem Ruhezustand aufwecken?! Also keinen Reset durchführen?
Warum steht dann von deinem eigentlichem Problem/Fragestellung nichts in
deinem ersten Eintrag?
Ich freue mich das jemand zu deinem Problem eine Lösung erraten hat.
Trotzdem wäre es gut etwas zu deiner Anwendung und dem was du damit
erreichen willst zu schreiben. Das würde auch den nächsten suchenden
helfen.
Kleines Feedback an LiLo:
Ich habe exakt das gleiche Problem wie der TE. Ich habe diesen Thread
tatsächlich als erste sinnvolle Seite über Google gefunden. Ich wusste
was der TE wollte und war dankbar für die vielen Informationen in der
Diskussion. Also - danke Matthias, ich konnte dem schon folgen.