client.connect(server,80) non mi funziona (RISOLTO)

sto provando l’esempio riportato quì http://arduino.cc/en/Reference/ClientConnect

#include <Ethernet.h>
#include <SPI.h>

byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
byte ip[] = { 10, 0, 0, 177 };
byte server[] = { 64, 233, 187, 99 }; // Google

EthernetClient client;

void setup()
{
  Ethernet.begin(mac, ip);
  Serial.begin(9600);

  delay(1000);

  Serial.println("connecting...");

  if (client.connect(server, 80)) {
    Serial.println("connected");
    client.println("GET /search?q=arduino HTTP/1.0");
    client.println();
  } else {
    Serial.println("connection failed");
  }
}

void loop()
{
  if (client.available()) {
    char c = client.read();
    Serial.print(c);
  }

  if (!client.connected()) {
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
    for(;;)
      ;
  }
}

ma continuo ad ottenere connection failed,
ho provato a mettere anche

Serial.println(client.connect(server, 80));

e mi restituisce 0 che non è presente tra i risultati riportati nel reference, ho provato anche con altri IP trovati in internet ma ho sempre lo stesso risultato
come posso risolvere?

Ma hai cambiato la variabile ip ?

byte ip[] = { 10, 0, 0, 177 };

Questo DEVE essere un indirizzo valido nella TUA rete.
Di solito quelle di casa sono 192.168.1.xxx dove xxx dipende dal router (un ip libero)

nid69ita:
Ma hai cambiato la variabile ip ?

byte ip[] = { 10, 0, 0, 177 };

Questo DEVE essere un indirizzo valido nella TUA rete.
Di solito quelle di casa sono 192.168.1.xxx dove xxx dipende dal router (un ip libero)

Si ho messo sia l'ip che il mac della mia scheda

Per puro caso l'ho provato proprio ieri. E mi funziona.
Mi viene da pensare che sia un problema di configurazione della tua rete/router.

Che tipo di connessione hai ? Router ? DHCP abilitato ?

nid69ita:
Per puro caso l'ho provato proprio ieri. E mi funziona.
Mi viene da pensare che sia un problema di configurazione della tua rete/router.

Che tipo di connessione hai ? Router ? DHCP abilitato ?

il router l'ho configurato aprendo le porte sull'ip di arduino e se lo uso come webserver funziona tutto

nid69ita:
Cosa intendi per "ho messo ip della mia scheda" ?? Con la scheda a volte viene fornito un MAC ma non un ip.
Ethernet shield "ufficiale" con il WIZ5100 ? (esiste anche la clone con ENC28J)

ho configurato il router in modo che l'IP di arduino sia sempre 192.168.1.150
il mac l'ho preso dall'etichetta della scheda
sia la scheda ethernet che arduino mega sono rev3 originali

ho risolto aggiungendo alla connessione gli indirizzi di dns, subnet e gateway in quanto il mio gateway non termina con 1 ma con 254

mdr04:
ho risolto aggiungendo alla connessione gli indirizzi di dns, subnet e gateway in quanto il mio gateway non termina con 1 ma con 254

Di solito è la soluzione migliore, configurare tutti i parametri. Di solito dns io uso 8.8.8.8 oppure 4.4.4.4 che sono quelli di google. Facili da ricordare (l’età avanza!! ) :grin: