
Ein voll funktionsfähiger WiFi-NAT-Router (und jetzt auch ein WiFi-Repeater)
Ein voll funktionsfähiger WiFi NAT-Router (und jetzt auch ein WiFi-Repeater, auch L2-Bridge genannt)
NEU 2026: 10 Jahre nach der ersten Veröffentlichung ist es endlich geworden, was es immer vorgab zu sein: ein echter WiFi-Repeater. Um keine bestehenden Dokumentationen und Links zu brechen, bleibt die Standard Edition weiterhin die bekannte NAT-Router-Version mit allen erweiterten Funktionen. Aber wenn Sie an einer abgespeckten echten L2-Bridge interessiert sind, schauen Sie unten im Abschnitt ESP8266 WiFi Repeater - L2-Bridge nach.
Dies ist eine Implementierung eines WiFi NAT-Routers auf dem esp8266 und esp8285. Es enthält auch Unterstützung für eine paketfilternde Firewall mit ACLs, Portweiterleitung, Traffic Shaping, Hooks für Remote-Überwachung (oder Paket-Sniffing), ein MQTT-Management-Interface, einfache GPIO-Interaktion und Energiemanagement. Für ein Setup mit mehreren Routern in einem Mesh zur Abdeckung eines größeren Bereichs wurde ein neuer Modus "Automesh" hinzugefügt.
Wenn Sie nach einer Möglichkeit suchen, die NAT-Funktion in Ihr Arduino-Projekt zu integrieren - sehen Sie hier .
EPS32 NAT Router ist das fortgeschrittene Projekt für den ESP32.
Typische Anwendungsszenarien sind:
Standardmäßig fungiert der ESP als STA und als Soft-AP und leitet jeglichen IP-Verkehr transparent durch. Da es NAT verwendet, sind weder auf der Netzwerkseite noch auf den angeschlossenen Stationen Routing-Einträge erforderlich. Stationen werden standardmäßig über DHCP im 192.168.4.0/24-Netz konfiguriert und erhalten ihre DNS-Resolver-Adresse aus dem bestehenden WiFi-Netzwerk.
Messungen zeigen, dass es etwa 5 Mbps in beide Richtungen erreichen kann, sodass sogar Streaming möglich ist.
Einige Details werden in diesem Video erklärt.
Zum direkten Flashen auf das Gerät verwenden Sie den Web-Installer.
Der esp_wifi_repeater startet mit der folgenden Standardkonfiguration:
Nach dem ersten Start (oder Werksreset) wird es ein WiFi-Netzwerk mit einem offenen AP und der SSID "MyAP" anbieten. Es versucht noch nicht, automatisch eine Verbindung zu einem Uplink-AP herzustellen (da es keine gültige SSID oder Passwort kennt).
Verbinden Sie sich mit diesem WiFi-Netzwerk und führen Sie die grundlegende Konfiguration entweder über eine einfache Weboberfläche oder die vollständige Konfiguration mit allen Optionen über die Konsole durch.
Die Weboberfläche ermöglicht die Konfiguration aller Parameter, die für die grundlegende Weiterleitungsfunktionalität erforderlich sind. Dank an rubfi für die Hauptarbeit daran: https://github.com/rubfi/esp_wifi_repeater/ . Rufen Sie Ihren Browser auf "http://192.168.4.1" auf. Diese Seite sollte erscheinen:
Geben Sie zunächst die entsprechenden Werte für das Uplink-WiFi-Netzwerk ein, die "STA-Einstellungen". Verwenden Sie das Passwort "none" für offene Netzwerke. Aktivieren Sie das Kontrollkästchen "Automesh" genau dann, wenn Sie den Automesh-Modus wirklich verwenden möchten. Klicken Sie auf "Verbinden". Der ESP startet neu und stellt eine Verbindung zu Ihrem WiFi-Router her. Die Status-LED sollte nach einigen Sekunden blinken.
Wenn Sie Automesh ausgewählt haben, sind Sie mit der Konfiguration fertig. Die Konfiguration der "Soft-AP-Einstellungen" ist nicht erforderlich, da diese im Automesh-Modus identisch mit den "STA-Einstellungen" sind. Dieselbe SSID wird von allen verbundenen ESP-Repeatern angeboten.
Wenn Sie Automesh nicht verwenden, können Sie jetzt die Seite neu laden und die "Soft-AP-Einstellungen" ändern. Klicken Sie auf "Setzen" und der ESP startet erneut neu. Jetzt ist es bereit, Datenverkehr über den neu konfigurierten Soft-AP weiterzuleiten. Beachten Sie, dass diese Änderungen auch die Konfigurationsschnittstelle betreffen, d.h. für weitere Konfigurationen verbinden Sie sich über eines der neu konfigurierten WiFi-Netzwerke mit dem ESP. Für den Zugriff über den Soft-AP merken Sie sich die Adresse des Soft-AP-Netzwerks, falls Sie diese geändert haben (der ESP hat in diesem Netzwerk immer die Adresse x.x.x.1).
Wenn Sie möchten, können Sie das Kontrollkästchen "Sperren" markieren und auf "Sperren" klicken. Jetzt kann die Konfiguration nicht mehr geändert werden, ohne sie zuvor mit dem Passwort des Uplink-WiFi-Netzwerks zu entsperren (definieren Sie eines, auch wenn das Netzwerk offen ist).
Wenn Sie nicht-ASCII- oder Sonderzeichen in der Weboberfläche eingeben möchten, müssen Sie die HTTP-Hex-Kodierung wie "My%20AccessPoint" verwenden. Dies ergibt eine Zeichenkette "My AccessPoint". Mit dieser Hex-Kodierung können Sie jeden beliebigen Byte-Wert eingeben, außer 0 (aus C-internen Gründen).
Wenn Sie einen Fehler gemacht haben und jeglichen Kontakt zum ESP verloren haben, können Sie trotzdem die serielle Konsole verwenden, um ihn wiederherzustellen ("reset factory", siehe unten).
Erweiterte Konfiguration muss über die Befehlszeile auf der Konsolenschnittstelle erfolgen. Diese Konsole ist entweder über die serielle Schnittstelle mit 115200 Baud oder über den TCP-Port 7777 verfügbar (z.B. "telnet 192.168.4.1 7777" von einer verbundenen STA).
Verwenden Sie die folgenden Befehle für eine Ersteinrichtung:
Auch hier, wenn Sie nicht-ASCII- oder Sonderzeichen eingeben möchten, können Sie die HTTP-Hex-Kodierung verwenden (z.B. "My%20AccessPoint") oder, nur in der CLI, als Abkürzung C-Style-Anführungszeichen mit Backslash (z.B. "My\ AccessPoint"). Beide Methoden ergeben eine Zeichenkette "My AccessPoint".
Die Befehlszeile versteht noch viele weitere Befehle:
Ausreichend, um es in fast allen Umgebungen zum Laufen zu bringen.
Die meisten set-Befehle werden erst nach save und reset wirksam.