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
ESP mal 5 Minuten schlafen legen? Wofür steht bei dir ESP (in Worten)? Oder meinst du SPS, oder häääh?
Gemeint ist der µC ESP8266. Bitte entschuldige die fehlende Bezeichnung.
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.
Naja, meine 300s DeepSleep sind so grob real 280s. Bei allen aber relativ gleich.
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?
Allenfalls waere es interessant, etwas zur Anwendung zu erfahren.
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
>Wie denn aus dem Schlafmodus aufwecken?
Per (GPIO, UART, ...-) Interrupt?
Oder geht das bei dem gar nicht?
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
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.