Ethernet modul ENC28J60 se nespojí s webem na Endora.cz
Ethernet modul ENC28J60 se nespojí s webem na Endora.cz
zdravím všechy
mám problém se spojením arduina s webem (PHP) na Endora.cz
kód zkráceně (to důležitý)
#include <UIPEthernet.h>
#include <SPI.h>
byte mac[] = { 0x70, 0x4F, 0x57, 0x77, 0x7E, 0x50 }; // Mac adresa zařízení
EthernetClient client;
int nepripojeno=0; // počet neúspěšných připojení k internetu
int samoreset=0; //
int TimeOut=5000;
char server[] = "88.86.120.160";
Ethernet.begin(mac);
if (client.connect(server, 80))
{
client.println("GET / HTTP/1.0");
client.println("Host: balisong.cz");
client.println("Connection: Close");
client.println();
}
problém je v tom, že pokud za IP adresu dosadím google.com, tam mi to aspoň vypíše stránku, že s chybou 400.
IP adresu serveru 88.86.120.160 jsme ověřoval u poskytovatele, stejně jako správnost Hostu.
Nevíte někdo co by mohlo být špatně. Řešil jsem to s podporou ohledně správnosti IP adres.
Děkuji mnohokrát.
mám problém se spojením arduina s webem (PHP) na Endora.cz
kód zkráceně (to důležitý)
#include <UIPEthernet.h>
#include <SPI.h>
byte mac[] = { 0x70, 0x4F, 0x57, 0x77, 0x7E, 0x50 }; // Mac adresa zařízení
EthernetClient client;
int nepripojeno=0; // počet neúspěšných připojení k internetu
int samoreset=0; //
int TimeOut=5000;
char server[] = "88.86.120.160";
Ethernet.begin(mac);
if (client.connect(server, 80))
{
client.println("GET / HTTP/1.0");
client.println("Host: balisong.cz");
client.println("Connection: Close");
client.println();
}
problém je v tom, že pokud za IP adresu dosadím google.com, tam mi to aspoň vypíše stránku, že s chybou 400.
IP adresu serveru 88.86.120.160 jsme ověřoval u poskytovatele, stejně jako správnost Hostu.
Nevíte někdo co by mohlo být špatně. Řešil jsem to s podporou ohledně správnosti IP adres.
Děkuji mnohokrát.
- pavel1tu
- Příspěvky: 2054
- Registrován: 26 říj 2017, 08:28
- Reputation: 0
- Bydliště: Trutnov
- Kontaktovat uživatele:
Re: Ethernet modul ENC28J60 se nespojí s webem na Endora.cz
A neměl by být ten server "balisong.cz" ?
UNO, NANO, Mikro, PRO mini, DUE, ESP32S2, RPi PICO
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
Pavel1TU
"Správně napsaný kod lze číst jako knihu"
-
- Příspěvky: 1034
- Registrován: 06 zář 2017, 20:04
- Reputation: 0
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Ethernet modul ENC28J60 se nespojí s webem na Endora.cz
Ano, nepochybně tam má být
Kód: Vybrat vše
char server[] = "balisong.cz";
Kód: Vybrat vše
C:\Users\Pavel>ping -a 88.86.120.160
Příkaz PING na srv71.endora.cz [88.86.120.160]
Odpověď od 88.86.120.160: bajty=32 čas=33ms TTL=54
Re: Ethernet modul ENC28J60 se nespojí s webem na Endora.cz
To jsem měl napsat, že jsem to s tím taky zkoušel a vysledek žádny. Zajímavy je, že kdyz jsem servwr dal http://balisong.cz tak se to tvářilo, že se to spojilo se serverem ale ten neodpověděl
-
- Příspěvky: 1034
- Registrován: 06 zář 2017, 20:04
- Reputation: 0
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Ethernet modul ENC28J60 se nespojí s webem na Endora.cz
Ještě se mi zdá neúplná ta hlavička. Požadavek GET bych čekal ve tvaru:
GET /něco.php HTTP/1.1
...
...
kde za GET je požadovaný soubor nebo program včetně cesty.
GET /něco.php HTTP/1.1
...
...
kde za GET je požadovaný soubor nebo program včetně cesty.
Re: Ethernet modul ENC28J60 se nespojí s webem na Endora.cz
Jj ani na GET /zapis.php?zapis=1 to nic nedela. Kdyz by byla spatna cesta tak ny to melo vypsat aspon E404 stranka nenalezena.
-
- Příspěvky: 1034
- Registrován: 06 zář 2017, 20:04
- Reputation: 0
- Bydliště: Brno
- Kontaktovat uživatele:
Re: Ethernet modul ENC28J60 se nespojí s webem na Endora.cz
Testovat vlastnosti webového serveru lze i Telnetem. Já jsem použil Hercules
https://www.hw-group.com/cs/software/ap ... ules-setup
Jak vidíš, balisong.cz odpovídá na tvoji (červenou) hlavičku dotazu kódem 200 OK. Pokud udělám totéž s google.cz, tak dostanu kód 404.
Pokud použiješ GET / HTTP/1.0 , server okamžitě po odeslání požadavku uzavře spojení, bez ohledu na parametr Connection:
Pokud použiješ GET / HTTP/1.1 , server uzavře nebo nechá otevřené spojení s ohledem na parametr Connection: Close nebo Keep-Alive.
To je správné chování podle standardu a popisuji to jen pro představu, že možnosti parametrizací hlavičky požadavku jsou široké a mnohdy docela komplikované.
Můj závěr je někde jinde. Já si myslím, že spojení navážeš, server normálně odpovídá, ale ty prostě jeho odpověď nezpracuješ. Buď dík nějakému zpoždění následující program nestačí odpověď už zachytit, nebo naopak, "odposlech serveru" skončí dřív, než server stačil odpovědět. Holt to je tak, když zveřejníš jen kusý výsek programu.
Mimochodem, asi by mělo být možné použít Hercules jako server a Arduinem se k němu připojovat. Sice jsem to nikdy nezkoušel, ale v principu by to mohlo pomoci.
https://www.hw-group.com/cs/software/ap ... ules-setup
Jak vidíš, balisong.cz odpovídá na tvoji (červenou) hlavičku dotazu kódem 200 OK. Pokud udělám totéž s google.cz, tak dostanu kód 404.
Pokud použiješ GET / HTTP/1.0 , server okamžitě po odeslání požadavku uzavře spojení, bez ohledu na parametr Connection:
Pokud použiješ GET / HTTP/1.1 , server uzavře nebo nechá otevřené spojení s ohledem na parametr Connection: Close nebo Keep-Alive.
To je správné chování podle standardu a popisuji to jen pro představu, že možnosti parametrizací hlavičky požadavku jsou široké a mnohdy docela komplikované.
Můj závěr je někde jinde. Já si myslím, že spojení navážeš, server normálně odpovídá, ale ty prostě jeho odpověď nezpracuješ. Buď dík nějakému zpoždění následující program nestačí odpověď už zachytit, nebo naopak, "odposlech serveru" skončí dřív, než server stačil odpovědět. Holt to je tak, když zveřejníš jen kusý výsek programu.
Mimochodem, asi by mělo být možné použít Hercules jako server a Arduinem se k němu připojovat. Sice jsem to nikdy nezkoušel, ale v principu by to mohlo pomoci.
Kdo je online
Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti