ESP12 als WIFI - Ethernet Gateway / Access-Point / Repeater

Hey Leute,

da ich nach Tagelanger Suche noch immer nichts passendes zu meiner Frage gefunden habe, erstelle ich hier mal einen neuen Beitrag.

Ich erkläre Euch zuerst mein eigentliches Ziel:
Ich möchte eine NodeMcu v3.4 (hat den ESP12f verbaut) mit einem Ethernet Modul versehen (ecn28j60) um so einen Adapter zum Auslesen der BMW's ab F-Reihe zu bauen. Es soll eigentlich nur das LAN-Kabel welches in die OBD-2 Buchse der Fahrzeuge führt ersetzen.

Also....:

Ich habe bereits eine NodeMcu 3.4 und ein ECN28J60 Ethernet-Modul gekauft - man kann sich mein Ziel eigentlich wie einen WLAN-Repeater/Router oder einen einfachen WLAN Access-Point vorstellen, welcher seine Internet-Verbindung durch ein LAN-Kabel erhält und eben über WLAN ausstrahlt.

Leider habe ich nicht so recht viel Ahnung von der Arduino Programmierung, meist fehlen mir die notwendigen Befehle (gibts irgendwo eine Liste welche zu einer Libary möglich sind?, z.B. in der Libary direkt? Oder woher weiß man, welche Optionen es gibt???)

Hat das schonmal jemand gemacht und eventuell auch einen Sketch dazu parat? Das dürfte ja prinzipiell nichts großes sein, die eingehenden Daten einfach übers WLAN zu verbreiten. Ich stelle mir das so vor, dass die NodeMcu die Daten Empfängt und einfach so wie sie sind weiterreicht - nur Name und Passwort des AP's im Sketch festlegen - hochladen - fertig. Sollte natürlich auch in die andere Richtung weiterreichen können - also auch aus dem WLAN ins Ethernet - oder eben in meinem Fall in den LIN-Bus des Fahrzeugs.

Vielen Dank im voraus!
LG Felix

Einen ESP12f gibt es nicht, das ecn28j60 ebenfalls nicht.

Es gibt einen ESP8266-12F und es gibt ein ENC28J60. Das ENC28J60 ist das schlechteste Ethernet-Modul, was Dir über den Weg laufen konnte.
Ich weiß nicht, ob sich überhaupt jemand die (eigentlich sinnlose) Mühe gemacht hat, die Lib dafür auf den ESP8266 anzupassen. Nimm lieber ein Ethernet-Modul mit den W5100 oder W5500 und schaue vorher nach, für wen es ESP8266-Libs gibt.

Gruß Tommy

Dafür, dass du wenig Ahnung vom Arduino hast (schreibst du ja) hast du dir schon echt was vorgenommen. Und so einfach, wie du schreibst, ist es dann doch nicht.

Da es die notwendigen Libraries vermutlich nicht gibt und du die sicher nicht selbst schreiben wirst,, von mir ein Tipp.
Nimm einen Uno, erstens um damit zu lernen. Setze da ein Ethernetmodul drauf und versuche damit die Daten aus dem Bus auszulesen.
Wenn das funktioniert, kannst du einen ESP8266/NodeMcu daran anschließen und diese Daten an dein Wlan weiter leiten.

So baust du ohne komplizierte Hürden dein Projekt auf und lernst gleich noch etwas dabei.
Das Lernen ist wichtig, denn einen fertigen Sketch für dein Vorhaben wirst du nicht finden.

Tommy56:
Einen ESP12f gibt es nicht, das ecn28j60 ebenfalls nicht.

Es gibt einen ESP8266-12F und es gibt ein ENC28J60. Das ENC28J60 ist das schlechteste Ethernet-Modul, was Dir über den Weg laufen konnte.
Ich weiß nicht, ob sich überhaupt jemand die (eigentlich sinnlose) Mühe gemacht hat, die Lib dafür auf den ESP8266 anzupassen. Nimm lieber ein Ethernet-Modul mit den W5100 oder W5500 und schaue vorher nach, für wen es ESP8266-Libs gibt.

Gruß Tommy

Hallo Tommy,

vielen Dank für deine Antwort.

Auf meinem ENC28J60 steht es anders herum, habe mich auf gewundert, ist aber so aufgedruckt.

Ich habe das genommen, da es so klein sowie günstig ist und von der Größe gut geeignet ist. Laut diesem Projekt, sollte es wohl ach gut implementiert sein: GitHub - kissste/esp8266-enc28j60-UIP-Ethernet: UIPEthernet: Ethernet library for ENC28J60 to work with ESP8266. Full support for persistent (streaming) TCP-connections and UDP (Client and Server each), ARP, ICMP, DHCP and DNS. Build around Adam Dunkels uIP Stack. nur leider finde ich keine vergleichbaren Sketches, auch nicht mit den W-Modellen.

Es ist mir eigentlich egal wie "schlecht" das Modul ist - Hauptsache es kann die Signale weiterleiten - dabei muss es auch nicht besonders schnell sein.

Hat wer eine Idee - oder einen verwendbaren Beispielsketch?

LG Felix

Wenn du eine Library dazu gefunden hast, dann gibt es auch Beispiele dazu.
Sieh dir doch mal die Beispiele an.

HotSystems:
Dafür, dass du wenig Ahnung vom Arduino hast (schreibst du ja) hast du dir schon echt was vorgenommen. Und so einfach, wie du schreibst, ist es dann doch nicht.

Da es die notwendigen Libraries vermutlich nicht gibt und du die sicher nicht selbst schreiben wirst,, von mir ein Tipp.
Nimm einen Uno, erstens um damit zu lernen. Setze da ein Ethernetmodul drauf und versuche damit die Daten aus dem Bus auszulesen.
Wenn das funktioniert, kannst du einen ESP8266/NodeMcu daran anschließen und diese Daten an dein Wlan weiter leiten.

So baust du ohne komplizierte Hürden dein Projekt auf und lernst gleich noch etwas dabei.
Das Lernen ist wichtig, denn einen fertigen Sketch für dein Vorhaben wirst du nicht finden.

Hallo Dieter,

danke auch für deine Antwort.

Arduino ist ja grundsätzlich C++, darin kenne ich mich aus. In den Arduino - spezifischen Befehlen aber zumeist weniger, mich verwirren die ganzen Funktionen in den Libs, da Ich nie weiß- welche Funktionen genau in einer Lib enthalten sind.

Die Idee mit dem Uno ist grundsätzlich gut - ich habe auch mehrere davon rumfliegen- aber das Ergebnis wäre zu groß, da es in einen relativ kleinen Stecker passen soll.

Der ESP8266 soll am Ende ein einem LS7805 (Spannungswandler) am 12v Bordnetz des Fahrzeugs laufen und eben innerhalb des OBD2 Steckergehäuses platz finden.

Ich hätte aber tatsächlich auch gedacht, dass diese Idee mit dem Ethernet gespeisten WLAN AP schon jemandem gekommen wäre - aber wie es scheint noch nicht - oder gut versteckt...

LG Felix

PS: Ja da bin ich dabei - ich melde mich wenn ich was brauchbares herausgefunden habe. Wird aber heut auch nichts mehr

Ok, wenn es so klein werden soll, ist das noch eine zusätzliche Herausforderung.

Aber beachte bitte, das Spannungsnetz in einem KFZ ist sehr stark verseucht und hat erhebliche Spannungsspitzen.
Da wirst du mit einem 7805 nichts werden. Ich empfehle dir einen Stepdown-Regler und zusätzliche Filter gegen die Störungen.
Als Stepdown-Regler geht der LMO78_05-0.5, den gibt es auch bei Reichelt.

Hi

LM klingt aber nicht nach 'STEP', sondern eher nach Linear-Regler - gebe aber zu, daß ich derzeit zum Suchen zu faul bin.

MfG

Edit
IST ein Step, Dessen Bezeichnung die Austauschbarkeit suggerieren soll - bin angenehm überrascht!

postmaster-ino:
LM klingt aber nicht nach 'STEP', sondern eher nach Linear-Regler - gebe aber zu, daß ich derzeit zum Suchen zu faul bin.

Heissen auch "LMO" und hier noch der Vollständigkeit halber der Link.

Sind ganz neu und super. Habe den ersten im Test.

Hi

Aaah - also derName als 'Ersatz für' - nett!

Danke für den Tipp, das werde ich mir merken. Ich schaue morgen mal wie ich das Ethernet und das WLAN am besten zu einem reinen NAT zusammenbastel. Wenn's läuft soll die NodeMcu dann auch gegen einen reinen ESP8266 ausgetauscht werden - Platzersparnis undso...

Ich habe nun eine Lösung gefunden.

Dieses Projekt von martin_ger ist dafür gut geeignet, da man hier einfach das ENC28J60 als Option in einer Konfigurationsdatei dazuschalten kann: GitHub - martin-ger/esp_wifi_repeater: A full functional WiFi Repeater (correctly: a WiFi NAT Router)

Nun stehe ich vor dem nächsten Projekt. Da das Ethernet-Shield zu groß für den OBD-Leerstecker ist, möchte ich das Ethernet direkt an den ESP12f anschließen... weiß jemand ob das möglich ist?

Dazu brauche ich dann auch ein paar Widerstände etc. aber die Bauteile bekomme ich auf der Fläche eher verpackt als das ENC28J60.

LG Felix

Hi

Widerstand - vorne OHNE E.

Zumindest zu 'ENC28J60' gibt's 'n PDF.
Wo welcher Anschluss momentan mit verbunden ist, kann man durchpiepsen/erörtern.
Dann kann man das ganze Zeug auch selber neu zusammen gießen - wenn Das aber kein 'Ich bin der Größte'-Projekt werden soll - warum?
Zur aller größten Not kommt Da ein Sack Schrumpfschlauf drum - dann ist's sogar noch wasserdicht.

MfG

postmaster-ino:
Hi

Widerstand - vorne OHNE E.

Zumindest zu 'ENC28J60' gibt's 'n PDF.
Wo welcher Anschluss momentan mit verbunden ist, kann man durchpiepsen/erörtern.
Dann kann man das ganze Zeug auch selber neu zusammen gießen - wenn Das aber kein 'Ich bin der Größte'-Projekt werden soll - warum?
Zur aller größten Not kommt Da ein Sack Schrumpfschlauf drum - dann ist's sogar noch wasserdicht.

MfG

Danke postmaster - der mit dem Widerstand passiert mir immer wieder...

Ich schaue Mal, entweder ätze ich mir wieder eine passende Platine oder ich nehme Lochraster - in den Ethernet Ports sind Spulen verbaut - welche ich gerne nach extern verlagern würde, so brauche ich keinen ganzen Ethernet Port.

Grundsätzlich brauche ich 'nur' 4 der Leitungen und die Masse.
Da ein ganzer Port und ein abgeschnittenes Kabel unnötig viel Platz fressen würden - soll es minimiert wie möglich sein.

Ich schaue mir auch nochmal die Platine des ENC28J60 an und vielleicht kann ich das Stück an dem der Port Sitzt einfach abtrennen. Dann passt es auch rein.

Danke für den Tipp, dass es ja auch eine PDF des Ethernet Shield gibt. Ich melde mich bei Erfolgen/Ergebnissen.

LG Felix

Hi

Vll hilft Dir noch, daß das Wider vom Widerstand eben von WIDER kommt, was mit GEGEN gleichzusetzen ist - der Widerstand ist gegen den Stromfluss.

Das Wieder (also mit E vorne) bedeutet dagegen 'erneut' - und hier hat der Widerstand nun gar Nichts mit am Hut :slight_smile:

MfG