mit Blynk eine Relais steuern

Hallo zusammen,

ich bin neu auf diesem Gebiet, also habt etwas Nachsicht mit mir :slight_smile:

Ich habe auf einem NodeMcu V3 erfolgreich Blynk (ESP8266_Standalone) zum laufen bekommen. Desweiteren habe ich in der App einen Schalter eingerichtet mit dem ich bereits in der Lage bin, ein Relais welches an D1 angeschlossen ist du schalten. So weit so gut

Nun zu meinem Problem:

Wenn ich den NodeMcu vom Strom trenne und anschließend wieder mit Strom versorge schaltet sich mein Relais ebenfalls mit ein. Ich muss immer erst einmal in der App den Schalter betätigen. Erst dann funktioniert es richtig.

Wie und wo kann ich einstellen das der Pin z.B. D1 beim Start nicht HIGH ist ?

Mfg der tkt

Indem du im Setup den Pin nach der Definition (Output) auf Low setzt.

Kommt allerdings auch drauf an, was für ein Relais-Modul du verwendest.

... in dem du ganz am Anfang vom Setup das Relais so schaltest wie du es beim Start haben willst.

Kannst du mir mal anhand eines Beispieles aufzeigen wie der Code auszusehen hat ?

tkt:
Kannst du mir mal anhand eines Beispieles aufzeigen wie der Code auszusehen hat ?

Wenn du deinen Sketch hier in Code-Tags postest, können wir das dafür anpassen.

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

// You should get Auth Token in the Blynk App.
// Go to the Project Settings (nut icon).
char auth[] = "YourAuthToken";

// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "YourNetworkName";
char pass[] = "YourPassword";

void setup()
{
  // Debug console
  Serial.begin(9600);

  Blynk.begin(auth, ssid, pass);
}

void loop()
{
  Blynk.run();
}

Ich sehe nicht, wo du dein Relais steuerst bzw. angeschlossen hast.

Ich habe mein Relais an D1 (GPIO3) Angeschlossen. Dieses habe ich bis jetzt nur in der Blynk App definiert das Relais lässt sich ja auch schon schalten.

Dann muss ins setup:

pinMode(D1,OUTPUT);
digitalWrite(D1, HIGH);
// oder evtl. 3 statt D1

Wenn mich nicht alles täuscht, wird der Pin gpio3 aber doch von der seriellen Schnittstelle verwendet? Und der ist bei einer nodecpu nicht D1

Mein Code sieht nun wie folgt aus.

#define BLYNK_PRINT Serial
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>


char auth[] ="Auth Token";      // You should get Auth Token in the Blynk App.

char ssid[] = "SSID";                                  // Your WiFi credentials.

char pass[] = "PASSWORD";                    // Set password to "" for open networks.

void setup()
{
  Serial.begin(9600);                                 // Debug console
  Blynk.begin(auth, ssid, pass);
  pinMode(D1,OUTPUT);
  digitalWrite(D1, HIGH);

}

void loop()
{
  Blynk.run();
}

Das Problem ist jetzt das nach dem Start das Relais kurz anzieht und wieder löst was ja schon die Aktion auslösen würde die das Relais steuern soll, wenn der Nodemcu mal Stromlos war.

OK ich habe´s

musste die Reihenfolge beim setup verändern und jetzt läuft es :slight_smile:

  Serial.begin(9600);
  pinMode(5,OUTPUT);
  digitalWrite(5, HIGH);
  Blynk.begin(auth, ssid, pass);

MfG der tkt