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

Any different option/setting to choose between ESP12E and NodeMcu

#20

You seem to be focusing a lot on the fact that the name of the ESP was appearing in your list of access points.
This is very normal and doesn’t prevent the ESP working correctly.

You actually only have to run the WiFi.mode(WIFI_STA); command once for a device and it will prevent it from broadcasting it’s name. If you re-flash it will the “erase flash - all flash contents” option selected then you would need to run the WiFi.mode(WIFI_STA); command again if you didn’t want to see the device name appear again.

I think you’ll find that your issue is hardware related. If you look through the various YouTube videos about designing your own ESP12E based devices then you’ll see that they are very fussy about the external circuitry.
I’d say that your resistors are a bit low in value and that you’re missing a couple of smoothing capacitors (located as close to the chip as possible), but that’s only based on read/watched, not on personal experience.

Pete.

0 Likes

#21

@PeteKnight yes, apologies I did not read your post about the WiFi mode and you are correct. I only pointed it out because I had the same issue when using just the ESP8622 chip, I never had this issue when using NodeMCU’s. I still have one powered up that shows up, not just my wifi list but all the apartments around me, I know people think its a free unsecured wifi and try to connect, however it doesn’t seem to cause a problem with connection as the unit has run okay for several weeks.

You are also correct about the ESP8266 being fussy, especially with the power supply. @Madhukesh I no longer use the AMS1117 3.3V regulator, in theory it should be sufficient but in practice it’s not “man” enough for the job during WiFi operations and could be causing your connection dropout problem. As you can see from my sketch all my pullup and pulldown resistors are 10k which if I remember correctly is what Espressif recommend in their data sheet. With regards to capacitors, I have both “storage” and “smoothing” capacitors fitted just about everywhere.

I moved over to the ESP32 about 6 weeks ago and it is much less fussy and requires much less peripheral components. Having the WiFi management on a separate core really helps when you have 4 sensors, an RF link, a touch screen display and Blynk to manage. I still have a few heartbeat timeout issues during peek internet usage times here in China but my main 3 projects (2 x ESP32 and 1 x ESP8266) are able to maintain a good reliable connection now.

@Madhukesh
The versions I’m using at the moment are:-

Blynk library 6.1
ESP866 core 2.5.2
Arduino IDE 1.8.9
Blynk Cloud server

My advice would be to check or change your power supply.

Richard

1 Like

#22

If that is the case, then even NODEMCU must not work. Because it uses the same AMS1117 to step down the voltage.That was the only reason i used the same.

@PeteKnight @psoro @Gunner @rha10

Attempting reconnection #1
[139727] Connecting to 192.168.0.103:8080
[142650] Ready (ping: 38ms).
Cconnected
[163353] Heartbeat timeout
Starting reconnection timer in 10 seconds...
Attempting reconnection #1
[173354] Connecting to 192.168.0.103:8080
[173410] Ready (ping: 33ms).
Cconnected

This is the output on the serial monitor. It keeps trying and once in a while it connects and the connection drops and again takes several min to connect. Some times it never connects. Needs to manually rebooted, then too there is no guarantee that it may come online.

And what is the reason for the ESP to drop out every now and then ? Even the wifi signal is really good. Then too it will reconnect every now and then. This is not normal right ?

Please help me to get a stable connection. This happens(Dropouts) even on NODEMCU as well. This is not normal !!

0 Likes

#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