Hi, Beispielsketches, die demonstrieren, wie sich ein ESP32 mit einem WLAN-Netzwerk verbindet und dann als HTTP-Client auf irgend eine Seite im Internet zugreift, gibt es ja zuhauf. Allerdings würde ich gerne was anderes erreichen: - mein ESP32 verbindet sich als WLAN-Client mit meinem Handy, welches im Tethering-Modus selber als WLAN-AP läuft - der ESP32 teilt dem Handy seine statische IP mit (z.B. 192.168.1.1) - wenn ich jetzt von dem Handy per Webbrowser auf diese IP zugreife, bekomme ich eine Seite angezeigt, die vom ESP32 ausgeliefert wird Meine Fragen: - ginge das so überhaupt? - wenn ja - wie? Kennt jemand ein passenden Beispielsketch? Danke!
Natürlich kann ein WLAN-Client einen http-Server haben, aber der Client bekommt höchstens eine IP vom Server/AP, nicht "er teilt sie mit", das gibt's nur bei den captures am AP, z.B. für den Gastzugang, ESPs nutzen das auch für den Webmanager. Ob dein Handy als AP dem dort laufenden Browser erlaubt, auf die Clients zuzugreifen, weiß ich nicht. Könnte mir vorstellen von nicht, aber möglich wärs, damit man verbundene Geräte ohne UI konfigurieren kann. Versuch macht kluch. Aber mal im Ernst: wozu diese "andersrumme" Konfiguration? Normal ist der ESP ein AP und liefert eine Seite aus. Warum das Handy als AP und dann doch auf den den Client zugreifen?
Jens M. schrieb: > Aber mal im Ernst: wozu diese "andersrumme" Konfiguration? > Normal ist der ESP ein AP und liefert eine Seite aus. > Warum das Handy als AP und dann doch auf den den Client zugreifen Als Feature: in der gewünschten Umgebung läuft dieses eine Handy als AP und stellt allen anderen Handys Internet zur Verfügung. Würde der ESP32 auch als AP laufen, hätte man nur Zugriff auf den ESP32, aber kein Internet mehr. Also würde dieses eine Handy in dem Moment allen anderen das Internet wegnehmen bzw. der Nutzer eines anderen Handys müsste immer zwischen den beiden AP's hin und her schalten. Klinkt der ESP32 sich hingegen als Client ein, hätte zumindest dieses eine Handy bequem Zugriff auf Internet und ESP32 - ohne ständig das WLAN-Netz wechseln zu müssen
Der ESP ist ein Client wie jeder andere auch, also kann jeder auch drauf zugreifen, nicht nur das eine Gerät mit dem AP. Alles nur eine Frage der richtigen IP-Adresse... Wie man die rausbekommt, ist dann auch eher dem AP-Handy zuzuschreiben. Kann man da sehen, welcher Client welche via DHCP bekommen hat? Aber sonst macht das natürlich Sinn.
Zonk schrieb: > der ESP32 teilt dem Handy seine statische IP mit (z.B. 192.168.1.1) Das geht so nicht. Wenn das Handy einen AP startet, verteilt es die IP Adressen per DHCP. Danach muss sich der ESP richten ansonsten gibt es keine Verbindung. Ob man da eine etwas komfortablere Namensauflösung mit DNS basteln kann weiß ich nicht, wäre einen Versuch wert.
Zonk schrieb: > - ginge das so überhaupt? Es geht.
1 | // ********* TENDA ROUTER ************
|
2 | const char* ssid = "*******"; // Router WI-FI name |
3 | const char* password = "********"; // Router password |
4 | IPAddress gateway(192,168,0,1); // Router IP adress (TENDA) |
5 | |
6 | // ****** Gewünschte IP-adresse für ESP32 ***********
|
7 | IPAddress ip(192,168,1,6); // Falls man diese IP adresse für ESP festlegen möchte... |
8 | int ServerPort = 787; // Dann geht dieser Port mit der Adresse (Forwarding) |
9 | IPAddress subnet(255,255,255,0); |
10 | |
11 | ESP8266WebServer server(ServerPort); |
12 | WiFiClient client; |
Vorher muss man sich natürlich bei Router als admin einloggen und Port forwarding machen. Später im Programm:
1 | WiFi.begin(ssid, password); |
2 | WiFi.config(ip, gateway, subnet); |
Marc V. schrieb: > Vorher muss man sich natürlich bei Router als admin einloggen und Port > forwarding machen. Es ist eben kein Router im Spiel, sondern ein Smartphone, welches als WLAN-AP arbeitet (Tethering-Modus). Die IDee ist eben, dass dich der ESP32 als WLAN-Client mit diesem Smarthpone verbindet. Wenn der Benutzer jetzt eine Internetadresse eingibt, erreicht er diese. Gibt er die 192.168.1.1 ein, erreicht er den Weserver auf dem ESP32 - ganz ohne zwischen verschiedenen WLAN-APs umschalten zu müssen. Und ich wüsste jetzt nicht, dass man unter einem nicht-gerooteten Android irgendwo ein Portforwarding einstellen könnte...
Port Forwarding würde auch nur erreichen, das man den ESP von der Mobilfunkseite her erreichen kann, ich denke das ist unerwünscht. Wird auch vermutlich nicht funktionieren, da die meisten MobFu-Anbieter den User hinter einen Router setzen, der NAT macht. Da kommt man von außen eh nicht rein... Ob andere Clients im WLAN den ESP erreichen können, ist eher der "Client Isolation" geschuldet, aber zumindest das AP-Handy sollte draufkommen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.