ESP 8266 NodeMcu 1.0(ESP-12E) mit Wlan verbinden funktioniert nicht

Hallo Leute,
Ich habe folgendes Problem: Ich kann meinen ESP 8266 nicht mit meinen Wlan verbinden. Ich bekomme bei folgendem ersten scatch nur Punkte im seriellen monitor angezeigt oder bei dem 2Scatch steht nur dort das er zu verbinden versucht und dann die Verbindung nicht funktioniert hat, zeigt aber auch nicht warum :confused: . Nutze die Boardverwalterversion 2.2.0. W√ľrde mich sehr freuen wenn mir jemand schnell antworten k√∂nnte. Scatch 1:

for ESP8266 adapted Arduino IDE


#include <ESP8266WiFi.h>

const char* ssid = "Wireless_Home1";
const char* password = "XXXXXXXXXX";

unsigned long ulReqcount;
unsigned long ulReconncount;


// Create an instance of the server on Port 80
WiFiServer server(80);

void setup() 
{
  // setup globals
  ulReqcount=0; 
  ulReconncount=0;
  
  // prepare GPIO2
  pinMode(2, OUTPUT);
  digitalWrite(2, 0);
  
  // start serial
  Serial.begin(9600);
  delay(1);
  
  // inital connect
  WiFi.mode(WIFI_STA);
  WiFiStart();
}

void WiFiStart()
{
  ulReconncount++;
  
  // Connect to WiFi network
  Serial.println();
  Serial.println();
  Serial.print("Connecting to ");
  Serial.println(ssid);
  
  WiFi.begin(ssid, password);
  
  while (WiFi.status() != WL_CONNECTED) {
    delay(500);
    Serial.print(".");
  }
  Serial.println("");
  Serial.println("WiFi connected");
  
  // Start the server
  server.begin();
  Serial.println("Server started");

  // Print the IP address
  Serial.println(WiFi.localIP());
}

void loop() 
{
  // check if WLAN is connected
  if (WiFi.status() != WL_CONNECTED)
  {
    WiFiStart();
  }
  
  // Check if a client has connected
  WiFiClient client = server.available();
  if (!client) 
  {
    return;
  }
  
  // Wait until the client sends some data
  Serial.println("new client");
  unsigned long ultimeout = millis()+250;
  while(!client.available() && (millis()<ultimeout) )
  {
    delay(1);
  }
  if(millis()>ultimeout) 
  { 
    Serial.println("client connection time-out!");
    return; 
  }
  
  // Read the first line of the request
  String sRequest = client.readStringUntil('\r');
  //Serial.println(sRequest);
  client.flush();
  
  // stop client, if request is empty
  if(sRequest=="")
  {
    Serial.println("empty request! - stopping client");
    client.stop();
    return;
  }
  
  // get path; end of path is either space or ?
  // Syntax is e.g. GET /?pin=MOTOR1STOP HTTP/1.1
  String sPath="",sParam="", sCmd="";
  String sGetstart="GET ";
  int iStart,iEndSpace,iEndQuest;
  iStart = sRequest.indexOf(sGetstart);
  if (iStart>=0)
  {
    iStart+=+sGetstart.length();
    iEndSpace = sRequest.indexOf(" ",iStart);
    iEndQuest = sRequest.indexOf("?",iStart);
    
    // are there parameters?
    if(iEndSpace>0)
    {
      if(iEndQuest>0)
      {
        // there are parameters
        sPath  = sRequest.substring(iStart,iEndQuest);
        sParam = sRequest.substring(iEndQuest,iEndSpace);
      }
      else
      {
        // NO parameters
        sPath  = sRequest.substring(iStart,iEndSpace);
      }
    }
  }
  
  ///////////////////////////////////////////////////////////////////////////////
  // output parameters to serial, you may connect e.g. an Arduino and react on it
  ///////////////////////////////////////////////////////////////////////////////
  if(sParam.length()>0)
  {
    int iEqu=sParam.indexOf("=");
    if(iEqu>=0)
    {
      sCmd = sParam.substring(iEqu+1,sParam.length());
      Serial.println(sCmd);
    }
  }
  
  
  ///////////////////////////
  // format the html response
  ///////////////////////////
  String sResponse,sHeader;
  
  ////////////////////////////
  // 404 for non-matching path
  ////////////////////////////
  if(sPath!="/")
  {
    sResponse="<html><head><title>404 Not Found</title></head><body><h1>Not Found</h1><p>The requested URL was not found on this server.</p></body></html>";
    
    sHeader  = "HTTP/1.1 404 Not found\r\n";
    sHeader += "Content-Length: ";
    sHeader += sResponse.length();
    sHeader += "\r\n";
    sHeader += "Content-Type: text/html\r\n";
    sHeader += "Connection: close\r\n";
    sHeader += "\r\n";
  }
  ///////////////////////
  // format the html page
  ///////////////////////
  else
  {
    ulReqcount++;
    sResponse  = "<html><head><title>Demo f&uumlr ESP8266 Steuerung</title></head><body>";
    sResponse += "<font color=\"#000000\"><body bgcolor=\"#d0d0f0\">";
    sResponse += "<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0, user-scalable=yes\">";
    sResponse += "<h1>Demo f&uumlr ESP8266 Steuerung</h1>";
    sResponse += "Funktion 1 schaltet GPIO2 und erzeugt eine serielle Ausgabe.
";
    sResponse += "Funktion 2 erzeugt nur eine serielle Ausgabe.
";
    sResponse += "<FONT SIZE=+1>";
    sResponse += "<p>Funktion 1 <a href=\"?pin=FUNCTION1ON\"><button>einschalten</button></a>&nbsp;<a href=\"?pin=FUNCTION1OFF\"><button>ausschalten</button></a></p>";
    sResponse += "<p>Funktion 2 <a href=\"?pin=FUNCTION2ON\"><button>einschalten</button></a>&nbsp;<a href=\"?pin=FUNCTION2OFF\"><button>ausschalten</button></a></p>";
    
    //////////////////////
    // react on parameters
    //////////////////////
    if (sCmd.length()>0)
    {
      // write received command to html page
      sResponse += "Kommando:" + sCmd + "
";
      
      // switch GPIO
      if(sCmd.indexOf("FUNCTION1ON")>=0)
      {
        digitalWrite(2, 1);
      }
      else if(sCmd.indexOf("FUNCTION1OFF")>=0)
      {
        digitalWrite(2, 0);
      }
    }
    
    sResponse += "<FONT SIZE=-2>";
    sResponse += "
Aufrufz&auml;hler="; 
    sResponse += ulReqcount;
    sResponse += " - Verbindungsz&auml;hler="; 
    sResponse += ulReconncount;
    sResponse += "
";
    sResponse += "Stefan Thesen 04/2015
";
    sResponse += "</body></html>";
    
    sHeader  = "HTTP/1.1 200 OK\r\n";
    sHeader += "Content-Length: ";
    sHeader += sResponse.length();
    sHeader += "\r\n";
    sHeader += "Content-Type: text/html\r\n";
    sHeader += "Connection: close\r\n";
    sHeader += "\r\n";
  }
  
  // Send the response to the client
  client.print(sHeader);
  client.print(sResponse);
  
  // and stop the client
  client.stop();
  Serial.println("Client disonnected");
}

Scatch2: Projekt: GitHub - kakopappa/arduino-esp8266-alexa-multiple-wemo-switch: multiple belkin wemos switch emulator using ESP8266

Sch√∂ne Gr√ľ√üe

Lukas

Hallo noiasca,
Ja das hab ich auch schon probiert, das Beispiel mit dem scan klappt und erkennt mein Wlan, und das Beispiel mit dem Web Server da sieht man auch nur Punkte im seriellen Monitor, und verbindet sich nicht

Gruß Lukas

Bekomme bei WebServer folgende Meldung

ets Jan 8 2013,rst cause:2, boot mode:(3,6)

load 0x4010f000, len 1264, room 16
tail 0
chksum 0x0f
csum 0x0f
~ld

Lukas

Das kann viele Ursachen haben. Die beliebtesten sind:

-- ssid oder passwort vertippt
-- WLAN-Router nimmt nur bekannte Geräte an (MAC)
-- Die Entfernung ist zu groß

nur um einige zu nennen.

Schau doch mal in Deinen WLAN-Router, ob da was verdächtiges (unerlaubte Anmeldung) gemeldet wird.

Gruß Tommy

Hallo Tommy,
Ssid und passwort sind richtig und sitze genau √ľber dem router
Woran erkennt man unerlaubte Anmeldungen, Hab ne FritzBOX

Gruß Lukas

Hallo

FRitzbox mit dem brauser offnen

Menue links
Wlan / Funknetz /

dann unter den bekannten Geräten gibts einen Zeile "Erfolglose Anmeldeversuche"

musst Du erst drauf clicken

dann offen sich eine Liste falls was drinn steht

Hallo
Ah achso, ja hab ich nachgeschaut, dort steht aber nichts, also keine erfolglosen Anmeldeversuche

Lukas

Hi leute,
habe jetzt den Flash geleert, mit Hilfe von diesem Scatch
Jetzt werden wieder nur punkte die ins unendliche gehen angezeigt

Lukas

Sry

Scatch: https://github.com/kentaylor/EraseEsp8266Flash

Hi,

1.schau noch mal in der Fritzbox nach

Wlan / Sicherheit / unten alle Geräte zulassen

  1. Auf welchem Funkkanal ist Deine Frizbox ?

ich hatte mit meinen ESP8266-01 Probleme wenn die FRitzbox auf Kanal 12, 13 sendet.

findest Du unter Funkkanal unten

versuche mal Kanal 1 einzustellen bei der Fritzbox ist oben auf der Seite Einstellung anpassen.

ist bei deiner Fritzbox das 2,4 GHz Band aktiviert?

Mhmm, wir nutzen nicht den wlan router von der FritzBox direkt sondern einen von cisco der 2,4 GHz Band sendet

Lukas

Ich kann den Kanal also nicht einstellen, und normalerweise sind alle Geräte zugelassen.

"Normalerweise" ist keine zielf√ľhrende Aussage.

Gruß Tommy

was denn nun , ich denke Du hast ne Fritzbox ?

jetzt doch nicht ?

dann versuch mal Dir einen W-Lan scanner auf deinen PC zu laden der die angemeldeten Geräte und den Kanal anzeigt.

ich tippe immer noch darauf das die Zugangsdaten nicht stimmen die Du verwendest.

Ich meine ja, er lässt alle zu

Lukas

Ja der Router ist ne FritzBox, der Access Point, der das Wlan-Signal sendet aber nicht, der ist von cisco .

Gruß Lukas

Hi,

der Sketch läuft bei mir. Die Suche nach dem Fehler auf der Seite des Routers ist der richtige Weg.
Kontrolliere doch nochmal wie es Rentner schon gesagt hat, deine Zugangsdaten. Da vertippt man sich schnell mal.
Sonst versuche mal ein W-lan von der Fritzbox aus aufzuspannen. 2,4 Ghz auf Kanal 11. Bei mir läuft das ohne Probleme.

Ja ok, werd ich machen danke, melde mich dann wieder.

Gruß Lukas

Moin,
also ich habe es jetzt mit dem FritzBOX wlan ausprobiert, so wie ihr gesagt habt, bekomme aber immer noch die gleichen Fehlermeldungen. Mach ich vielleicht irgendwas falsch? Vielleicht ist ja noch irgendwas auf dem Stick gespeichert was da nicht hingehört oder falscher Boardtreiber oder sowas.

Gruß Lukas