ESP8266 mit Schalter einschlafen/aufwecken

hallo zusammen,

ich möchte einen ESP8266 mit einem Hardwareschalter ein- und ausschalten können.
Das Problem: beim Ausschalten soll er eine gewisse Zeit warten, bis er wirklich aussschaltet, damit ich da noch etwas machen kann.

Wenn ich die Verzögerung nicht bräuchte, wäre es ja recht einfach über den rst-pin, aber so ist es schwierig..

das ist mein Schalter.


Könnt Ihr mir sagen, wie ich das Verkabeln muss, damit das funktioniert (wenn es überhaupt geht)?

Besten Dank schon mal!

Normalerweise schleift man einen Schalter für die Versorgungsspannung in den (+) Pfad ein. Am Resetpin kann man den Controller nicht ausschalten. Ein “Dauerreset“ ist kein Ausschalten.

Wenn der Controller nicht gleich ausgehen soll muss ein Puffer dazwischen. Vielleicht ein Goldcap/Super Kondensator. Welche Kapazität der haben muss hängt von der Schaltung und der gewünschten Pufferdauer ab. Oder eine Batterie/Akku.

Selbsthaltung wäre noch eine Möglichkeit.

Z.B. So:

( Aus Vorstellung und erste Fragen zur Selbstabschaltung (Transistorschaltung) - #17 by guntherb )

Statt dem PNP kann man, wenn neben dem Arduino noch mehr geschaltet werden soll, auch einen P-Channel MOSFET nehmen.

Vielen Dank. Ich kann ja mal versuchen das nachzubauen :slight_smile: ich habe mir eine Retro Arcademaschine gebaut und ich möchte eigentlich nur beim Ausschalten eine mqtt Nachricht absetzen an den Mini-PC, damit dieser aufgrund der Nachricht geordnet herunterfährt :slight_smile: und danach der Schalter eben im Deepsleep nahezu kein Strom verbraucht bis ich ihn wieder anschalte

Was willst du denn nun? Abschalten oder DeepSleep? Das sind unterschiedliche Dinge!

Der ausgeschaltete Schalter verbraucht gar keinen Strom, ein gesperrter Transistor auch nicht und der Controller ist komplett aus, bis der Schalter wieder einschaltet.

ich dachte es geht ggf. nur mit deepsleep. wenn es aber möglich ist ihn komplett auszuschalten wäre das natürlich am allerbesten :slight_smile:

DeepSleep geht ohne Selbsthaltung.

  • Du legst den Schalter um
  • Der μC Erkennst das und
  • Arbeitest das ab, was nötig ist
  • Geht schlafen
  • Du legst den Schalter wieder um
  • Der μC erkennt das und
  • Wacht auf und tut was auch immer er tun soll

Natürlich braucht der μC etwas Strom im Schlaf, ist natürlich vernachlässigbar bei einem Spiel was ein Vielfaches davon verbraucht.

1 Like

danke! und was würde ich benötigen um ihn komplett auszuschalten?

Wurde dir doch in #4 gezeigt.

Über die Versorgung wurde ja nicht geredet, ganausowenig über was für ein ESP8266.

Er wird über ein USB Kabel betrieben und ist ein ESP8266 Mini

Wahrscheinlich ein Wemos D1 mini Nachbau. Wenn du dir nicht sicher bist in der Beschreibung, solltest du ein Link zu dessen geben. Dann kann man unmissverständlich sehen von was du redest.

Bei USB Versorgung 5V und Betriebsspannung des ESP8266 von 3,3V, musst du noch aufpassen, das kein 5V Pegel an den GPIO liegt

Forumsuche brachte ein Ergebnis:

Du brauchst natürlich noch ein Feedback, das dein Schalter wieder auf aus ist.

Wenn du deinen ESP8266 (poste einen Link von dem Teil) über USB aus dem Mini PC versorgst, wird der doch spannungslos, wenn der PC runter fährt. Da muss doch nicht noch extra was gemacht werden.
Also die Info an MQTT geben, der PC fährt runter und gut ists.

1 Like

eigentlich ist das ne coole Idee, dass er dann automatisch aus geht...aber wie bekomme ich ihn dann wieder an...der PC ist ja dann aus.

So ?

Naja, woher sollen wir Wissen, das der auch ohne den PC an sein soll und auch wozu.
Aber wie @fony dir schon geschrieben hat, eine weitere Spannungsquelle.

Dabei muss im Programm das auch berücksichtig werden das der ESP aus anderer Quelle versorgt wird, sonst schaltet der nach der gewisser zeit wider ab :wink:
Ich wurde noch vor der Diode über Spannungsteiler dem ESP das mitteilen über freien GPIO, und natürlich den entsprechend auswerten.

Das macht der doch nur, wenn die entsprechende Info über MQTT kommt.

Aber das ist wieder mal stochern im Nebel.
Da sollte @turbotopo mal richtige Informationen rüberschicken.
Z.B. warum der Controller an sein soll, wenn der PC aus ist ?

Also, da ich wohl etwas wenig Infos zu dem Projekt gegeben habe, hier nochmal alles Wissenswerte.

Ich habe eine Arcademaschine für Retrogames gebaut die von einem Beelink Ser6 Mini PC betrieben wird.
Ich hätte am liebsten einen Hardwareschalter mit dem ich den PC an- und ausschalten kann. Zudem soll der Monitor auch vom Strom genommen werden. Meine Idee: Steckdosenleiste mit dem Wemos Relais Shield am ESP 8266 anschließen. Wenn der Hardwareschalter ausgeschaltet wird, sende ich per mqtt eine shutdown Nachricht an Botacera (auf dem PC) , diese fährt den Minipc geordnet runter. Das Delay läuft ab und der Schalter macht endgültig den Strom am Relais shield aus. Wenn der Schalter an gemacht wird, schaltet sich die Steckdosenleiste wieder ein und der Minipc fährt automatisch hoch (geht über BIOS Einstellung)