WiFi.mode für AP und STA richtig anwenden

Mehr
07 Aug 2017 00:33 - 07 Aug 2017 00:49 #242 von Maniac
WiFi.mode für AP und STA richtig anwenden
sehe dir mal die bsp-2.txt

Dateianhang:

Dateiname: bsp-2.txt
Dateigröße:2 KB

(umbennen in bsp-2.ino) an!

wenn du ein zweiten nodemcu hast
klemme mal an D1 eine LED.

Verbinde dich mit dem AP dann http://192.168.4.1 mit Handy

unter denn Button
Local IP :xxx.xxx.xxx.xxx
gateway IP :yyy.yyy.yyy.yyy
subnetMask IP :zzz.zzz.zzz.zzz

vom pc aus über Router mit http:// xxx.xxx.xxx.xxx

jetzt kannst über Handy und PC die LED an und aus machen!

IPAddress STA_IP; = Local IP mit () und ersetzt . durch ,
IPAddress STA_DNS; zu 90% = router ip
IPAddress STA_GAT; zu 90% = router ip
IPAddress STA_SUB; = subnetMask IP () und ersetzt . durch ,

siehe IPAddress AP_IP(192,168,4,1);


ist nur Beispiel mit WiFi.mode(WIFI_AP_STA); und festen IP's
da ESP8266mDNS keine Option ist
und DNSServer.h im Heim-Wlan auch nicht klappt!

Forum auf max breit 1050 ist doch Witz!
Bei einer Bildschirm breite von 1920 oder mehr!
Anhänge:
Letzte Änderung: 07 Aug 2017 00:49 von Maniac.
Folgende Benutzer bedankten sich: VeryPrivat

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • VeryPrivat
  • VeryPrivats Avatar Autor
  • Offline
  • New Member
  • New Member
  • ESP ist der Wahnsinn!
Mehr
07 Aug 2017 11:46 - 07 Aug 2017 11:50 #244 von VeryPrivat
WiFi.mode für AP und STA richtig anwenden
Interessantes Beispiel. Eigenartigerweise heißt mein (noch?) ESP_1078C1. Ich musste auch kein (neues?) Passwort eingeben!? Ist da noch die alte Konfiguration aktiv? Habe aber
const char* AP_ssid  = "Maniac";
const char* AP_pass =  "Maniac!";
eingegeben!?
Passiert mir bei STA_AP immer, dass AP "funktioniert", obwohl ich gar nicht in die WiFi.softAPConfig Routine komme...
Aber in Deinem Programm ist das ja nicht der Fall...
Was mir gut gefällt: Statische IP - bisher habe ich die im Router konfiguriert...
#include <DNSServer.h>
brauche ich aber nicht, oder?
PS: Jetzt habe ich in Firefox noch Anzeigeprobleme (schneidet ab), da die Seitenanzeige (1,2,3) breiter ist als die Beiträge. Chrome zeigt es normal an :sick:

Schade, mit etwas mehr Betreuung der admins könnte dies ein richtig geiles Forum sein...
Letzte Änderung: 07 Aug 2017 11:50 von VeryPrivat.

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
07 Aug 2017 17:39 - 07 Aug 2017 17:42 #245 von Maniac
WiFi.mode für AP und STA richtig anwenden
XX_pass immer mindest 8 Zeichen
warum er deine alte AP conf genommen hat keine Ahnung

ist auch nur ein simple, einfache Beispiel am könnte vieles besser machen aber zum zeigen das es geht reicht es.

WiFi.softAPConfig so wie SSID und PASS wird in der void setup(),
muss auch nur 1 mach gemacht werden. anders als beim STA.

im void loop() prüfen STA auf verbinungsstatus und neu verbinden grund einstellung da zu werden in der void setup() gemacht!

deswegen im loop nur noch WiFi.begin(); ohne ssid und pass

#include <DNSServer.h> nein da das gleiche Problem AP läuft im STA nicht weil das der Router macht!
außer wer hier im forum hat das im STA_AP modus zum laufen gebracht.

ps.:
so im FF und anzeige des ESP-Forums
installiere stylish
auf das S klicken style verwalten
das eingeben
@namespace url(http://www.w3.org/1999/xhtml);

@-moz-document domain("esp-forum.de") {
	#all {
		max-width: 9999px;
	}
}
nicht vergessen speichern. :P
links das Info dings bums schließen
ist gleich viel angenehmer mit dem lesen kein Verschwendung von ca 50% des Bildschirms

So jetzt warte ick auf die prügel vom admin wegen "Verunstaltung des ESP-Forums" :evil: :evil:

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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • VeryPrivat
  • VeryPrivats Avatar Autor
  • Offline
  • New Member
  • New Member
  • ESP ist der Wahnsinn!
Mehr
07 Aug 2017 22:38 - 08 Aug 2017 13:25 #246 von VeryPrivat
WiFi.mode für AP und STA richtig anwenden
Ver...wünscht, scheinbar war echt 1 Zeichen zu wenig! Da wär' ich alleine wohl nie drauf gekommen...
Das mit Stylish funktioniert auch wunderbar. Nur die linke Seitenleiste ist noch etwas breit... Stylish soll ja schon etwas "mitlesen" was ich so gelesen habe.

Schade, mit etwas mehr Betreuung der admins könnte dies ein richtig geiles Forum sein...
Letzte Änderung: 08 Aug 2017 13:25 von VeryPrivat. Begründung: angesprochene Kontaktaufnahme ist erfolgt...

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Mehr
08 Aug 2017 10:44 - 08 Aug 2017 13:36 #247 von Maniac
WiFi.mode für AP und STA richtig anwenden
leider kein PN's, aber sehe mal in die WLAN Kristall kugele links neben der blauen Donau aber nach der Ilz sollte Nachricht für dich sein! :side: :evil: B)

Das mit den min. 8 Zeichen steht irgend wo in der Doko vom arduino oder ESP8266.

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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

  • VeryPrivat
  • VeryPrivats Avatar Autor
  • Offline
  • New Member
  • New Member
  • ESP ist der Wahnsinn!
Mehr
08 Aug 2017 13:33 #248 von VeryPrivat
WiFi.mode für AP und STA richtig anwenden
Jetzt habe ich basierend auf Deinem STA_AP Code mein Schrittschaltwerk bzw. Programm angepasst. Mir stellt sich allerdings eine Frage: Warum bzw. wann macht man überhaupt eine neue Einwahl? Konnte nirgends lesen, dass WiFi.begin mal aufgibt. Im Debug tu ich nämlich so als würde ich die Einwahl abbrechen. Nach einiger Zeit versuche ich es wieder...
if (GintSSWStatus == sswWIFIRETRY)
      { //Netzwerk: Verbindungsaufbau wird überprüft
        if (millis() > (GulLastSTATry + 15000))
        { //Einwahlversuch dauert schon lange => Warten abbrechen (TODO: Eiwahl abbrechen sinnvoll?)
          DBGPRINT("\nErfolglose Einwahl zu " + String(WIFI_SSID) + "für " + (String) ((millis() - GulLastSTATry) / 1000) + " Sekunden (Timeout)\n");
          GintSSWStatus = 0;
        }
        else
        { //Timeout noch nicht erreicht...
          if (WiFi.status() != WL_CONNECTED)
          { // Verbindung nicht hergestellt...
            DBGPRINT(">");
            GulNextMillis = millis() + 500;              //Wartezeit bis zum nächsten Schritt...
          }
          else
          {
            DBGPRINT("\nVerbunden! SSID: " + String(WiFi.SSID().c_str()) + "\n");
            DBGPRINT("IP Adresse: " + String(WiFi.localIP().toString().c_str()) + "\n");
            DBGPRINT("Nach dem Verbinden, sage 'Alexa, schalte <Gerät> an' oder 'aus'\n");
            GintSSWStatus = 0;
          }
        }
      }
Neustart des Versuches erfolgt in dieser Prozedur, die in der Hauptschleife aufgerufen wird:
void wifiCheck()
{ //Überprüft, ob Verbindung zu Station besteht und startet ggf. Verbindungsaufbau
  if (WiFi.status() != WL_CONNECTED)
  { //Es besteht keine Verbindung
    if (millis() > GulLastSTATry + (WIFI_STA_RETRYTIME * 1000))
    { //Versuchsintervall erreicht
      if (GintSSWStatus == 0)
      { // SSW gerade frei => Neuer Verbindungsversuch auf Router
        DBGPRINT("Neuer Verbindungsversuch in Router: " + (String)WIFI_SSID + " gestartet. Passwort: " + (String)WIFI_PASS + "\n");
        GintSSWStatus = sswWIFIRETRY;
        GulLastSTATry = millis();
        WiFi.begin(WIFI_SSID, WIFI_PASS);
      }
      else
      {
        DBGPRINT("Schrittschaltwerk belegt: ID=" + (String) GintSSWStatus + "\n");
      }
    }
  }
}

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

Bitte Anmelden oder Registrieren um der Konversation beizutreten.

Powered by Kunena Forum