<div dir="auto">Na wenn du das brauchst morgens im Bad ðŸ˜€<div dir="auto"><br><div dir="auto">Lass doch erstmal die Sekunden weg, dass wird eh schwierig mit den Requests dazwischen. Und ins Layout passen sie auch nicht richtig....</div><div dir="auto"><br></div><div dir="auto">Weiter viel Erfolg!</div><div dir="auto"><br></div><div dir="auto">Grüße</div><div dir="auto">Frank</div></div></div><div class="gmail_extra"><br><div class="gmail_quote">Am 22.07.2017 01:13 schrieb "Christian Wulff" <<a href="mailto:christianwulff@gmx.de">christianwulff@gmx.de</a>>:<br type="attribution"><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div lang="DE" link="blue" vlink="purple"><div class="m_-4520869362595723749WordSection1"><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Ich glaube ich habe jetzt alle Bausteine zusammen, für das was ich will.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Nun wird’s aber aufwendig, denn ich muss alle Bausteine in einen Code zusammenbauen (das geht ja noch).<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Dann ist aber das Ziel, dass die Schleifen so durchlaufen, das die Sekundenanzeige sauber läuft und nebenbei immer alle angezeigten Kanäle aktualisiert werden.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Aktuell sind es (siehe Anhang, die Displayschutzfolie ist auch noch drauf):<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Uhr, Wochentag, Datum und 7 Temperaturen in den Farben der Kanäle wie in der Datenbank. Die Namen der Kanäle werden allerdings im Code stehen, da die echten Kanalnamen zu lang fürs Display sind:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Die Temperaturwerte sind natürlich noch nicht echt, die dienen nur zum Testen des Layouts, ob denn auch alle Anzeigen von z.B. -30.0° bis +50.0°C drauf passen. Gerade das Minuszeichen und die ein oder zweistellige Anzeige vor dem Komma (Punkt) sah erst nicht so toll aus. Da musste ich ne Weile basteln bis ich das so hin hatte wie es mir jetzt gefällt.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Größe: 2,8“ mit 320x240 Pixeln.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Wenn das mal läuft kommt ein 3,5“ Display mit 480x320 Pixeln und n bisschen mehr Grafik dran.<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Funktionieren soll das so:<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Morgens im Bad Licht einschalten, das Display hängt neben dem Spiegel, der ESP8266 bootet und nach 10 Sekunden stehen die Werte auf dem Display und die Uhr läuft, Licht wieder aus = ESP8266 und Display stromlos. Fertig </span><span style="font-size:11.0pt;font-family:Wingdings;color:#1f497d">J</span><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Liebe Grüße und gute Nacht,<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Chris<u></u><u></u></span></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"><u></u> <u></u></span></p><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Frank Richter [mailto:<a href="mailto:frank.richter83@gmail.com" target="_blank">frank.richter83@gmail.<wbr>com</a>] <br><b>Gesendet:</b> Samstag, 22. Juli 2017 00:24<br><b>An:</b> <a href="http://volkszaehler.org" target="_blank">volkszaehler.org</a> - users<br><b>Betreff:</b> Re: [vz-users] JSON parsen auf ESP8266 mit Arduino IDE<u></u><u></u></span></p><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Aha, du hast es gefunden ;-)<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Wenn's mal rund läuft, darfst du das gerne ins Wiki stellen.<u></u><u></u></p><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Eins noch: in JSON gibts Objekte und Arrays, aber keine Variablen...<u></u><u></u></p></div><div><p class="MsoNormal"><u></u> <u></u></p></div><div><p class="MsoNormal">Grüße<u></u><u></u></p></div><div><p class="MsoNormal">Frank<u></u><u></u></p></div></div></div><div><p class="MsoNormal"><u></u> <u></u></p><div><p class="MsoNormal">Am 22.07.2017 00:16 schrieb "Christian Wulff" <<a href="mailto:christianwulff@gmx.de" target="_blank">christianwulff@gmx.de</a>>:<u></u><u></u></p><div><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">........ich bin auch ein Dödel.</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Sorry guys for disturbing you!</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Fehler gefunden, ich wollte Variablen einlesen, die es in der Beispieldatei gibt, aber nicht in meiner JSON Datei. Die Ausgabezeilen hatte ich editiert, aber nicht die Lesezeilen. Manchmal ist man leider blind.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Ich glaube nun läuft es YEAH :-)</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Lieben Gruß und vielen Dank für Eure Hilfe und mentale Unterstützung!</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Chris</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Frank Richter [mailto:<a href="mailto:frank.richter83@gmail.com" target="_blank">frank.richter83@gmail.<wbr>com</a>] <br><b>Gesendet:</b> Samstag, 22. Juli 2017 00:11<br><b>An:</b> <a href="http://volkszaehler.org" target="_blank">volkszaehler.org</a> - users<br><b>Betreff:</b> Re: [vz-users] JSON parsen auf ESP8266 mit Arduino IDE</span><u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">Hi Christian,<u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">du bist da nur beim Vorgeplänkel. Schau mal weiter unten: sowohl der Assistent als auch der Code geht noch weiter...<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Grüße<u></u><u></u></p></div><div><p class="MsoNormal">Frank<u></u><u></u></p></div></div><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">Am 21.07.2017 23:36 schrieb "Christian Wulff" <<a href="mailto:christianwulff@gmx.de" target="_blank">christianwulff@gmx.de</a>>:<u></u><u></u></p><div><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hallo Frank,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">den Assistenten hatte ich auch schon gefunden.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Da hab ich das Beispiel JSON reinkopiert, und es kam genau die gleiche Expression â€žJSON_OBJECT_SIZE(2) + JSON_OBJECT_SIZE(9)“ dabei raus, wie ich sie bereits manuell herausbekommen habe.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Die steht so auch schon im Code drin (bzw war im Beispiel noch etwas erweitert für zusätzlichen Platz):</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">JSON_OBJECT_SIZE(2)    // the root object has 2 elements</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">      + JSON_OBJECT_SIZE(9)  // the "entity" object has 5 elements</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">      + MAX_CONTENT_SIZE;    // additional space for strings</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US" style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Damit dachte ich, dass das funktionieren müsste.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Tuts aber nicht, und ich weiss nicht warum </span><span style="font-size:11.0pt;font-family:Wingdings;color:#1f497d">L</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Vielleicht ist aber auch noch irgendwo anders ein Bock drin. Nur wo?</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Die Beispieldatei hatte ich von Ethernet auf WLAN umgebaut. Die hat dann einwandfrei online funktioniert (Da wird auf eine Website zugegriffen und ein Beispiel geparst). Daran sollte es also nicht liegen.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Lieben Gruß,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Chris</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Frank Richter [mailto:<a href="mailto:frank.richter83@gmail.com" target="_blank">frank.richter83@gmail.<wbr>com</a>] <br><b>Gesendet:</b> Freitag, 21. Juli 2017 13:17<br><b>An:</b> <a href="http://volkszaehler.org" target="_blank">volkszaehler.org</a> - users<br><b>Betreff:</b> Re: [vz-users] JSON parsen auf ESP8266 mit Arduino IDE</span><u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">Den Link aus deinem Code solltest du dir auch mal anschauen: <a href="https://bblanchon.github.io/ArduinoJson/assistant/" target="_blank">https://bblanchon.github.io/<wbr>ArduinoJson/assistant/</a><u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Grüße<u></u><u></u></p></div><div><p class="MsoNormal">Frank<u></u><u></u></p></div></div><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">Am 21.07.2017 12:05 schrieb "Christian Wulff" <<a href="mailto:christianwulff@gmx.de" target="_blank">christianwulff@gmx.de</a>>:<u></u><u></u></p><div><div><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Hallo Frank,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">ja das weiss ich, das ist aber nur eine Variablendeklaration. Die stört nicht, oder?</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Der Buffer für das JSON ist bereits korrekt an das JSON angepasst.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Aber dann geht’s irgendwie noch nicht weiter </span><span style="font-size:11.0pt;font-family:Wingdings;color:#1f497d">L</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Wäre gut, wenn das schon mal eine gemacht hat.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Any idea?</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Lieben Gruß,</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d">Chris</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1f497d"> </span><u></u><u></u></p><p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">Von:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Frank Richter [mailto:<a href="mailto:frank.richter83@gmail.com" target="_blank">frank.richter83@gmail.<wbr>com</a>] <br><b>Gesendet:</b> Freitag, 21. Juli 2017 11:51<br><b>An:</b> <a href="http://volkszaehler.org" target="_blank">volkszaehler.org</a> - users<br><b>Betreff:</b> Re: [vz-users] JSON parsen auf ESP8266 mit Arduino IDE</span><u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">Hallo Christian,<u></u><u></u></p><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">ich hab das auch noch nie gemacht, aber du solltest deinen Code schon irgendwie an die gelieferte JSON-Struktur anpassen. "name" und "company" wirst du hier wohl kaum finden...<u></u><u></u></p></div><div><p class="MsoNormal"> <u></u><u></u></p></div><div><p class="MsoNormal">Grüße<u></u><u></u></p></div><div><p class="MsoNormal">Frank<u></u><u></u></p></div></div><div><p class="MsoNormal"> <u></u><u></u></p><div><p class="MsoNormal">Am 21.07.2017 11:22 schrieb "Christian Wulff" <<a href="mailto:christianwulff@gmx.de" target="_blank">christianwulff@gmx.de</a>>:<u></u><u></u></p><div><div><p class="MsoNormal">Moin,<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222">Ich möchte auf einem kleinen Display mit WLAN Verbindung ein super einfach zu nutzendes Frontend bauen, das man Ã¼berall platzieren kann und nur einschalten muss.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222">Das Display kriege ich angesteuert und Datum und Zeit werden bereits per ntp eingelesen und auf dem Display angezeigt.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222">Nun fehlen noch die Temperaturen auf dem Display.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222">Die Daten sollen Ã¼ber WLAN per http Request und JSON eingelesen und ausgewertet werden.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222">HTTP Request und JSON funktioniert, habe ich im Browser getestet und mir die Daten angesehen.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222">Dann habe ich mir die Bibliothek ArduinoJson installiert und mir das Beispiel JsonHttpClient angesehen. Dies habe ich von Ethernet bereits auf WLAN umgestrickt.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222">Ich glaube der HTTP Request funktioniert bereits, allerdings gibt es irgendein Problem beim parsen. Da komme ich auch nach einiger Recherche leider nicht weiter.</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222">Vielleicht kann hier jemand helfen?</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222"> </span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222">(Der Code ist noch nicht aufgeräumt, da sind noch Reste vom Beispiel drin, ich glaube aber nicht dass die das Problem verursachen)</span><u></u><u></u></p><p class="MsoNormal"><span style="font-size:10.0pt;font-family:"Verdana","sans-serif";color:#222222"> </span><u></u><u></u></p><p class="MsoNormal">******************************<wbr>******************************<wbr>******************************<wbr>******************************<wbr>******************************<wbr>******************************<wbr>**<u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">#include <ArduinoJson.h></span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">#include <ESP8266WiFi.h></span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">#include <WiFiClient.h></span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">#include <WiFiUdp.h></span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">WiFiClient client;</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">const char WiFiSSID[] = "Chriss 123456";     //### your Router SSID</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">const char WiFiPSK[]  = "1234567890132654"; //### your Router Password</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">const char* server = "192.168.178.43";  // server's address</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">const char* resource = "/middleware.php/channel/<wbr>003321-9654-146-acf4-<wbr>754654654.json";      // http resource Kanalinfo Temperatur AUSSEN</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">const unsigned long BAUD_RATE = 9600;                 // serial connection speed</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">const unsigned long HTTP_TIMEOUT = 10000;  // max respone time from server</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">const size_t MAX_CONTENT_SIZE = 512;       // max size of the HTTP response</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">bool isConnected(long timeOutSec) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  timeOutSec = timeOutSec * 1000;  int z = 0;</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  while (WiFi.status() != WL_CONNECTED) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">    delay(200);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">    Serial.print(".");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">    if (z == timeOutSec / 200) { return false; }</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">    z++;  }  return true;}</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// The type of data that we want to extract from the page</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">struct UserData {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  char name[32];</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  char company[32];</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  char type[32];</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  char color[32];</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  char title[32];</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">};</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// ARDUINO entry point #1: runs once when you press reset or power the board</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">void setup() {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  initSerial();</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  WiFi.mode(WIFI_STA);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  WiFi.begin(WiFiSSID, WiFiPSK);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  if (isConnected(30)) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">    </span>Serial.println(F("WLAN läuft"));     }}<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// ARDUINO entry point #2: runs over and over again forever</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">void loop() {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  if (connect(server)) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">    if (sendRequest(server, resource) && skipResponseHeaders()) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">      UserData userData;</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">      if (readReponseContent(&userData)<wbr>) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">        printUserData(&userData);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">      }</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">    }</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  }</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  disconnect();</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  wait();</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">}</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// Initialize Serial port</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">void initSerial() {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.begin(BAUD_RATE);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  while (!Serial) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">    ;  // wait for serial port to initialize</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  }</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.println("Serial ready");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">}</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// Open connection to the HTTP server</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">bool connect(const char* hostName) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.print("Connect to ");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.println(hostName);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  bool ok = client.connect(hostName, 80);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.println(ok ? "Connected" : "Connection Failed!");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  return ok;</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">}</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// Send the HTTP GET request to the server</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">bool sendRequest(const char* host, const char* resource) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.print("GET ");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.println(resource);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  client.print("GET ");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  client.print(resource);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  client.println(" HTTP/1.0");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  client.print("Host: ");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  client.println(host);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  client.println("Connection: close");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  client.println();</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  return true;</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">}</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// Skip HTTP headers so that we are at the beginning of the response's body</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">bool skipResponseHeaders() {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  // HTTP headers end with an empty line</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  char endOfHeaders[] = "\r\n\r\n";</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  client.setTimeout(HTTP_<wbr>TIMEOUT);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  bool ok = client.find(endOfHeaders);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  if (!ok) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">    Serial.println("No response or invalid response!");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  }</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  return ok;</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">}</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// Parse the JSON from the input string and extract the interesting values</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// Here is the JSON we need to parse</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//   "id": 1,</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//   "name": "Leanne Graham",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//   "username": "Bret",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//   "email": "<a href="mailto:Sincere@april.biz" target="_blank">Sincere@april.biz</a>",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//   "address": {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//     "street": "Kulas Light",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//     "suite": "Apt. 556",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//     "city": "Gwenborough",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//     "zipcode": "92998-3874",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//     "geo": {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//       "lat": "-37.3159",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//       "lng": "81.1496"</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//     }</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//   },</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//   "phone": "1-770-736-8031 x56442",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//   "website": "<a href="http://hildegard.org" target="_blank">hildegard.org</a>",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//   "company": {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//     "name": "Romaguera-Crona",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//     "catchPhrase": "Multi-layered client-server neural-net",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//     "bs": "harness real-time e-markets"</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//   }</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// }</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//   "version": "0.3",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//    "entity": {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//      "uuid": "003321-9654-146-acf4-<wbr>754654654",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//      "type": "temperature",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//      "active": false,</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//      "color": "#009933",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//      "fillstyle": 0,</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//      "public": true,</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//      "style": "lines",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//      "title": "T01 Aussen",</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//      "yaxis": "auto"</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">//    }</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// }</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">bool readReponseContent(struct UserData* userData) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  // Compute optimal size of the JSON buffer according to what we need to parse.</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  // See <a href="https://bblanchon.github.io/ArduinoJson/assistant/" target="_blank">https://bblanchon.github.io/<wbr>ArduinoJson/assistant/</a></span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  const size_t BUFFER_SIZE =</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">      JSON_OBJECT_SIZE(2)    // the root object has 2 elements</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">      + JSON_OBJECT_SIZE(9)  // the "entity" object has 5 elements</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">      + MAX_CONTENT_SIZE;    // additional space for strings</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  // Allocate a temporary memory pool</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  DynamicJsonBuffer jsonBuffer(BUFFER_SIZE);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  JsonObject& root = jsonBuffer.parseObject(client)<wbr>;</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  if (!root.success()) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">    Serial.println("JSON parsing failed!");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">    return false;</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  }</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  // Here were copy the strings we're interested in</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  strcpy(userData->name, root["name"]);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  strcpy(userData->company, root["company"]["name"]);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  // It's not mandatory to make a copy, you could just use the pointers</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  // Since, they are pointing inside the "content" buffer, so you need to make</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  // sure it's still in memory when you read the string</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  return true;</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">}</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// Print the data extracted from the JSON</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">void printUserData(const struct UserData* userData) {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.print("Name = ");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.println(userData->name)<wbr>;</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.print("Company = ");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.println(userData-><wbr>company);</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">}</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// Close the connection with the HTTP server</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">void disconnect() {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.println("Disconnect");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  client.stop();</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">}</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">// Pause for a 1 minute</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">void wait() {</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  Serial.println("Wait 60 seconds");</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">  </span>delay(60000);<u></u><u></u></p><p class="MsoNormal">}<u></u><u></u></p><p class="MsoNormal">******************************<wbr>******************************<wbr>******************************<wbr>******************************<wbr>******************************<wbr>******************************<wbr>**<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">Als Fehler kommt da folgendes bei raus:<u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal">******************************<wbr>******************************<wbr>******************************<wbr>******************************<wbr>******************************<wbr>******************************<wbr>**<u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">Serial ready</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">..............................<wbr>.....WLAN läuft</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">Connect to 192.168.178.43</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">Connected</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">GET /middleware.php/channel/<wbr>003321-9654-146-acf4-<wbr>754654654.json</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">Exception (28):</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">epc1=0x4000bf0e epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00000000</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">ctx: cont </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">sp: 3ffef9e0 end: 3ffefca0 offset: 01a0</span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"> </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">>>>stack>>></span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefb80:  3ffe8550 00000000 3fff05a8 402024d5  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefb90:  3ffefba4 3ffeeb28 3ffe0000 3ffefba4  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefba0:  3fffda0a 3ffe8550 3ffeeb28 3fff059c  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefbb0:  00000580 3ffe84d0 3ffeeb28 40201e03  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefbc0:  0a0d0a0d 00000000 3ffeec44 3ffeec70  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefbd0:  3fffdad0 00000000 3ffe836c 40202605  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefbe0:  ffffff00 43ffffff 73697268 39333720  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefbf0:  00000030 00000000 3ffeec44 401004d8  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefc00:  feefeffe 33000001 39303632 33353237  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefc10:  39383534 00000001 3ffe8715 4020391c  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefc20:  401051fc 002266eb 3ffeeb88 3ffeec70  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefc30:  3fffdad0 0000000b 3ffeec44 402032e1  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefc40:  3ffe8714 3ffeec70 40203638 3ffeec80  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefc50:  3ffefddc 0000000a 3ffeec44 4020330c  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefc60:  3fffdad0 00000000 3ffeec44 40203330  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefc70:  3fffdad0 00000000 3ffeeb50 40201d44  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefc80:  feefeffe feefeffe 3ffeec68 40203684  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US">3ffefc90:  feefeffe feefeffe 3ffeec80 40100718  </span><u></u><u></u></p><p class="MsoNormal"><span lang="EN-US"><<<stack<<<</span><u></u><u></u></p><p class="MsoNormal">******************************<wbr>******************************<wbr>******************************<wbr>******************************<wbr>******************************<wbr>******************************<wbr>**<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">Kann hier vielleicht Â jemand weiterhelfen?<u></u><u></u></p><p class="MsoNormal"> <u></u><u></u></p><p class="MsoNormal">Lieben Gruß und lieben Dank,<u></u><u></u></p><p class="MsoNormal">Chris<u></u><u></u></p></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></div></blockquote></div></div>