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
ESP32s NodeMCU mit MOD-ENC28J60 (Ehternet) verbinden
04.11.2019, 12:50
Beitrag #1
ESP32s NodeMCU mit MOD-ENC28J60 (Ehternet) verbinden
Hallo Leute,

ich bin relativ neu in der Arduino Welt und habe mal ein paar Fragen.
Wie es der Betreff schon andeutet besitze ich eine ESP32s NodeMCU (https://www.mouser.de/ProductDetail/Espr...1EALw_wcB) und möchte diesen gerne mit dem physischen Ehternet (https://www.olimex.com/Products/Modules/...ENC28J60/) verbinden.

Meine Verkabelung habe mir von einem schon bestehenden Thred abgeschaut (https://www.arduinoforum.de/arduino-Thre...t?page=2). Dort wird ein W5500 verwendet (aber ich hab nunmal den ENC).
Meine Verbindung sehen also wie folgt aus:
MISO = GPIO19
MOSI = GPIO23
RST = GPIO5
SCS = GPIO33
SCLK = GPIO18
GND = GND

Nun geht es um das Programm (und da stoße ich an meine Grenzen).
Ich habe das Beispielprogramm "Webclient" benutzt, welches das Arduino Programm direkt mitliefert.

Code:
/*
  Web client

This sketch connects to a website (http://www.google.com)
using an Arduino Wiznet Ethernet shield.

Circuit:
* Ethernet shield attached to pins 10, 11, 12, 13

created 18 Dec 2009
by David A. Mellis
modified 9 Apr 2012
by Tom Igoe, based on work by Adrian McEwen

*/

#include <SPI.h>
#include <Ethernet.h>

// Enter a MAC address for your controller below.
// Newer Ethernet shields have a MAC address printed on a sticker on the shield
byte mac[] = { 0xDE, 0xAD, 0xBE, 0xEF, 0xFE, 0xED };

// if you don't want to use DNS (and reduce your sketch size)
// use the numeric IP instead of the name for the server:
//IPAddress server(74,125,232,128);  // numeric IP for Google (no DNS)
char server[] = "www.google.com";    // name address for Google (using DNS)

// Set the static IP address to use if the DHCP fails to assign
IPAddress ip(192, 168, 0, 177);
IPAddress myDns(192, 168, 0, 1);

// Initialize the Ethernet client library
// with the IP address and port of the server
// that you want to connect to (port 80 is default for HTTP):
EthernetClient client;

// Variables to measure the speed
unsigned long beginMicros, endMicros;
unsigned long byteCount = 0;
bool printWebData = true;  // set to false for better speed measurement

void setup() {
  // You can use Ethernet.init(pin) to configure the CS pin
  //Ethernet.init(10);  // Most Arduino shields
  //Ethernet.init(5);   // MKR ETH shield
  //Ethernet.init(0);   // Teensy 2.0
  //Ethernet.init(20);  // Teensy++ 2.0
  //Ethernet.init(15);  // ESP8266 with Adafruit Featherwing Ethernet
  Ethernet.init(33);  // ESP32 with Adafruit Featherwing Ethernet

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

  // start the Ethernet connection:
  Serial.println("Initialize Ethernet with DHCP:");
  if (Ethernet.begin(mac) == 0) {
    Serial.println("Failed to configure Ethernet using DHCP");
    // Check for Ethernet hardware present
    if (Ethernet.hardwareStatus() == EthernetNoHardware) {
      Serial.println("Ethernet shield was not found.  Sorry, can't run without hardware. :(");
      while (true) {
        delay(1); // do nothing, no point running without Ethernet hardware
      }
    }
    if (Ethernet.linkStatus() == LinkOFF) {
      Serial.println("Ethernet cable is not connected.");
    }
    // try to congifure using IP address instead of DHCP:
    Ethernet.begin(mac, ip, myDns);
  } else {
    Serial.print("  DHCP assigned IP ");
    Serial.println(Ethernet.localIP());
  }
  // give the Ethernet shield a second to initialize:
  delay(1000);
  Serial.print("connecting to ");
  Serial.print(server);
  Serial.println("...");

  // if you get a connection, report back via serial:
  if (client.connect(server, 80)) {
    Serial.print("connected to ");
    Serial.println(client.remoteIP());
    // Make a HTTP request:
    client.println("GET /search?q=arduino HTTP/1.1");
    client.println("Host: www.google.com");
    client.println("Connection: close");
    client.println();
  } else {
    // if you didn't get a connection to the server:
    Serial.println("connection failed");
  }
  beginMicros = micros();
}

void loop() {
  // if there are incoming bytes available
  // from the server, read them and print them:
  int len = client.available();
  if (len > 0) {
    byte buffer[80];
    if (len > 80) len = 80;
    client.read(buffer, len);
    if (printWebData) {
      Serial.write(buffer, len); // show in the serial monitor (slows some boards)
    }
    byteCount = byteCount + len;
  }

  // if the server's disconnected, stop the client:
  if (!client.connected()) {
    endMicros = micros();
    Serial.println();
    Serial.println("disconnecting.");
    client.stop();
    Serial.print("Received ");
    Serial.print(byteCount);
    Serial.print(" bytes in ");
    float seconds = (float)(endMicros - beginMicros) / 1000000.0;
    Serial.print(seconds, 4);
    float rate = (float)byteCount / seconds / 1000.0;
    Serial.print(", rate = ");
    Serial.print(rate);
    Serial.print(" kbytes/second");
    Serial.println();

    // do nothing forevermore:
    while (true) {
      delay(1);
    }
  }
}

Mein Ziel ist es (erstmal), eine Lan Verbindung herzustellen und meinen uC zumindest zu sehen oder anzupingen. Aber leider funktioniert das nicht.
Er gibt mir aus, dass er die Hardware nicht einmal findet.
Das Problem könnte sein, dass es evtl. keine Bibliotheken für den ENC gibt (das meinte ein hilfsbereiter Kollege).
Ich möchte jetzt die Community fragen, ihr habt immer gute Ratschläge!

Btw.: Ich werde mir auch noch den W5500 holen. Aber jetzt möchte ich das unbedingt mit dem ENC hinbekommen.

Vielen Dank im Voraus!

VG
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2019, 13:37 (Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2019 13:42 von hotsystems.)
Beitrag #2
RE: ESP32s NodeMCU mit MOD-ENC28J60 (Ehternet) verbinden
Es gibt schon Bibliotheken für dein Modul. Du musst da nur die richtige nehmen.
Evtl. diese hier.

Ob die dann allerdings auch für einen ESP32 geeignet ist, wage ich zu bezweifeln.
Wozu sollte das auch gut sein, da der ESP32 ja eh schon Ethernet per WLan mitbringt.

Also warum Ethernet wenn WLan drauf ist ?
Und wenn du bei deinem Lan-Modul bleiben möchtest, dann nimm einem Uno oder Nano, damit funktioniert das. Allerdings auch nur mit der richtigen Library.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2019, 13:43
Beitrag #3
RE: ESP32s NodeMCU mit MOD-ENC28J60 (Ehternet) verbinden
(04.11.2019 13:37)hotsystems schrieb:  Es gibt schon Bibliotheken für dein Modul. Du musst da nur die richtige nehmen.

Ob die dann allerdings auch für einen ESP32 geeignet ist, wage ich zu bezweifeln.
Wozu sollte das auch gut sein, da der ESP32 ja eh schon Ethernet per WLan mitbringt.

Also warum Ethernet wenn WLan drauf ist ?
Und wenn du bei deinem Lan-Modul bleiben möchtest, dann nimm einem Uno oder Nano, damit funktioniert das. Allerdings auch nur mit der richtigen Library.

Jap das stimmt, aber ich habe nunmal die Vorgabe dass man sich mit LAN darauf verbinden muss..
Und ja, welche Bib ist denn die richtige ^^?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2019, 13:48 (Dieser Beitrag wurde zuletzt bearbeitet: 04.11.2019 13:57 von Tommy56.)
Beitrag #4
RE: ESP32s NodeMCU mit MOD-ENC28J60 (Ehternet) verbinden
Der ENC braucht eine spezielle Lib, weil er selbst sehr dumm ist und der Prozessor seine Arbeit mit erledigen muss. Deshalb glaube ich nicht, dass sich jemand die Mühe gemacht hat, die Lib für den Schrott auf den ESP32 zu portieren.

Warum willst Du eigentlich Ethernet über Draht am ESP32? Der hat doch WLAN. Wenn Du kein WLAN willst, könnte die Frage auch heißen: Warum dann ein ESP32?

Gruß Tommy

Edit: Mit WS5500 und ESP32 gibt es hier im Forum einen Beitrag.

"Wer den schnellen Erfolg sucht, sollte nicht programmieren, sondern Holz hacken." (Quelle unbekannt)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2019, 13:50
Beitrag #5
RE: ESP32s NodeMCU mit MOD-ENC28J60 (Ehternet) verbinden
(04.11.2019 13:43)Plammi schrieb:  Jap das stimmt, aber ich habe nunmal die Vorgabe dass man sich mit LAN darauf verbinden muss..
Und ja, welche Bib ist denn die richtige ^^?

Vorschläge habe ich schon gemacht.
Auch für die Library.

Ob das die richtige ist, musst du testen, da es für Entwickler wenig Sinn macht, LAN und WLan zusammen in einem Controller zu verbinden.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2019, 14:13
Beitrag #6
RE: ESP32s NodeMCU mit MOD-ENC28J60 (Ehternet) verbinden
(04.11.2019 13:48)Tommy56 schrieb:  Der ENC braucht eine spezielle Lib, weil er selbst sehr dumm ist und der Prozessor seine Arbeit mit erledigen muss. Deshalb glaube ich nicht, dass sich jemand die Mühe gemacht hat, die Lib für den Schrott auf den ESP32 zu portieren.

Warum willst Du eigentlich Ethernet über Draht am ESP32? Der hat doch WLAN. Wenn Du kein WLAN willst, könnte die Frage auch heißen: Warum dann ein ESP32?

Gruß Tommy

Edit: Mit WS5500 und ESP32 gibt es hier im Forum einen Beitrag.

Ja das ist das Problem. Ich habe die Bauteile bekommen mit den Worten: "mach mal".
Gibt es eine Günstige Alternative zum ESP32, der für LAN verbindungen gut geeignet ist und womit man ohne Probleme arbeiten kann?
Ich bin auch für neues offen.
Auf lange Sicht soll dies eine Sensor/Aktor Box (digitale/analoge Signale verarbeiten) werden, welchen man eben mit LAN abfragt. WLAN ist nicht möglich, da dieses Gerät ins Feld geht und dort kein WLAN vorhanden ist.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2019, 14:20
Beitrag #7
RE: ESP32s NodeMCU mit MOD-ENC28J60 (Ehternet) verbinden
(04.11.2019 14:13)Plammi schrieb:  Ja das ist das Problem. Ich habe die Bauteile bekommen mit den Worten: "mach mal".
Gibt es eine Günstige Alternative zum ESP32, der für LAN verbindungen gut geeignet ist und womit man ohne Probleme arbeiten kann?
Ich bin auch für neues offen.
Auf lange Sicht soll dies eine Sensor/Aktor Box (digitale/analoge Signale verarbeiten) werden, welchen man eben mit LAN abfragt. WLAN ist nicht möglich, da dieses Gerät ins Feld geht und dort kein WLAN vorhanden ist.

Habe ich dir auch schon geschrieben.
Ob und was da günstig ist, musst du entscheiden.

Gruß Dieter

I2C = weniger ist mehr: weniger Kabel, mehr Probleme. Cool
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
04.11.2019, 14:30
Beitrag #8
RE: ESP32s NodeMCU mit MOD-ENC28J60 (Ehternet) verbinden
(04.11.2019 14:20)hotsystems schrieb:  
(04.11.2019 14:13)Plammi schrieb:  Ja das ist das Problem. Ich habe die Bauteile bekommen mit den Worten: "mach mal".
Gibt es eine Günstige Alternative zum ESP32, der für LAN verbindungen gut geeignet ist und womit man ohne Probleme arbeiten kann?
Ich bin auch für neues offen.
Auf lange Sicht soll dies eine Sensor/Aktor Box (digitale/analoge Signale verarbeiten) werden, welchen man eben mit LAN abfragt. WLAN ist nicht möglich, da dieses Gerät ins Feld geht und dort kein WLAN vorhanden ist.

Habe ich dir auch schon geschrieben.
Ob und was da günstig ist, musst du entscheiden.

Leider weiß ich als Neuling nicht die Bedeutung von Sachen wie "Uno" oder "Nano" und zu was diese gut sind. Mir ist schon klar das das Mikrocontroller sind, aber nicht warum ich die jetzt benutzen soll oder welches besser für meinen Fall geeignet ist und warum.
Ich brauch auch keine detaillierte Erklärung, aber ich benötige zumindest ein Ansatz.
Dieses Thema erschlägt mich ziemlich, deswegen schreib ich hier ja ins Forum.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  ESP32 NodeMCU von AZ Delivery georg1010 5 220 21.02.2020 10:08
Letzter Beitrag: biologist
  NodeMCU ArtNetNode_V2 Leonard 13 1.131 12.12.2019 22:52
Letzter Beitrag: Tommy56
  NodeMCU Schalter an D0 steffus 6 631 30.11.2019 19:56
Letzter Beitrag: Bernd666
  12V LED-Streifen mit ESP8266 verbinden LEDArduino 18 2.788 26.11.2019 18:59
Letzter Beitrag: amithlon
  NodeMCU und Nano über I2C verbinden Werte sind falsch Franzel007 6 2.635 21.09.2019 17:09
Letzter Beitrag: Franzel007
  Fehler beim Kompilieren für das Board NodeMCU 1.0 magnum1795 14 2.040 21.09.2019 10:44
Letzter Beitrag: magnum1795
  Interrupt am NODEMCU uk1408 21 3.147 09.09.2019 22:01
Letzter Beitrag: Tommy56
Sad Nodemcu wie benutzen? Harry Hirsch 46 30.012 20.06.2019 20:21
Letzter Beitrag: Tommy56
  NODEMCU und ADC an A0 uk1408 3 1.360 18.06.2019 23:13
Letzter Beitrag: georg01
  NodeMCU bleibt hängen. Wie bekommen ich das mit eine Watchdog hin Franzel007 5 2.029 06.02.2019 18:53
Letzter Beitrag: Franzel007

Gehe zu:


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