BLYNK
HOME       📲 GETTING STARTED       📗 DOCS       ❓HELP CENTER       👉 SKETCH BUILDER

Any different option/setting to choose between ESP12E and NodeMcu

#23

the dog needs feed :rofl:

0 Likes

#24

Bro !!! I am fed up of this !!! Please show me a way out.

I know there is something hidden(watch dog timers) in this, But not understanding. Can you please help ? Lets make fun later :stuck_out_tongue:

0 Likes

#25

post your sketch bro ! :wink:
I’ll take a look

0 Likes

#26

We’d need to see the code that you’re running to be able to do that.

Pete.

1 Like

#27

@Blynk_Coeur @PeteKnight
This is the code i am using

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


char auth[] = "xxxxxxxxx";
char ssid[] = "xxxxxxxxx";
char pass[] = "xxxxxxxxxxxxx";
char server[] = "192.168.0.103";  // IP for Local Cloud Server
int port = 8080;


int ReCnctFlag;  // Reconnection Flag
int ReCnctCount = 0;  // Reconnection counter

bool isFirstConnect = true;


const int ledPin = 7;
const int btnPin = 8;

BlynkTimer timer;
void checkPhysicalButton();

int ledState = LOW;
int btnState = HIGH;


BLYNK_CONNECTED() {
  if (isFirstConnect) {
     Blynk.syncAll();
     Blynk.syncVirtual(V1, V2, V3, V4);
     isFirstConnect = false;
  }
  Serial.println("Connected");
  ReCnctCount = 0;
}


BLYNK_WRITE(V2) {
  ledState = param.asInt();
  digitalWrite(ledPin, ledState);
}

void checkPhysicalButton()
{
  if (digitalRead(btnPin) == LOW) {
     if (btnState != LOW) {
       ledState = !ledState;
      digitalWrite(ledPin, ledState);

     Blynk.virtualWrite(V2, ledState);
    }
    btnState = LOW;
  } else {
    btnState = HIGH;
  }
}

void setup()
{

  Serial.begin(115200);

  WiFi.begin(ssid, pass); 
  Blynk.config(auth, server, port);
  Blynk.connect();

  pinMode(ledPin, OUTPUT);
  pinMode(btnPin, INPUT_PULLUP);
  digitalWrite(ledPin, ledState);

  
  timer.setInterval(100L, checkPhysicalButton);
  WiFi.mode(WIFI_STA);
}

void loop()
{
  timer.run();
  if (Blynk.connected()) {  // If connected run as normal
    Blynk.run();
  } else if (ReCnctFlag == 0) {  // If NOT connected and not already trying to reconnect, set timer to try to reconnect in 30 seconds
    ReCnctFlag = 1;  // Set reconnection Flag
    Serial.println("Starting reconnection timer in 10 seconds...");
    timer.setTimeout(10000L, []() {  // Lambda Reconnection Timer Function
      ReCnctFlag = 0;  // Reset reconnection Flag
      ReCnctCount++;  // Increment reconnection Counter
      Serial.print("Attempting reconnection #");
      Serial.println(ReCnctCount);
      Blynk.connect();  // Try to reconnect to the server
    });  // END Timer Function
  }
}

These are the current Things …

1 Like

#28

1/ if you have V1 to V4 use only Blynk.syncAll() or Blynk.syncVirtual(V1, V2, V3, V4);, but not both together
2/ timer.setInterval(500L, checkPhysicalButton); is better
3/ Serial.println(“Starting reconnection timer in 30 seconds…”);
timer.setTimeout(30000L, {
is better

try and keep me informed.

0 Likes

#29

Corrected Now

Sure.

But my question is the same program was working fine few months back and even now those devices are online. But why now now ? Has Blynk made any changes in the Lib ? or any changes in the ESP core ??

0 Likes

#30

maybe ESP core…
you have an old version
try 2.5.0 beta 3, but don’t use 2.5.0 final version, it’s buggy 99% :smile:
anyway, you don’t need to test button every 100 ms that makes no sens.
and don’t try to reconnect every 10 sec, because of DHCP issues
BTW, it’s just my opinion :wink:

0 Likes

#31

@Blynk_Coeur @PeteKnight
This is the reason i am using 2.4.2

1 Like

#32

I’m using 2.5.0 beta3 with 2 nodeMCU since a few months.
it looks stable.
but @PeteKnight is right too .

0 Likes

#33

ok i will install the same core and update you shortly !

1 Like

#34

GPIO 7 and 8 are special reserved pins that shouldn’t be used.
See this topic:

Pete.

1 Like

#35

@Blynk_Coeur
Tried this out. But no luck. It connects only after like 2 or 3 min . And works way too slow. While the app is showing online the and when i press the virtual button on the app the hardware does not react. I have an LED to check if it works. But it will take 20 sec to react. And goes offline after 1min.

0 Likes

#36

@PeteKnight
Even with GPIO 4 and 5 … The problem still persists !!
I feel something is wrong in the software side…

0 Likes

#37

weird ! :fearful:
do you have a nodemcu v3?

0 Likes

#38

This is what i am using right now.

0 Likes

#39

I’ll try your sketch, but GPIO7 and 8 doesn’t exist on nodemcu!
I’ll use GPIO2 for the onboard led and GPIO5 for the physical button

0 Likes

#40

Okay ! Now let’s forget the GPIO . I just uploaded the basic Blynk Blink sketch ! Even this is not coming online. I tried the core that you said but no luck . So i reverted back to 2.4.2 .

Should i reset the server ? Actually i have a separate set of local server using rpi zero with a dlink router. When i try to connect on this , some how it connects. Now i am confused !! Even the connection seems to be stable.

I strongly feel that the router is throwing off the connection with ESP12E , and this is causing all the problems. But while saying this i also remember there are 2 NODEMCU running on the same router that is giving problems with the ESP12E!!! I am totally confused.

What do you guys suggest me to do now ?

1 Like

#41

You’re unlucky.
I think your nodemcu has a default.
I have the same issue with one of my nodemcu.
try to connect …
connected
reconnect within 30 seconds …
heart beat time out
rst cause …
and so on…
but what I don’t understand, this nodemcu works fine with a simple demo WiFi sketch, even http server example sketch!
as nodemcu cost is less than 3$, I don’t care about that. :joy:

0 Likes

#42

Sorry if this had been discussed already, but… Can you rule out the MAC/IP address conflict?

2 Likes