Problème connexion shield ethernet

Bonjour tous le monde,
J’ai un gros problème avec mon shield ethernet et de puis hier je n’arrete pas d’essayer diverses choses pour le résoudre… mais rien n’a faire c’est pour cela que je viens vers vous aujourd’hui. Mon problème est le suivant:

Mon shield n’arrive pas à se connecter à ma livebox, aucune adresse IP ne lui est attribué…

J’ai essayais de mettre une adresse ip à l’intérieur de la plage de mon serveur dhcp et aussi à l’extérieur, mais rien! :sob:

Mon code:

/*
Web Server

A simple web server that shows the value of the analog input pins.
using an Arduino Wiznet Ethernet shield.

Circuit:

  • Ethernet shield attached to pins 10, 11, 12, 13
  • Analog inputs attached to pins A0 through A5 (optional)

created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe

*/

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

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac = {
0x90, 0xA2, 0xDA, 0x0F, 0xE6, 0xBC
};
IPAddress ip(192, 168, 1, 42);

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

void setup() {
// Open serial communications and wait for port to open:
Serial.begin(9600);
while (!Serial) {
; // wait for serial port to connect. Needed for Leonardo only
}

// start the Ethernet connection and the server:
Ethernet.begin(mac, ip);
server.begin();
Serial.print("server is at ");
Serial.println(Ethernet.localIP());
}

void loop() {
// listen for incoming clients
EthernetClient client = server.available();
if (client) {
Serial.println(“new client”);
// an http request ends with a blank line
boolean currentLineIsBlank = true;
while (client.connected()) {
if (client.available()) {
char c = client.read();
Serial.write(c);
// if you’ve gotten to the end of the line (received a newline
// character) and the line is blank, the http request has ended,
// so you can send a reply
if (c == ‘\n’ && currentLineIsBlank) {
// send a standard http response header
client.println(“HTTP/1.1 200 OK”);
client.println(“Content-Type: text/html”);
client.println(“Connection: close”); // the connection will be closed after completion of the response
client.println(“Refresh: 5”); // refresh the page automatically every 5 sec
client.println();
client.println("");
client.println("");
// output the value of each analog input pin
for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
int sensorReading = analogRead(analogChannel);
client.print(“analog input “);
client.print(analogChannel);
client.print(” is “);
client.print(sensorReading);
client.println(”
“);
}
client.println(””);
break;
}
if (c == ‘\n’) {
// you’re starting a new line
currentLineIsBlank = true;
}
else if (c != ‘\r’) {
// you’ve gotten a character on the current line
currentLineIsBlank = false;
}
}
}
// give the web browser time to receive the data
delay(1);
// close the connection:
client.stop();
Serial.println(“client disconnected”);
}
}

C’est tous simplement l’exemple d’arduino…
Et quand j’ouvre le moniteur j’ai ça:

S'il vous plait j'ai vraiment besoin d'aide.... Cordialement

Tu es chez toi? Quelle est le modèle et l'adresse ip de ta box sur ton réseau local ?

Oui je suis chez moi, c'est une livebox play qui à comme ip 192.168.1.1 Cordialement

Essaye ethernet.begin(mac);

cochise57: S'il vous plait j'ai vraiment besoin d'aide.... Cordialement

bonsoir Tu remarquera qu'aujourd'hui est un beau dimanche et aussi qu'il termine pour certains un joli pont de mai.

déjà : A tu verifié le bon fonctionnement de ton shield ethernet ? un test avec l'exemple webserver (adresse IP 192.168.1.177) donne quoi ? ensuite avec livebox orange attention au loopback qui n'est pas géré.

Essaye ethernet.begin(mac);

C'est déjà fait mais sans succès

Tu remarquera qu'aujourd'hui est un beau dimanche et aussi qu'il termine pour certains un joli pont de mai.

C'est vrai, vous avez raison, mais j'ai peur pour ma carte....

A tu verifié le bon fonctionnement de ton shield ethernet ? un test avec l'exemple webserver (adresse IP 192.168.1.177) donne quoi ?

Je viens d'essayer, mais cela ne marche pas non plus....

Réponse du serial: server is at 0.0.0.0

ensuite avec livebox orange attention au loopback qui n'est pas géré.

Désolé, mais je ne vois pas ce qu'est "loopback"

Cordialement

cochise57:
C’est déjà fait mais sans succès

C’est vrai, vous avez raison, mais j’ai peur pour ma carte…

Je viens d’essayer, mais cela ne marche pas non plus…

sans connection (cable RJ45) sur la livebox
comment sont allumées les leds du shield ethernet ?

avec l’exemple webserver (je mets mon code test dessous)
meme sans cable ethernet le serial me renvoie bien IP = 192.168.1.177
si je retire le shield ethernet , ça me renvoie IP=0.0.0.0

/*
  Web Server

 A simple web server that shows the value of the analog input pins.
 using an Arduino Wiznet Ethernet shield.

 Circuit:
 * Ethernet shield attached to pins 10, 11, 12, 13
 * Analog inputs attached to pins A0 through A5 (optional)

 created 18 Dec 2009
 by David A. Mellis
 modified 9 Apr 2012
 by Tom Igoe

 */

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

// Enter a MAC address and IP address for your controller below.
// The IP address will be dependent on your local network:
byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 1, 177);

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}


void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
          client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            int sensorReading = analogRead(analogChannel);
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(sensorReading);
            client.println("
");
          }
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disconnected");
  }
}

sans connection (cable RJ45) sur la livebox comment sont allumées les leds du shield ethernet ?

|500x281

avec l'exemple webserver (je mets mon code test dessous) meme sans cable ethernet le serial me renvoie bien IP = 192.168.1.177 si je retire le shield ethernet , ça me renvoie IP=0.0.0.0

J'ai toujours IP=0.0.0.0 avec le shield présent sur la carte et cable branché ou non.

Cordialement,

cochise57: J'ai toujours IP=0.0.0.0 avec le shield présent sur la carte et cable branché ou non.

avec l'exemple donné et sur ton shield , la led indiqué par la fleche verte ne s'allume pas "faiblement" comme sur la photo ?

|500x328

Est-ce que vous parlez de la LED rx? parce que si c'est le cas elle ne s'allume que si le câble ethernet est branché. Et si c'est une autre led, elle ne s'allume pas. Cordialement

Je précise aussi que ma carte UNO chauffe beaucoup. Cordialement

cochise57: Est-ce que vous parlez de la LED rx? parce que si c'est le cas elle ne s'allume que si le câble ethernet est branché. Et si c'est une autre led, elle ne s'allume pas. Cordialement

non pas RX mais L il y a 4 led , ON la premiere (allumée) , L la derniere c'est un report de la L13 et elle participe à la gestion SPI du shield ethernet

Si elle n'est pas visible faiblement (avec le code) cela indique vraisemblablement un probleme hard du coté SPI tu a bien verifié que ton shield est correctement enfiché ? connecteurs lateraux ET connecteur ICSP ?

pour faire court : tu n'a encore jamais pu verifier le bon fonctionnement de ton shield ethernet ?

edit : je viens de regarder "mieux" ton shield ethernet , ce n'est à priori pas une version identique à celui que j'ai sous la main (3 leds au lieu de 4) la tienne est une R3 , j'en ai au labo , je regarderais demain

La LED L est bien faiblement allumé sur la carte arduino Uno. J'ai déjà eu l’occasion de tester le shield et il fonctionnait correctement. Cordialement

cochise57: La LED L est bien faiblement allumé sur la carte arduino Uno. J'ai déjà eu l’occasion de tester le shield et il fonctionnait correctement. Cordialement

bonjour testé avec une R3 meme constat tu devrais sans connection internet obtenir dans le serial l'IP 192.168.1.177 juste avec le shield inséré et 0.0.0.0 sans shield

Bonjour, le souci c'est que se n'est pas le cas j'ai 0.0.0.0 dans tous les cas. Avez-vous une solution?? Mon shield est-il mort? Cordialement

cochise57: Bonjour, le souci c'est que se n'est pas le cas j'ai 0.0.0.0 dans tous les cas. Avez-vous une solution?? Mon shield est-il mort? Cordialement

déjà lever le doute pour verifier que c'est bien le shield qui est en cause = tester le shield avec un autre arduino faire une inspection minutieuse des soudures. bien verifier qu'il n'y a pas de contact entre la prise USB du uno et les contacts de la prise RJ45 , isoler le dessus de la prise usb

Petite nouveauté, comme ip j'ai maintenant: 0.255.0.0

cochise57: Petite nouveauté, comme ip j'ai maintenant: 0.255.0.0

c'est reproductible ? tu travaille sous quelle version d'IDE ?

Hier je l’ai eu souvent mais aujourd’hui je l’ai eu qu’une seul fois. Je travail avec la dernière version de l’ide
Cordialement