No já myslel spíš tak hodnoty 100 až 2000. Mezi 1 a 5 zas takový rozdíl není
Jinak jankop patrně myslel, že je někdy těžké poradit na základě útržku kódu, ve kterém si tazatel myslí, že chyba je. Dost často je ta chyba jinde, kde to tazatel zatajil. A popravdě, i tentokrát to ten případ může být. Když sem dáš celý scatch, usnadníš tím ostatním práci.
V html outputu Ti zcela chybí BODY. Ačkoliv to prohlížeč asi pochopí, odstraňoval bych všechny nestandardní věci.
W5100 webserver po 6-24hod nedostupný
-
- Příspěvky: 579
- Registrován: 01 srp 2017, 19:29
- Bydliště: Poprad
- Kontaktovat uživatele:
Re: W5100 webserver po 6-24hod nedostupný
Čo je to za fragment kódu a kde patrí v tom pôvodnom programe? Máš to použité v cykle while(client.connected() ) ?Viktor_EX píše: ↑27 zář 2022, 16:04aha, diky, tak ja to vyzkousim.
ted jsem daval tuto cast programu na ukoncovani client.session:
Kód: Vybrat vše
connectLoop++; if(connectLoop > 2000) { // then close the connection from this end. //Serial.println(); //Serial.println(F("Timeout")); client.stop(); } // this is a delay for the connectLoop timing delay(1);
To je počítadlo pripojených klientov, alebo sa to inkrementuje po každom ďalšom výpise pre klienta? To máš to socket spojenie otvorené až sa vykoná 2000 pripojení? Ten Ethernet Wiznet dokáže mať otvorené 4 socket spojenia.
Robil som napr. projekt termostat na WIznet W5100 v režime servera. Ak sa mi splnila podmienka if client(), tak som mu proste vypísal výstup a ihneď som ukončil spojenie cez client.stop(). Klient dostal HTML stránku, kde mal meta hlavičku Refresh s časovým parametrom (napr. 10 alebo až 30 sekúnd), tým si klient o 10, resp. 30 sekúnd sám znova vyžiadal totožnú HTML stránku, ktorú mu mikrokontróler znova odoslal.
Tak stránka pôsobila "dynamicky", že sa na nej menily hodnoty, stavy... Frčí mi to na Arduine Uno s 2 kB RAM non-stop. Po komplikácii mi môj projekt hlási využitie RAM 44%, využitie flash 70%. Sú tam celkom 3 HTML stránky. Okrem dashboardu je tam spracovanie HTML formu pre zápis dát do EEPROM a podstránka s JSON výstupom pre ďalšieho klienta, ktorý môže tieto dáta Publishovať na MQTT Broker. Nezávisle na webserveri sa mi tam ešte vykonáva logika termostatu (millis rutina) pre nastavenie stavu výstupu z cieľovej teploty, hysterézy a aktuálne nameranej teploty cez DS18B20 + výpis aktuálnej IP konfigurácie a stavov na UART.
Preto ako píšeš, že ping ti prešiel, teda ti seklo Arduino, ak ti webserver nefunguje. Ten ping obslúžil Wiznet W5100, ktorý má stále platnú IP konfiguráciu. Videl by som to tak, že ti niekde došla RAM po XY spojeniach od klienta. Chyba môže byť aj inde v kóde okolo, ktorý si vôbec neukázal.
Re: W5100 webserver po 6-24hod nedostupný
dekuji za informace.
funkce webserver je uzavrena v tom uvedenem void() v prvnim prispevku.
zcela v uvodu jsou dle uvedeneho a znameho prikladu definovany IP a MAC nic vic, nic min.
ostatni veci jsou zase v jinych uzavrenych void() aby se to navzajem nepletlo. cely kod je hodne dlouhy
nicmene, jak jsem psal pred nekolika dny, neznamy pritel na telefonu mi webserver prepsal na ajax webserver .. udelal změny práve a pouze a jenom v void webserver() (po naslednem hledani dle kodu jsem nasel nejake studijni materialy a linky jsou o kousek výše)
ajax webserver bezi ted uz 4 dny bez unavy. 500eur putuje do rakouska. pan je skvely, strucny. komunikace jasna. dilo se podarilo, jsem nadšen.
co je problemem puvodni (tedy vseobecne zname) verze nevim, schvalne jeste vymetu cely kod a necham bezet jen ten webserver na jine IP a budu tam davat nejake menici se cislo a budu to tejrat jednim telefonem. jak to po 24 hod vytuhne, (ostatnim) programem to nebylo.vymenil jsem i ten shield. stale stejne chovani. to testovani je zdlouhave, vzdycky to clovek musi utahat kolem 24hod.
funkce webserver je uzavrena v tom uvedenem void() v prvnim prispevku.
zcela v uvodu jsou dle uvedeneho a znameho prikladu definovany IP a MAC nic vic, nic min.
ostatni veci jsou zase v jinych uzavrenych void() aby se to navzajem nepletlo. cely kod je hodne dlouhy
nicmene, jak jsem psal pred nekolika dny, neznamy pritel na telefonu mi webserver prepsal na ajax webserver .. udelal změny práve a pouze a jenom v void webserver() (po naslednem hledani dle kodu jsem nasel nejake studijni materialy a linky jsou o kousek výše)
ajax webserver bezi ted uz 4 dny bez unavy. 500eur putuje do rakouska. pan je skvely, strucny. komunikace jasna. dilo se podarilo, jsem nadšen.
co je problemem puvodni (tedy vseobecne zname) verze nevim, schvalne jeste vymetu cely kod a necham bezet jen ten webserver na jine IP a budu tam davat nejake menici se cislo a budu to tejrat jednim telefonem. jak to po 24 hod vytuhne, (ostatnim) programem to nebylo.vymenil jsem i ten shield. stale stejne chovani. to testovani je zdlouhave, vzdycky to clovek musi utahat kolem 24hod.
Re: W5100 webserver po 6-24hod nedostupný
martinius96: ten fragment kodu jsem nasel v diskusi na arduino cc, tam nejaky kouzelnik uvadel, ze to pouziva pro uzavirani session.
tady je link
https://forum.arduino.cc/t/ethernet-shi ... e/276975/7
tady je link
https://forum.arduino.cc/t/ethernet-shi ... e/276975/7
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 0 hostů