Stránka 1 z 1

ESP8266 NodeMcu V3

Napsal: 28 dub 2023, 11:20
od Le_Ze
Zdravím.

Mam vytvořený web server a když zadám do prohlížeče IP, vypíše se mi náhodně vygenerované číslo.
Jak na to, aby se čislo třeba co vteřinu přepisovalo?
Nebo každým pruchodem loop.
Děkují.

Kód: Vybrat vše

WiFiClient client = server.available();
 if (!client) {
 return;
 }
 client.println(random(100) );
}

Napsal: 28 dub 2023, 11:51
od mikollar
refesh automaticky napr tak ze vratis html stranku a pouzijes meta tag
https://www.w3schools.com/tags/att_meta_http_equiv.asp

Ak pri kazdom prechode loop tak to uz musis riesit cez js a websockety a pod...

Napsal: 28 dub 2023, 12:25
od Le_Ze
Přes ten refresh, to bych musel vytvařet web stranku, ne?
Toto je zatím mimo me zkušenosti..
Ja potřbuj jen vypisovat data přes client.println.

O toto mi jde.
https://pastebin.com/X8FnMjAj?fbclid=Iw ... 38dCvLcRr0

Misto Serial.print použit client.println

Napsal: 28 dub 2023, 12:30
od mikollar
prehliadac nacitava data resp server poskytuje data len pri requeste. Najjednoduchsie to je spravit cez tu html

Ak to chces aby ti to vypisalo ako na seriovy port, tak to tak jednoducho nejde.

Spravil by som jednu premmennu kde by som si zbieral hodnoty ktore chces kao keby poslat. A pri dotaze vratil pospajane hodnoty na stranku z tej premennej a priadne ju vycistil.

Pre html staci ak z esp vratis toto

Kód: Vybrat vše

<!DOCTYPE html>
<html>
<head>
  <meta http-equiv="refresh" content="2">
</head>
<body>
 TU SI VLOZIS TVOJU HODNOTU
</body>
</html>

Napsal: 28 dub 2023, 13:55
od pocitujlasku
komplikovanejsia cesta je websocket - vtedy sa drzi spojenie a ked server odosle data, tak javascript na strane klienta ich spracuje a aktualizuje na stranke. Ale to uz chce trocha znalosti jquery.

Web funguje tak, ze pride poziadavka, on ju spracuje, posle odpoved a tym to prenho konci. uz neexistuje ziadne spojenie klient-server.
Preto pre dynamicku zmenu sa pouziva websocket, kedy klient moze len "visiet" a cakat na data od servera.
ja mam tak napr. urobene IoT zariadenia. Vytvori sa websocket a cez neho si vymienaju json s prikazmi/udajmi.

Napsal: 28 dub 2023, 14:00
od Le_Ze
Hm.
Půjde ale vyřešit to, co potřebují?
S web strakama nemam zkušenosti, ale neběží HTML na počitači klienta?

Je tam třeba.

Kód: Vybrat vše

pv=(node.getResponseBuffer(0x02) | node.getResponseBuffer(0x03) << 16)/ 100.0f;
Serial.print("Panely Výkon: ");
Serial.println(pv);


Takže něco takoveho asi šlapat nebude?

Kód: Vybrat vše

pv=(node.getResponseBuffer(0x02) | node.getResponseBuffer(0x03) << 16)/ 100.0f;
client.println.("Panely Výkon: ");
client.println.(pv);

Napsal: 28 dub 2023, 14:55
od mikollar
Html nebezi nikde je to len staticky subor. Teda klient poziada o stranku, server mu vrati html stranku, tym spojenie klient server konci, klient vyrenderuje stranku.
Dalsie spojenie je mozne len ak klient znova inicializuje spojenie teda si vyziada stranku.

prave websockety riesia tuto vec.

Alebo ak sa ti neche babrat cez websockety.

Spravit html stranku a ce javascript ptavidelne volat ajaxom ESP ten mu vrati JSON s hodnotamy a to potom js vypise do stranky.

Ak chces robit vypis do prehliadaca tak si budes musiet nastudovat ako funguje komunikacia na webe. Bez toho sa budes len trapit

Napsal: 28 dub 2023, 22:36
od pocitujlasku
ja by som isiel rovno do websocket, pravidelne requesty su zbytocne pomale. na esp mam server, dotnetcore je klient a spojenie mi drzalo asi pol roka vkuse, potom som daval novu verziu, tak sa resetlo.
pekny navod je napr. tu
ked sa ocisti od balastu, tak to je mozno 30-40 riadkov cisteho kodu, kde je komplet pripojenie na wifi a cela komunikacia.

Napsal: 02 kvě 2023, 07:41
od Le_Ze
Ještě jeden dotaz by byl.
Na netu jsem našel info, že tato deska ma jen jeden UART port.
Ale i tento obrazek.
Jak je to tedy?

Napsal: 02 kvě 2023, 10:31
od Mahoney
Přímo ten modul má (podle obrázku) jeden celej a dva jen na odesílání. Co se týče té desky celé, ten zbytek může být vyveden z toho CP2102 převodníku (takže směrem k PC)