[vz-users] JSON parsen
Frank Richter
frank.richter83 at gmail.com
Mon Jul 31 16:23:52 CEST 2017
Hi Christian,
ich habs mir nicht im Detail angeschaut, aber wahrscheinlich liegt das
Problem darin, dass du einfach das Ergebnis des NTP-Requests anzeigst.
Richtig wäre, die integrierte Echtzeituhr (RTC) des ESP gelegentlich via
NTP zu synchronisieren und für die Anzeige auf dem Display die RTC-Zeit zu
verwenden.
Schau mal bei Andreas Spiess die Sachen zu NTP und RTC auf dem ESP8266 an:
https://www.youtube.com/watch?v=qzkNXhubWLg
https://www.youtube.com/watch?v=BzFM3PWx1rg
https://github.com/SensorsIot/SNTPtime
Grüße
Frank
Am 31. Juli 2017 um 15:43 schrieb Christian Wulff <christianwulff at gmx.de>:
> Moin Frank,
>
>
>
> wenn ich den interval für den NTP Request von 1000 auf 900 000 stelle,
> dann zeigt die Uhr nur alle 15 Minuten die Zeit an.
>
> Ich hab das jetzt mal auf 10 000 gestellt. Jetzt wird die Zeit im 10
> Sekunden Interval geschrieben.
>
> Das will ich ja nicht.
>
> Ich will ja, die Sekunden sehen können, wie sie laufen.
>
> Allerdings soll meinetwegen nur 1x pro Stunde ein NTP Request zur
> Synchronisierung der Zeit gestartet werden.
>
>
>
> Ich versteh nicht warum das ein Problem ist, so müsste es doch normal sein.
>
> Keiner will jede Sekunde einen NTP Request losschicken.
>
> Aber ich finde sowas nicht, das muss doch schon mal einer gemacht haben?!
> (Eigentlich muss das jeder so machen der eine NTP synchronisierte Zeit
> haben will)
>
>
>
> Lieben Gruß,
>
> Chris
>
>
>
> *Von:* Frank Richter [mailto:frank.richter83 at gmail.com]
> *Gesendet:* Montag, 31. Juli 2017 14:07
>
> *An:* volkszaehler.org - users
> *Betreff:* Re: [vz-users] JSON parsen
>
>
>
> Hi Christian,
>
>
>
> beruhigt mich, dass du mir das von gestern nicht krumm nimmst :-)
>
>
>
> Stell' mal die Konstante interval für den NTP-Request von 1000 auf
> meinetwegen 900 000, dann macht er das nur noch alle Viertelstunde. Dann
> beobachten ob Abweichungen entstehen.
>
> Wenn du das struct loswerden willst, ersetze es durch passend definierte
> Variablen, also char* für color und float für die Temperaturen.
>
> Und dann bitte zum Parsen mal folgendes testen: root["data"]["tuples"]
> [0][1]
>
>
>
> Grüße
>
> Frank
>
>
>
> Am 31. Juli 2017 um 13:04 schrieb Christian Wulff <christianwulff at gmx.de>:
>
> Moin,
>
>
>
> @Lars: Danke für die Rückendeckung J Ist aber nicht nötig. Mit dem Ton
> habe ich kein Problem, hab ich auch gar nicht negativ aufgefasst. Ich bin
> ja genauso ;-)
>
>
>
> @Frank: Danke für die Antworten.
>
> Ich haue mir die Nächte und Wochen ja nicht um die Ohren weil ich da Spaß
> dran habe, sondern weil ich ein kleines Projekt fertig haben will.
>
> Leider hab ich auch nicht so viel Zeit um mich damit Stunden und
> Wochenlang zu beschäftigen. Oft geht es Wochenlang nicht weiter. Jetzt habe
> ich gerade Urlaub und versuche das Nachts nach vorne zu bringen. Nun hab
> ich mich aber sicher schon 5 Nächte lang mit diesem JSON rumgeschlagen und
> beisse auf Granit.
>
> Aber es nützt ja nix, ich komme nicht weiter. Nur deswegen frage ich nach
> und hoffe auf Antworten.
>
> Wenn ich das könnte, würde ich sicher nicht fragen.
>
> Ich lese sehr viel und durchforste Foren und Mailinglisten, finde aber
> nicht die richtigen Antworten.
>
> Deswegen bin ich ja froh, dass überhaupt jemand auf meine Fragen eingeht.
> Muss man ja nicht.
>
>
>
> Das was Frank geschrieben hat trifft es exakt auf den Kopf. Das sehe ich
> nämlich exakt genauso.
>
> „wieso baust du deine Funktion readResponseData nicht einfach so auf wie
> der Web-Assistent das vorschlägt?“
>
> Hab ich versucht, hat nicht funktioniert. Es scheitert hier aber nicht am
> parsen, sondern vermutlich am drum herum.
>
> Die einfache logische Variante aus dem Assistant bekomme ich nicht mit dem
> http Request über Wifi verheiratet.
>
> Die Beispieldatei aus der Library mit http Request über Ethernet habe ich
> auf Wifi umgebaut. Hier werden einige Sachen abgefangen, ich dachte das
> kann nicht schaden. Funktioniert ja auch. Darin ist allerdings diese
> komplizierte Geschichte mit dem struct, was ich überhaupt nicht
> durchschaue. Das struct will ich überhaupt nicht, das nervt nur.
>
> Die „readResponseData“ hab ich nicht gebaut, die ist aus einer
> Beispieldatei der Library kopiert und ich habe sie versucht anzupassen, ist
> aber nicht fertig, weil ich nicht weiterkomme. Da scheitert es an diesem
> blöden struct.
>
> „Aber die linke Seite ist ja genauso Quatsch, in userData->color wirst du
> den Wert wohl kaum speichern wollen. Ein kompliziertes struct zu verwenden,
> wenn man nur einen Wert übergeben will, ist wohl auch nicht optimal.“
>
> Oh ja, du sprichst mir aus der Seele. Das ist mir auch viel zu aufwändig
> und zu kompliziert. Ich hätte es gerne viel einfacher, so wie in dem
> Beispiel vom Assistant, das versteh ich wenigstens.
>
> „Außerdem um Gottes willen nicht jede Sekunde den NTP-Server belästigen
> wegen deiner Uhr-Bastelei. Wenn das alle so machen würden...“
>
> Da sprichst du mir wieder aus der Seele. Ich hatte mir 4 oder 5
> verschiedene NTP Uhren angesehen. Ich wollte eine haben, die sich nur dann
> synchronisiert wenn es nötig ist (1x am Start und dann nur noch wenn die
> Abweichung zu groß wird), oder höchstens 1x pro Stunde, oder alle 10min
> oder so. Keine Ahnung wie schnell die interne Zeit wie stark asynchron
> wird. Habe sowas aber nicht gefunden, bzw. dachte das die Variante die ich
> jetzt verwende so funktioniert. Der hat immer eine Meldung rausgehauen
> „Request NTP……not necessary“.
>
>
>
> Irgendwie hab ich das Gefühl ich muss nochmal von vorne anfangen, dabei
> dachte ich, dass ich bin zu 90% fertig. Mist.
>
>
>
> Lieben Gruß,
>
> Chris
>
>
>
>
>
>
>
> *Von:* Frank Richter [mailto:frank.richter83 at gmail.com]
> *Gesendet:* Montag, 31. Juli 2017 09:20
> *An:* volkszaehler.org - users
> *Betreff:* Re: [vz-users] JSON parsen
>
>
>
> Moin Lars,
>
>
>
> du magst Recht haben, dass der Ton ein bisschen ruppig war. Also sorry
> @Christian, mit etwas Abstand betrachtet hätte ich das so nicht formulieren
> sollen.
>
> Meine Worte von gestern sind schon mit Augenzwinkern zu sehen, ich wollte
> bestimmt niemanden verletzen. Zu der grundsätzlichen Message, dass da noch
> Luft nach oben ist, stehe ich aber.
>
> Ich weiß nicht ob du (@Lars) hier alles mitliest, wenn ja hast du bestimmt
> mitbekommen dass sich Christians Projekt schon seit Wochen und über viele
> Threads hinzieht. Daher ist meine Geduld gestern Abend vermutlich etwas
> überstrapaziert gewesen.
>
> JSON auf einem Arduino oder ESP zu zerlegen ist jetzt auch nicht gerade
> das Kernthema der volkszaehler-Liste. Natürlich kann man das hier trotzdem
> besprechen, aber ein bisschen Eigeninitiative gehört IMHO auch dazu.
>
>
>
> Am 31.07.2017 07:35 schrieb "Lars Täuber" <lars.taeuber at web.de>:
>
> Hallo Frank,
>
> Sun, 30 Jul 2017 20:19:24 +0200
> Frank Richter <frank.richter83 at gmail.com> ==> "volkszaehler.org - users" <
> volkszaehler-users at demo.volkszaehler.org> :
> > [...]
> > Was da im Moment steht ist ja wohl gar nix:
> >
> > Was soll das werden? [...] Aber die linke Seite ist ja genauso Quatsch
> [...]
> >
> > Außerdem um Gottes willen nicht jede Sekunde den NTP-Server belästigen
> > wegen deiner Uhr-Bastelei. Wenn das alle so machen würden...
> >
> > Ein bisschen systematische Einarbeitung in Coding-Basics täte vielleicht
> > auch gut ;-)
> >
> > Und das nächste Mal schickst du sowas bitte als Anhang statt alles in die
> > Mail zu packen!
>
> soll das lustig sein oder Ironie? Dann ist das aber nicht deutlich genug
> kenntlich gemacht.
> Oder ist das hier der übliche Ton, mit dem Hilfesuchende "abgefrühstückt"
> werden?
>
> Der Ton ist wirklich nicht nett.
> Inhaltlich kann ich leider nichts beitragen.
>
> Grüße
> Lars
> --
> Lars Täuber <lars.taeuber at web.de>
>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://demo.volkszaehler.org/pipermail/volkszaehler-users/attachments/20170731/bfc1b95e/attachment-0001.html>
More information about the volkszaehler-users
mailing list