WiFi.mode für AP und STA richtig anwenden

Mehr
30 Jul 2017 21:48 #234 von Maniac
WiFi.mode für AP und STA richtig anwenden
wenn es so ist geht es einfacher!


Router AUS - ESP(AP) Modus -> wartet auf "SCHALTE AN"

Wenn AN wechsle MODUS von AP zu STA und versucht zuverbinden!

über Router kommt AUS bei ESP an -> ESP schaltet Dose ab.
wechsle MODUS von STA zu AP Modus und wartet wieder auf "SCHALTE AN"

ggf. sollte mal der Router rumzicken (Verbindung Abbruch Router<->ESP) müsste man abfragen was zu letzt gemacht wurde AN oder AUS!

Forum auf max breit 1050 ist doch Witz!
Bei einer Bildschirm breite von 1920 oder mehr!

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • VeryPrivat
  • VeryPrivats Avatar Autor
  • Offline
  • New Member
  • New Member
  • ESP ist der Wahnsinn!
Mehr
04 Aug 2017 11:08 #235 von VeryPrivat
WiFi.mode für AP und STA richtig anwenden
Hallo Maniac,
sorry für die späte Antwort, hatte die Woche keine Zeit! OK, beim Delay werde ich zukünftig darauf achten, dass ich mit Schrittschaltwerk und Zähler arbeite, damit die anderen Routinen in der Loop auch bedient werden.
Das "Problem": Ich schalte mit dem ESP Steckdosen - unter anderem auch die des Routers in die er sich eingewählt hat. Zum Einschalten muss ich mich direkt verbinden. Funktioniert erstaunlich gut. Nervig ist, dass ich mich immer unterschiedliche IPs brauche je nachdem wie ich mich gerade einwähle. Zwischen nur AP & STA wechseln scheint mir unpraktisch. Besser ist, dass beides funktioniert - somit muss ich nicht erst herausfinden was gerade aktiv ist...

Schade, mit etwas mehr Betreuung der admins könnte dies ein richtig geiles Forum sein...

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
05 Aug 2017 01:42 - 05 Aug 2017 01:58 #236 von Maniac
WiFi.mode für AP und STA richtig anwenden
Erstmal kein Problem, gibt ja einen leben neben ESP.

Ich bin davon ausgegangen:
Router aus = kein Heim-Wlan
Steuerung über Handy oder Tab

somit muss ich nicht erst herausfinden was gerade aktiv ist...


genau da setzt ich ja an.
AP und STA können nicht gleichzeitig die gleich IP haben!

Also muss man zwischen beiden wählen!

Nächst Ansatz Punkt.
DOSE Router aus = kein Heim-Wlan = ESP-AP
DOSE Router  an =      Heim-Wlan = ESP-STA

Warum sich das nicht zu nutzen machen.

WiFi.config(local_ip, gateway, subnet, dns1);
WiFi.begin(STA_SSID,STA_PASS);
ESP versucht zu verbinden zum Heim-Wlan JA/NEIN

JA-> alles OK -> DOSE ist AN! (sieht nur nach ob noch Verbindung besteht)

NEIN-> ESP startet
WiFi.softAPConfig(local_ip, gateway, subnet)
WiFi.softAP(AP_ssid, AP_pass);
und versucht in bestimmten Intervall Verbindung zum Heim-Wlan (Router hatte schluck auf :P )

local_ip , gateway, subnet sollten gleich sein bei WiFi.softAPConfig und WiFi.config!!!!

So Gedanken spiel:
Du bist aufden weg nach Haus, bist in der nähe deiner Wohnung/Haus
Handy in die Hand, Wlan an, du hast eine Verbindung (du hast Heim-WLan und ESP-AP gespeichert im handy)

per Browser http://192.168.4.23 -> klick auf Router an.
kurz Wlan weg, handy verbindet sich Heim-Wlan, ESP-STA erreichbar.

Variant 2 bist zu Haus:
Handy bist du mit Wlan (Heim-Wlan) verbunden per Browser http://192.168.4.23 -> klick auf Router aus (ESP-STA).

Wlan auf Handy weg, dann mit ESP-AP verbunden!

Der code ist nicht getestet mit fester IP:
const char* STA_ssid = "Heim-Wlan";
const char* STA_pass = "Password";
IPAddress STA_IP;
IPAddress STA_DNS;
IPAddress STA_GAT;
IPAddress STA_SUB;

unsigned long previousMillis = 0;

const char* AP_ssid  = "ESP-AP";
const char* AP_pass =  "nocheinpassword";
IPAddress AP_IP;
IPAddress AP_GAT;
IPAddress AP_SUB;
bool AP_RUN=false;

void setup(){
...
	WiFi.mode(WIFI_AP_STA);
	//WiFi.config(local_ip, gateway, subnet, dns1);
        WiFi.begin ( STA_ssid, STA_pass );
        //WiFi.softAPConfig(local_ip, gateway, subnet);
	WiFi.softAP(AP_ssid, AP_pass);
..
}
void loop(){
....
	WiFi_Switch();
....
}
void WiFi_Switch()
{
	if (AP_RUN==false && WiFi.status()!=WL_CONNECTED)
	{
		//WiFi.softAPConfig(local_ip, gateway, subnet)
		WiFi.softAP(AP_ssid, AP_pass);
		AP_RUN=true;
	}

	if (WiFi.status()==WL_CONNECTED)
	{
		if (AP_RUN)
		{
			Serial.println(WiFi.localIP());
			WiFi.softAPdisconnect(true);
			AP_RUN=false;
		}
	}

	if(millis() - previousMillis >= 15000 && WiFi.status()!=WL_CONNECTED ) {
		WiFi.disconnect(true);
		//WiFi.config(local_ip, gateway, subnet, dns1);
		WiFi.begin ( );
		previousMillis=millis();
		if (!AP_RUN)
		{
			//WiFi.softAPConfig(local_ip, gateway, subnet)
			WiFi.softAP(AP_ssid, AP_pass);
			AP_RUN=true;
		}
	}
}

Forum auf max breit 1050 ist doch Witz!
Bei einer Bildschirm breite von 1920 oder mehr!
Letzte Änderung: 05 Aug 2017 01:58 von Maniac.
Folgende Benutzer bedankten sich: VeryPrivat

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
05 Aug 2017 01:44 - 05 Aug 2017 02:06 #237 von Maniac
WiFi.mode für AP und STA richtig anwenden
es gibt die variant mit ESP8266mDNS
aber das hat bei mir noch nie richtig geklappt!

sollte ich jetzt wieder auf dem falschen Dampfer seinen!
Dann sry.

Dann sag mir genau, was, wann und wo gebraucht wird zu dem Zeitpunkt und was vorhanden ist.

Forum auf max breit 1050 ist doch Witz!
Bei einer Bildschirm breite von 1920 oder mehr!
Letzte Änderung: 05 Aug 2017 02:06 von Maniac.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • VeryPrivat
  • VeryPrivats Avatar Autor
  • Offline
  • New Member
  • New Member
  • ESP ist der Wahnsinn!
Mehr
06 Aug 2017 15:36 #238 von VeryPrivat
WiFi.mode für AP und STA richtig anwenden
ESP8266mDNS benötigt Avahi (für Linux) oder Bonjour (für Windows). OSX hat Bonjour bereits installiert. Android unterstützt es scheinbar gar nicht. Da ich eine "out of the Box" Lösung möchte, keine interessante Option.
Danke für Deinen AP/STA Umschalt Code! Ich werde den mal bei Gelegenheit einbauen...
Am liebsten wäre mir halt, wenn der STA und AP gleichzeitig funktionieren würde. Wenn gleiche IP ohnehin nicht geht, dann werde ich mich wohl mit zwei verschiedenen IPs abfinden (müssen). Basierend auf Deinem Code werde ich mich noch periodisch in den Router einwählen, wenn ich ihn nicht erreiche - jetzt gehe ich in den AP und komme nicht mehr auf den Router...
Einen "dauerhaften" AP hätte ich deshalb auch gerne, da ich einen zweiten ESP bauen möchte, der Werte an den ersten schickt. Vermutlich kommt der zweite gar nicht bis zum Router (STA).

Schade, mit etwas mehr Betreuung der admins könnte dies ein richtig geiles Forum sein...

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
06 Aug 2017 23:01 #241 von Maniac
WiFi.mode für AP und STA richtig anwenden

Am liebsten wäre mir halt, wenn der STA und AP gleichzeitig funktionieren würde.


Das geht aber nicht mit der gleichen IP! STA und AP
	WiFi.mode(WIFI_AP_STA);
	//WiFi.config(local_ip, gateway, subnet, dns1);
        WiFi.begin ( STA_ssid, STA_pass );
        //WiFi.softAPConfig(local_ip, gateway, subnet);
	WiFi.softAP(AP_ssid, AP_pass);

wenn du mit unterschiedlichen ip's leben kannst.
if(WiFi.status()!=WL_CONNECTED && routerdose == true){
....
}
wenn der Router neustartet oder ein Verbindungsabbruch hat, das der ESP wieder eine Verbindung zum Router aufbaut soll. Auser wenn du die dose aus machst entfällt das mit dem Verbindungsaufbau bis die dose wieder an ist!

so mit wäre dauerhaft AP! so das ggf. ein weiter ESP sich verbinden kann!

Forum auf max breit 1050 ist doch Witz!
Bei einer Bildschirm breite von 1920 oder mehr!

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum