Ethernet modul ENC28J60 se nespojí s webem na Endora.cz

Odpovědět
fix
Příspěvky: 5
Registrován: 03 zář 2017, 11:53
Reputation: 0

Ethernet modul ENC28J60 se nespojí s webem na Endora.cz

Příspěvek od fix » 13 úno 2020, 15:41

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.

Uživatelský avatar
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

Příspěvek od pavel1tu » 13 úno 2020, 16:04

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"

jankop
Příspěvky: 1029
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

Příspěvek od jankop » 13 úno 2020, 18:11

pavel1tu píše:
13 úno 2020, 16:04
A neměl by být ten server "balisong.cz" ?
Ano, nepochybně tam má být

Kód: Vybrat vše

char server[] = "balisong.cz";
Adresa 88.86.120.160 je adresa jednoho z hostingových serverů

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

fix
Příspěvky: 5
Registrován: 03 zář 2017, 11:53
Reputation: 0

Re: Ethernet modul ENC28J60 se nespojí s webem na Endora.cz

Příspěvek od fix » 13 úno 2020, 18:38

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 😩

jankop
Příspěvky: 1029
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

Příspěvek od jankop » 13 úno 2020, 19:11

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.

fix
Příspěvky: 5
Registrován: 03 zář 2017, 11:53
Reputation: 0

Re: Ethernet modul ENC28J60 se nespojí s webem na Endora.cz

Příspěvek od fix » 13 úno 2020, 19:58

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.

jankop
Příspěvky: 1029
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

Příspěvek od jankop » 14 úno 2020, 11:39

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.
Přílohy
herkules.png

Odpovědět

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 2 hosti