Forum: Mikrocontroller und Digitale Elektronik ESP32 Netzwerk/Accesspoint/Verbindung


von Tony (tonynils_t)


Lesenswert?

Hallo erstmal und vielen Dank für dieses Forum!
Ich habe ein kleines Problem. Ich habe einen Code für zwei ESP32, 
welcher jeweils die Daten über einen Accesspoint an ein Pythonskript 
schickt. Sieht wie folgt aus:

#include <WiFi.h>
#include <WiFiClient.h>


const char* ssid = "AC-ESP32";
const char* password = "PASSWORT";
const char* serverIP = "192.168.4.26";  // IP-Adresse des Python-Skripts
const int serverPort = 5000;              // Port des Python-Skripts

WiFiClient client;

void setup() {
  Serial.begin(115200);
  delay(1000);

  // Verbindung zum WLAN herstellen
  WiFi.begin(ssid, password);
  while (WiFi.status() != WL_CONNECTED) {
    delay(1000);
    Serial.println("Verbindung zum WLAN wird hergestellt...");
  }
  Serial.println("Erfolgreich mit dem WLAN verbunden");

  // Verbindung zum Python-Skript herstellen
  Serial.print("Verbindung zum Server: ");
  Serial.print(serverIP);
  Serial.print(":");
  Serial.println(serverPort);
  if (client.connect(serverIP, serverPort)) {
    Serial.println("Erfolgreich mit dem Server verbunden");
  } else {
    Serial.println("Verbindung zum Server fehlgeschlagen");
  }
}

void loop() {
  // Drei zufällige Sensordaten generieren
  float sensor1_data = random(0, 100) / 10.0;
  float sensor2_data = random(0, 100) / 10.0;
  float sensor3_data = random(0, 100) / 10.0;

  // Daten an das Python-Skript senden
  String data = String(sensor1_data) + "," + String(sensor2_data) + "," 
+ String(sensor3_data);
  client.println(data);
  Serial.print("Daten gesendet: ");
  Serial.println(data);

  delay(1000);  // Wartezeit zwischen den Datenübertragungen
}


Dieser sendet die Daten an ein Pythonskript indem logischerweise die 
identische IP Adresse und Portnummer eingetragen ist. Dies funktioniert 
auch einwandfrei.

Als Accesspoint möchte ich nun auch einen ESP32 verwenden, dass Problem 
ist, dass ich es nicht hinbekomme, dass dieser meinem Laptop und den 
ESPs bei jeder Verbindung mit den gleichen IP Adressen ausstattet und 
ich deshalb jedes Mal den Code anpassen muss. Auf den Accesspoint bin 
ich angewiesen, da die Daten von zwei ESP32 erst an den dritten ESP32 
gehen sollen und dann über eine einzige WLAN Verbindung an den Laptop. 
Würde ungerne einen WLAN Router verwenden, da dieser für mobile 
Anwendungen unhandlich ist.

Hat jemand ne Idee wie ich den dritten ESP32 aufsetzen kann?

von Oliver R. (orb)


Lesenswert?

Tony schrieb:
> dass Problem ist, dass ich es nicht hinbekomme, dass dieser meinem Laptop
> und den ESPs bei jeder Verbindung mit den gleichen IP Adressen ausstattet

Wer macht denn die Adressverteilung, sprich wer ist DHCP-Server in 
Deinem Netz?

von Stefan F. (Gast)


Lesenswert?

Du könntest den Spieß umdrehen: Dein Laptop soll den ESP32 kontaktieren. 
Dessen IP Adresse ist immer die gleiche.

von Tony (tonynils_t)


Lesenswert?

Also in meinem jetzigen Szenario setzt der ESP32 den Accesspoint auf. 
Also verteilt dieser die IP-Adressen.

von Tony (tonynils_t)


Lesenswert?

Stefan F. schrieb:
> Du könntest den Spieß umdrehen: Dein Laptop soll den ESP32 kontaktieren.
> Dessen IP Adresse ist immer die gleiche.

Wie setze ich das um? Irgendwie stehe ich da auf dem Schlauch. Der ESP32 
soll ja als Accesspoint dienen und verteilt dann doch die IP-Adressen?

von Tony (tonynils_t)


Lesenswert?

Oliver R. schrieb:
> Tony schrieb:
>> dass Problem ist, dass ich es nicht hinbekomme, dass dieser meinem Laptop
>> und den ESPs bei jeder Verbindung mit den gleichen IP Adressen ausstattet
>
> Wer macht denn die Adressverteilung, sprich wer ist DHCP-Server in
> Deinem Netz?

Also in meinem jetzigen Szenario setzt der ESP32 den Accesspoint auf.
Also verteilt dieser die IP-Adressen.

von Stefan F. (Gast)


Lesenswert?

Tony schrieb:
> Wie setze ich das um? Irgendwie stehe ich da auf dem Schlauch. Der ESP32
> soll ja als Accesspoint dienen und verteilt dann doch die IP-Adressen?

Das soll auch so bleiben.

Du sagst, dass dein Laptop eine feste IP Adresse braucht, damit das 
Python Script auf dem ESP den Laptop kontaktieren kann. Kehre das 
einfach um!

Lasse das Python Script auf dem Laptop deinen ESP kontaktieren.

von Mario M. (thelonging)


Lesenswert?

Gleich wenn Du das DHCP-Problem gelöst hast, wirst Du feststellen, dass 
WLAN-Geräte über den ESP nicht miteinander kommunizieren können. Das 
Thema hatte wir gerade.
Beitrag "ESP32 als AP und zwei Stations, die kommunizieren sollen"

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
Noch kein Account? Hier anmelden.