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
ESP32 Ethernet
16.01.2019, 11:38
Beitrag #9
RE: ESP32 Ethernet
Hallo Shrimps,
ich wünsche Dir dann viel Glück bei der Umsetzung.
Über eine Rückmeldung würde ich mich sehr freuen.

Bei mir läuft die Ethernetverbindung zu einem ESP32 nun seit ein paar Tagen ohne Störung.
WLAN für OTA ist mir in der Zeit schon mal abgestürzt aber über die Ethernetverbindung war der ESP dann immer noch erreichbar.

Ich habe auch einen ESP8266 mit dem gleichen W5500 Modul, allerdings einer anderen Ethernet Librarie, seit gut einem halben Jahr ohne Probleme in Betrieb.

OTA über Kabel wäre auch ein Wunsch von mir. Ich glaube mal was über erste Versuche dazu gelesen zu haben, aber das klang noch recht kompliziert und wenig ausgereift.

p.s. Den Hinweis auf die fehlenden GND Verbindungen im Schaltplan in Beitrag #7 hast du gelesen?

Gruß Arne
Mit zunehmender Anzahl qualifizierter Informationen bei einer Fragestellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.01.2019, 13:25
Beitrag #10
RE: ESP32 Ethernet
Hallo Arne,
alles gelesen und "verstanden"...

Ich muss mich allerdings bis März gedulden, da ich solange auf der Insel Spaniens mit deren höchstem Berg weile...

Gruß
Shrimps




(16.01.2019 11:38)ardu_arne schrieb:  Hallo Shrimps,
ich wünsche Dir dann viel Glück bei der Umsetzung.
Über eine Rückmeldung würde ich mich sehr freuen.

Bei mir läuft die Ethernetverbindung zu einem ESP32 nun seit ein paar Tagen ohne Störung.
WLAN für OTA ist mir in der Zeit schon mal abgestürzt aber über die Ethernetverbindung war der ESP dann immer noch erreichbar.

Ich habe auch einen ESP8266 mit dem gleichen W5500 Modul, allerdings einer anderen Ethernet Librarie, seit gut einem halben Jahr ohne Probleme in Betrieb.

OTA über Kabel wäre auch ein Wunsch von mir. Ich glaube mal was über erste Versuche dazu gelesen zu haben, aber das klang noch recht kompliziert und wenig ausgereift.

p.s. Den Hinweis auf die fehlenden GND Verbindungen im Schaltplan in Beitrag #7 hast du gelesen?
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
16.01.2019, 18:45
Beitrag #11
RE: ESP32 Ethernet
Viel Erfolg und Spaß auf Teneriffa. .. grüß mir den Tiede Wink

Wissen ist das einzige Gut das sich vermehrt, wenn man es teilt...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
23.02.2019, 23:25 (Dieser Beitrag wurde zuletzt bearbeitet: 23.02.2019 23:32 von biologist.)
Beitrag #12
RE: ESP32 Ethernet
Hallo zusammen,

da man zum Thema Ethernet+ESP (egal ob 8266 oder 32) recht wenig findet, wollte ich zum Thema ein bisschen was beitragen. Habe mich recht lange damit beschäftigt und hoffe mal, dass meine Infos wem helfen.

Wie hier schon korrekt geschrieben wurde, ist es prinzipiell ausreichend, dem ESP32 ein PHY zu spendieren. In der "Bucht" findet man hier aus Fernost ein LAN8720-Modul, welches (inkl. Versand) kaum mehr als zwei Euro kostet. Ist vermutlich ein Nachbau des Waveshare-Boards. Knackpunkt ist hierbei die 50 MHz Clock. Das Modul muss, wenn man dieses am ESP32 verwenden will, etwas modifiziert werden. D.h. man muss die 50 Mhz RefClock über GPIO0 in den ESP "reinkriegen". Steht dann jedoch vor dem Problem, dass GPIO0 beim Booten einen High-Pegel braucht, damit der uC nicht in den Flash-Modus geht. Kann man fixen, muss man aber halt bedenken. Bei mir kam jedoch dazu, dass GPIO0 auf meinem NodeMCU gar nicht nach außen geführt ist. Das alles ist auf jeden Fall hier beschrieben: https://sautter.com/blog/ethernet-on-esp...g-lan8720/
Eine alternative Vorgehensweise ist daher, dass der uC sprichwörtlich den Takt vorgibt. Die Lib unterstützt es auch, dass über GPIO17 der Takt an das Eth-Board gesendet wird. Nun, was soll ich sagen!? Fürchterlich gut hat es bei mir nicht funktioniert, ich hatte bestimmt 10% Paketausfall und damit ständige Reconnects am MQTT-Server. 50 Mhz und Jumperwires sind halt einfach so ne Sache. Auch vor dem Hintergrund, dass die hier verwendete Schnittstelle (RMII) halt brutal viele PINs benötigt, bin ich dann doch wieder beim W5500 gelandet, der mittels SPI angebunden wird. Ein solches Board mit einen 10-Pin-Anschluss findet man für knapp über 3eur aus Fernost in der Bucht.

Anschluss (W5500 / ESP32), wie er bei mir funktioniert:
MISO = GPIO19
MOSI = GPIO23
RST = GPIO5
SCS = GPIO33
SCLK = GPIO18
GND = GND

Vcc geht wahlweise mit 3.3V oder 5V. Hat man beides zur Verfügung, was bei Entwicklungsboards ja in der Regel der Fall ist, so ist es tatsächlich egal, ob die 1,7V jetzt am Linearregler des uC-Boards oder dem des Eth-Boards verbraten werden.

NC/INT brauchen nicht beachtet werden.

Lib:
Ethernet-Lib von Arduino
Gibt auch noch eine Ethernet2-Lib, aber ich glaube, dass diese am ESP32 nicht läuft.

Besonderheit für ESP32:
Ethernet.init(33) setzen. Das ist im Beispiel der Lib entsprechend beschrieben.

Ergebnis:
Einfache Eth-Beispiele waren damit läuffähig. Mein besonderes Augenmerk liegt allerdings auf MQTT, da ich darüber mit einem Raspberry Pi Daten austausche. Lib: PubSubClient.

Probleme:
1. OTA geht nicht
2. Syslog geht nicht
3. Frisst ordentlich Strom

(Zu 1)
a) OTA via Ethernet klappt gar nicht. Sobald OTA initialisiert wird in der Setup-Routine, startet der ESP neu.
b) Idee: WLAN zuschalten, wenn ich per OTA flashen will, steuerbar via MQTT. Das Zuschalten selbst habe ich hinbekommen, so dass ich anschließend Eth- und WLAN-Interface pingen konnte, aber OTA funktioniert weiterhin leider nicht. Sobald OTA aktiviert wird, ist das WLAN-Interface nicht mehr pingbar.
(Zu 2) Noch keine Lösung entwickelt. Mir derzeit auch unklar, warum das nicht geht. Sobald ein Syslog-Transmit durchgeführt werden soll, passiert Ethernet-technisch gar nichts mehr.
(Zu 3) Komplexes Thema :-)
Per Default läuft der ESP32 mit 240 MHz und da vermutlich so ziemlich jeder daheim GBit Ethernet hat, wird sich der W5500 mit 100 MBps synchronisieren. Strombedarf liegt in dieser Konfiguration so Richtung 180 mA, was an 5V halt immerhin 0,9W sind. Schon übel, wenn man bedenkt, dass ein Raspberry Pi (laut C't, habs selbst nicht gemessen) ca. 2W hat. Ich habe dann das Datenblatt von Wiznet (Hersteller des Eth-Chips) gewälzt und gesehen, dass man die Verbindungsgeschwindigkeit auch fix auf 10MBps setzen kann und dies Strom sparen soll. Ist ja dicke ausreichend. Man muss dafür ins PHY-Register des W5500 schreiben, was die Ethernet-Lib aber nicht kann. Habe sie daher entsprechend um eine setPhy-Methode erweitert. Nun reduzierte sich der Strombedarf immerhin auf 145 mA. Geht man mit dem Takt noch auf 80 MHz runter, kommt man bei 115 mA raus. Nun ist es so, dass meine Schaltung im Gartenhaus wohnt und dort, neben der saisonalen Gartenbewässerung, ganzjährig zur Sensormessung zuständig ist. Die meiste Zeit pennt der ESP daher (5min) und wacht nur zum Messen kurz auf (4-5s). Daher ist für mich auch von entscheidender Bedeutung, wieviel die Schaltung im Deep Sleep so frisst. Schickt man den ESP in Deep Sleep, so benötigt er selbst (Wandler, LED, etc pp) noch 11 mA. Da sich am Eth-Board jedoch nichts ändert, frisst die ganze Schaltung weiterhin 86 mA. Es gibt noch einen Power-Down-Modus beim W5500, den man auch für setPhy setzen. Aber selbst dann liegen wir noch bei > 50 mA, was mir einfach viel zu viel war. Ich habe daher mittels npn-Transistor und P-Channel Mosfet nen High-Side-Switch "gebaut", der von nem GPIO angesteuert wird und damit das Ethernet-Modul tatsächlich komplett ausschaltet, wenn der uC in den Deep Sleep geht. Und halt vice versa. Low-Side-Switch funktioniert an der Stelle nicht, da sich das Modul die Masse offenbar woanders herholt, wenn man diese wegschaltet.

Bezogen auf einen ESP32 heißt das nun (ESP zusammen mit W5500 gemessen):
~180 mA @100MBps im Normalbetrieb (ESP @ 240 MHz)
~145 mA @10MBps im Normalbetrieb (ESP @ 240 MHz)
~115 mA @10MBps im Normalbetrieb, wenn man den ESP32 auf 80 MHz runtertaktet (sonst ca. 35 mA mehr)
=> Mache ich ein Ping-Flood (ping -f) auf das Eth-Modul, so steigt der Strombedarf etwa um 5 mA
~11 mA im Deep Sleep (Modul ausgeschaltet und ESP32 im Deep Sleep)

11 mA sind für nen Deep Sleep natürlich weiterhin recht viel, aber liegt daran, dass es sich um ein Entwicklungsboard (Node MCU-ESP32s) handelt. Da ist halt z.B. ne LED drauf, die nie ausgeht. Dazu noch Linearregler und Serial<=>USB-Konverter. Kann man natürlich effizienter machen, war aber für Netzteilbetrieb für mich ok.

Fazit:
Energetisch der WLAN-Lösung auf jeden Fall im Nachteil. Also zumindest mal dann, wenn das Ethernet-Modul die meiste Zeit mehr oder weniger idlet. Und man belegt bei der Eth-Lösung halt auch PINs. Runtergetaktet auf 80 Mhz habe ich hier mit WLAN im Vergleich 49 mA gemessen, bei 240 MHz ca. 82 mA. Bei WLAN steigt der Strombedarf allerdings enorm wenn wirklich Daten gesendet werden, hier ist Ethernet im Vorteil. Dennoch: Auch wenn ich Ethernet mag und es gerne einsetze muss ich zugeben, dass man es mit WLAN einfacher hat. Also man sollte hier wissen, was man sich aufhalst :-)

Alternative:
Es gibt beispielsweise von Olimex auch bereits fertige Boards mit Ethernet. Wie es hier mit Stromaufnahme ist weiß ich nicht, aber preislich sind wir da nicht mehr arg weit von einem Raspi entfernt.

Tipp:
Man handelt sich mit Jumperwires auch gerne mal Probleme ein, weil die Kontaktierung nicht so optimal ist. Für die finale Lösung ggf. besser Kontakte anlöten. Ich habe das auf meiner finalen Platine dann über ein 10-Poliges-Flachbandkabel gemacht.

Hinweis:
Alle Stromangaben basieren auf Messungen mit einem einfachen Multimeter. Bursts sieht man hier natürlich nicht und speziell die WLAN-Messungen schwanken auch dort ordentlich. Also das soll hier nicht in Stein gemeiselt werden.

Fragen?
Gerne! :-)
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
24.02.2019, 00:04
Beitrag #13
RE: ESP32 Ethernet
(23.02.2019 23:25)biologist schrieb:  Alternative:
Es gibt beispielsweise von Olimex auch bereits fertige Boards mit Ethernet. Wie es hier mit Stromaufnahme ist weiß ich nicht, aber preislich sind wir da nicht mehr arg weit von einem Raspi entfernt.
Kannst Du da bitte noch mal einen Link angeben?

Gruß Tommy

"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
24.02.2019, 00:37
Beitrag #14
RE: ESP32 Ethernet
Aber natürlich:
https://www.heise.de/make/meldung/Intern...23706.html
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2019, 13:36
Beitrag #15
RE: ESP32 Ethernet
Hallo biologist,
Fragen habe ich erst mal keine, aber vielleicht ein paar Diskussionspunkte oder Hinweise.
Und herzlich Dank für den ausführlichen Erfahrungsbericht!!

Erst mal bin ich nicht zum Strom sparen gezwungen was die Sache wohl erheblich leichter macht. Derzeit läuft der ESP32 mit dem W5500 Modul bei mir an einem ausrangierten 5V 1A Handyladegerät.
Wenn du in deinem Gartenhaus keine Netzspannung aber, so wie es aussieht, Ethernet hast, könntest du evtl. Power over Ethernet nutzen.
Ansonsten würde Dir ein kleines Netzteil (wegen dem Ego mit guter Energieverbrauchskennzeichnung) viele Sorgen nehmen. Wink

OTA via Ethernet klappt nicht. So ist es halt, dafür ist es auch nicht ausgelegt sonst dürfte es auch nicht mehr OTA heißen.
Aber ich wäre auch sehr an an einer Möglichkeit von Programmuploads via Ethernet interessiert.

Ansonsten läuft bei mir WiFi und Ethernet problemlos parallel auf dem ESP32 und auf ESP8266.
WiFi nutze ich teilweise wirklich nur für OTA, teilweise aber auch für kleine Statusinfos via Webseite. Ansonsten läuft die komplette Datenkommunikation über Ethernet.

MQTT mit PubSubClient habe ich auf einem ESP8266 über Ethernet laufen und auf zwei weiteren über WiFi.
MQTT auf einem ESP32 habe ich noch nicht in Betrieb. Das soll bei meiner derzeitigen ESP32 Baustelle aber noch via Ethernet dazu kommen. Ich mache mir auch wenig Gedanken darüber dass ich MQTT auf dem ESP32 nicht zum Laufen bekomme.

Gruß Arne
Mit zunehmender Anzahl qualifizierter Informationen bei einer Fragestellung, erhöht sich zwangsläufig die Gefahr auf eine zielführende Antwort.
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
25.02.2019, 14:09
Beitrag #16
RE: ESP32 Ethernet
Nene, ich habe Strom im Gartenhaus zur Verfügung (sogar dreiphasig), das ist das nicht Problem :-) Aber ich will das Ganze halbwegs energieeffizient machen, denn sonst hätte ich auch einfach weiterhin nen Raspi nehmen können. Das ist für mich auch ein Stück weit der Charme, der so einen uC ausmacht. Gut, einerseits wollte ich das Ganze auch mal mit nem uC machen, aber es ist auch kein reiner Selbstzweck für mich. Das Setting ist jetzt so, dass der uC immer 5min schläft, dann aufwacht und schaut, ob er sich wieder schlafen legen darf.

Also konkret sieht mein Projekt hier so aus, dass im GH der uC "wohnt" und dort verschiedene Sensoren gemessen werden. Weiterhin ist er auch für die Gartenbewässerung zuständig. D.h. über ein Relais-Boars schalte ich dann 24V AC auf Ventile und das Steuerrelais der Pumpe. Die eigentliche Steuerung erfolgt von einem Raspi, auf dem Openhab läuft - der schickt dann Steuersignale via MQTT und darüber werden auch die Telemetriedaten der Sensoren übertragen.
Das ist soweit nix Neues, habe ich in den letzten drei Jahren schon mit nem Raspi gemacht. Neu ist jedoch, dass ich im Gartenhaus jetzt ein kleines OLED-Display und einen Drehencoder habe. Es hat sich nämlich gezeigt, dass ich halt nicht immer das Handy im Seckel habe, wenn ich mal Wasser im Garten benötige. Und so kann man das jetzt auch darüber aktivieren. Da ich kleine Kinder habe, kann man diese Steuerung per Handy jedoch auch inaktivieren :-D

Mit WLAN/OTA muss ich mir nochmal was überlegen, dass ich das zum Flashen selektiv nutzen kann. Ist jetzt nicht schwer zugänglich am Gartenhaus, aber wenn man es einfacher haben kann...
Alle Beiträge dieses Benutzers finden
Diese Nachricht in einer Antwort zitieren
Antwort schreiben 


Möglicherweise verwandte Themen...
Thema: Verfasser Antworten: Ansichten: Letzter Beitrag
  AI Thinker ESP32 CAM, Flash LED leuchtet leicht nach DEEP SLEEP spok1 0 57 01.06.2020 14:00
Letzter Beitrag: spok1
  AD9833 an ESP32 Devkit V1 Gerdchen03 8 329 30.05.2020 22:55
Letzter Beitrag: Gerdchen03
  ESP32 "ESP32 BLE Keyboard library" und Pairing Probleme Arduino4Fun 0 131 23.05.2020 18:47
Letzter Beitrag: Arduino4Fun
  ESP32 Programmspeicherplatz zu gering rev.antun 5 458 11.05.2020 11:50
Letzter Beitrag: rev.antun
  ESP32-Cam, Originalsketch uk1408 0 323 09.05.2020 20:13
Letzter Beitrag: uk1408
  Tonerzeugung mit ESP32 Gerdchen03 4 476 06.05.2020 23:16
Letzter Beitrag: Corvus
  ESP32 NodeMCU: Versorgung mit USB und EXT 5V georg1010 7 537 03.05.2020 21:00
Letzter Beitrag: hotsystems
  NeoPixel WS2815 controlled von ESP32 2uk 6 537 02.05.2020 10:03
Letzter Beitrag: Tommy56
  ESP32 Cam mehrere Clients nbk83 3 511 29.04.2020 21:22
Letzter Beitrag: nbk83
  Alexa Controlled Home Automation by Emulating a WeMo Device using ESP32 2uk 4 422 27.04.2020 09:17
Letzter Beitrag: Fips

Gehe zu:


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