Problème connexion Ethernet Shield 2 vers serveur (wamp)

Bien le bonjour !
Voila 2 jours que je suis bloqué avec mon Ethernet Shield, je souhaiterais envoyé des données sur Wamp, mais impossible de connecter l'arduino
Je m'en remet a vous pour espérer trouver une solution, car je desespère

Voila le programme que j'utilise :
192.168.0.102 est mon IP locale
127.0.0.1 l'ip de Wamp

#include <SPI.h>
#include <Ethernet2.h>   //Inclure la bibliothèque Ethernet

// Adresse MAC du shield (ici choisie par défaut), l'adresse IP dépend de votre réseau local
byte mac[] = { 0x90, 0xA2, 0xDA, 0x10, 0x67, 0x91 };  
//L'adresse MAC du shield est associée à une adresse IP réseau
IPAddress ip(192,168,0,102);   // à choisir sur votre réseau local
EthernetClient client;

EthernetServer server(80);    //Initialise le serveur Ethernet, port 80 par défaut pour HTTP

void setup()
{
  Serial.begin(9600);    //Affichage écran du PC
  Ethernet.begin(mac, ip);   //Démarer la connexion Ethernet et le serveur
}

void loop()
{

  if (client.connect("127.0.0.1",80)) { // remplacer par l'adresse IP de votre serveur-ordi

                client.print( "GET /test2_votre nom de famille/add.php?");
                client.print("test");
                client.println( " HTTP/1.1");
                client.println( "Host: 127.0.0.1" );
                client.println( "Content-Type: application/x-www-form-urlencoded" );
                client.println( "Connection: close" );
                client.println();
                client.println();
                client.stop();
                Serial.print("donnee ecrite");
    }
        else
        {
          Serial.println("probleme de connection");
        }
    if (client.connected()) {

        client.stop();    // DISCONNECT FROM THE SERVER
    }
    delay(30000); // attente en millisecondes
}

Et la seule chose que je reçois dans le moniteur :

probleme de connection

Que se passe-t-il si tu ôtes la ligne :

EthernetServer server(80);    //Initialise le serveur Ethernet, port 80 par défaut pour HTTP

Il ne se passe rien

C'est peut-être un problème côté Wamp. Regarde ceci et cela, ou ça.

Kurosagi:
127.0.0.1 l'ip de Wamp

Bonjour,
cette adresse est l'adresse de loopback (ou local host) sur ton serveur, elle n'est pas utilisable par un client depuis une autre machine. Ton serveur a certainement une adresse en 192.168.0.xxx sur ton réseau

Règle primordiale.

L'adresse 127.0.0.1 n'est utilisable par une machine que pour communiquer avec elle-même, entre processus par exemple.

Deux machines ne peuvent communiquer sur un même réseau que si les trois premiers nombres de son adresse IP sont identique (si le masque est à FF ce qui est souvent le cas).

Si ARDUINO = 192,168,0,102, alors le PC doit aussi avoir une adresse commençant par 192.168.0

@+

rjnc38:
Bonjour,
cette adresse est l'adresse de loopback (ou local host) sur ton serveur, elle n'est pas utilisable par un client depuis une autre machine. Ton serveur a certainement une adresse en 192.168.0.xxx sur ton réseau

Mon ip local ? ou une autre ip ?

192.168.0.102 est l'IP que tu as attribué à l'ARDUINO.
Ton PC en a forcément une aussi.
Pour l'obtenir, va voir dans les paramètre réseau de Windows.
Ou entre la commande ipconfig dans un terminal.
Il s'agit de l'adresse de ton interface ethernet si tu est en filaire, WIFI sinon.

Autre problème : le DHCP.
Si l'adresse IP de ton PC change, tu devras recompiler ton code.
Fixer l'adresse du PC est une bonne chose, dans la box de préférence.

@+

Ah, 192.168.0.102 est l'ip de mon pc, mais l'ip d'Arduino est 169.254.216.166

Pas possible.
Si l'adresse du PC est 192.168.0.102, l'adresse de l'ARDUINO doit obligatoirement commencer par 192.168.0.
Evidemment évite de choisir une adresse déjà prise par un autre PC.
Réserver l'adresse de l'ARDUINO dans la box (IP locale fixe) est une bonne précaution. Cela évitera que le DHCP de la box attribue cette adresse à une autre machine.

@+

Donc je change l'ip d'Arduino manuellement et je l'entre en tant que IP fixe ?

Oui

Kurosagi:
Donc je change l'ip d'Arduino manuellement et je l'entre en tant que IP fixe ?

non
ton arduino est déja en ip fixe par ces 2 lignes a l'adresse 192.168.0.102

IPAddress ip(192,168,0,102);
Ethernet.begin(mac, ip);

avant toute chose il faut bien connaitre ta config reseau :

  • tu fais un ipconfig de ton PC en ligne de cde (sous windows : executer cmd puis ipconfig)
  • tu regardes la plage d'adresses DHCP attribuée par ta box
  • tu choisis une adresse hors DHCP pour ton Arduino
  • tu passes ton PC en adresse fixe avec une adresse hors DHCP

rjnc38:
non
ton arduino est déja en ip fixe par ces 2 lignes a l'adresse 192.168.0.102

IPAddress ip(192,168,0,102);

Ethernet.begin(mac, ip);



avant toute chose il faut bien connaitre ta config reseau :
- tu fais un ipconfig de ton PC en ligne de cde (sous windows : executer cmd puis ipconfig)
- tu regardes la plage d'adresses DHCP attribuée par ta box
- tu choisis une adresse hors DHCP pour ton Arduino
- tu passes ton PC en adresse fixe avec une adresse hors DHCP

J'ai tester, mais ça ne marche toujours pas
Mon DHCP va de .100 à .199

[code]#include <SPI.h>
#include <Ethernet2.h>   //Inclure la bibliothèque Ethernet

// Adresse MAC du shield (ici choisie par défaut), l'adresse IP dépend de votre réseau local
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};  
//L'adresse MAC du shield est associée à une adresse IP réseau
IPAddress ip(192,168,0,201);   // à choisir sur votre réseau local
EthernetClient client;

EthernetServer server(80);    //Initialise le serveur Ethernet, port 80 par défaut pour HTTP

void setup()
{
  Serial.begin(9600);    //Affichage écran du PC
  Ethernet.begin(mac, ip);   //Démarer la connexion Ethernet et le serveur
}

void loop()
{

  if (client.connect("192.168.0.200",80)) { // remplacer par l'adresse IP de votre serveur-ordi

                client.print( "GET /Projet/page.php?");
                client.print("test");
                client.println( " HTTP/1.1");
                client.println( "Host: 192.168.0.200" );
                client.println( "Content-Type: application/x-www-form-urlencoded" );
                client.println( "Connection: close" );
                client.println();
                client.println();
                client.stop();
                Serial.print("donnee ecrite");
    }
        else
        {
          Serial.println("probleme de connection");
        }
    if (client.connected()) {

        client.stop();    // DISCONNECT FROM THE SERVER
    }
    delay(30000); // attente en millisecondes
}

rjnc38:

  • tu fais un ipconfig de ton PC en ligne de cde (sous windows : executer cmd puis ipconfig)

peux tu nous donner le résultat
et par la même occasion dans la fenetre cmd tu fais ping 192.168.0.201 lorsque l'arduino est en service et connecté au réseau

Ok alors, je me suis renseigné un peu plus et apparement il ne faut pas utiliser le dhcp d'un routeur en plus d'une box, j'ai viré le DHCP du routeur et la nouvelle adresse du PC est 192.168.1.24, et j'ai attribué l'adresse 192.168.1.151 a mon arduino (en tant qu'ip fixe).
ça arrivera a ce connecté ou non ? (la plage DHCP est 10 à 150)

Et l'ipconfig :

Configuration IP de Windows

   Nom de l’hôte . . . . . . . . . . : Kuro
   Suffixe DNS principal . . . . . . :
   Type de noeud. . . . . . . . . .  : Hybride
   Routage IP activé . . . . . . . . : Non
   Proxy WINS activé . . . . . . . . : Non
   Liste de recherche du suffixe DNS.: home

Carte Ethernet Ethernet :

   Suffixe DNS propre à la connexion. . . : home
   Description. . . . . . . . . . . . . . : Realtek PCIe GbE Family Controller
   Adresse physique . . . . . . . . . . . : D8-CB-8A-CA-00-1A
   DHCP activé. . . . . . . . . . . . . . : Oui
   Configuration automatique activée. . . : Oui
   Adresse IPv6 de liaison locale. . . . .: fe80::6426:905d:3021:6d77%2(préféré)
   Adresse IPv4. . . . . . . . . . . . . .: 192.168.1.24(préféré)
   Masque de sous-réseau. . . . . . . . . : 255.255.255.0
   Bail obtenu. . . . . . . . . . . . . . : jeudi 10 mai 2018 14:49:42
   Bail expirant. . . . . . . . . . . . . : vendredi 11 mai 2018 14:50:07
   Passerelle par défaut. . . . . . . . . : 192.168.1.1
   Serveur DHCP . . . . . . . . . . . . . : 192.168.1.1
   IAID DHCPv6 . . . . . . . . . . . : 47762314
   DUID de client DHCPv6. . . . . . . . : 00-01-00-01-20-97-84-1C-D8-CB-8A-CA-00-1A
   Serveurs DNS. . .  . . . . . . . . . . : 192.168.1.1
                                       192.168.1.1
   NetBIOS sur Tcpip. . . . . . . . . . . : Activé

Il est également possible que le pare-feu de ton PC bloque le port de la connexion.
Si tu en as un, autorise le.

J'ai déjà autorisé

Et qu'est-ce que ça donne maintenant ?

même chose