Latching of relay while re-connecting

Hi,
I wanted to operate a relay with blynk.
I am using a simple code as follow and thereafter made modifications but the problem is that relay got latched while re-connecting to server.

My Hardware is Node MCU D1
and I am using Android.

I am using D2 on android to get signal from Pin2 which results in on off of rela
Button on android is set as 1 -> 0

Sample code as follow:
    /*************************************************************
  Download latest Blynk library here:
    https://github.com/blynkkk/blynk-library/releases/latest

  Blynk is a platform with iOS and Android apps to control
  Arduino, Raspberry Pi and the likes over the Internet.
  You can easily build graphic interfaces for all your
  projects by simply dragging and dropping widgets.

    Downloads, docs, tutorials: http://www.blynk.cc
    Sketch generator:           http://examples.blynk.cc
    Blynk community:            http://community.blynk.cc
    Follow us:                  http://www.fb.com/blynkapp
                                http://twitter.com/blynk_app

  Blynk library is licensed under MIT license
  This example code is in public domain.

 *************************************************************

  You’ll need:
   - Blynk App (download from AppStore or Google Play)
   - WeMos D1 board
   - Decide how to connect to Blynk
     (USB, Ethernet, Wi-Fi, Bluetooth, ...)

  There is a bunch of great example sketches included to show you how to get
  started. Think of them as LEGO bricks  and combine them as you wish.
  For example, take the Ethernet Shield sketch and combine it with the
  Servo example, or choose a USB sketch and add a code from SendData
  example.
 *************************************************************/

/* Comment this out to disable prints and save space */
#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[] = "5a7b105d4b774c5ab1f6ca2f1c5aecc8";

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

int DoorPin = 2;

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

  Blynk.begin(auth, ssid, pass);
  // You can also specify server:
  //Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
  //Blynk.begin(auth, ssid, pass, IPAddress(192,168,1,100), 8080);
digitalWrite(DoorPin, HIGH);
}

BLYNK_CONNECTED() {
Blynk.syncAll();
}

void loop()
{
  Blynk.run();
  // You can inject your own code or combine it with other sketches.
  // Check other examples on how to communicate with Blynk. Remember
  // to avoid delay() function!
}

Please let me know how to solve this.

As I can’t see you controlling the relay in your code I’m assuming your controlling it via App (not using virtual pins). therefore it makes sense to turn the relay off/on for safety when disconnected.

If you want it to do something different, there’re many examples around this forum and you can start with this example: https://examples.blynk.cc/?board=ESP8266&shield=ESP8266%20WiFi&example=GettingStarted%2FGetData

1 Like

For nodemcu the bootup PIN level is:

D0 LOW
D1 LOW
D2 LOW
D3 HIGH
D4 HIGH
D5 LOW
D6 LOW
D7 LOW
D8 LOW