Zeit vom Nextion Enhanced mit Arduino auslesen
|
06.02.2019, 13:17
Beitrag #33
|
|||
|
|||
RE: Zeit vom Nextion Enhanced mit Arduino auslesen
(06.02.2019 11:17)Tommy56 schrieb: Einfach machen, was ich Dir geschrieben habe und alles lesen. Was habe ich denn nicht so gemacht? Anders als so, bekomme ich die Werte vom Nextion nicht vernünftig ausgelesen. Gruß Marko |
|||
06.02.2019, 13:23
Beitrag #34
|
|||
|
|||
RE: Zeit vom Nextion Enhanced mit Arduino auslesen
Und was ist das hier?
Code: void loop() Die Länge der Funktion ist unerheblich. NTP ist auch nicht kurz. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
06.02.2019, 23:44
(Dieser Beitrag wurde zuletzt bearbeitet: 07.02.2019 00:21 von MarkoM.)
Beitrag #35
|
|||
|
|||
RE: Zeit vom Nextion Enhanced mit Arduino auslesen
Die ganzen ifs sind durch mein ganzes rum probieren entstanden.
Aber so funktioniert das abrufen der RTC Werte vom Nextion ohne Probleme. Erst wenn z.B. RTC0 empfangen wurde macht er mit dem abrufen von RTC1 weiter usw. Dann habe ich den SetSyncProvider ins Setup gepackt. Dann bleibt mein serieller Monitor mit der Ausgabe get RTC0 stehen. Es passiert nichts mehr. Dann habe "static bool uhrempf = false;" zur Konfiguration dazu geschrieben. Wenn der false ist, wird im Loop "SetSyncProvider" ausgeführt. Wenn das durchgelaufen ist wird uhrempf auf true gesetzt. Somit wird der SyncProvider ja auch nur beim 1. Start des Arduinos ausgeführt. Dann funktioniert das Uhrzeit abrufen ohne Probleme. Da ich die Zeile SetSyncProvider ja nur vom Setup nach Loop verschoben habe, kann es doch eigentlich nicht an meinem Code liegen. Oder sehe ich das falsch? Es wird doch das selbe ausgeführt. Ich glaub ich schwenke doch noch auf ein zusätzliches RTC Modul um. Hier nochmal meine Ausgabe im Seriellen Monitor, wenn SetSyncProvider 1x im Loop aufgerufen wird: Code: get nex_rtc0 Wie du siehst, wird mir am Ende die richtige Uhrzeit angezeigt. Dann habe ich lediglich die Zeile SetSyncProvider vom Loop ins Setup verschoben. Dann kommt das im seriellen Monitor: Code: get nex_rtc0 Und das verstehe ich halt nicht. Mein Code, auch wenn er etwas merkwürdig ist, funktioniert ja. Nur nicht im Setupbereich. Gruß Marko |
|||
07.02.2019, 12:30
Beitrag #36
|
|||
|
|||
RE: Zeit vom Nextion Enhanced mit Arduino auslesen
Ich verstehe es auch nicht. Probiere mal ein delay vor setSyncProvider. Evtl. ist das Nextion noch nicht fertig mit booten, wenn die Abfrage kommt.
SetSyncProvider in Verbindung mit SetSyncInterval macht noch etwas mehr, als den einmaligen Aufruf. Schau dazu mal in die TimeLib. Gruß Tommy "Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt) |
|||
08.02.2019, 10:06
(Dieser Beitrag wurde zuletzt bearbeitet: 08.02.2019 11:46 von MarkoM.)
Beitrag #37
|
|||
|
|||
RE: Zeit vom Nextion Enhanced mit Arduino auslesen
(07.02.2019 12:30)Tommy56 schrieb: Ich verstehe es auch nicht. Probiere mal ein delay vor setSyncProvider. Evtl. ist das Nextion noch nicht fertig mit booten, wenn die Abfrage kommt. Ein delay von 5 Sekunden vor set sync Provider hat auch nichts gebracht. Habe nochmal rum getetstet. Wenn ich SetSyncProvider im Loop einmalig starte kommt jetzt das im Monitor an: Code: 09:51:39.908 -> get nex_rtc0 Es läuft alles durch. Nach einer Minute (testweise) soll dann SetSyncInterval die Uhrzeit neu holen. Dann kommt nur das an: Code: 09:52:43.728 -> get nex_rtc0 Code: 10:00:38.795 -> pageID: 2 Da ja SetSyncInterval nicht mit meinem Sketch klar kommt, werde ich es nun so machen. Nicht Ideal aber es läuft. Code: static bool UhrSync = true; So bekomme ich die Uhrzeit wenigstens regelmäßig synchronisiert. Finde einfach keine andere Lösung. Gruß Marko |
|||
|
|
Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste