HanRun HR911105A Ethernet anschließen

Hallo,

ich möchte ein HanRun HR911105A EthernetShield am Netzwerk anschließen. Ich habe alles nach dieser Anleitung verkabelt und auch den gleichen Beispielcode aus der Library benutzt:

Ich habe die IPs natürlich an mein Netzwerk angepasst. Mein Problem ist, dass sich das EthernetShield nicht mit dem Netzwerk verbindet. Angeschlossen ist es an eine FritzBox 4020, die zeigt aber keine neue Verbindung an. Weder mit noch ohne DHCP (Static im Code auf 0 bzw. 1). Auch mit Ping vom PC erreiche ich das Shield nicht.

Über den seriellen Monitor wird mir nur die Zeile Serial.println("\n[backSoon]"); ausgegeben.

Nun meine Frage: Woran könnte es liegen? Wie kann ich das Problem eingrenzen?

Beste Grüße
Gluveran

gluveran:
Nun meine Frage: Woran könnte es liegen? Wie kann ich das Problem eingrenzen?

  1. Weil du etwas falsch gemacht hast.

  2. In dem du uns deinen Sketch hier postest.
    Den in Code-Tags posten.

Verwende dazu die Schaltfläche </> oben links im Editorfenster.
Das kannst du auch nachträglich machen.
Dazu den Sketch markieren und die Schaltfläche klicken.

Damit wird dieser für alle besser lesbar.

  1. Zeige uns ein Foto deines Aufbaus. Bitte so, dass wir alles erkennen können.

  2. und einen Link deines Shield posten.

Danach sehen wir mehr.

// Present a "Will be back soon web page", as stand-in webserver.
// 2011-01-30 <jc@wippler.nl> http://opensource.org/licenses/mit-license.php
 
#include <EtherCard.h>

#define STATIC 0  // set to 1 to disable DHCP (adjust myip/gwip values below)

#if STATIC
// ethernet interface ip address
static byte myip[] = { 192,168,178,10 };
// gateway ip address
static byte gwip[] = { 192,168,178,1 };
#endif

// ethernet mac address - must be unique on your network
static byte mymac[] = { 0x64,0x69,0x69,0x2D,0x30,0x31 };

byte Ethernet::buffer[500]; // tcp/ip send and receive buffer

const char page[] PROGMEM =
"HTTP/1.0 503 Service Unavailable\r\n"
"Content-Type: text/html\r\n"
"Retry-After: 600\r\n"
"\r\n"
"<html>"
  "<head><title>"
    "Service Temporarily Unavailable"
  "</title></head>"
  "<body>"
    "<h3>This service is currently unavailable</h3>"
    "<p><em>"
      "The main server is currently off-line.
"
      "Please try again later."
    "</em></p>"
  "</body>"
"</html>"
;

void setup(){
  Serial.begin(57600);
  Serial.println("\n[backSoon]");
  
  if (ether.begin(sizeof Ethernet::buffer, mymac) == 0) 
    Serial.println( "Failed to access Ethernet controller");
#if STATIC
  ether.staticSetup(myip, gwip);
#else
  if (!ether.dhcpSetup())
    Serial.println("DHCP failed");
#endif

  ether.printIp("IP:  ", ether.myip);
  ether.printIp("GW:  ", ether.gwip);  
  ether.printIp("DNS: ", ether.dnsip);  
}

void loop(){
  // wait for an incoming TCP packet, but ignore its contents
  if (ether.packetLoop(ether.packetReceive())) {
    memcpy_P(ether.tcpOffset(), page, sizeof page);
    ether.httpServerReply(sizeof page - 1);
  }
}

Hier einmal der Code, ein Bild vom Aufbau und ein Link zu dem Shield.

Wie in den Kommentaren des Videos erwähnt habe ich CS auch mal an Pin10 angeschlossen, aber genau dasselbe Problem wie vorher.

Du verwendest kein Shield sondern ein Ethernet-Modul.

Ich vermute (kenne das Modul nicht), du musst eine andere Library einsetzen.

"HanRun HR911105A" ist der Ethernetstecker mit integrierten Übertragungstrafo aber kein Ethernetshield oder Ethernetkontroller.
Welche Hardware hast Du?
Grüße Uwe

Danke für die Hinweise zu Modul und Shield, das war mir so nicht bewusst.

Ich habe es mit einem UNO R3 und mit einem Nano probiert.

gluveran:
Danke für die Hinweise zu Modul und Shield, das war mir so nicht bewusst.

Ich habe es mit einem UNO R3 und mit einem Nano probiert.

Ein weiteres Problem wirst du mit dem Speicher im Arduino haben.
Da das Modul keinen eigenen Controller besitzt, muss das alles der Arduino leisten.
Da bleibt dann kaum Platz für deine Anwendung.

Welchen Code hat das IC auf der Platine neben dem HR911105A ?

Ist schon richtig, ist ein ENC28J60 Modul. Ich nehm dafür lieber die UIPEthernet von Norbert Truchsäss. Ist Befehlskompatibel zu der originalen Arduino.