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() {
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
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
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?
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!?
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.
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.
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.
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...
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);
}
}