Der ESP8266 hat eine Uhr, die zum Beispiel zum Aufwachen aus dem Deep Sleep gebraucht wird. Ist es möglich diese Uhr direkt anzufragen? Wann ist der Startzeitpunkt dieser vermutlich relativen Uhr? Power on?
Marcus
Der ESP8266 hat eine Uhr, die zum Beispiel zum Aufwachen aus dem Deep Sleep gebraucht wird. Ist es möglich diese Uhr direkt anzufragen? Wann ist der Startzeitpunkt dieser vermutlich relativen Uhr? Power on?
Marcus
Zeit seit Power on?? Schau mal ob du hier fündig wirst!
Hilft Dir dieser Beitrag vielleicht weiter?
Uptime ohne "rollover" Problem anzeigen
Wenn du mit dem ESP in einem WLAN bist, frag doch einen Timeserver ab...
Die "Uhr" für das Aufwecken aus dem Tiefschlaf ist nur ein Timer. Der ESP hat mehrere (Soft) Timer. Du kannst dir natürlich einen Interrupt basteln, der regelmäßig ausgelöst wird, und die Zeit hochzählen. Aber die Genauigkeit dieser Timer ist eher mäßig. Du könntest die so hochgerechnete Zeit regelmäßig mit einem Timeserver abgleichen und nachführen.
Ein einfacher Timer würde mir reichen. Er sollte nur im Deep Sleep weiterlaufen und nach dem Aufwachen auch die Schlafzeit mit erfasst haben.
Da müsstest du schauen, ob du den Timer nach dem Aufwachen auslesen kannst und ob er nicht in dem Moment schon zurückgesetzt ist.
Wird dein ESP durch ein externes Signal aufgeweckt oder setzt du den Timer vorher? Im zweiten Fall weißt du ja, wie lange es dauert. Den Timerstand musst du regelmäßig in einen nichtflüchtigen Speicher schreiben. Wenn der ESP da was hat, gut, wenn nicht, musst du noch was extern anschließen. alles viel Umstand. Speichere die Einschaltzeit doch im WLAN, dann weißt du jederzeit, wann der Start war...
Meines Wissens hat ein einfacher ESP8266 kein RTC, nur einen Timer für den Wakeup.
Wenn du ein RTC User Memory hast, dann hast du wohl ein Modul mit eingebauter RTC (also ein DS3131 oder ähnliches auf der Platine) - dann wäre es das einfachste, eben diese RTC zu lesen!!! Dann verstehe ich dein Problem nicht, denn die RTC sollte auch im deep sleep weiter laufen - sonst wäre sie ja sinnlos.
Vielleicht kannst du uns etwas genauer sagen, welches Modul du benutzt und was du damit eigentlich machen willst...
Das RTC User Memory ist Teil des ESP8266.
https://github.com/esp8266/Arduin…CUserMemory.ino
Es gibt ein Modul rtctime.c, das eine Art Realtime Clock realisiert. Das könntest du mal ausprobieren. Hier gibts auch noch was dazu.
Automatisch zusammengefügt:
Zitat von "MarcusFE" pid='293656' dateline='1501667792'
Das RTC User Memory ist Teil des ESP8266.
https://github.com/esp8266/Arduin…CUserMemory.ino
Ja, das Ding heißt aber nur RTC und ist keine. Im deep sleep verliert diese RTC die Zeit, wenn ich richtig informiert bin. Das Modul, das ich oben verlinkt habe, umgeht das, indem es den deep sleep Timer auswertet und die Zeit dann hochrechnet. Wie genau das ist, ist aber unklar. Alternativ eine externe RTC (DS3231, DS1307 oder ähnliches).
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!