ESP32 Ethernet

Es gibt Umgebungen, in denen WLAN nicht stabil oder sinnvoll nutzbar ist aber dafür ein Kabel bis vor Ort liegt. Hier werden IoT-Boards interessant, die z.B. auch nur eine 10/100MBt-Anschluss habe und vielleicht sogar per PoE versorgt werden können. Auf dieser Seite sammle ich Informationen zu entsprechenden Boards und Software.

Boards

Natürlich ist "WLAN an Bord" schon ein einfacher Weg sich in ein Netzwerk einzubinden. Gerade im "Privatbereich" gibt es sicher eher WLAN statt LAN-Dosen. Dennoch gibt es die Lücke und es gibt schon einige interessante Boards mit Ethernet. Allerdings sind schon 10/100MBit für einen ESP32 sehr schnell und 1GBit-Anschlüsse machen technisch eigentlich keinen Sinn.

Abbildung des Boards PoE Beschreibung und Links Preisregion

Ja

18€

Nein

20€

Nein

Das ESP32 Gateway hat keine Relays und ist damit etwas günstiger

17€

Ja

esp32MX-E

37€

Ja

https://wesp32.com/ 50 US$
38US$ ab 100

Nein

 

Ja

Das ist eher eine Alarmanlagenboard mit 12 Eingängen und ESP32 samt PoE-LAN aber sicher zu teuer, für erste Experimente

230US$

PoE

Mit dem Anschluss an ein Netzwerk bietet sich auch die Stromversorgung über das gleiche Kabel an. Man spart sich das Steckernetzteil und 230V-Steckdose o.ä. vor Ort. Allerdings haben nicht alle Module auch automatische PoE an Bord, denn dazu sind weitere aktive und passive Komponenten erforderlich. Das würde den Preis hochtreiben, selbst wenn am Einsatzort kein PoE vorhanden ist. Es gibt aber verschiedene Lösungen.

Option Bild Beschreibung und Quellen

PoE Nachrüsten

Einige Boards haben die 8 Ports der RJ45-Buchse als Lötpunkte ausgeführt und erlauben die Nachrüstung entsprechender passender Boards

PoE Einschleifen

Bei Olimex habe ich ein Modul gesehen, welches per RJ45-Buchse einfach eingeschliffen wird und per PoE dann ein beliebiges Board mit 5V oder 12W und ca. 10 Watt versorgt.

Passives PoE

Bei einem 10/100-MBit Verbindung werden nur die erste beiden Adernpaare auf den Steckkontakten 1,4,5,6 genutzt während zwei weitere Paare auf 2,3,7,8 ungenutzt sind. Es gibt entsprechende "Kabel" finden Sie auch bei Amazon u.a., aber entsprechen natürlich nicht IEEE 802.3af. So sollten solche Lösungen nur intern einsetzen und an beiden Seiten die Adapter des gleichen Herstellers nutzen.

Eigenes Ethernet

Es gibt schon länger eigene Bausteine, die über wenige Pins an einen Mikrocontroller angeschlossen werden und auf der anderen Seite "Ethernet" anbieten. Meist läuft auf dem Board ein komplett eigener Server, der getrennt zu konfigurieren ist und dann eine "Seriel <-> TCP"-Brücke zum Mikrocontroller herstellt. Nach meinem Wissen wurde der ESP8266 anfangs auch eher dazu genutzt, einen Arduino und andere Boards mit WLAN zu versehen. Aus der Zeit gibt es auch die "Ethernet Shields", die man natürlich genauso mit einem ESP8266/ESP32 und über die Arduino-Libraries verbinden kann. Einige Boards "passen" genau auf die Zielplattform und haben weitere Funktionen integriert, was sie etwas teurer macht.

Bild Preis Links

6€

Ein einfaches auf dem Chip ENC28J60-I/SO basierendes Modul, welches per SPI angesteuert wird.


10€

Boards auf Wiznet W5500

25€

Diese Wiznet W5500 Board enthält zusätzlich einen SD-Kartenleser

22€

Auch das originale Arduino-Board basiert auf dem W5500, hat einen SD-Kartenleser und IO-Anschlüsse. Wer genau hinsieht, kann auch die Lötaugen für die Nachrüstung eines PoE-Modul sehen.

Ein ESP8266/ESP32 und ein separates Ethernet-Modul für vielleicht 10€ ist schon noch günstiger als die fertigen Boards. Aber wenn ich den Vergleich mit dem Olimex-EVB und dessen Zusatzfunktionen sehe, dann lohnt sich das kaum mehr.

Andere "Netzwerke"

Es muss nicht immer Ethernet sein. Wenn Sie nur einfache Steuerungsaufgaben haben, dann können Sie natürlich auch einen ESP einfach zur Erfassung nutzen und die Ergebnisse z.B. Seriell (RS485 / ModBus / DMX, 1-Wire Bus) o.#. übertragen. Hier reicht dann vielleicht sogar eine einfache 3/4-adrige Telefonleitung, um den Prozessor vor Ort mit Energie und einer Daten-Rückleitung zu versorgen. Dann muss es aber auch kein ESP8266/ESP32 sein, sondern ein einfacher Arduino ohne "Ethernet/WLAN"-Funktion reicht dann auch.

Tasmota

Nicht jeder ist ein begnadeter C-Programmierer und möchte eigentlich nur einige "bekannte" Sensoren auslesen und per MQTT o.ä. irgendwo hin senden. Aber es gibt die ein oder andere ESP8266/ESP32 3rd Party Firmware. So hat Tasmota z.B. im Juni 2020 einen entsprechenden Support mit eingebaut, damit die Olimex-Boards mit Ethernet funktionieren. Allerdings ist der Code nicht in der Standard-Firmware enthalten.

Sie müssen sich daher die aktuelle Version von Tasmota32 als Source herunterladen und in der Datei "user_config_override.h" den Kommentar bei folgendem Abschnitt entfernen

#define USE_ETHERNET

Es gibt vom Tasmota-Projekt auch "inoffizielle" Build mit Ethernet-Support

Tasmota-Ethernet
https://GitHub.com/tasmota/install/raw/main/firmware/unofficial/tasmota32-ethernet.bin
https://GitHub.com/tasmota/install/tree/main/firmware/unofficial

Das ist aber nicht jedermanns Sache und wer einer anderen GitHub-Quelle vertraut, kann schon fertige Binaries herunterladen und sogar über einen Webinstaller direkt installieren.

Für das ein oder andere Board gibt dann fertige Templates

Templates für Olimex EVB
{
   "NAME":"Olimex ESP32-PoE",
   "GPIO":[1,1,1,1,1,1,0,0,5536,1,1,1,1,0,5600,0,0,0,0,5568,0,0,0,0,0,0,0,0,1,1,1,1,1,0,0,1],
   "FLAG":0,
   "BASE":1
}
 
Template for wESP32:
{
   "NAME":"wESP32",
   "GPIO":[0,0,65504,0,65504,65504,0,0,65504,65504,65504,65504,5568,5600,65504,0,0,0,0,65504,0,0,0,0,0,0,0,0,65504,65504,65504,65504,65504,0,0,65504],
   "FLAG":0,
   "BASE":1
}

Ehe Sie lange selbst suchen, ist ein Blick in das Device Repository interessant

Weitere Links