INFO: Dieses Forum nutzt Cookies...
Cookies sind für den Betrieb des Forums unverzichtbar. Mit der Nutzung des Forums erklärst Du dich damit einverstanden, dass wir Cookies verwenden.

Es wird in jedem Fall ein Cookie gesetzt um diesen Hinweis nicht mehr zu erhalten. Desweiteren setzen wir Google Adsense und Google Analytics ein.

Antwort schreiben 
 
Themabewertung:
  • 0 Bewertungen - 0 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
EthernetShield W5100 und Fritz.box
02.06.2014, 19:02 (Dieser Beitrag wurde zuletzt bearbeitet: 02.06.2014 19:05 von bommel.)
Beitrag #1
EthernetShield W5100 und Fritz.box
Hallo allerseits,

evtl. kann mir ja hier jemand helfen, wäre schön:
Ich habe über mein Ethernet Shield W5100 ( also nen gaanz einfaches.. sorry) versucht den ganz normalen webserver Sketch anzusprechen, aber ich komm einfach nicht über die Fritzbox an das Shield :-(
Der Arduino wird zwar in der Fritz-Oberfläche angezeigt aber unter "ungenutzte Verbindungen"
Eingestellt ist folgendes:
arduino 192.168.178.201 DE:AD:BE:EF:FE:ED

Portfreigaben
Bezeichnung Protokoll Port an Port
HTTP-Server TCP 80 80

Wenn ich über IE die 192.168.178.201 aufrufe gelang ich zu ner Websuche nach der IP, versuch ich´s über FF kommt ne Zeitüberschreitung. :-(

Wenn kein Netzwerkkabel an dem Shield angeschlossen ist ist nur die rote LED an, schlies ich das Netzwerkkabel an gehen mehrere LED´s an und blinken . als wenn er was sucht oder auf was wartet.. aber des kommt nix.. und auch die Fritzbox zeigt ihn weiterhin als "ungenutze Verbindung"
Das Kabel ist ok, habs mit meine Lapi ausprobiert: geht .

Hab ich bei den Fritz-einstellungen was vergessen? hmm..
Oder sonst wo ?
Wäre schön wenn jemand ne Idee hat ..
Fritzbox ist die 7270 mit aktueller Software
Falls ich Daten vergessen hab sorry, einfach fragen wenn ihr was wissen müßt..
Ach ja: da ich dachte es wäre evtl. defekt hab ich nen anderes shield drangepackt.., aber funzt mit dem auch nicht :-(

lieben Gruß

Nils

Bin noch Neuling in Sachen Arduino ...
Arduino Mega 2560, SD, RTC 1307, DHT11, ...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.06.2014, 19:47
Beitrag #2
RE: EthernetShield W5100 und Fritz.box
Hallo Nils,

Zitat:Falls ich Daten vergessen hab sorry, einfach fragen
Yup, ich würde sagen deinen Code Smile
Zitat:den ganz normalen webserver Sketch anzusprechen,
Welchen meinst du?

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.06.2014, 19:56
Beitrag #3
RE: EthernetShield W5100 und Fritz.box
kein Problem, hier der Sketch :-) (aus dem Beispielordner "Ehernet" "Webserver")

Code:
/*
  Web Server

A simple web server that shows the value of the analog input pins.
using an Arduino Wiznet Ethernet shield.

Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13
* Analog inputs attached to pins A0 through A5 (optional)

created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe

*/

#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:
byte mac[] = {
  0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED
};
IPAddress ip(192, 168, 178, 201); // angepasst an unser HomeNetz

// Initialize the Ethernet server library
// with the IP address and port you want to use
// (port 80 is default for HTTP):
EthernetServer server(80);

void setup() {
  // Open serial communications and wait for port to open:
  Serial.begin(9600);
  while (!Serial) {
    ; // wait for serial port to connect. Needed for Leonardo only
  }


  // start the Ethernet connection and the server:
  Ethernet.begin(mac, ip);
  server.begin();
  Serial.print("server is at ");
  Serial.println(Ethernet.localIP());
}


void loop() {
  // listen for incoming clients
  EthernetClient client = server.available();
  if (client) {
    Serial.println("new client");
    // an http request ends with a blank line
    boolean currentLineIsBlank = true;
    while (client.connected()) {
      if (client.available()) {
        char c = client.read();
        Serial.write(c);
        // if you've gotten to the end of the line (received a newline
        // character) and the line is blank, the http request has ended,
        // so you can send a reply
        if (c == '\n' && currentLineIsBlank) {
          // send a standard http response header
          client.println("HTTP/1.1 200 OK");
          client.println("Content-Type: text/html");
          client.println("Connection: close");  // the connection will be closed after completion of the response
          client.println("Refresh: 5");  // refresh the page automatically every 5 sec
          client.println();
          client.println("<!DOCTYPE HTML>");
          client.println("<html>");
          // output the value of each analog input pin
          for (int analogChannel = 0; analogChannel < 6; analogChannel++) {
            int sensorReading = analogRead(analogChannel);
            client.print("analog input ");
            client.print(analogChannel);
            client.print(" is ");
            client.print(sensorReading);
            client.println("<br />");
          }
          client.println("</html>");
          break;
        }
        if (c == '\n') {
          // you're starting a new line
          currentLineIsBlank = true;
        }
        else if (c != '\r') {
          // you've gotten a character on the current line
          currentLineIsBlank = false;
        }
      }
    }
    // give the web browser time to receive the data
    delay(1);
    // close the connection:
    client.stop();
    Serial.println("client disconnected");
  }
}

Bin noch Neuling in Sachen Arduino ...
Arduino Mega 2560, SD, RTC 1307, DHT11, ...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.06.2014, 20:09
Beitrag #4
RE: EthernetShield W5100 und Fritz.box
Also im LAN läuft das Teil mit der angegebenen MAC Adresse ohne Probleme.
Gehst du von außen rauf, da du von Portfriegaben schreibst:
Zitat:Portfreigaben
Bezeichnung Protokoll Port an Port
HTTP-Server TCP 80 80
Die werden im LAN garnicht angegucktExclamation
Ist die Adresse 192.168.178.201 für den Arduino evtl. innerhalb eines DHCP-Bereichs der FB angesiedelt? Wenn ja, nimmt die FB diese als fixe Adresse nicht an. Hast du den Arduino evtl. auf dem Port für den Gastzugang der FB?
Kannst du die Adresse des Arduino vom PC aus anpingen mit Angabe der IP-Adresse? Wie sieht tracert IP-Adresse aus?

Grüße RK

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.06.2014, 20:13
Beitrag #5
RE: EthernetShield W5100 und Fritz.box
Hey Niels Wink

1.) Hast du evtl. eine Mac Filterung (aktiv) in der du das ETH-Shield vergessen hast?

2.) Hast du die Portweiterleitung (siehe Anhang Bild) auf die IP Adresse deines EHT-Shields eingestellt ?

Ansonsten versuche mal dein ETH-Shield so zu erreichen:

Geb im Browser nicht nur die IP ein sonder : 192.168.178.201:80


Gruß Marc

Smile


Angehängte Datei(en) Thumbnail(s)
   

Shy
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.06.2014, 20:23 (Dieser Beitrag wurde zuletzt bearbeitet: 02.06.2014 20:33 von bommel.)
Beitrag #6
RE: EthernetShield W5100 und Fritz.box
Hallo Ricardo,

der Gastzugang ist beim LAN bei der Fritz ausgeschaltet.
Das mit dem dhcp Bereich muss ich mal morgen testen, aber hatte schon mit dem vorherigen Shield es mal mit "99" am ende probiert, war aber auch Essig :-(
Mit dem anpingen hab ich nicht nicht versucht, da ich dachte wenn das Gerät in der Übersicht schon als "ungenutzte Verbindung" steht bringt das pingen auch nichts .. weil ist ja nicht da..
(nebenbei: wie geht das bei WIN 8 ? bei XP wars einfach zu finden... aber win 8 *kotz*)
Frage : Was ist die "tracert IP-Adresse" ?

Danke dir !

Hallo Marc,

also die IP habe ich fest für den Arduino hinterlegt, ist an die Mac gekopppelt. Ist also eingetragen und wird ja auch angezeigt.
Die Portfreigabe ist auch eingestellt ( wie schon geschrieben), sind auch keine weiteren black oder whitelists als Filter eingetragen.
Ich komme aber wie gesagt nicht nicht mal innerhalb des Netzwerks auf den Arduino...
hmm..

das mit dem anpingen und evtl. mal ne Zahl unter "100" am ende der ip muss ich morgen mal ausprobieren... schaun wir mal...

lg

Nils

Bin noch Neuling in Sachen Arduino ...
Arduino Mega 2560, SD, RTC 1307, DHT11, ...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.06.2014, 20:38
Beitrag #7
RE: EthernetShield W5100 und Fritz.box
Zitat:... aber win 8 *kotz
Rischtisch... wird bei mir nie das Gesicht eines Mainboards erblicken Smile

Unter WinDoof gibts in der Kommandozeile (cmd - gibts die bei Win 8 noch?) den Befehl "traceroute 192.168.1.22" (natürlich mit der IP-des Arduino aufrufen).
traceroute (im Linux tracert) ist wie ein Ping über die Router zwischen Quelle (PC) und Ziel (Arduino). Bei der Ausgabe des Befehls sollte zumindest die Gatewayadresse deiner FB auftauchen. Dann weiß man, dass das Signal den "richtigen Weg geht" und auf dem Router nicht irgendeine zusätzliche "Umlenkung" (Route) eingerichtet ist.
Schiebe mal zum Test den Sketch auf den Arduino und gucke mal ob die auf der FB angezeigte Adresse dann anpingbar ist. Weiterhin mal die Adresse auf der FB und im Serialmonitor vergleichen.
Code:
// Includes
#include <Ethernet.h> // Ethernetfunktionen
#include <SPI.h> // SPI für Ethernetboard
// Variablen
// *** Ethernet MAC Adresse steht auf Ethernetshield oder manuell setzen
static byte mac[] = {
  0x90, 0xA2, 0xDA, 0x00, 0x9B, 0xC1
};
/* Puffer für Umsetzung der DHCP-IP-Adresse von Ethernet.localIP()
Aufbau: "IP-Adresse+Abschlußzeichen "\0" */
char ipbuf[16];
/* Eine Union ist eine Vereinigung verschiedener Typen auf einer Adresse.
Dies erleichtert Redefinitionen oder die Verwendung von Variantentypen.
Sie nimmt nicht mehrere Elemente nebeneinander auf, sondern zu jedem Zeitpunkt immer nur eines.
Wird eine der Definitionsvarianten initialisiert, so werden die anderen damit implizit initialisiert,
da sie auf der gleichen Adresse beginnen.*/
union IPAddressConverter {
  uint32_t ipInteger;
  uint8_t ipArray[4];
};
unsigned long dlastnow; // letztes now() für dhcprenew
const int dhcplease = 7200; // *** DHCP Lease - 2 Stunden
EthernetClient client; // EthernetClient - Instanz erstellen
void setup()
{
  Serial.begin(9600);
  Ethernet.begin(mac); // EthernetClient starten, 1 Sekunde warten
  delay(1000);
  dhcprenew();
  dlastnow = millis();
  String message = ipbuf;
  Serial.println(message);
}
void loop()
{
  if ( millis() - dlastnow > dhcplease * 1000)
  {
    dhcprenew(); // Aktualisierung der DHCP-Adresse
    dlastnow = millis();
    String message = ipbuf;
    Serial.println(message);
  }
}
void dhcprenew()
{
  /* das eigentliche DHCP renew
   Adresse wird dann in Puffer ipbuf geschrieben */
  Ethernet.maintain();
  IPAddressConverter ipAddress;
  ipAddress.ipInteger = Ethernet.localIP();
  sprintf(ipbuf, "IP:  %d.%d.%d.%d", ipAddress.ipArray[0], ipAddress.ipArray[1], ipAddress.ipArray[2], ipAddress.ipArray[3]);
}

Grüße Ricardo

Nüchtern betrachtet...ist besoffen besser Big Grin
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
02.06.2014, 21:07
Beitrag #8
RE: EthernetShield W5100 und Fritz.box
also bei "traceroute 192.168.178.25" gibt's ne Fehlermeldung das es die Funktion nicht gibt.
Ping geht, aber hab schon wieder alles abgebaut, versuch ich morgen mal mit deinen sketch und schau mal was bei rauskommt.

hab eben mal bei der fritzbox hilfe etwas geblättert.. darin steht das der DHCP Bereich von 20 bis 200 geht, und man feste ip´s nicht in dem Bereich legen darf..
hmm.. komisch. denn wenn ich nen neuen rechner ne feste ip gebe dann übernimmt er auch die gerade vom Server zugewiesene ip ( also in dem bereich von 20 bis 200), und läuft danach auch sauber .. bisher ..
wäre dann ja aber mit "201" am ende genau richtig da er außerhalb von dem Bereich .. oder ?

so, muss Augenpflege machen :-)

bis morgen :-)

lg

Nils

Bin noch Neuling in Sachen Arduino ...
Arduino Mega 2560, SD, RTC 1307, DHT11, ...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  Gute Sketches für das EthernetShield für das WiFiShield anpassen. getiteasy 4 1.111 21.11.2014 20:13
Letzter Beitrag: rkuehle
  W5100 Compilierungsfehler Hilgi 1 722 07.05.2014 07:22
Letzter Beitrag: rkuehle
  Programmierung nur ohne Ethernetshield möglich Ulrich 7 2.515 25.01.2014 14:39
Letzter Beitrag: Bitklopfer
  Arduino Sketch für ENC28J60 vorhanden. Muss aber für W5100 Ethernet Shield.. :-( ElektroMatze 0 2.507 18.12.2013 16:35
Letzter Beitrag: ElektroMatze

Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste