Esp8266 Wifi verbindung

HEy und zwar habe ich mir einen ESP8266 gekauft, aber ich bekomme es nicht hin ihn mit meine Wlan zu verbinden, ich nutze habe es mit dem Beispiel der ESP8266 Bibliothek genutzt. Aber aus irgendeinem grund verbindet es sich nicht mit meinem Router, bzw. gibt er eine falsche ip aus, weil wenn ich im Router gucke dann hat er keine Ip und internetverbindung hat er auch nicht.

#include <ESP8266WiFi.h>

#ifndef STASSID
#define STASSID "SSID"
#define STAPSK  "Passwort"
#endif

const char* ssid     = STASSID;
const char* password = STAPSK;

const char* host = "djxmmx.net";
const uint16_t port = 80;

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

  // We start by connecting to a WiFi network

  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);

  /* Explicitly set the ESP8266 to be a WiFi-client, otherwise, it by default,
     would try to act as both a client and an access-point and could cause
     network-issues with your other WiFi-devices on your WiFi-network. */
  WiFi.mode(WIFI_STA);
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }

  Serial.println("");
  Serial.println("WiFi connected");
  Serial.println("IP address: ");
  Serial.println(WiFi.localIP());
}

void loop() {

Hallo
Zugangsdaten hast du richtig angegeben
SSID und Passwort

Das heißt es werden nur die Punkte auf dem Monitor ausgegeben , immer weiter?

Was für eine Ip wird dir denn angegeben , woher weißt du das sie falsche ist , wenn nur Punkte angezeigt werden

Heinz

Hey, naja manchmal verbindet es, und es kann keine IP in meinem Netzt sein deswegen weis ich das (169.), ja die SSID und das Passwort sind richtig, mehrfach getestet

Hallo,

2 Dinge gibts zubeachten.

a) im Router muss die Anmeldung unbekannter WLAN Geräte eingeschalten sein
b) Passwort ist der WLAN-Key?
c) Sicherheitshalber erstmal unter Werkzeuge >> Erase Flash >> All Flash Contents auswählen

b) frage ich aus eigener Erfahrung :slight_smile:

mein Testcode zur WLAN Bekanntmachung.

#include <ESP8266WiFi.h>

void setup()
{

  Serial.begin(115200);
  Serial.println();

  WiFi.disconnect(true);
  delay(10);
  WiFi.mode(WIFI_STA);
  delay(10);

  WiFi.begin("SSID", "KEY"); // SSID, WLAN-Key 


  Serial.print("Connecting");

  while (WiFi.status() != WL_CONNECTED)
  {
    delay(100);
    Serial.print(".");
  }

  Serial.println();
  Serial.print("Connected, IP address: ");
  Serial.println( WiFi.macAddress() );
  Serial.println( WiFi.localIP() );
  Serial.println( ESP.getChipId() );
}

void loop()
{

}

was ist denn der Wlan key? ich habe einfach das passwort des wlans genommen, mit dem ich mich mit jedem gerät dort anmelde

Hallo,

deine Antwort klingt mehrdeutig.

Der WLAN Key ist der lange Zahlencode bei Fritzboxen der hinten drauf steht.
Wie der bei anderen Routern aussieht weiß ich nicht.
Es ist damit auf jeden Fall nicht das Passwort zum Router Login auf dessen Weboberfläche gemeint.

Falls du den langen Key meinst ist das okay.
Deswegen die nächste Frage. Lässt du im Router neue WLAN Geräte zu?
In den Fritzboxen kann man das erlauben oder auf bis dahin bekannte beschränken.
Was hast du überhaupt für einen Router?

SSID ist auch der Name deines WLAN Netzes?

Deine WPA (nehme ich mal an) Passphrase ist wie schon oben geschrieben oft hinten auf dem Router (ASCII max 63 stellig, oder HEX max. 64) aufgedruckt...

So ganz verstehe ich Deine Aussage aber nicht! Du siehst den ESP in der Gui Deines Routers, aber es wurde keine IP zugewiesen!?

Gruß SG

Hallo,

aus eigener Erfahrung kann ich sagen, ja das ist möglich, wenn auch nur sporadisch. Die kurzzeitige Sichtbarkeit sind die Anmeldeversuche. IP wird erst später vergeben.

Da hast Du vollkommen recht, aber dann doch nur im Log und nicht in der Clientliste!?

Gruß SG

Im Log hatte ich dabei nicht geschaut, habs in der Clientliste gesehen. Aktualisieren drücken hilft auch um den ständigen Wechsel mitzubekommen. Wenn er dann drin steht und man nicht gleich wieder aktualisiert bleibt er erstmal stehen ohne IP. Drückt man dann drauf um vorsorglich den Namen zu ändern ist er wieder weg. Wirkt wie aktualisieren. Bei mir lags am falschen WLAN-PW. :slight_smile:

Doc_Arduino:
Der WLAN Key ist der lange Zahlencode bei Fritzboxen der hinten drauf steht.
Wie der bei anderen Routern aussieht weiß ich nicht.
Es ist damit auf jeden Fall nicht das Passwort zum Router Login auf dessen Weboberfläche gemeint.

Falls du den langen Key meinst ist das okay.

Ok nein den Code habe ich nicht verwendet, ich habe nur das normale Wlan passwort verwendet, was ich auch selber ändern kann.

SolarGermany:
So ganz verstehe ich Deine Aussage aber nicht! Du siehst den ESP in der Gui Deines Routers, aber es wurde keine IP zugewiesen!?

Gruß SG

Naja in meiner Clientlist meisnes routers haben alle Geräte eine IPv4 außer der ESP er steht in der Liste drin, aber das Feld der Ipv4 ist einfach leer.

wenn ich das hier mit Uploade:
IPAddress ip(192, 168, 0, 55);
IPAddress gateway(192, 168, 0, 1);
IPAddress subnet(255, 255, 255, 0);
IPAddress dns(192, 168, 0, 1);

WiFi.config( ip, dns, gateway, subnet);

dann Connected es direkt, aber wenn ich dann versuche den Telegrammbot zu starten verbindet er sich nicht mit dem server. Aber im Router steht auch nicht diese IP, sondern das Feld ist immernoch leer.

Ist die 192.168.0.55 durch ein anderes Gerät belegt?

Gruß Tommy

Nein .55 ist eine freie IP

MrTilllus:

#ifndef STASSID

#define STASSID "SSID"
#define STAPSK  "Passwort"
#endif

const char* ssid     = STASSID;
const char* password = STAPSK;

Vielleicht gibt es schon hier Probleme? Lass dir mal die Variablen STASSID, STAPSK, ssid und password im Seriellen Monitor im setup() ausgeben und wenn die Werte gesetzt sind, vergleiche auch mal das Passwort mit dem WLAN-Passwort im Router.

nein, der ESP an sich verbindet ja, wenn ich das pw oder die ssid ändere dann verbindet er nicht, sondern wirft mich vorher schon raus, also flasches pw oder ssid kann ich ausschließen

Der DHCP-Server ist im Router eingeschaltet und es gibt auch nur einen DHCP-Server? Das könnte zumindest erklären, dass der ESP keine IP kriegt, sondern nur die APIPA-IP 169.254.xxx.xxx (Rückfallbasis)

Schau dir auch mal die Seite an, ich weiß nicht ob die Libs gleich sind, aber ein Test ist es wert...

Ja der ist an, also er vergibt automatisch die IPs.

Ja nach der seite habe ich es dann auch gemacht, er zeigt bei dem WiFi.status die ganze zeit nur WL_Diconnectet also status 6 an

mein passwort und meine ssid sind auch richtig

Hallo,

Welchen Router hast du?

Eigentlich ist es so, spreche von meiner Fritzbox, wenn sich der ESP schon einmal erfolgreich verbinden konnte, dann ist er dem Router bekannt und gespeichert. Dann steht der ESP auch in der WLAN Geräteliste drin obwohl er nicht aktiv ist.

Ist das bei dir der Fall?
Wenn ja, nochmal von vorn, was macht folgender Sketch bei dir?

#include <ESP8266WiFi.h>

void setup()
{
  Serial.begin(115200);
  Serial.println();
  pinMode(LED_BUILTIN, OUTPUT);

  WiFi.disconnect(true);
  delay(20);
  WiFi.mode(WIFI_STA);
  delay(20);

  WiFi.begin("SSID-Name", "WLAN-KEY");    // <<-- ändern

  Serial.print("Connecting");

  while (WiFi.status() != WL_CONNECTED)
  {
    delay(100);
    Serial.print(".");
  }

  Serial.println();
  Serial.print("Connected, IP address: ");
  Serial.println( WiFi.macAddress() );
  Serial.println( WiFi.localIP() );
  Serial.println( ESP.getChipId() );
}


void loop()
{
  heartbeat (500);
}


void heartbeat (unsigned int interval)          // Kontrolle ob loop läuft/blockiert
{
  static unsigned long last_ms = 0;
  static bool state = LOW;

  unsigned long ms = millis();

  if (ms - last_ms >= interval) {
    last_ms = ms;
    state = !state;
    digitalWrite(LED_BUILTIN, state);
  }
}