Guten Abend
Wie sehr kann man sich auf die Genauigkeit der Zeitmessung
(delay oder millis) verlassen?
Gibt es da Spezifikationen?
Es geht darum, mehrere ESP gleichzeitig für 5 Minuten schlafen zu legen.
Nach dem Erwachen sollen diese dann wieder untereinander kommunizieren
können.
Danke Phillipp
Das Problem dürfte weniger die Schlafzeit sein, sondern WANN die
schlafen gehen. Dazu müssen die synchron laufen.
Möglichkkeit: Die ESP holen sich die Zeit von einem Zeitserver und gehen
bei voller Minute schlafen.
Die Zeitbasis vom ESP8266 ist ja genau genug für UART, ergo sollte die
Ungenauigkeit der internen Uhr im Bereich von 5 Minuten vernachlässigbar
sein.
Wenn die ihre Uhrzeiten abgleichen und dann schlafen gehen, wachen die
ziemlich zeitlgleich wieder auf.
Kenne das Ding nicht, aber wenn kein Quarz daran ist,
werden die 5 Minuten unterschiedlich lang sein.
Danach könnte (je nach Kommunikationsprotokoll) eine
Synchronisierung erforderlich sein, wie sie auch beim
Start der 5 ESP nötig war.
(Einfach mal LOGISCH gedacht.)
Bestimmt (?) kommen gleich schlauere Hinweise.
Danke für die schnellen Antworten.
Einen Zeitserver übers Internet wird es nicht geben können,
aber die Zeit kann ja auch von einem Laptop im selben WLAN kommen.
Es kommt ja auch nicht auf die Genauigkeit der absoluten Zeit an.
Im Grunde reicht es ja, wenn der Startzeitpunkt bei allen gleichzeitig
gesetzt wird
und dann die Sekunden gezählt werden.
Und, eigentlich ne blöde Frage,die Uhr läuft auch im SleepMode weiter?
Rein aus Interesse: Wie funktioniert die Zeitmessung in einem µC?
Phillipp schrieb:> Wie sehr kann man sich auf die Genauigkeit der Zeitmessung> (delay oder millis) verlassen?
So genau, wie es die Taktquelle hergibt. Mit Quarz über 5min praktisch
100%.
Phillipp schrieb:> Es geht darum, mehrere ESP gleichzeitig für 5 Minuten schlafen zu legen.
Wenn er delays oder millis runterzählt kann er nicht schlafen.
Phillipp schrieb:> Rein aus Interesse: Wie funktioniert die Zeitmessung in einem µC?
Man lässt nen Timer mit bekannter Frequenz laufen und zählt damit hoch.
Wenn die CPU schläft, muss es einen Hardware-Timer geben der nicht
schläft und die CPU wieder wecken kann.
Die Doku vom ESP8266 war bisher immer etwas lückenhaft wenn es um die
Hardware ging, hat sich das geändert?
Phillipp schrieb:> Und, eigentlich ne blöde Frage,die Uhr läuft auch im SleepMode weiter?> Rein aus Interesse: Wie funktioniert die Zeitmessung in einem µC?
Ich kenn den Controller nicht. Aber ich habe im Schnelldurchlauf durchs
Datenblatt gesehen, daß er eine RTC hat. Das Teil läuft natürlich im
Sleep weiter. Zumindest wird es einen Mode über Koma geben, in dem es
das tut.
Es kommt auf die Konfigurierbarkeit dieser RTC an, wie lang die
Aufweckintervalle eingestellt werden können. Fünf Minuten halte ich für
unrealistisch. Eher was im Sekundentakt.
Angenommen er weckt den Controller im Sekundentakt. Dann muß eine
Variable, die auf 300 gesetzt wurde, jedesmal um 1 runtergezählt werden.
Wenn die auf 0 ist, macht der Controller Action, ansonsten geht er
wieder in den Sleep.
Wenn alle fertig sind, setzen alle die Variable gleichzeitig(!) auf 300
und das Spiel beginnt von vorn.
>Es geht darum, mehrere ESP gleichzeitig für 5 Minuten schlafen zu legen.>Nach dem Erwachen sollen diese dann wieder untereinander kommunizieren>können.
Einen als Chef deklarieren, der die anderen aufweckt, ist Dir zu
einfach?
This is a required field schrieb:>>>> Einen als Chef deklarieren, der die anderen aufweckt, ist Dir zu> einfach?
Wie denn aus dem Schlafmodus aufwecken?
Phillipp schrieb:> Es kommt ja auch nicht auf die Genauigkeit der absoluten Zeit an.
...ach nicht? Genau das wäre das, was als einheitliches Zeitnormal zur
Synchronisation untereinander zur Verfügung stehen würde, vorhanden ist!
Hallo,
der ESP8266 hat einen Sleeptimer. Geweckt wird er dann mit Reset. GPIO16
liefert einen Low-Impuls bei Ablauf des Sleeptimers.
Eine andere Möglchkeit ihn zu wecken gibt es wohl nicht.
Wie genau der Timer ist habe ich nie nachgeschaut. Zur RTC habe ich auch
wenig bis nichts gefunden, allerdings auch nicht sonderlich gesucht.
Was heißt untereinander kommunizieren? Gemeinsamer AP oder wie?
Die ESP müßten ja zumindest feststellen könne, ob alle wach sind und
dann müßte einer eben den Befehl zu Schlafen schicken.
Gruß aus Berlin
Michael
Kolban's Book on ESP8266:
"In deep-sleep mode, the device is really asleep. Neither CPU nor WiFi
activities take
place. The device is to all intents and purposes off ... with one
exception ... it can wake up at a specified regular interval."
>Oder geht das bei dem gar nicht?
Scheint so...
Aber vielleicht genügt einer der anderen Sleep Modes
Ansonsten: G**gle:
ESP8266 Sleep Mode Function Description
Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.
Wichtige Regeln - erst lesen, dann posten!
Groß- und Kleinschreibung verwenden
Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang