Interessante Beobachtung:
Wenn ich den unten angeführten Code ausführe, funktioniert der Uplaod aber das Programm läuft nicht richtig.
void setup () {
static WiFiEventHandler e1, e2, e3;
Serial.begin (115200);
Serial.println ();
WiFi.mode (WIFI_STA);
WiFi.begin (YOUR_WIFI_SSID, YOUR_WIFI_PASSWD);
pinMode (ONBOARDLED, OUTPUT); // Onboard LED
digitalWrite (ONBOARDLED, HIGH); // Switch off LED
pinMode (13, OUTPUT); //Relais
digitalWrite (13, LOW);
delay (2000);
digitalWrite (13, HIGH);
delay (2000);
NTP.onNTPSyncEvent ([](NTPSyncEvent_t event) {
ntpEvent = event;
syncEventTriggered = true;
});
// Deprecated
/*WiFi.onEvent([](WiFiEvent_t e) {
Serial.printf("Event wifi -----> %d\n", e);
});*/
e1 = WiFi.onStationModeGotIP (onSTAGotIP);// As soon WiFi is connected, start NTP Client
e2 = WiFi.onStationModeDisconnected (onSTADisconnected);
e3 = WiFi.onStationModeConnected (onSTAConnected);
//by default, we'll generate the high voltage from the 3.3v line internally)
display.begin(SSD1306_SWITCHCAPVCC);
//init done
display.display();
delay(2000);
//clear buffer display
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.println("HALLO!!!");
display.display();
//Initialize the I2C bus (BH1750 library doens't do this automatically)
Wire.begin(D6,D5); //D6,D5
// on ESP8266 you can select SCL and SDA pins using Wire.begin (D4,D3)
delay(500);
}
void loop () {
.....
}
Wenn ich dieses angeführten Code ausführe, funktioniert der Uplaod und das Programm läuft richtig. Habe diese Codezeilen
pinMode (13, OUTPUT); //Relais
digitalWrite (13, LOW);
delay (2000);
digitalWrite (13, HIGH);
delay (2000);
an das ende von void setup() gesetzt. Mehr nicht...
void setup () {
static WiFiEventHandler e1, e2, e3;
Serial.begin (115200);
Serial.println ();
WiFi.mode (WIFI_STA);
WiFi.begin (YOUR_WIFI_SSID, YOUR_WIFI_PASSWD);
pinMode (ONBOARDLED, OUTPUT); // Onboard LED
digitalWrite (ONBOARDLED, HIGH); // Switch off LED
NTP.onNTPSyncEvent ([](NTPSyncEvent_t event) {
ntpEvent = event;
syncEventTriggered = true;
});
// Deprecated
/*WiFi.onEvent([](WiFiEvent_t e) {
Serial.printf("Event wifi -----> %d\n", e);
});*/
e1 = WiFi.onStationModeGotIP (onSTAGotIP);// As soon WiFi is connected, start NTP Client
e2 = WiFi.onStationModeDisconnected (onSTADisconnected);
e3 = WiFi.onStationModeConnected (onSTAConnected);
//by default, we'll generate the high voltage from the 3.3v line internally)
display.begin(SSD1306_SWITCHCAPVCC);
//init done
display.display();
delay(2000);
//clear buffer display
display.clearDisplay();
display.setTextSize(1);
display.setTextColor(WHITE);
display.println("HALLO!!!");
display.display();
//Initialize the I2C bus (BH1750 library doens't do this automatically)
Wire.begin(D6,D5); //D6,D5
// on ESP8266 you can select SCL and SDA pins using Wire.begin (D4,D3)
delay(500);
pinMode (13, OUTPUT); //Relais
digitalWrite (13, LOW);
delay (2000);
digitalWrite (13, HIGH);
delay (2000);
}
void loop () {
...
}
Beim ESP musst Du aufpassen, dass Pin 13 != D13 ist. Beim ESP werden die Nummern als GPIO-Nummern bewertet.
Wie hast Du die LED angeschlossen? Nach GND oder nach 3,3V?
Die D13-LED der Arduinos gibt es so nicht. Nutze LED_BUILTIN als für den Prozessor definierte Konstante.
Gruß Tommy
Nach meinen Recharchen ist D7 der GPIO13.
Die Led habe ich nach GND angeschlossen.
Ok, ich weiß mein Schreibstil und auch zB die delay () sind nicht in Orndung. Dieser Code dient nur zu Testzwecken für mich.