Go Down

Topic: Ethernet Shield W5100 (Read 1 time) previous topic - next topic

walid1992

Bonjour à tous,

J'ai une Mega 2560 + un Ethernet Shield W5100, je les utilise comme étant un serveur, et un logiciel (FlexSim) comme un client voici mon croquis :

Code: [Select]

#include <SPI.h>
#include <Ethernet.h>
 
/* Détails technique de la connexion ethernet */
byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
   //Config 1
//IPAddress ip(10, 1, 40, 200);
//byte gateway [] = {10, 1, 71, 1};
//byte masque [] = {255, 255, 0, 0};

   //Config 2
//IPAddress ip(192, 168, 0, 254);
//byte gateway[] = {192, 168, 0, 1};
//byte masque[] = {255, 255, 250, 0};

// Attachement d'un objet "server" sur le port 8080
 EthernetServer server(8080);
 
 
 void setup()
{
 
  // Configuration de la ethernet shield et du server
  Ethernet.begin(mac, ip ,gateway, masque);
  server.begin();
 
  // Mise en sortie de la broche avec notre led (par défaut éteinte)
  pinMode(9, OUTPUT);
  digitalWrite(9, HIGH);
   // Configuration du PORT SERIE
  Serial.begin(9600);
   while (!Serial) {
    ; // EN BOUCLE TANT QUE YA PAS DE CONNECTION SERIE.
  }
  Serial.print("\nServer is listening at:");
  Serial.println(Ethernet.localIP());
}
 
void loop()
{
  // Attente de la connexion d'un client
  EthernetClient client = server.available();
  if (client && client.connected()) {
  Serial.println("Connexion client");
    Serial.println("");
    // si le client nous envoie quelque chose
    if (client.available() > 0) {
  Serial.println("boucle IF ok");
 
   
        char c = client.read();
        Serial.println(c);
     
     
   // On regarde ce que le client nous demande
   switch(c){
       
   case 'C': // allumer la led
      digitalWrite(9, LOW);
   break;
   case 'V': // éteindre la led
      digitalWrite(9, HIGH);
   break;
        }
       }
      }
     }
   


Voici en image l'architecture de mon installation :



Comme vous pouvez le voir dans le programme ci-dessus il y a deux configurations, pour mon cas c'est la ''config1'' qui marche avec, bien sûr, un autre routeur (au centre de recherche) mais dès que je rentre chez moi et que je lance le programme avec la ''config2'' cela ne marche pas or, il suffit de donner une adresse IP fixe qui n'est pas dans la plage DHCP du routeur (de 0 à 155 dans mon cas) à la carte, lui donner le même masque de sous réseau que celui du réseau et enfin l'adresse du routeur comme passerelle.   

Je voudrais la faire marcher chez moi car je vais pas au centre souvent et je me retrouve bloqué dans mon travail, s'il vous plait aidez-moi.

Merci.

HolyShooter

#1
Apr 11, 2015, 03:10 pm Last Edit: Apr 11, 2015, 03:16 pm by HolyShooter
Quote
Code: [Select]

   //Config 2
//IPAddress ip(192, 168, 0, 254);
//byte gateway[] = {192, 168, 0, 1};
//byte masque[] = {255, 255, 250, 0};

Salut, ton problème ne viendrais pas du fait que tu n'utilise pas la meme adresse dans ton image et ton sketch??? (image 192.168.1.x alors que sketch en 192.168.0.x).  Et pourquoi un masque en 255.255.250.0??? En esperant que je t'ai aider.

walid1992

Salut, ton problème ne viendrais pas du fait que tu n'utilise pas la meme adresse dans ton image et ton sketch??? (image 192.168.1.x alors que sketch en 192.168.0.x).  Et pourquoi un masque en 255.255.250.0??? En esperant que je t'ai aider.
Bonsoir à toi et merci pour ta réponse,

Bah écoute, pour le ''250'' c'était une erreur d'inattention mais ça n'a pas marché aussi pour un masque de ''255.255.255.0''. Et pour l'histoire de l'image et le sketch va falloir m'éclairer car je te suis pas très bien.

Merci.

HolyShooter

Es-tu sur de ton adresse réseau? c'est 192.168.1.x ou 192.168.0.x? Parce que dans ton schéma et dans ton sketch, ce ne sont pas les mêmes.

walid1992

Es-tu sur de ton adresse réseau? c'est 192.168.1.x ou 192.168.0.x? Parce que dans ton schéma et dans ton sketch, ce ne sont pas les mêmes.
Oui j'en suis sûr, car le schéma je l'ai trouvé sur un site, c'est juste pour éviter de détailler ma configuration et vous permettre de mieux me comprendre.

Pour l'adresse du réseau 192.168.1.x je peux changer l'adresse de mon routeur ce n'est pas un problème je peux le configurer sur 192.168.1.1 ou bien 192.168.0.1.

Merci.

walid1992

Bonjour pour un petit up.

Go Up