Bonjour,
j'ai une carte Uno et un shield ethernet V2.
je souhaite réaliser un projet avec ce matériel.
Problème: la carte n'est pas reconnue par la livebox. J'ai essayé sur une livebox 4 et 5 et le résultat est identique.
Je n'ai pas d'attribution d'adresse IP par la box (ni dynamique ni fixe par le programme) et je ne voit pas apparaitre la carte sur le réseau. La carte est alimentée par une alim externe et rien n'est branché dessus à part le shield ethernet. Il semblerait que la box voit la carte car l'état du port ethernet passe d'inactif à actif quand je branche la carte à la box.
Voici le programme que l'on m'a fourni pour tester l'attribution de l'adresse IP; l'adresse IP doit apparaitre dans le moniteur.
Pour info, la bibliothéque Ethernet version 2 est installée et j'ai le message suivant quand je compile:
In file included from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\libraries\Ethernet\src\Dns.cpp:8:0: C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\libraries\Ethernet\src\Dns.cpp: In member function 'uint16_t DNSClient::BuildRequest(const char*)': C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\libraries\Ethernet\src\utility/w5100.h:457:25: warning: result of '(256 << 8)' requires 18 bits to represent, but 'int' only has 16 bits [-Wshift-overflow=] #define htons(x) ( (((x)<<8)&0xFF00) | (((x)>>8)&0xFF) ) ~^ C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\libraries\Ethernet\src\Dns.cpp:164:18: note: in expansion of macro 'htons' twoByteBuffer = htons(QUERY_FLAG | OPCODE_STANDARD_QUERY | RECURSION_DESIRED_FLAG); ^~~~~
bonjour,
la solution de marcus_95 ne fonctionne pas ni celle de Artouste. @Artouste, je suis intrigué par ce "#include <Ethernet2.h>"; peux-tu men dire plus.
atlantis50:
bonjour,
la solution de marcus_95 ne fonctionne pas ni celle de Artouste. @Artouste, je suis intrigué par ce "#include <Ethernet2.h>"; peux-tu men dire plus.
oui mon code se compile la seule erreur, est celle que j'ai mise dans le post d'origine
J'ai essayé avec le code dont tu m'as envoyé le lien; voici le résultat de la compilation.
C:\Users\jealau\Documents\Arduino\test2\test2.ino:37:0: warning: "FORM" redefined #define FORM "<form action="/form-handle" method="post">" \
C:\Users\jealau\Documents\Arduino\test2\test2.ino:6:0: note: this is the location of the previous definition #define FORM POST
C:\Users\jealau\Documents\Arduino\test2\test2.ino: In function 'void parseRequest(const char*, int, const char*)':
C:\Users\jealau\Documents\Arduino\test2\test2.ino:149:36: warning: invalid conversion from 'const char*' to 'char*' [-fpermissive]
char token = strtok(request, " ");
^
In file included from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino/Arduino.h:25:0,
from sketch\test2.ino.cpp:1:
c:\program files\windowsapps\arduinollc.arduinoide_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr\avr\include\string.h:576:14: note: initializing argument 1 of 'char strtok(char*, const char*)'
extern char strtok(char , const char );
^~~~~~
C:\Users\jealau\Documents\Arduino\test2\test2.ino:180:32: warning: invalid conversion from 'const char' to 'char' [-fpermissive]
token = strtok(argsStr, "=");
^
In file included from C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.42.0_x86__mdqgnx93n4wtt\hardware\arduino\avr\cores\arduino/Arduino.h:25:0,
from sketch\test2.ino.cpp:1:
c:\program files\windowsapps\arduinollc.arduinoide_1.8.42.0_x86__mdqgnx93n4wtt\hardware\tools\avr\avr\include\string.h:576:14: note: initializing argument 1 of 'char strtok(char*, const char*)'
extern char *strtok(char , const char );
^~~~~~
C:\Users\jealau\Documents\Arduino\test2\test2.ino: In function 'void handleNotFound(EthernetClient&)':
C:\Users\jealau\Documents\Arduino\test2\test2.ino:209:47: warning: invalid conversion from 'const char' to 'char' [-fpermissive]
char *htmlHeader = "\n\n404 Not Found\n\n";
client.println(htmlHeader);
Et voici ce qu'affiche le moniteur:
13:40:36.971 -> CGI args Example
13:40:36.971 -> Initialize Ethernet with DHCP:
13:40:37.550 -> Failed to configure Ethernet using DHCP
13:40:37.550 -> Ethernet shield was not found. Sorry, can't run without hardware.
Pour répondre à tes interrogations, la carte est connectée directement à la box et j'ai fait un test avec différents câbles et mes câbles fonctionnent avec d'autres périphériques.
Un shield, celle du haut mais la V2
Cet après-midi je me suis aperçu que la led d'alimentation de la carte uno s'éclairait faiblement ainsi que les leds Tx et Rx de la carte. Les leds du shield s'éclairent normalement. Ce qui est bizzarre c'est que la carte semble fonctionner correctement.
J'ai essayé avec une carte UNO que j'avais mais c'est pareil.
Tout dépend de ce que l'on appelle faible. Sur une UNO la LED est sur le 5V, avec une résistance 1K en série.
Il faudrait vérifier les tensions sur la carte.
En particulier :
La carte est alimentée par une alim externe
Oui, mais quel voltage et où est-elle branchée ? si c'est sur VIN (JACK) il faut au moins 6.5V.
La carte est alimentée par le jack en 12V.
Que la carte soit alimentée par USB ou 12V c'est pareil => faible.
J'ai comparé avec une autre carte, les led s'éclairent plus fortement en USB ou 12V.