NodeMCU ESP8266 als WLAN-Repeater

Wer kennt das nicht? Da hat meinen einen Client fern ab vom häuslichen Router installiert und nun kommen die Steuerbefehle der Homeautomatic nicht mehr hin. Des Rätzels Lösung ein Repeater muss her. Und für die Steuerung des Clients ist die Datenrate des ESP8266 völlig ausreichend.

Daher möchte ich euch heute zeigen, wie ich aus einer NodeMCU ESP8266 einen Repeater zum Laufen gebracht habe.

Einige werden sich jetzt fragen wozu das Ganze? Es gibt WLAN Repeater für unter 20 Euro und da ist Netzteil und Gehäuse bereits dabei. Das kann ich nur mit ja beantworten und meist haben diese auch noch eine höhere Datenrate als mein ESP.

Aber wer schnell mal einen Repeater zum Testen braucht kann hier eine Lösung finden. Oftmals liegt so ein ESP auch im Bastelkram rum und kann mal eben für Abhilfe des Versorgungsengpasses sorgen.

Also auf geht’s!

Software von der GitHub-Seite:

Zu erst hole ich mir die Nötige Software für den Repeater. Hier hat sich wieder ein findiger Programmierer hin gesetzt und ein Programm geschrieben, das er mir zur Verfügung stellt. Der link zu der benötigten Software lautet:

https://github.com/martin-ger/esp_wifi_repeater

Prinzipiell würden die drei BIN-Dateien aus dem Verzeichnis “firmware“ genügen. Ich bevorzuge jedoch den Download des gesamten Paketes.

Das Flashprogramm:

Nachdem ich die ZIP-Datei auf meinen Rechner in ein Verzeichnis meiner Wahl geladen habe, benötige ich noch die Flashsoftware. Diese Kann ich mir von der Seite des Chip-Herstellers vom ESP8266 down Laden.“Espressif“ hat auch den leistungsstärkeren ESP32 entwickelt, für den man die Software ebenfalls nutzen kann. Auch diese ZIP-Datei lade ich mir in ein Verzeichnis meiner Wahl.

Zu finden unter dem Link: https://www.espressif.com/en/support/download/other-tools

Somit habe ich beide Dateien auf meinem Rechner. Dabei ist es nicht notwendig dies im selben Verzeichnis abzulegen. Vielmehr kann man das Flashprogramm auch für andere ESP’s nutzen und muss nicht jedes mal den Flasher erneut down laden. Für die besser Übersicht verwende ich hier aber das selbe Verzeichnis.

Dateien entpacken:

Beide ZIP-Dateien entpacke ich mit “Alle extrahieren…“.

Ich entpacke die beide ZIP-Dateien und finde unter “flash_download_tool“ die EXE-Datei für das Flashprogramm und unter “esp_wifi_repeater-master“ im Verzeichnis “firmware“ die für den Repeater erforderlichen BIN-Dateien.

Flashprogramm öffnen:

Ich öffne die “flash_download_tool.exe“ worauf hin Windows mir eine Warnmeldung ausgibt. Ich bestätige, dass ich das Programm ausführen möchte und wähle den zu flashenden ESP. In meinem Fall den ESP8266.

Nachdem ich mit OK bestätigt habe öffnet sich das Eingabefenster. Hier hilft mir die Internetseite von GitHub weiter. Ich scrolle bis fast an den Schluss der Seite und finde hier eine Vorlage für die Eingabe.

Flash durchführen:

Nach anklicken der drei Pünktchen hinter der Eingabezeile öffnet sich ein Dateiexplorer und ich gehe zur ersten BIN-Datei für meinen Router. Unter Firmware finde ich die “0x00000.bin“. Doppelklick und schon wird sie in die Zeile meines Eingabefensters übernommen. In das Feld hinter dem Eintrag ergänze ich 0x0000 und aktiviere die Zeile mit einem Häkchen davor.

Entsprechend verfahre ich mit der “0x02000.bin“. Hier muss ich hinten 0x02000 ergänzen und auch wieder aktivieren. Nun sollte ich meine NodeMCU ESP8266 am USB-Port anschließen. Der USB-Treiber für das Board sollte logischer Weise installiert sein. Der entsprechende COM-Port ist zu wählen und schon kann es mit START los gehen.

Wird FINISH angezeigt und ist der grüne Balken durchgelaufen, ist der Flash fertig. Jetzt die NodeMCU ESP8266 vom USB-Port abziehen und wieder anstecken. Oder gleich an ein Netzteil stecken.

Die blaue LED leuchtet.

Mit dem Repeater verbinden:

Ich nehme nun meinen Laptop oder ein Handy zur Hand und schaue mal nach neuen WLAN-Netzen. Tatsächlich ein neues Netz mit der SSID “MyAP“ ist vorhanden. Mit diesem verbinde ich mich.

Repeater konfigurieren:

Nun öffne ich meinen Internetbrowser und gebe in die Adresszeile 192.168.4.1 ein. Achtung davor sollte kein https:// stehen. Es öffnet sich das Konfigurationsmenü meines Repeaters. Ich beginne mit der Eingabe der Daten für den Router dessen WLAN-Netz erweitert werden soll. Der Router hat in meinem Beispiel die SSID “Willi“. Ebenso muss ich das WLAN-Passwort des Routers eingeben und mit “Connect“ bestätigen. Es dauert einen Moment und ich werde darauf hingewiesen, dass die WLAN-Verbindung unterbrochen wurde. Das ist logisch, denn der Repeater hat sich jetzt mit Willi verbunden. Die blaue LED beginnt zu blinken.

Ich gehe nun erneut in meine WLAN-Konfiguration am Laptop und verbinde mich erneut mit MyAP (sieh oben).

Es wiederholt sich die Eingabe der IP-Adresse des Repeaters im Internetexplorer (192.168.4.1) und das Konfigurationsmenü geht wieder auf. Hier sind nun die bereits eingetragenen STA Settings vorhanden. Ich muss das Menü aber mit den Einträgen für den Repeater ergänzen.

Ich nenne meinen Repeater im Beispiel Hubert. Auch vergebe ich unbedingt ein WLAN-Passwort und aktiviere die WPA2 Verschlüsselung. Noch mit Set bestätigen und wieder fliege ich aus der WLAN-Verbindung. Diesmal, weil “MyAP“ nicht mehr existiert.

Prüfen ob Repeater vorhanden:

Ich schau mal welche WLAN-Netze jetzt vorhanden sind. Siehe da, Ein neues WLAN-Netz mit der Bezeichnung “Hubert“ ist vorhanden. Mit dem verbinde ich mich jetzt noch nicht.

Ich verbinde mich mal mit meinem Heim-Router (“Willi“) und schau mir mal die WLAN-Verbindungen an. Jetzt ist Hubert an meinem Router angemeldet. Gebe ich die IP-Adresse des Routers ein, erscheint wieder mein Konfigurationsmenü des Repeaters.

Funktionsstest:

Damit kann ich einen kleinen Test wagen. Ich verbinde mich, wie oben bereits beschrieben, mit meinem Laptop über die WLAN-Einstellungen mit dem WLAN-Netz “Hubert“ (also meinem Repeater) und versuche mal auf meine Fritzbox (“Willi“) zuzugreifen. Und siehe da, es funktioniert. Mein Repeater routet mich weiter zu Willi.

Weitere Tipps:

Bei einem, mit einer anderen Anwendung bespielten ESP8266 kann es vorkommen, dass beim Flaschen der Datenspeicher nicht vollständig überschrieben wird, was Probleme machen könnte. Daher sollt man den Speicher vor der Verwendung löschen. Ich mache dies mit dem bereits beschriebenen ESP8266flasher (siehe Kapitel C4A).

Die EXE-Datei kann man hier herunter laden:  https://github.com/nodemcu/nodemcu-flasher

Repeater mit dem ESP32:

Nun stellt sich mir die Frage, wenn ein Repeater mit dem ESP8266 möglich ist, kann ich auch einen mit dem ESP32 bauen?

Selbstverständlich, die Vorgehensweise ist die gleiche wie ich sie oben beschrieben habe. Allerdings benötige ich hierfür andere Software. Das Flash Downloadtool von Espressif kann ich ja wie schon erwähnt auch für den ESP32 nutzen. Somit muss ich dieses nicht noch einmal Downladen. Allerdings der Repeater benötigt andere Software. Diese finde ich wieder auf den Seiten von GitHub.

Link zur Software:   https://github.com/martin-ger/esp32_nat_router

Unter dem Verzeichnis “build“ finde ich zwei Verzeichnisse. Eines mit “esp32“ und eines mit “esp32c3“. Welches soll ich nehmen. Natürlich das zu meinem Prozessor passende.

ESP32 oder ESP32C3: ???

Der ESP32-C3 ist eine 32-Bit Single-Core-MCU mit 400 KB SRAM und ist mit 160 MHz getaktet. Er ist der Nachfolger des ESP8266 und der kleinere Bruder des ESP32. Bei Ihm handelt es sich um einen Dual-Core Prozessor mit 512 KB SRAM und 240 MHz Taktung. Die ESP-Prozessoren sind eine Entwicklung von Espressif.

I.d.R. steht es auf dem Prozessor welcher verbaut wurde. In erster Linie verwende ich eine NodeMCU ESP32 und wer sich heute einen kauft wird wohl auch den ESP32 verwenden.

Repeatersoftware auswählen und flashen:

Damit wähle ich unter „“build“ esp32 und finde hier meine BIN-Dateien die ich wie auf der GitHub-Seite weiter unten beschrieben verwende.

Meine Flasheinstellungen:

Nach Start des Flashtools muss ich hier den ESP32 auswählen. Im darauf hin sich öffnenden Fenster sind die benötigten BIN-Dateien zu hinterlegen. Die Reihenfolge sowie die Anhänge sind dem Bild unten zu entnehmen. Häkchen vor die Zeile nicht vergessen. Die „SPIFlashConfig“ kann in der Regel unverändert übernommen werden. Noch den Eintrag unten für den entsprechenden COM-Port auswählen.

Damit dürfte alles gesagt sein. Das Flashen und Einrichten des Repeaters funktioniert im wesendlichen wie mit dem ESP8266.

Schlussanmerkung:

Also, wer noch eine Node MCU ESP8266 oder ESP32 übrig hat kann jetzt loslegen und einen günstigen Repeater bauen und testen ob er den Ansprüchen genügt.

Nach einigen Tests kann ich bestätigen, dass der Repeater gut läuft. Selbst das Streamen von Videos ist mit ihm kein Problem. Da ich schon schlechte Erfahrungen mit anderen Repeatern und dem WLAN-Repeating machen musste, verwende ich diese nur noch durch Verbindung über ein LAN-Kabel mit dem Router. Somit war ich bei meinem ESP8266 Repeater angenehm überrascht.