<div dir="ltr">Zdravím konferenci,<div><br></div><div>mám tady Arduino Mega + Ethernet Shield 2. Vše funguje jak má, běží na tom ethernet server a řídím tím doma topení. Vše OK, jen se občas stane, že se to resetuje od WDG. WDG mám nastavený na maximální možný čas 8s. Po resetu tam je:</div><div><br></div><div><p style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium">TWBR 242</p><p style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium">Last RESET: 15</p><p style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium">Takže - a watchdog reset occurred<span style="font-family:Arial,Helvetica,sans-serif;font-size:small;color:rgb(34,34,34)"> .</span><br></p><p style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium"><span style="font-family:Arial,Helvetica,sans-serif;font-size:small;color:rgb(34,34,34)"><b>Chybu umím nasimulovat</b> - jakmile načtu stránku a v tom dojde ke ztrátě spojení mezi klientem a serverem (typicky androidí telefon na pomezí wifi signálu), tak se stránka načte třeba do půlky, dojde ke ztrátě wifi na telefonu a pak WDG na arduinu zareaguje. Myslel jsem, že to vyřeším </span><span style="font-family:Arial,Helvetica,sans-serif;font-size:small;color:rgb(34,34,34)">client.setTimeout(100);, ale neúspěšně, dělá to stále. Čím bych to mohl ošetřit? Googlím už od rána a evidentně to nikdo moc neřeší. </span></p><p style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium">Pokud nepřistupuji na tu webovou stránku generovanou Arduinem má to uptime desítky dní, než přeteče příslušný long, takže se to chová opravdu stabilně až na obsluhu toho   EthernetClient.</p><p style="color:rgb(0,0,0);font-family:"Times New Roman";font-size:medium"><span style="font-family:Arial,Helvetica,sans-serif;font-size:small;color:rgb(34,34,34)">Díky moc za nápady.</span><br></p><div><br></div><div>HP</div></div><div><br></div><div>Eliminoval jsem všechny jiné možnosti a dělá to prostě výpis webové stránky - kód podle mě standardní:</div><div><br></div><div>{<br>    // listen for incoming clients<br>    // Create a client connection<br><br>    EthernetClient client = server.available();<br><br><br><br>    if (client) {<br><br>      client.setTimeout(100);<br><br>     // w5500.setRetransmissionCount(0);<br>      <br><br>      while (client.connected()) {<br>        wdt_reset();<br>        while (client.available()) {<br>          char c = client.read();<br><br>          //read char by char HTTP request<br>          //read char by char HTTP request<br>          if (readString.length() < 100) {<br><br>            //store characters to string<br>            readString += c;<br>            //Serial.print(c);<br>            wdt_reset();<br>          }<br>          else<br>          {<br>            readString == "";<br>            wdt_reset();<br>          }<br><br>          //if HTTP request has ended<br>          if (c == '\n') {<br><br>            ///////////////<br>            //Serial.println(readString); //print to serial monitor for debuging<br>            wdt_reset();<br>            client.println(F("HTTP/1.1 200 OK")); //send new page<br>            client.println(F("Content-Type: text/html"));<br>            client.println();<br><br>            client.println(F("<HTML>"));<br>            client.println(F("<HEAD>"));<br>            wdt_reset();<br></div><div><br></div><div>atd......</div><div><br></div><div><div><div dir="ltr" class="gmail_signature" data-smartmail="gmail_signature"><div dir="ltr"><div><div dir="ltr"><div></div></div></div></div></div></div></div></div>