ESP-8266 Problem

Habe mich heute mal um mein neues nodeMCU Board gekümmert.

Ich wollte nur mal die interne LED zum Blinken bringen, aber selbst das klappt nicht. >:(

ich weiss einfach nicht warum.

Board erweiterung in der IDE gemacht.

http://arduino.esp8266.com/stable/package_esp8266com_index.json

da hab ich fast alles durchprobiert, aber nix.

und nu weiss ich nimmer weiter.

jemand ne idee dazu?

Sag mal, wie lange bist du schon dabei ?
Wie sollen wir mit den nichtssagenden Informationen helfen ?

Hast Du den Treiber für den Chipsatz installiert? Gibt es Fehlermeldungen? Wenn ja, welche?
Zeige Deinen Sketch (in Codetags) usw.

Du musst Dich doch nicht wie ein absoluter Anfänger benehmen.

Gruß Tommy

naja, ich bin davon ausgegangen, das der code zum blinken der internen LED nicht erwähnenswert wäre.
weil zu simpel.

aber bitte:

#define LED D0 //GPIO16 Interne Led auf dem NodeMCU Board 
               //oft auch bereits als LED_BUILTIN definiert
               //man koennte auch schreiben #define LED  16 (was das gleiche ist)

               // #define LED D7 //nur Falls du externe LED z.B. an D7 (GPIO13)
               // über ca. 330 Ohm Widerstand angeschlossen hast auskommentieren

void setup() {
 pinMode(LED, OUTPUT); // Port aus Ausgang schalten
 }

void loop() {
 digitalWrite(LED, LOW); //Led port ausschalten
 delay(1000); //1 Sek Pause
 digitalWrite(LED, HIGH); //Led port einschlaten
 delay(1000);
 }

und den auch:

void setup() {
 
  pinMode(LED_BUILTIN, OUTPUT);
}


void loop() {
  digitalWrite(LED_BUILTIN, HIGH);   
  delay(1000);                      
  digitalWrite(LED_BUILTIN, LOW);    
  delay(1000);                       
}

natürlich ist der Treiber installiert. CH340, sonst hätte ich auch vorher keine anderen Boards anbinden können.

bekomme auch keine Fehlermeldung bei der einstellung NodeMCU 1.0(ESP12e Module)

da sollte der wohl sein, glaub ich zumindest.

nur keine interne LED bekomm ich zum Blinken.

sowas simples.........das ist ja das, was mich so nervt.

Ich weiss sie nicht auswendig, aber ich habe auch so ein Test Blink Sketch und ich meine der PIN war 2 oder 4, aber definitiv nicht 16. 16 hatte was mit dem Deep Sleep Wake up zu tun. Beim nodeMCU ist 16 die onboard LED. Vom ESP12 (ESP8266), der auf dem nodeMCU aufgelötet ist, ist die onboard LED Pin 2. Ich könnte ja mal mein TestBlinkSketch reinstellen mit dem ich gerne meine NodeMCUs teste. (Hab ich nu gemacht, siehe unten)

Geschrieben auf dem Handy weit weg vom Computer und Nu Schlaf ich. Gute N8!

auch das werd ich mal testen.

aber der letzte satz hat mich zumindest zum lachen gebracht. gute N8

was mir auch aufgefallen ist, das die IDEt extrem langsam ist wenns um die ESP's geht.

hat mich zumindest zum lachen gebracht.

Tagesziel erreicht

garagenloeter:
was mir auch aufgefallen ist, das die IDEt extrem langsam ist wenns um die ESP's geht.

Kann ich so nicht sagen.

Gruß Tommy

D4 wars, LED blinkt, super... :slight_smile:

2tes Tagesziel...

Danke

LED_BUILTIN hat auch nicht funktioniert? Dann stimmt da noch irgendwas nicht...

Ich teste das so:

byte LED1 = 2;      // Arduino Pin vom der ESP12 onboard LED
byte LED2 = 16;      // Arduino Pin von der nodeMCU onboard LED
byte LED3 = 13;      // Arduino Pin vom der Arduino nano onboard LED

void setup() {
  pinMode(LED1, OUTPUT);
  pinMode(LED2, OUTPUT);
}

void loop() {
  digitalWrite(LED1, LOW);   // LED1 einschalten
  delay(30);                 // 30 Millisekunden warten
  digitalWrite(LED1, HIGH);  // LED1 ausschalten
  delay(1000);               // 1000 Millisekunden warten
  digitalWrite(LED2, LOW);   // LED2 einschalten
  delay(30);                 // 30 Millisekunden warten
  digitalWrite(LED2, HIGH);  // LED2 ausschalten
  delay(1000);               // 1000 Millisekunden warten
  digitalWrite(LED3, HIGH);  // LED3 einschalten
  delay(50);                 // 50 Millisekunden warten
  digitalWrite(LED3, LOW);   // LED3 ausschalten
  delay(1000);               // 1000 Millisekunden warten

}

Lieben Gruß,
Chris

Habe nun noch ein wenig quergelesen.

onboard LED blinkt nicht, weil nicht vorhanden. :confused:

Die LoLin haben das anscheinend nicht.

garagenloeter:
Habe nun noch ein wenig quergelesen.

onboard LED blinkt nicht, weil nicht vorhanden. :confused:

Die LoLin haben das anscheinend nicht.

Dann hast Du nicht den NodeMcu aus Deinem Link. Beim 3. Bild, ganz links über der Antenne ist die interne LED.
Meine blinkt beim Upload z.B. fröhlich vor sich hin.

[Nachtrag]
Gerade ausprobiert, lässt sich ansprechend mit:
byte LED1 = 2; // Arduino Pin von der ESP12 onboard LED
void setup() {
pinMode(LED1, OUTPUT);
digitalWrite(LED1, LOW);
[Nachtrag]

Moko:
Dann hast Du nicht den NodeMcu aus Deinem Link. Beim 3. Bild, ganz links über der Antenne ist die interne LED.
Meine blinkt beim Upload z.B. fröhlich vor sich hin.

[Nachtrag]
Gerade ausprobiert, lässt sich ansprechend mit:
byte LED1 = 2;
void setup() {
pinMode(LED2, OUTPUT);
digitalWrite(LED2, LOW)
}
[Nachtrag]

Welche denn ?
Led1 oder Led2 ?

HotSystems:
Welche denn ?
Led1 oder Led2 ?

Habs berichtigt.

Dann hast Du nicht den NodeMcu aus Deinem Link. Beim 3. Bild, ganz links über der Antenne ist die interne LED.
Meine blinkt beim Upload z.B. fröhlich vor sich hin.

-->Öhm, das ist aber nicht die LED, welche man mit LED_BUILTIN ansprechen kann...
Bei meinen NodeMCUs sitzt die interne LED über dem USB-Stecker, neben dem CP2102. Und die blinkt auch nicht beim Upload...

DerLehmi:
-->Öhm, das ist aber nicht die LED, welche man mit LED_BUILTIN ansprechen kann...
Bei meinen NodeMCUs sitzt die interne LED über dem USB-Stecker, neben dem CP2102. Und die blinkt auch nicht beim Upload...

Richtig, der "normale" NodeMCU hat 2 LED (eine onboard, eine auf dem ESP), die LoLin nur die eine vom ESP Board.

und der LoLin hat auch nen CH340 und keinen CP2102.

Bin aber schon ein stückerl weiter.

mit nem stibitzten Sketch ist das nun ein Client und hängt an der Fritzbox.

mal schaun was ich nun mit dieser Erkenntnis anfange.

ich wollte nun einen Sonoff, 1. Generation, mit dem gleichen Skecht wie auf dem NodeMCU Clone am laufen bringen.
aber der will nicht. So einer ist das:

https://www.google.de/imgres?imgurl=https%3A%2F%2Fimages-na.ssl-images-amazon.com%2Fimages%2FI%2F41WZIHaWhBL.jpg&imgrefurl=https%3A%2F%2Fwww.amazon.com%2FSonoff-Wireless-Remote-Switch-Automation%2Fdp%2FB01IF1H1TI&docid=lC6v-dtuR4KmOM&tbnid=utIJM1aXIVzFKM%3A&vet=10ahUKEwib4s3Q6K3ZAhUB6KQKHXVVDkgQMwhEKAcwBw..i&w=500&h=500&client=firefox-b&bih=678&biw=1280&q=sonoff&ved=0ahUKEwib4s3Q6K3ZAhUB6KQKHXVVDkgQMwhEKAcwBw&iact=mrc&uact=8

habs mit der Generic 8266 modul und mit der NodeMCU Einstellung versucht.
Hab auch jede menge Anleitungen dazu im WWW quer gelesen.

Der USB-TTL Adapter läuft, hab damit ProMinis geflashed.
auch umgeschaltet auf 3.3V.
RX/TX gedreht.

Der upload auf den Sonoff läuft auch ohne Fehlermeldung durch.

Nu weiss ich nicht weiter und brauch ich nen Tipp.

Edit:
3.3V abgeklemmt, taster gedrückt und 3.3v wieder angelegt bei gdrückten Taster um in den Flash Modus zu kommen, hab ich auch gemacht.

//https://www.arduinoforum.de/arduino-Thread-Sonoff-WiFi-Wireless-Switch-per-Webserver-vom-Tablet-oder-Smartphone-aus-schalten
#include <ESP8266mDNS.h>
#include <ESP8266WiFi.h>
#include <ESP8266WiFiMulti.h>
#include <WiFiClient.h>
#include <WiFiClientSecure.h>
#include <WiFiServer.h>
#include <WiFiUdp.h>

#include <ESP8266WebServer.h>
#include <ArduinoOTA.h>

const char* ssid = "xxxxxxxxxxxx";          //Zugangsdaten deines Routers einfügen
const char* password = "xxxxxxxxxxxxxxxxxxx";
// IPAddress local_ip (192, 168, 178, 36);    // optional um mit der selben IP ausserhalb des Heimnetz auf das Sonoff zugreifen zu können
// IPAddress gateway_ip (192, 168, 178, 1);   // optional kannst du hier die IP Adresse, Standartgateway und Subnetzmaske vom Heimnetz eingeben
// IPAddress subnet_ip (255, 255, 255, 0);    // optional oder auch eine beliebige IP Adresse um die Standart IP des Esp8266 zu umgehen
const int LED1PIN = 3;                // Oneboard Led Sonoff
const int LED2PIN = 2;                // Oneboard Led Sonoff
const int REL1PIN = 12;              // Oneboard Relais Sonoff
const int REL2PIN = 10;  
bool rel1State = LOW;
bool rel2State = LOW;
ESP8266WebServer server(80);

void handleRoot() {                  //Html Startseite
  if (server.hasArg("rel1off")) {
    digitalWrite(LED1PIN, 1);        // LED als Zustandsanzeige
    digitalWrite(REL1PIN, 0);        // Relais1 umschalten *aus*
    rel1State = LOW;
    Serial.println("Relais1 aus");
  }
  if (server.hasArg("rel2off")) {
    digitalWrite(LED2PIN, 1);        // LED als Zustandsanzeige
    digitalWrite(REL2PIN, 0);        // Relais2 umschalten *aus*
    rel2State = LOW;
    Serial.println("Relais2 aus");
  }
  if (server.hasArg("rel1on")) {
    digitalWrite(LED1PIN, 0);        // LED als Zustandsanzeige
    digitalWrite(REL1PIN, 1);        // Relais1 umschalten *ein*
    rel1State = HIGH;
    Serial.println("Relais1 ein");
  }
  if (server.hasArg("rel2on")) {
    digitalWrite(LED2PIN, 0);        // LED als Zustandsanzeige
    digitalWrite(REL2PIN, 1);        // Relais2 umschalten *ein*
    rel2State = HIGH;
    Serial.println("Relais2 ein");
  }
  String content = "<!DOCTYPE html><html lang='de'><head><meta charset='UTF-8'><meta name= viewport content='width=device-width, initial-scale=1.0,'>";
  content += "<title>Sonoff Schalter</title>\n<style type='text/css'><!-- .button1 {height:40px; width:170px; background-color: #00FF00; font-size:16px} .button2 {height:40px; width:170px; background-color: #FE0320; font-size:16px} --></style></head>\n<body><h2>Sonoff Schalter 1</h2><p>";
  if (rel1State == LOW) {
    content += " Relais1 ist aus<form action='/' method='POST'><input class='button1' name='rel1on' type='submit' value='Relais1 Ein'></form></body></html>";
  }
  if (rel1State == HIGH) {
    content += " Relais1 ist an<form action='/' method='POST'><input class='button2' name='rel1off' type='submit' value='Relais1 Aus'></form></body></html>";
  }
  content += "</title>\n<style type='text/css'><!-- .button3 {height:40px; width:170px; background-color: #00FF00; font-size:16px} .button4 {height:40px; width:170px; background-color: #FE0320; font-size:16px} --></style></head>\n<body><h2>Sonoff Schalter 2</h2><p>";
  if (rel2State == LOW) {
    content += " Relais2 ist aus<form action='/' method='POST'><input class='button3' name='rel2on' type='submit' value='Relais2 Ein'></form></body></html>";
  }
  if (rel2State == HIGH) {
    content += " Relais2 ist an<form action='/' method='POST'><input class='button4' name='rel2off' type='submit' value='Relais2 Aus'></form></body></html>";
  }
  server.send(200, "text/html", content);
}

void setup() {
  pinMode(LED1PIN, OUTPUT);
  pinMode(LED2PIN, OUTPUT);
  pinMode(REL1PIN, OUTPUT);
  pinMode(REL2PIN, OUTPUT);
  digitalWrite(LED1PIN, HIGH);
  digitalWrite(LED2PIN, HIGH);
  Serial.begin(115200);
  WiFi.mode(WIFI_STA);                      //Stationst-Modus --> Esp8266 im Heimnetzwerk einloggen
  WiFi.begin(ssid, password);

  while (WiFi.status() != WL_CONNECTED) {   // Im Heimnetz blinkt die Led im Sonoff bis WIFI Status Verbunden ist
    digitalWrite(LED1PIN, LOW);
    delay(250);
    digitalWrite(LED1PIN, HIGH);
    delay(250);
    Serial.print(".");
    if (WiFi.status() == WL_NO_SSID_AVAIL) {  // ist die oben eingegebene SSID nicht erreichbar, wird ein eigenes NW mit den selben Zugangsdaten
      digitalWrite(LED1PIN, LOW);              // (SSID Passwort) erstellt. Dein Smartphone loggt sich dadurch automatisch ein.
      WiFi.disconnect();                      // Soft-Access-Point-Modus --> Access-Point Adresse http://192.168.4.1/
      WiFi.softAP(ssid, password);
      // WiFi.softAPConfig(local_ip, gateway_ip, subnet_ip);   // optional nur erforderlich wenn nicht die vorgegebene IP verwendet werden soll
      delay(1000);                            // Die Led im Sonoff leuchtet eine Sekunde um den AP Modus anzuzeigen.
      digitalWrite(LED1PIN, HIGH);
      break;
    }
  }
  server.on("/", handleRoot);
  server.onNotFound([]() {
    server.sendContent("HTTP/1.1 303 OK\r\nLocation: /\r\nCache-Control: no-cache\r\n\r\n");
  });
  server.begin();
  Serial.println("HTTP server started");
  ArduinoOTA.begin();                      // https://arduino-esp8266.readthedocs.io/en/latest/ota_updates/readme.html
}

void loop() {
  ArduinoOTA.handle();
  server.handleClient();
  // Füge hier deinen Code ein:
}

garagenloeter:
aber der will nicht.

ich liebe so detaillierte Fehlerbeschreibungen

Lade doch einen Sketch hoch, der dir was seriell ausgibt. Oder einen IO-pin toggelt. Dann weist du wenigstens, ob deine upload Methode funktioniert.
Und stell in der IDE die richtigen Parameter für den ESP8266 generic ein.