ESP32-ETH01 - Wie schließe ich den an?

Hallo,
ich habe auf einem Raspberry Pi 5 mit SSD HA OS laufen und möchte 5 x DS18B20 und 4 x DHT22 in HA erfassen. Die Versuche mit einem Arduino UNO verliefen am Anfang vielversprechend. So konnte ich einen Versuchsaufbau mit 3 x DS18B20 und einem DHT22 erfolgreich zum Laufen bringen. Allerdings kann ich den Arduino nicht über den Raspi flashen. Da die ganze in einem Schaltschrank im Keller eingebaut ist und ich bei dem anschließen der weiteren Sensoren Probleme bekam suchte ich nach einer Lösung mit der Flashbarkeit über den Raspi. Dies führte nach endlosen Veruchen zu keiner Lösung. Die einzige Antwort, die ich auf meine Frage zu diesem Thema in den Foren bekam war, nehme einen ESP32 und alles geht ganz leicht.
Also habe ich für einen ESP32-ETH01 eine Huckepackplatine erstellt, die die Pullup-Widerstände und gleichzeitig den ESP32-ETH01 aufnimmt (das ESP-Modul hat keine Befestigungslöcher).
Ich habe nun einen Pullup-Widerstand für den one-wire-bus der DS18B20 von 4,7 kOhm zw GPIO0 und VCC, sowie für DHT22 10 kOhm -Pullup-Widerstände zw. GPIO2, 4, 12 14 und VCC.
Mein Problem ist folgendes:
Wenn ich den ESP ans Netz hänge kann ich ihn im Netzwerk nicht sehen.
Was mache ich nun?
Nach einer Recherche fand ich heraus, das der ESP einen First-Flash benötigt um des LAN überhaupt nutzen zu können. Gut dafür habe ich mir von AZ-Delivers den HW-598 USB auf Serial Adapter mit CP2102 gekauft. Dieser kann leider keine serielle Verbindung aufbauen. Nun bin ich mit meinem Latein zu Ende und muss feststellen, einfach ist auch der ESP nicht.
Kann mir jemand weiterhelfen?
Gerne reiche ich weitere Daten oder Angaben nach. Entschuldigt mich, aber ich bin ein Anfänger und arbeite mich in dieses interessante Gebiet erst noch ein.
Klaus

Wie hast du den den ESP32-ETH01 mit dem cp2102 verbunden? Manschmal habe die Kabel einfach keinen kontakt.

mit diesen Dupont-Kabeln (kleine Stecker)

Dem kann ich mich nur anschließen. Allerdings sollte für die paar Sensoren auch ein ESP8266 ausreichen.

Der ESP lässt sich recht einfach über USB am Rechner mit ESPHome flashen und, wenn er das erste mal programmiert wurde, dann auch über WLAN.

ja nur wie. Gerade das flashen über USB vom Rechner gelingt mir nicht

Wenn du das HW-598 Board an den PC anschließt, wird es im Devicemanager angezeigt und ein COM-Port zugewiesen? Wenn nicht, dann musst du noch einen CP2102 Treiber installieren.

Hast Du die Kommunikationsleitungen gekreuzt? Tx vom HW-598 müssen an den RX Pin vom ETH01 und RX vom HW-598 ab den Tx Pin vom ETH01. Zusätzlich muss für das Flashen der IO0 mit GND verbunden werden (und natürlich GND an GND und 3,3V an 3,3V).

Ich habe dieses Board noch nicht geflasht. Normalerweise verbindet man IO0 mit GND, um in den Flash-Mode zu kommen.
Auf der angegebenen Seite wird allerdings hier EN mit GND verbunden, siehe WT32-ETH01 - ESP32 Board with Ethernet Socket
( How to program the WT32-ETH01, USB-TTL)

Bei mir geht das so:
ich schließe den ESP per USB an meinen Rechner an. (Nicht den auf dem HA läuft, sondern meinen ganz normalen) Dann in HA zu ESPHome-Builder gehen und dort auf “neues Device” klicken.
In dem Fenster, welches dann aufgeht, dem ESP einen Namen geben und dann auf “Next” und dann auf “connect.”
Im Nächsten Fenster dann den COM-Port wählen, an dem der ESP angeschlossen ist. Dann einige Minuten warten und der ESP ist programmiert.
Wenn kein COM-Port vorhanden ist, fehlt dann wohl der Treiber für den USB-Chip auf dem ESP.

Wahrscheinlich musst du den ESP32 vor dem Flashen in den Boot Modus bringen. Einen bestimmten Pin auf Low und resetten. Wie genau musst du bitte googlen.

Besser wäre du nimmst nächstes mal einen ESP32 mit USB Anschluss. Das macht die Sache viel einfacher :sweat_smile:

1 „Gefällt mir“

Hallo,
zu LutzHB: Danke für deine sehr ausführliche Antwort. Ich habe zwischenzeitlich den First Flash tätigen können:
USB-Adapter 5v an ESP 5V (und nicht 3,3V)
USB-Adapter GND an ESP GND
USB-Adapter TXD an ESP RX0 (und nicht RXD)
USB-Adapter RXD an ESP TX0 (und nicht TXD)
Dies habe ich im Netz gefunden. Danach hat der Flsh funktioniert.
zu Frank501: Ging bei mir leider nicht. Auch jetzt noch nicht. Wo was fehlt ist meine Frage.
zu StefanT: Der GPIO0 muss dauerhaft mit GND verbunden sein (=Umschalten auf Flash-Modus) , dann soll man mit einem kurzzeitigen GNG auf EN den ESP resetten. Nach dem Flashen muss GPIO0 wieder von GND gelöst werden und ein kurzzeitiges resetten erfolgen (wieder GND auf EN)

Mein derzeitiger Stand ist:
in der Fritzbox habe ich eine Verbindung von dem esp32eth01 feststellen können, aber derzeit keine Verbindung. Anscheinend bootet der esp32eth01 noch nicht richtig. ChatGPT bringt eine neue Idee, die ich noch nicht richtig bewerten kann:
Beim ESP32 gibt es sogenannte “Strapping Pins”. Die haben neben ihrer eigenen Aufgabe noch andere weiteren Aufgaben. So schaltet ein Pullup (auf 3,3V nicht 5 V) mit 10 kOhm den ESP32 in den Flash-Modus. Weitere Pins haben während des Bootens Auswirkungen: So soll der GPIO15 während des Bootens einen Pulldown mit 10 kOhm (zu GND) gesetzt sein. Sonst bootet er nicht.
Diese Aussagen gelten für meinen speziellen Fall:
Der ESP32ETH01 hängt am +5 V (und GND) Anschluss des Raspis. Die Pullups der Sensoren hängen am 3,3V-Anschluss des Raspis.

Lange Rede kurzer Sinn: kann mir einer von euch weiterhelfen?. Mit ChatGPT habe ich bisher extrem schlechte Erfahrungen gemacht, besonders weil er sich mit seinen Antworten auf einen 1 - 2 Jahren alten Datenbestand bezieht (sagt er übrigens selbst).
Hat jemand von euch einen ESP32-ETH01 an einem Raspi mit Home Assistant hängen?

Habe dieses Device mit Tasmota und ETH laufen.

Das wäre der nächste Punkt. ich wäre schon mal froh wenn der esp richtig booten würde (falls meine Diagnose überhaupt richtig ist). Wenn der keine Verbindung im Netz hat, also Ping nicht funktioniert, glaube ich der läuft derzeit noch mit garnichts. Über ESPhome habe ich insgesammt soviel positives gelesen (Über Tasmota auch). Ich glaube der muss erstmal inpingbar sein, bevor überhaupt was geht. Und hier weis ich noch nicht wie.

Bist du so vorgegangen wie hier beschrieben

Genau diese Quelle hatte ich auch benutzt. Damit scheint der erste Flash erfolgreich gewesenen zu sein. Aber weiter komme ich noch nicht.

Welche Firmware verwendest du?

Mit den Strapping-Pins verhält es sich normalerweise so, wenn du die Finger davon lässt, dann startet der Controller im normalen Betriebsmodus. Es sind bereits alle notwendigen Pull-Ups und Pull-Downs integriert, so dass des Controller normal startet. Nur wenn du einen dieser Pins benutzt, dann musst du genau wissen, was du tust und die in der Dokumentation angegebenen Eigeheiten des Starapping-Pins berücksichtigen.

Welche Firmware ich auf dem esp32eth01 benutze, weis ich nicht. Da das Modul für mich derzeit nicht ansprechbar ist, weis ich nicht wie ich das herausbekommen sollte.
zu LutzHB: Ja, ich glaube aus deiner Aussage spricht der gesunde Menschenverstand. Wäre sehr komisch wenn man im Normalbetrieb mit den Strapping-Pins etwas machen müßte.
Heurika, es funktioniert.
Was habe ich geändert: Ich habe zur Sicherheit erstmal WLAN konfiguriert und LAN auskommentiert. Beides zusammne geht nicht (ausprobiert). Dann war bei der normalen Verdrahtung das Modul immer noch nicht sichtbar. Der Fehler war, ich habe zur Versorgung der Pullups die 3,3 V vom Raspi genommen. Das mochte er wahrscheinlich nicht: Ich habe es nun wie folgt gemacht:

  1. Spannungsversorgung Rasp +5V und GND an ESP 5V und GND.
  2. Spannungsversorgung der Pullups und der Sensoren (derzeit nur ein DHT22 im Testaufbau) nicht von Raspi sondern vom ESP genommen = 3,3V
  3. statt dem encription key für api habe ich password genommen. Dies war so in der esp32eth01.yaml , die ich mittels USB-to-Serial-Adapter als first Flash auf den ESP übertragen hatte. Damit kann nun ESPHome auf dem HA nun das Modul ansprechen und nun von dort die weiteren Änderungen durchführen
  • wieder auf encription key gehen
  • den LAN-Anschluss konfigurieren
    Jetzt scheint es zu Funktionieren. Den eine Probe-DHT habe ich nun auch als Entität im HA einbinden können.
    Danke für eure Hilfe
    Klaus

Update:

Alles funktioniert. Aber umkonfigurieren auf LAN will mir nicht gelingen

:crayon:by HarryP: Zusammenführung Doppelpost (bei Änderungen oder hinzufügen von Inhalten bitte die „Bearbeitungsfunktion“ anstatt „Antworten“ zu nutzen)

Nun habe ich auch das LAN zum Laufen bekommen. Allerdings nur für kurze Zeit, dann bricht die Verbindung zusammen. Dies im unbeschalteten Zustand (= ohne Pullups und ohne Sensoren). Nach meiner Suche im Netz habe ich öfters Kommentare gelesen, das manche sagen, WT32-ETH01 ist kaum zum Laufen zu bringen. Bei manchen ist der power_pin nicht auf GPIO16, sondern auf 12 oder 5. Wenige sagen, das sie es geschafft haben, Gut ich gehöre dazu, zumindest für bis 20 Pings. Nun Scherz bei seite. Ich gebe den Versuch auf.

Deswegen die Fragen an euch:

  1. Welchen ESP32 mit Ethernernet oder ethernetnachrüstbarkeit würdet ihr mir empfehlen aufgrund praktischer Erfahrungen?
  2. Wenn möglich von einem bekannten Hersteller, also keine billig Chinavariante.
  3. Schön wären mehr Ports, damit man die Stripping-Ports wie LutzHB schön beschreibt, nicht benutzen muss. 5 Ports bräuchte ich
  4. Gibt es womöglich einen solchen auch mit USB?
  5. Oder mit Umschaltung auf Flashen?
  6. Welche Leistungsmerkmale wären noch für meinen Einsatz Erfassen der Daten von 4 x DHT22 und 5 x DS18B20 um diese Daten im Home Assistant weiter verarbeiten zu können noch sinnvoll?
    Danke Klaus

Habe mehrere WT32-ETH01 problemlos laufen, mit Tasmota und WLED.

Alternativen (die bei mir laufen):
Waveshare ESP32-S3 ETH/PoE
Olimex ESP32-PoE

Ich habe mir beide angesehen. Von dem was ich bisher gelernt habe kommen wohl beide als sehr interessante Alternativen daher. Der Wavesshare ist mit 26,99€ bei Amazon auch noch preiswert. Bei dem sehe ich - gut das will nicht viel heißen - keine Probleme im Einsatz mit ESPHome und Home Assistant. Frage, muss man Pullups für die Sensoren verwenden? Vermutlich 4,7 kOhm für den one-wire Bus der DS18B20. Sind aber für die DHT22 welche nötig?

Der ESP32 hat Pullups on Board und ESPHome sollte diese enablen. Die meisten DHT22-Module haben bereits welche verbaut.