Go Down

Topic: W5100 Probleme ethernet (Read 1 time) previous topic - next topic

whiskygt

Bonjour a tous
Je viens juste de recevoir mon shield W5100 ethernet+MicroSD .
Cela fais maintenant 2 jours que je galere. Le voici en photo :

Ma board est une mega 1280.
Premiere chose louche :
Pour le lecteur de carte, normalement, pour ce genre de shield, le ChipSelect est 4 et la , pas moyen de le faire marcher.
Apres quelques recherche, j'ai vue que certains shields lecteur de carte utilisés la PIN 8.
J'ai testé et la miracle  :), ça marche.
J'ai donc decidé de passer a la fonction ethernet et la ...  :0 :smiley-roll-blue: :smiley-zipper: =( .
D'après ce que j'ai pu lire, le CS est 10 pour le uno et 53 pour le mega.
J'ai donc tenté avec 10, après avec 53 et rien ne fonctionne.
Mon shield ne veut pas s'affecter une IP correct.
Voici mon code :
#include <SPI.h>
#include <Ethernet.h>

byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };
IPAddress ip(192,168,1, 55);


void setup() {

 
 pinMode(53, OUTPUT);
 digitalWrite(53,HIGH);
 delay(1000);
 Serial.begin(9600);
 Ethernet.begin(mac, ip);
 
 // print your local IP address:
 Serial.print("My IP address: ");
 ip = Ethernet.localIP();
 for (byte thisByte = 0; thisByte < 4; thisByte++) {
   // print the value of each byte of the IP address:
   Serial.print(ip[thisByte], DEC);
   Serial.print(".");
 }
 Serial.println();
}

void loop() {
}

J'ai essayé aussi de mettre la PIN8 du lecteur a LOW au cas où mais rien ne change.
Toujours la meme chose : My IP address: 255.255.255.255.
Je précise que sur mon shield il n'y avais pas l'@ MAC sur un Stickers mais apparemment sur les nouveau shield il n'y a pas d'@ MAC prédéfinie.
J'ai besoin de lumière, si quelqu'un peux m'aider .
Merci

jplaville

#1
Mar 12, 2012, 01:48 pm Last Edit: Mar 12, 2012, 01:50 pm by jplaville Reason: 1
Salut.

Intéressant, je viens de recevoir à la maison moi aussi ma carte ethernet mais j'ai pas encore testé vus que je suis au travail.
Pour la MAC, ça me semble étrange, normalement n'importe quelle périphérique qui ce connecte via ethernet doit avoir une MAC.
Sinon, regarde du coté de ton router, c'est lui qui normalement ce charge de gérer les adresses IP.
Est il configuré en attribution automatique d'adresse IP (DHCP) ?
Sinon, tu dois lui spécifier l'adresse IP manuellement sinon ta carte n'en aura jamais.
La plus part du temps, quand tu touches rien, t'es en automatique.
Là, il faudrait voir du coté de ton routeur quel adresse il lui a attribué à ta carte Arduino.
Puis mettre cette adresse IP dans le code de ta carte Arduino.

Enfin, il me semble, j'ai pas encore testé.

Redis moi.

skywodd

Bonjour,

Pas de digitalWrite avant le Ethernet.begin(), c'est la librairie ethernet qui s'en charge en interne.

Pour ton probléme d'ip :
Je suppose que (comme 99.9% des gens) tu utilise un routeur ?

Si oui il faut que tu remplace Ethernet.begin(mac, ip) par :
- Ethernet.begin(mac) si tu veut utiliser le DHCP de ton routeur pour obtenir une ip automatiquement,
- ou Ethernet.begin(mac, ip, gateway, submask) si tu veut utiliser une ip statique (gateway -> ip du routeur, submask -> masque de sous réseau)

(Voir http://arduino.cc/it/Reference/Ethernet pour la doc de la librairie Ethernet)
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

jplaville

Alors je peux te parler de ce problème.
J'ai commandé il y a quelque temps une carte ethernet "chinoise" et comme je pouvais pas attendre, j'ai commandé près de chez moi une carte ethernet, mais une vrai, certifiée Arduino (Italie).
Sur la "vrai", j'ai la MAC adresse notée.
Sur la "fausse", pas.
Du coup, j'en ai donnée une, faut juste pas donner une que t'utilises sur ton réseau.
Ca fonctionne, mais pas sans.
Tu le mets une fois dans le code et c'est celle qui semble attribué.
Mais c'est vrai que c'est un peut pas claire.
De plus, à part qu'elle a plus de leds de signalisation dessus, la "fausse" carte semble de bien moins bonne facture.
Donc, visiblement, pour pas avoir de problèmes, achètes du Arduino "certified" :)
Ca coûte quelques euros de plus, mais tu le retrouves après à mon avis.
Et puis "l'état d'esprit" de Arduino (open-source, papier FSC, RoHS, stickers, packaging...) me plais mieux aussi.

Mouette

Bonjour,

J'ai moi aussi reçu aujourd'hui une carte Ethernet Shield officiel Made in Italy avec le sticker MAC. Je la branche sur un Mega2560.
Et j'ai le même souci : Ethernet.localIP() retourne toujours255.255.255.255 et je n'arrive pas à établir de connexion.
Le DHCP ne marche pas mieux.

Est-ce que vous avez trouvé une solution à votre problème?


byte mac[] = { 
  0x90, 0xA2, 0xDA, 0x00, 0x8B, 0xE7 };
IPAddress ip(192,168,1, 177);

Ethernet.begin(mac, ip);
delay(1000);
  Serial.println(Ethernet.localIP());


Cordialement,

Mouette

cedric2

#5
Apr 18, 2012, 04:53 pm Last Edit: Apr 18, 2012, 04:57 pm by cedric2 Reason: 1
Bonjour,

Je viens aussi de recevoir une mega et une carte Ethernet Shield (dernière version, donc marqué "mega compatible")
J'ai aussi une carte "Arduino Ethernet" (tout en un).

Avec la carte Arduino Ethernet, j'ai jamais eu un seul problème avec l'ethernet, cela fonctionne à chaque fois correctement. (sauf bug dans le sketch, bien sur !)

Avec la mega/Ethernet Shield cela marche qu'une fois sur 10 !! En effet je dois débrancher rebrancher le courant (fiche USB) une dizaine de fois pour que cela ping.
Une fois que cela tombe en marche, je peux faire des reset au tant que je veux, cela continue de marcher, je peux même faire un upload d'un autre sketch, cela va continuer de marcher jusqu'a que je débranche électriquement la carte.

Par contre, quand cela ne marche pas, j'ai des comportement aléatoire, par exemple, la led jaune sur le prise eth s'allume pas une fois sur 2.

J'ai essayé avec plusieurs sketch (Y compris ceux de demo), et j'ai exactement le même problème. (et ils fonctionnent pourtant tous correctement sur la arduino ethernet)
J'ai vraiment l'impression que la carte ethernet à du mal a s'initialiser.

J'ai trouvé un vieux thread qui parle d'une modif hardware, mais cela semble être fait pour l'ancienne carte qui n'était pas mega compatible.

Une idée ? C'est mon shield ethernet qui est HS ?

cedric2

J'ai trouvé comment faire marcher ma carte...
Il faut que je branche la carte eth qque secondes APRES avoir allumer la mega, mais AVANT le ethernet.begin.
J'ai réussi à faire cela en branchant les pin 1 à 1, et en branchant/débranchant le 5V à la main.... mais c'est quand même bizarre !
Dans les forum anglais, certains arrive à reseter la carte avec le pin reset, mais la mienne ne semble pas vouloir du reset, ni avec le bouton, ni en activant le pin reset... donc je le fais bourrin en branchant/debranchant !!
Autre idée pour reseter la carte ? (ce qui semble obligatoire...)

skizoh

Bonjour, honnêtement, je ne serais pas vous aider mais je n'aurais qu'une chose a dire: ARDUINO ethernet !!! ^^ aucun souci aucun branchement tout en 1 :D le meilleur coi =)

Good luck avec vos souci :s

peace

Skizo !
Un tien vaux mieux que deux tu l'auras !

cedric2


Bonjour, honnêtement, je ne serais pas vous aider mais je n'aurais qu'une chose a dire: ARDUINO ethernet !!! ^^ aucun souci aucun branchement tout en 1 :D le meilleur coi =)

Oui, j'ai aussi, cela marche nikel, mais pas assez de mémoire/ROM pour tout ce que je veux faire !!!

cedric2

Slt,

Pour info, ma carte est probablement HS (reset non connecté)
voir http://arduino.cc/forum/index.php?topic=102045


skizoh


Oui, j'ai aussi, cela marche nikel, mais pas assez de mémoire/ROM pour tout ce que je veux faire !!!


Je veux bien te croire je suis en mode roumain pour bouffer des lignes de code tellement c'est la merde !! xDD

Skizo !  ]:)
Un tien vaux mieux que deux tu l'auras !

cedric2

la lib ethernet c'est dejà 15k environ...
Sinon, cette lib là est moins lourde que celle officielle...
http://code.google.com/p/sdfatlib/

skywodd


la lib ethernet c'est dejà 15k environ...
Sinon, cette lib là est moins lourde que celle officielle...
http://code.google.com/p/sdfatlib/

La librairie SD officielle est juste une surcouche de SDfatlib ;)

Le fait d'utiliser SD.h ou sdfatlib.h revient donc au même niveau ram/flash.
Des news, des tuto et plein de bonne chose sur http://skyduino.wordpress.com !

Go Up