Hallo,
ich versuche gerade meinen Arduino mit Ethernet auszustatten.
Ich habe das Ethernet Shield auf meinen Arduino Uno gesteckt
und die COLL LED auf dem Shield ging sofort an.
Zudem flackert die Onboard LED 13.
Die LED flackert nur sehr leicht, es sieht so aus als gäbe es irgendwo eine "Leckspannung"
Zudem taucht das Shield nicht in der Fritz Box als Gerät auf.
Ethernet Shield funktioniert nicht
-
petit_miner -
6. Dezember 2015 um 11:01 -
Erledigt
Heute ist Stammtischzeit:
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
Jeden Donnerstag 20:30 Uhr hier im Chat.
Wer Lust hat, kann sich gerne beteiligen. ;)
-
-
Ethernet Shield funktioniert nicht? Schau mal ob du hier fündig wirst!
-
Versorgst du den Pi nur über USB oder auch über den 9V Anschluss?
-dT-
-
Ich denke du meinst den Arduino?
Ja der Arduino wird nur über USB versorgt. -
Oh Gott. Ich bin so im RPi rausch
Probier am besten den Arduino noch über 9V zu versorgen, denn der USB Strom ist vllt. Zu wenig.-dT-
-
Ich versorge den Arduino nur noch über mein Labornetzteil.
Die Strombegrenzung habe ich auf 500mA eingestellt.
Trotzdem bleibt die COL Led an und die Led an Pin 13 flackert wie wild und das Shield taucht immer noch nicht in der Fritz Box auf. -
Welche Software nutzt Du?
cu,
-ds- -
Ich benutze das DHCPAdressprinter Sketch direkt von der Arduino IDE.
Die Version der IDE ist 1.6.5 . -
Tja ... -> [url=https://www.google.de/search?q=+DHCPAdressprinter&ie=UTF-8&sa=Search&channel=fe&client=browser-ubuntu&hl=de&gws_rd=cr,ssl&ei=xSJkVszZCIbzUN7tqrgM]das hier[/url] <- schon gesehen (erster Eintrag) ?
cu,
-ds- -
Das erklärt aber nicht wieso die Led an pin 13 des Arduino wild flackert und die Collision Led dauerhaft an ist.
Kleiner Nachtrag: Der Ethernet Chip wird sehr heiß und lässt sich nicht mehr anfassen ohne das man sich verbrennt , zum Glück funktioniert der Arduino Uno noch ohne Probleme.
Gut das ich in Deutschland bestellt habe, das Shield geht jetzt wieder zurück.
Vielen Dank an alle die mir geholfen haben -
Hi,
danke für die Rückmeldung ...
Ich tauche gerade aus meiner Gruschelkiste auf ... ich wollte das mal nachstellen, hab' aber leider kein "Eternit-Shield" gefunden (nur so ein ENC28J60 Teil) ...Na dann ist das Problem ja erledigt ...
Schönen Tag noch,
-ds- -
Ich kriege hier langsam die Krise =(
Am Samstag kam mein Ersatz Ethernet Shield.
Aber leider funktioniert dieses auch nicht.
Die Collision Led ist jetzt wenigstens aus und der Chip bleibt kühl.
Die Adresse meiner Fritz Box ist die Standard Adresse (192.168.178.1)
Die Subnetzmaske: 255.255.255.0
Im Sketch habe ich dem Arduino die Adresse 192.168.178.30 gegeben(Die Adresse ist zu 100% frei)C
Alles anzeigen#include <SPI.h> #include <Ethernet.h> // Enter a MAC address and IP address for your controller below. // The IP address will be dependent on your local network. // gateway and subnet are optional: byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED }; IPAddress ip(192,168,178, 30); IPAddress gateway(192,168,178, 1); IPAddress subnet(255, 255, 255, 0); // telnet defaults to port 23 EthernetServer server(23); EthernetClient clients[4]; void setup() { // initialize the ethernet device Ethernet.begin(mac, ip, gateway, subnet); // start listening for clients server.begin(); // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } Serial.print("Chat server address:"); Serial.println(Ethernet.localIP()); } void loop() { // wait for a new client: EthernetClient client = server.available(); // when the client sends the first byte, say hello: if (client) { boolean newClient = true; for (byte i=0;i<4;i++) { //check whether this client refers to the same socket as one of the existing instances: if (clients[i]==client) { newClient = false; break; } } if (newClient) { //check which of the existing clients can be overridden: for (byte i=0;i<4;i++) { if (!clients[i] && clients[i]!=client) { clients[i] = client; // clead out the input buffer: client.flush(); Serial.println("We have a new client"); client.print("Hello, client number: "); client.print(i); client.println(); break; } } } if (client.available() > 0) { // read the bytes incoming from the client: char thisChar = client.read(); // echo the bytes back to all other connected clients: for (byte i=0;i<4;i++) { if (clients[i] && (clients[i]!=client)) { clients[i].write(thisChar); } } // echo the bytes to the server as well: Serial.write(thisChar); } } for (byte i=0;i<4;i++) { if (!(clients[i].connected())) { // client.stop() invalidates the internal socket-descriptor, so next use of == will allways return false; clients[i].stop(); } } }
Interessanterweise blinken die RX und TX Leds auf dem Shield wenn ich einen Ping auf die 192.168.178.30 absetze, die Antwort im Terminal ist Host unreachable.
Das LAN Kabel funktioniert einwandfrei mit einer Himbeere, -
Welches Shield hast du denn Wo gekauft? (link)
-
-
-
Ich kriege hier langsam die Krise =(das Gefühl kenne ich, ich frage mich immer warum der Client (hier Arduino) auf eine IP gezwungen werden SOLL.
Dem Client obliegt es auf DHCP zu lauschen, der Router wird bei geeigneter Config schon die mir genehme Adresse zuweisen und dann bin ich Chef im Ring.
Was nutzt es wenn man dem Client eine IP aufzwingt die der Router aus vielerlei Gründen nicht vergeben kann?
.....Im Sketch habe ich dem Arduino die Adresse 192.168.178.30 gegeben(Die Adresse ist zu 100% frei)LG jar
Im Wartebereich muss ich ja die Nummer aus dem Automaten ziehen die seiner Meinung nach für mich dran ist, da kann ich mir hundert mal eine andere wünschen, das Leben ist aber nicht so!
Merke IP vergibt der Router und nicht der Client.
-
Ich benutze für mein Heimnetz normalerweise auch nur DHCP.
Aber leider funktioniert das DHCP Adressprinter Sketch genauso wenig. -
Da merkt man das ich noch nie ohne DHCP gearbeitet habe
Ich habe die Adresse jetzt auf eine Adresse geändert die vom DHCP Server nicht vergeben wird (192.168.178.201)
Trotzdem lässt sich das Shield nicht anpingen, im Terminal kommt noch nicht mal die Meldung Host unreachable :s .
Ich habe zudem versucht die Beine des Shields zu kürzen was aber auch keinen Effekt hat.
Das DHCP Sketch funktioniert genauso wenig -
und woher soll der Router (der die IP vergibt) wissen welche IP dein Shield hat?
Ich habe das Gefühl einer von uns beiden hat das nicht verstanden.
Der Router kümmert sich um IPs, der Router verteilt die Botschaften.
Du kannst dir auch eine ausgedachte Hausnummer an deine Adresse pinseln, aber deswegen wird dich die Post normalerweise nicht erreichen wenn diese ausgedachte Nummer der Post nicht bekannt ist.
-
Ich bin mometan verwirrt
Soll die Adresse jetzt im Adressenbereich des Routers sein oder nicht?
Auch wenn ich eine freie aus dem Adressbereich des Routers nehme funktioniert das genauso wenig.
Subnetzmaske 255.255.255.0
Adresse der Fritz.box 192.168.178.1
Adresse des Shields 192.168.178.48C
Alles anzeigen#include <SPI.h> #include <Ethernet.h> // Enter a MAC address and IP address for your controller below. // The IP address will be dependent on your local network. // gateway and subnet are optional: byte mac[] = { 0x00, 0xAA, 0xBB, 0xCC, 0xDE, 0x02 }; IPAddress ip(192, 168, 178, 48); IPAddress gateway(192, 168, 178, 1); IPAddress subnet(255, 255, 255, 0); // telnet defaults to port 23 EthernetServer server(23); EthernetClient clients[4]; void setup() { // initialize the ethernet device Ethernet.begin(mac, ip, gateway, subnet); // start listening for clients server.begin(); // Open serial communications and wait for port to open: Serial.begin(9600); while (!Serial) { ; // wait for serial port to connect. Needed for Leonardo only } Serial.print("Chat server address:"); Serial.println(Ethernet.localIP()); } void loop() { // wait for a new client: EthernetClient client = server.available(); // when the client sends the first byte, say hello: if (client) { boolean newClient = true; for (byte i=0;i<4;i++) { //check whether this client refers to the same socket as one of the existing instances: if (clients[i]==client) { newClient = false; break; } } if (newClient) { //check which of the existing clients can be overridden: for (byte i=0;i<4;i++) { if (!clients[i] && clients[i]!=client) { clients[i] = client; // clead out the input buffer: client.flush(); Serial.println("We have a new client"); client.print("Hello, client number: "); client.print(i); client.println(); break; } } } if (client.available() > 0) { // read the bytes incoming from the client: char thisChar = client.read(); // echo the bytes back to all other connected clients: for (byte i=0;i<4;i++) { if (clients[i] && (clients[i]!=client)) { clients[i].write(thisChar); } } // echo the bytes to the server as well: Serial.write(thisChar); } } for (byte i=0;i<4;i++) { if (!(clients[i].connected())) { // client.stop() invalidates the internal socket-descriptor, so next use of == will allways return false; clients[i].stop(); } } }
-
Also sie sollte im IP Bereich sein. 192.168.178.48 sollte gehen. Was gibt dir denn der SerialPrint aus?
-dT-
-
Jetzt mitmachen!
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!