Ich habe einen ESP8266 im Tiefschlaf. Dieser prüft regelmäßig alle paar Minuten einen Sensor und legt sich dann wieder hin. Nun möchte ich eine Option haben, per Tastendruck den aktuellen Sensorwert kurzzeitig auf einem kleinen Display anzuzeigen. Dazu nun meine Frage: Kann ich parallel zur Leitung zwischen D0 und RST einfach noch einen Taster hängen, um den Deep-Sleep vorzeitig zu unterbrechen? Wie verhält sich das in Bezug auf den noch bestehenden Timer? Wird der bei einem Zwangs-Reset deaktiviert/zurückgesetzt? Oder muss ich da mit Seiteneffekten rechnen? Kann ich ggf. trotz Reset den "Restwert" des Timers wiederherstellen, sodass ich den Minutentakt zum Auslösen der Messung nicht verzerre? Dieser im Datenblatt als RTC bezeichnete Timer wird nämlich komischerweise nach jedem Reset zurückgesetzt.
> Kann ich parallel zur Leitung zwischen D0 und RST > einfach noch einen Taster hängen Mach es so, damit du den Ausgang D0 nicht kurz schließt:
1 | 220 Ohm |
2 | DO 0---[===]---+---o /Reset |
3 | ____ | |
4 | GND |--- -----+ |
5 | Taster |
Ich vermute, daß dein Timer vom Betriebsystem zurück gesetzt wird. Du kannst allerdings Daten im RAM der RTC ablegen, diese bleiben angeblich erhalten (hab ich noch nicht ausprobiert).
Danke für den Tip! Aber wäre der Widerstand nicht unmittelbar vor oder hinter dem Taster sinnvoller? Soweit ich weiß, zieht der ESP im Sleep-Mode D0 doch auf high und zum Wecken auf low, oder? In dieser Konstellation würde der Widerstand doch dann permanent wertvollen Akkustrom verbraten (die Installation soll autark an einem Akku laufen), oder? Zum Thema RTC-Memory habe ich gestern schon ein bisschen gelesen. Der Speicher bleibt wohl auch nach dem Reset bestehen – zumindest bei den Leuten, die das Ganze getestet haben.
André R. schrieb: > Danke für den Tip! Aber wäre der Widerstand nicht unmittelbar vor oder > hinter dem Taster sinnvoller? Soweit ich weiß, zieht der ESP im > Sleep-Mode D0 doch auf high und zum Wecken auf low, oder? In dieser > Konstellation würde der Widerstand doch dann permanent wertvollen > Akkustrom verbraten (die Installation soll autark an einem Akku laufen), > oder? wie soll durch den Widerstand Strom fließen wenn er sich an der selben Stelle befindet die bei dir jetzt direkt verbunden ist? Der Widerstand schützt den Ausgang D0 vor zu hohem Strom wenn der Taster den Reset-Anschluss nach Low zieht - und nur dann fließt auch Strom. > Zum Thema RTC-Memory habe ich gestern schon ein bisschen gelesen. Der > Speicher bleibt wohl auch nach dem Reset bestehen – zumindest bei den > Leuten, die das Ganze getestet haben. Ja der Speicher bleibt erhalten, für deinen Fall nützt dir das aber nichts da du an den Restwert des Sleeptimers nicht rankommst. Gut, ich weiß nicht ob das irgendwo dokumentiert ist auf welcher Adresse im RTC-Ram der Timer liegt, dann könntest du die Adressen direkt auslesen. Bleibt natürlich die Frage ob beim Booten diese Register irgendwie initialisiert werden, dann wäre es bei Start des Nutzerprogramms natürlich sowieso zu spät was auslesen zu wollen. Macht doch eine NTP-Abfrage dann weißt du wann die nächste Minute voll ist. Sascha
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.