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 :
#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.
