Bonjour,
j'ai suivi un tuto pour connecter mon Arduino avec un Shield Ethernet sur internet et tout ne se passe pas comme prévu...
J'ai repris le code de ce tuto (j'ai juste apporté quelque print en plus)
https://zestedesavoir.com/tutoriels/686/arduino-premiers-pas-en-informatique-embarquee/1213_internet-of-things-arduino-sur-internet/4847_arduino-et-ethernet-client/
Qui est le suivant :
#include <Ethernet.h>
#include <SPI.h>
byte mac[] = {0x90, 0xA2, 0xDA, 0x0F, 0xDF, 0xAB};
byte ip[] = {139, 165, 155, 251};
EthernetClient client;
char serveur[] = "perdu.com";
void setup() {
// On démarre la voie série pour déboguer
Serial.begin(9600);
char erreur = 0;
// On démarre le shield Ethernet SANS adresse IP (donc donnée via DHCP)
erreur = Ethernet.begin(mac);
if (erreur == 0) {
Serial.println("Parametrage avec ip fixe...");
// si une erreur a eu lieu cela signifie que l'attribution DHCP
// ne fonctionne pas. On initialise donc en forçant une IP
Ethernet.begin(mac, ip);
}
Serial.println("Init...");
// Donne une seconde au shield pour s'initialiser
delay(1000);
Serial.println("Pret !");
Serial.println(Ethernet.localIP());
erreur = client.connect(serveur, 80);
if(erreur == 1) {
// Pas d'erreur ? on continue !
Serial.println("Connexion OK, envoi en cours...");
// On construit l'en-tête de la requête
client.println("GET / HTTP/1.1");
client.println("Host: perdu.com");
client.println("Connection: close");
client.println();
} else {
// La connexion a échoué :(
Serial.println("Echec de la connexion");
Serial.println(erreur);
Serial.println("Ok");
switch(erreur) {
case(-1):
Serial.println("Time out");
break;
case(-2):
Serial.println("Serveur invalide");
break;
case(-3):
Serial.println("Tronque");
break;
case(-4):
Serial.println("Reponse invalide");
break;
}
while(1); // Problème = on bloque
}
}
void loop()
{
}
Le Shield se connecte bien sur internet en DHCP et j'obtiens l'adresse IP qui lui a été attribué mais le problème est que il ne fait pas la requête qui est demandée et ne m'affiche pas le type d'erreur. J'ai fait un print de erreur et c'est une ligne vide qui est ressortie. Quelqu'un saurai m'aider?