Contrôler directement arduino via un shield ethernet

Bonjour à vous,

J'essaie de contrôler une carte uno via un shield W5100. Tout se passe comme si la carte ne pouvait recevoir des informations UDP qu'en passant par ma box, qui lui attribue un n° d'IP dynamique. Lorsque j'essaie de me connecter directement à partir de mon ordinateur et de lui envoyer des informations UDP, elle ne reçoit plus rien.
J'ai essayé aussi avec un câble croisé, ça ne change rien.

J'utilise Max pour l'envoi des données UDP et un Mac avec OSX Sierra (cela fonctionne en passant par ma box) .

Voici le code :

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

byte mac[] = {0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED};
IPAddress ip(10, 0, 0, 177);

unsigned int localPort = 8888;      // local port to listen on
byte packetBuffer[UDP_TX_PACKET_MAX_SIZE];
// An EthernetUDP instance to let us send and receive packets over UDP
EthernetUDP Udp;

//byte freq1 = 0;

void setup() {
  // start the Ethernet
  Serial.begin(115200);
  Serial.println("setup");
  Ethernet.begin(mac);
  // print your local IP address:
  Serial.println(Ethernet.localIP());
  Udp.begin(localPort);
}

void loop() {
  int packetSize = Udp.parsePacket();

  if (packetSize > 0) {
    Serial.println("=====================");
    Serial.print(packetSize);
    Serial.println("===========");
    int res = Udp.read(packetBuffer, UDP_TX_PACKET_MAX_SIZE);
    for (int i = 0; i < packetSize; i++) {
      Serial.println(packetBuffer[i]);
    }
    //tone(7, map ( packetBuffer[0], 1, 255, 1000, 20000));
  }
}

Je n'ai rien trouvé dans les forums qui résolve le problème. Est-ce qu'il est seulement possible de commander l'arduino par ethernet à partir d'un ordinateur sans passer par un router ?
Merci d'avance !

Ton ordinateur étant relié à la carte Ethernet de l'ARDUINO directement il n'y a pas de DHCP en face.
Donc ton interface Ethernet n'a pas d'adresse IP, à moins que le MAC en attribue une par défaut.

Dans un premier temps, récupérer cette adresse. S'il n'y en a pas, en attribuer une, 10.0.0.1 par exemple.
Ainsi l'ordinateur (10.0.0.1) pourra communiquer avec la carte Ethernet (10.0.0.177) située dans le même sous-réseau (10.0.0).

Normalement il faut un câble croisé, mais il est possible que la carte soit capable d'accepter les deux.

Merci beaucoup hbachetti. En effet, c'était un problème de configuration réseau du mac. Il faut en créer une manuellement et, dans mon cas, veiller à bien choisir "thunderbolt" comme interface virtuelle (j'utilise un adaptateur thunderbolt/ethernet).
Maintenant cela fonctionne parfaitement. De plus il n'est pas nécessaire d'utiliser un câble croisé, du moins avec mon matériel (Macbook-pro 2017).

OK. Merci du retour.