Stránka 2 z 13
Re: Wifi zásuvka
Napsal: 24 dub 2020, 08:00
od Kony
Ee nad tim hlavnim arduinu jsem jen premyslel, ale nyni to mam zvlast, kazde rele ma vlastni ip....
nyní jsem to udělal takto :
http://xxxxxxxx/ovladani.php?vypinacOFF1.html - kde rele vypne v souboru vypinacOFF1.html je presmerovani na web relatka
http://yyyyyy/OFF
nejsem primo u toho rele, tak musim zjistit jestli to takto funguje
Re: Wifi zásuvka
Napsal: 24 dub 2020, 08:38
od KamilV
Kony píše: ↑24 dub 2020, 07:08
tak se mi samozrejme presmeruje stranka na toto rele a zustane tam. Takze premyslim jak z me php stranky odeslat jen request, ale aby se nepresmerovavala na rele
Když to nutně chceš takto, tak ten request udělej ajaxem a stránku neopouštěj.
Re: Wifi zásuvka
Napsal: 24 dub 2020, 16:18
od Kony
KamilV píše: ↑23 dub 2020, 23:17
On hlavně ten článek předpokládá, že je relátko připojeno k tomu Arduinu, na kterém běží server. Stavy potom mění na základě requestu.
Ty ale řešíš jinou situaci. Chceš několik klientů od sebe vzdálených, každý u sebe má své relátko.
Klient si pošle na server GET request s dotazem, v jakém stavu má být jen a pouze to jeho relátko. V response mu příjde třeba jen 0 nebo 1 a podle toho změní / nezmění svůj stav.
Ten server může být z Arduina (ale stavy by asi měl udržovat v EEPROM), nebo třeba RPi, kde už rozběhneš i databázi a snadněji uděláš na to ovládání pěkné GUI.
Pořád přemýšlím jak udělat ten GET REQUEST, abych na svých stránkách jen poslal zmáčkl na tlačítko a aby mě odešel požadavek na rele na sepnutí, ale aby se mi to nepřesměrovalo...
Nyni to mám takto
Ale to mě přesměruje
Re: Wifi zásuvka
Napsal: 24 dub 2020, 16:49
od Kony
obsah souboru vypinac1.html
Kód: Vybrat vše
<meta http-equiv="refresh" content="0;url=http://aaa.bbb.ccc.ddd:1080/ON">
a nebo by možná stačilo aby při přihlášení na stránky RELE, se automaticky přesměrovalo zpět...
To jsem taky zkoušel , ale nechce to brát Arduino IDE
Když zkusím v IDE do kodu zadat
Kód: Vybrat vše
client.print("<meta http-equiv="refresh" content="0;url=http://seznam.cz">");
Tak mi to hodí chybu
wifi_z_suvka:86:34: error: expected ')' before 'refresh'
wifi_z_suvka:86:54: error: 'url' was not declared in this scope
wifi_z_suvka:86:58: error: 'http' was not declared in this scope
wifi_z_suvka:86:62: error: expected ';' before ':' token
exit status 1
expected ')' before 'refresh'
Re: Wifi zásuvka
Napsal: 24 dub 2020, 17:23
od Kony
Tak zase mi to nejde editovat....
Už to běží to přesměrování
Kód: Vybrat vše
client.println("<meta http-equiv=\"refresh\" content=\"0;url=http://xxxx.eu/ovladani.php\">");
Re: Wifi zásuvka
Napsal: 24 dub 2020, 18:21
od Kony
pavel1tu píše: ↑23 dub 2020, 20:41
To jak ti to zamrzne, je na žádku
Kód: Vybrat vše
while (!client.available()) {
delay(1);
nebo hned za tím, nemám na čem otestovat
Tak me to po chvilce zamrzne a vubec nemam tuseni, kde hledat chybu... funguje funguje a zniceho nic zamrznuti... ted jsem nechal schvalne svitit nejakou dobu a uz to neslo vypnout...
Delay jsem zkousel menit, ale tim to neni
Re: Wifi zásuvka
Napsal: 24 dub 2020, 19:11
od kiRRow
Ona tam chyba není. Funguje to naprosto správně. Má to zacyklovat donekonečna program pokud klient nebude availeble. A přesně to to dělá.
Re: Wifi zásuvka
Napsal: 24 dub 2020, 19:17
od Kony
Ale proc se to tak zasekne ??? Kde tedy muze byt problem ? Nebo spis cim to tedy muze byt ?
Re: Wifi zásuvka
Napsal: 24 dub 2020, 19:30
od kiRRow
Každé spojení na http server je omezeno časově. Potom je uzavřeno, aby i ostatní uživatelé měli možnost se na server připojit. V momentě kdy se toto spojení uzavře, přestane být client.availeble a program začne běhat dokola. Buď zrušíš ten cyklus, nebo budeš udržovat spojení zasíláním prázdných požadavků podobně jako u slowloris utoku.
Re: Wifi zásuvka
Napsal: 24 dub 2020, 19:47
od Kony
Aha, tak to nemam tuseni co to znamena.... mohl by si mi to trosku vysvetlit ???
Co presne to znamena a jak opravit