Forum: Mikrocontroller und Digitale Elektronik Raspberry Pi 3 mit Arduino hard-resetten (ohne Löten)


von Kim-Yannick J. (kim_yannick)


Lesenswert?

Mal wieder suche ich nach einer eleganten Lösung, die kein Löten 
erfordert.

Ich möchte gerne mithilfe eines Arduino Pro Mini den Pi hard-resetten, 
wenn ein Knopf länger gedrückt gehalten wird. Dies soll einem bei einem 
kompletten Softwarecrash das Ziehen des Stromkabels ersparen. Gehört 
habe ich bereits, dass der RUN-Header beim Kurzschließen einfach nur 
einen Pin auf GND setzt, daher kann ich mir den FET sparen. Da ich und 
mein Freund kaum Erfahrung beim Löten haben, möchte ich nicht gerne 
riskieren, den Pi zu zerstören. Daher möchte ich nun wissen, ob es eine 
gute Lösung gibt, die sich ohne Rückstände einfach wieder vom Pi 
entfernen lässt.

von Hugo (Gast)


Lesenswert?

Kim-Yannick J. schrieb:
> Daher möchte ich nun wissen, ob es eine
> gute Lösung gibt, die sich ohne Rückstände einfach wieder vom Pi
> entfernen lässt.

Was meinst du, wozu die Steckerleisten da sind? ;-)

von Kim-Yannick J. (kim_yannick)


Lesenswert?

Hugo schrieb:
> Kim-Yannick J. schrieb:
>> Daher möchte ich nun wissen, ob es eine
>> gute Lösung gibt, die sich ohne Rückstände einfach wieder vom Pi
>> entfernen lässt.
>
> Was meinst du, wozu die Steckerleisten da sind? ;-)

Was für Steckerleisten?

von Daniel J. (theend)


Lesenswert?

Du kannst das ganze entweder Softwaremäßig lösen durch die vorhandenen 
GPIO Ports. Oder du nutzt den RUN-Steckplatz. Einfach eine Stiftleiste 
dort einlöten, dann brauchst du nurnoch Stecker verwenden.

2 Punkte könnt ihr doch löten?

von Draco (Gast)


Angehängte Dateien:

Lesenswert?

Kim-Yannick J. schrieb:
> Was für Steckerleisten?

hmm... i dont know if trolling or...?!?

von Kim-Yannick J. (kim_yannick)


Lesenswert?

Draco schrieb:
> Kim-Yannick J. schrieb:
>> Was für Steckerleisten?
>
> hmm... i dont know if trolling or...?!?

Es geht um den leeren RUN-Header, nicht um die GPIOs.

von Draco (Gast)


Lesenswert?

Wozu braucht er dann aber nen Arduino? Nen einfacher Taster tut es doch 
auch?! Ohne löten kommt er da eh nicht rum, oder er klebt sich halt die 
Kabel auf die Pads :-D

von Kim-Yannick J. (kim_yannick)


Lesenswert?

Draco schrieb:
> Wozu braucht er dann aber nen Arduino? Nen einfacher Taster tut es doch
> auch?! Ohne löten kommt er da eh nicht rum, oder er klebt sich halt die
> Kabel auf die Pads :-D

Der Taster soll sowohl Software im Pi als auch den Hard-Reset steuern. 
Ein einfacher Schalter ohne zusätzlichen Controller kann das nicht, wenn 
der Pi sich, warum auch immer, aufgehangen hat.

von Harry L. (mysth)


Lesenswert?

Der Pi hängt sich eigentlich nur auf, wenn:

* die Stromversorgung Mist ist
* der RPi defekt ist

In nahezu allen anderen Fällen kann man via ssh einen Reboot oder 
Shutdown auslösen, und das ist definitiv die bessere Methode.

: Bearbeitet durch User
von Draco (Gast)


Lesenswert?

Harry L. schrieb:
> In nahezu allen anderen Fällen kann man via ssh einen Reboot oder
> Shutdown auslösen, und das ist definitiv die bessere Methode.

Und im übrigen auch per GPIO, nem Arduino und zwei Zeilen Script.

von Tr (Gast)


Lesenswert?

P-FET in die Stromversorgung einschleifen und kurz abschalten.
Oder du verbiegst eine Stiftleiste, sodas sie in den Bohrungen klemmt. 
Auf den Transistor solltest du aber nicht verzichten, keine Ahnung ob 
der Run Pin 5V bzw. festen High Pegel verträgt.

von Kim-Yannick J. (kim_yannick)


Lesenswert?

Draco schrieb:
> Harry L. schrieb:
>> In nahezu allen anderen Fällen kann man via ssh einen Reboot oder
>> Shutdown auslösen, und das ist definitiv die bessere Methode.
>
> Und im übrigen auch per GPIO, nem Arduino und zwei Zeilen Script.

Der Hard-Reset soll ja nur ein Nice-To-Have sein, und nur eine 
Notlösung. Ein Softreboot wird über den selben Knopf ebenfalls möglich 
sein. Der Arduino soll außerdem den Pi nach einem Shutdown wieder 
hochfahren können (ich weiß, dass das auch über einen GPIO geht) und den 
Pi beim Einstecken des Kabels vom Hochfahren zurückhalten, um einen 
extra Schalter zum Booten zu haben.

Aber die einzige Lösung ist und bleibt Löten, daher ist das hier 
geklärt.

von Kim-Yannick J. (kim_yannick)


Lesenswert?

Tr schrieb:
> P-FET in die Stromversorgung einschleifen und kurz abschalten.
> Oder du verbiegst eine Stiftleiste, sodas sie in den Bohrungen klemmt.
> Auf den Transistor solltest du aber nicht verzichten, keine Ahnung ob
> der Run Pin 5V bzw. festen High Pegel verträgt.

Der Pullup des Run-Pin wird ja über einen Low-Pegel kurzgeschlossen. Da 
kommt kein High-Signal drauf.

von Draco (Gast)


Lesenswert?

Kim-Yannick J. schrieb:
> Der Arduino soll außerdem den Pi nach einem Shutdown wieder hochfahren
> können (ich weiß, dass das auch über einen GPIO geht) und den Pi beim
> Einstecken des Kabels vom Hochfahren zurückhalten, um einen extra
> Schalter zum Booten zu haben.

Du weißt schon um die Funktionsweise des RUN Headers oder?! Also was er 
Hardwareseitig am CPU macht?! Das was du vor hast, ist eine ganz andere 
Größenordnung, dazu musst du die komplette Stromversorgung über die 
GPIOs realisieren (bzw. geht natürlich auch über den mUSB  Anschluss) 
Fakt aber, das der Arduino dann die komplette Spannungsversorgung 
behandeln muss, bevor sie überhaupt in den Raspi geht.

von Kim-Yannick J. (kim_yannick)


Lesenswert?

Draco schrieb:
> Kim-Yannick J. schrieb:
>> Der Arduino soll außerdem den Pi nach einem Shutdown wieder hochfahren
>> können (ich weiß, dass das auch über einen GPIO geht) und den Pi beim
>> Einstecken des Kabels vom Hochfahren zurückhalten, um einen extra
>> Schalter zum Booten zu haben.
>
> Du weißt schon um die Funktionsweise des RUN Headers oder?! Also was er
> Hardwareseitig am CPU macht?! Das was du vor hast, ist eine ganz andere
> Größenordnung, dazu musst du die komplette Stromversorgung über die
> GPIOs realisieren (bzw. geht natürlich auch über den mUSB  Anschluss)
> Fakt aber, das der Arduino dann die komplette Spannungsversorgung
> behandeln muss, bevor sie überhaupt in den Raspi geht.

Ich will ja nur die CPU blockieren, nicht den kompletten Strom abdrehen. 
Der Arduino läuft mit 3V und wird daher mit dem 3V-GPIO verbunden. Oder 
habe ich etwas komplett falsch verstanden?

von Michael U. (amiga)


Lesenswert?

Hallo,

es verblüfft mich wirklich, wieviel Aufwand jemad in eine völlig unnütze 
Sach investiert...
Ich frage mich beim Lesen immer wieder: wozu soll das gut sein?
Einen Raspi erst auf Tastendruck booten lassen, eine Raspi in den 
Shutdown holen oder dahin schicken usw.

Wenn einer meiner beiden Raspis so fastehängt, daß ich per Telnet nicht 
mehr rankomme, ist vermutlich das Filesystem im Eimer, egal warum auch 
immer.

Gruß aus Berlin
Michael

von Mikro 7. (mikro77)


Lesenswert?

Michael U. schrieb:
> Wenn einer meiner beiden Raspis so fastehängt, daß ich per Telnet nicht
> mehr rankomme, ist vermutlich das Filesystem im Eimer, egal warum auch
> immer.

Aha. Das Filesytem. Das kann keinen anderen Grund haben? Hmm. "Egal 
warum auch immer"! ;-)

@TS: Sehe auf Anhieb auch keine bessere Lösung als Löten (bspw. zus. Pin 
Header) oder Stromzufuhr kappen. Wenn du allerdings eine alternative 
Lösung findest, wäre das vllt. auch für den einen oder anderen Mitleser 
interessant.

von nullnegativ (Gast)


Lesenswert?

Harry L. schrieb:
> In nahezu allen anderen Fällen kann man via ssh einen Reboot oder
> Shutdown auslösen, und das ist definitiv die bessere Methode.

Nahezu? Wat 'ne beknackte Aussage wenn doch die Frage ausdrücklich nach 
Hardreset war. Oder weßt du nicht was damit gemeint ist?

von Draco (Gast)


Angehängte Dateien:

Lesenswert?

Kim-Yannick J. schrieb:
> Ich will ja nur die CPU blockieren, nicht den kompletten Strom abdrehen.

Siehe Reset Schaltung vom Raspberry im Diagramm oben ;-)

Kim-Yannick J. schrieb:
> Der Arduino läuft mit 3V und wird daher mit dem 3V-GPIO verbunden. Oder
> habe ich etwas komplett falsch verstanden?

Das ist korrekt, das hat aber mit deinem Problem den Raspi in 
einen"Ruhemodus" zu setzen nix zu tun.

von Marc H. (marchorby)


Lesenswert?

Kim-Yannick J. schrieb:
> Draco schrieb:
>> Wozu braucht er dann aber nen Arduino? Nen einfacher Taster tut es doch
>> auch?! Ohne löten kommt er da eh nicht rum, oder er klebt sich halt die
>> Kabel auf die Pads :-D
>
> Der Taster soll sowohl Software im Pi als auch den Hard-Reset steuern.
> Ein einfacher Schalter ohne zusätzlichen Controller kann das nicht, wenn
> der Pi sich, warum auch immer, aufgehangen hat.

Da könnte er einen Watchdog programmieren (mit z.B. nem AtMega8). Ist 
ein GPIO länger in einem bestimmten Zustand wird der Reset ausgelöst...

von Einer K. (Gast)


Lesenswert?

Auf jeden Fall kann man mit einem (Hard)Reset das Filesystem auf der 
SD-Karte recht zuverlässig zerrütten.

von Kim-Yannick J. (kim_yannick)


Lesenswert?

Ich habe sowas hier gefunden: 
https://www.sparkfun.com/products/retired/10527

Leider ist es nicht mehr zum Kauf verfügbar. Gibt es Alternativen?

von Draco (Gast)


Lesenswert?

Arduino F. schrieb:
> Auf jeden Fall kann man mit einem (Hard)Reset das Filesystem auf der
> SD-Karte recht zuverlässig zerrütten.

Nicht nur das, wenn er folgendes über den RUN Pin vorhat:

Kim-Yannick J. schrieb:
> Der Arduino soll außerdem den Pi nach einem Shutdown wieder
> hochfahren können (ich weiß, dass das auch über einen GPIO geht) und den
> Pi beim Einstecken des Kabels vom Hochfahren zurückhalten,

... wird er sich noch einiges mehr zerschießen, und da ist dann das 
Filesystem völlig irrelevant danach, aber das scheint er irgendwie nicht 
begreifen zu wollen!

Die einzigste, relativ saubere, Alternative ist halt die komplette 
Stromversorgung über den Arduino und über die GPIOs zu steuern.

von Kim-Yannick J. (kim_yannick)


Lesenswert?

> ... wird er sich noch einiges mehr zerschießen, und da ist dann das
> Filesystem völlig irrelevant danach, aber das scheint er irgendwie nicht
> begreifen zu wollen!
>
> Die einzigste, relativ saubere, Alternative ist halt die komplette
> Stromversorgung über den Arduino und über die GPIOs zu steuern.

Was zerschießt man sich denn, wenn man die CPU durchgehend ausschaltet? 
Ich werde ja kein HIGH-Signal sondern einen hochohmigen "Input" 
verwenden, somit greift der Pullup ganz normal.

: Bearbeitet durch User
von Michael U. (amiga)


Lesenswert?

Hallo,

Mikro 7. schrieb:
> Michael U. schrieb:
>> Wenn einer meiner beiden Raspis so fastehängt, daß ich per Telnet nicht
>> mehr rankomme, ist vermutlich das Filesystem im Eimer, egal warum auch
>> immer.
>
> Aha. Das Filesytem. Das kann keinen anderen Grund haben? Hmm. "Egal
> warum auch immer"! ;-)

ich habe doch nur nach dem Zweck gefragt...
Ein RasPi lief hier zum Einsammeln und Bereitstellen von Sensordaten mit 
einem 433MHz-USB-Empfänger mit einem AVR darn über knapp 2 Jahre 24/7.
Dann hing er fest und bootete auch nicht mehr richtig.
Warum? Weil ich irgendwann mal ein MYSQL-Log zum Test drauf eingerichtet 
und dann vergessen hatte. Irgendwann war entweder die Karte voll oder 
von den Zugriffen am Ende. Auf die 16GB-Karte ließ sich nur noch bis 
6,xx GB zugreifen, also defekt. Da hätte mir nur mal nachschauen 
geholfen, kein AVR zum Neustart. Jetzt läuft einer Pi3 hier mit FHEM, 
IceCast und Mosquitto seit ca. 2 Monaten. Neustart vor 19 Tagen per 
Telent, weil ich einiges mit der Installation rumgespielt hatte und 
einfach schnell Ordnung haben wollte.
Der alte Raspi hat jetzt eine USB-Soundkarte dran und MPD drauf, wird 
aus FHEM als Player gestartet, Funksteckdose ein, AVR auf den passenden 
Eingang. RasPi bootet, startet den MPD auf den IceCast-Strem und spielt 
los.
Ausschalten per FHEM, shutdown -now zum Raspi, 1min Zeit lassen, 
Steckdose aus.

Das läuft seit eben den 19 Tagen meist täglich ohne jeden Eingriff.

Etwas weg von hier läuft ein alter RasPi als OpenVPN-Server in einer 
Mini-Firma, nebenbei noch Mail-Relay für einen alten Scanner der zwar 
Scan2Mail gut kann, aber keine verschlüsselte SMTP-Verbindung.
Nebenbei läuft noch Samba drauf, eine interne Freigabe, und ein 
FTP-Server mit SSL, um bereitgelegte Dokumente von hier abholen zu 
können.
Der läuft seit April 24/7 und wurde einmal runtergefahren, um ein 
aktuelles Image der SD-Karte zu ziehen.
Daten zum ständig sichern gibt es dort keine, die sind generell nur 
temporär abgelegt.

Deshalb meine Frage nach dem Sinn und Zweck des Vorhabens.

Gruß aus Berlin
Michael

von Harry L. (mysth)


Lesenswert?

nullnegativ schrieb:
> Nahezu? Wat 'ne beknackte Aussage wenn doch die Frage ausdrücklich nach
> Hardreset war. Oder weßt du nicht was damit gemeint ist?

Beknackt ist, wer nicht bereit ist, sich Linux-Grundlagen anzueignen, 
und sich regelmässig durch Hard-Reset sein Filesystem auf der SD-Karte 
zerschiesst.

von Kim-Yannick J. (kim_yannick)


Lesenswert?

Harry L. schrieb:
> nullnegativ schrieb:
>> Nahezu? Wat 'ne beknackte Aussage wenn doch die Frage ausdrücklich nach
>> Hardreset war. Oder weßt du nicht was damit gemeint ist?
>
> Beknackt ist, wer nicht bereit ist, sich Linux-Grundlagen anzueignen,
> und sich regelmässig durch Hard-Reset sein Filesystem auf der SD-Karte
> zerschiesst.

Ich kenne die Linux-Grundlagen. Und selbst wenn ich sie nicht kennen 
würde, reichen 2 Minuten um bei Google fertigen Code zu finden. Wie 
gesagt, es ist ein extra Feature. Ein Feature einzubauen heißt nicht, es 
auch zu nutzen. Und letzens hatte sich mein Pi aufgehangen. Zugriff über 
SSH und Konsole waren nicht mehr möglich und die GUI ist komplett 
eingefroren. Genau dafür ist ein Hard-Reset da. Oder soll das Ding für 
immer an bleiben, obwohl ein Reset sowieso nicht möglich ist? 
SysRq+REISUB geht ebenfalls nicht, da das Gerät, was ich baue, nicht für 
die Bedienung per Tastatur gedacht ist.

Aber anstatt hier unnötig rum zu diskutieren, werde ich den Reset-Switch 
einfach auslassen. Denn, wenn man wirklich einen Hard-Reset benötigt, 
reicht es auch, das Kabel zu ziehen.

von Mikro 7. (mikro77)


Lesenswert?

Kim-Yannick J. schrieb:
> Leider ist es nicht mehr zum Kauf verfügbar. Gibt es Alternativen?

Einfach nach Stiftleiste oder Pin Header suchen. Bspw. bei Reichelt:

http://www.reichelt.de/Stiftleisten/2/index.html?&ACTION=2&LA=3&GROUPID=7434

(edit: URL fixed)

: Bearbeitet durch User
von Buh (Gast)


Lesenswert?

Mikro 7. schrieb:
> Kim-Yannick J. schrieb:
>> Leider ist es nicht mehr zum Kauf verfügbar. Gibt es Alternativen?
>
> Einfach nach Stiftleiste oder Pin Header suchen. Bspw. bei Reichelt:
>
> http://www.reichelt.de/index.html?&ACTION=446&LA=2

Solderless Header: 0 Ergebnisse

von Mikro 7. (mikro77)


Lesenswert?


Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.