NEED Help with my Blynk 2.0 projects DEVICE Offline

Hello guys, I need help with my project on blynk 2.0

I made several projects on the new platform. Try to remove my old working projects. All projects worked (button change status from cellphone and web dahasboard. still don’t check DHT sensor… Will do it tomorrow), but stay OFFLINE. Looks strange. I check a lot of community topics about it and don’t find an answer. Make a new simple one and it also offline. When pushing to button - the massage “Device is offline” was appear every time when pushing.

DETAILS:
NOD MCU V3.
wifi connection.
Smartphone Android. MIUI Global 13.0.4.
Blynk library version 1.1.0

serial port after resetting the board say

$n�+�h�I�z�U���p�:I�

SDK:2.2.2-dev(38a443e)/Core:3.0.2=30002000/lwIP:STABLE-2_1_2_RELEASE/glue:1.2-48-g7421258/BearSSL:6105635

Code is

#define BLYNK_TEMPLATE_ID           "TMPLxxxxx"
#define BLYNK_DEVICE_NAME           "Quickstart Device"
#define BLYNK_AUTH_TOKEN            "3xxxxxxx"
#define BLYNK_PRINT Serial
#define BLYNK_PRINT DebugSerial
/*
  Blink

  Turns an LED on for one second, then off for one second, repeatedly.

  Most Arduinos have an on-board LED you can control. On the UNO, MEGA and ZERO
  it is attached to digital pin 13, on MKR1000 on pin 6. LED_BUILTIN is set to
  the correct LED pin independent of which board is used.
  If you want to know what pin the on-board LED is connected to on your Arduino
  model, check the Technical Specs of your board at:
  https://www.arduino.cc/en/Main/Products

  modified 8 May 2014
  by Scott Fitzgerald
  modified 2 Sep 2016
  by Arturo Guadalupi
  modified 8 Sep 2016
  by Colby Newman

  This example code is in the public domain.

  https://www.arduino.cc/en/Tutorial/BuiltInExamples/Blink
*/
char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "Homexxx";
char pass[] = "xxxxx";
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  Serial.begin(9600);
  pinMode(LED_BUILTIN, OUTPUT);
}

// the loop function runs over and over again forever
void loop() {
  digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000);                      // wait for a second
  digitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOW
  delay(1000);                      // wait for a second
}

I am not a programmer, sorry, but this IOT is my hobby.

With best whishes,
Serg

image

HI,

You don’t have any Blynk code in the setup() or loop() - you need to look at the example sketches to learn the basics to establish a Blynk connection.

billd

Thank you I will.

Thank you again and I was add in setup - Blynk.begin(auth, ssid, pass);
and in loop - Blynk.run(); and DEVICE stay Online

1 Like

and working code is


#define BLYNK_TEMPLATE_ID           "TMPLJccvvfffff"
#define BLYNK_DEVICE_NAME           "Quickstart Device"
#define BLYNK_AUTH_TOKEN            "3wwwwwwwwwwwwwwwwwwwwwwwwwwwww"
#define BLYNK_PRINT Serial
//#define BLYNK_PRINT DebugSerial
//#define BLYNK_FIRMWARE_VERSION        "0.1.0"
//#include "BlynkEdgent.h"
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>

char auth[] = BLYNK_AUTH_TOKEN;
char ssid[] = "xxxxxxx";
char pass[] = "xxxxxxx";
// the setup function runs once when you press reset or power the board
void setup() {
  // initialize digital pin LED_BUILTIN as an output.
  Serial.begin(9600);
  Blynk.begin(auth, ssid, pass);
  pinMode(LED_BUILTIN, OUTPUT);

}


// the loop function runs over and over again forever
void loop() {
 Blynk.run();
  digitalWrite(LED_BUILTIN, HIGH);  // turn the LED on (HIGH is the voltage level)
  delay(1000);                      // wait for a second
  digitalWrite(LED_BUILTIN, LOW);   // turn the LED off by making the voltage LOW
  delay(1000);                      // wait for a second
}

Please edit your post, and add triple backticks ``` before and after your whole sketch

You’re lucky your code works.
Blynk does not accept delays in the void loop.

@Sergeyshatsky your sketch is wrong in so many ways!

Sort-out the formatting with the triple backticks as explained by @John93 and we’ll give you some advice about how to solve these problems.

Pete.

Done, Thank you!

Hello! I follow @John93 suggestion and add triple ‘’’ before.

Wrong character. Triple backticks look like this ```

1 Like

Done

Now you should read this
https://docs.blynk.io/en/legacy-platform/legacy-articles/keep-your-void-loop-clean

Dyson is a good choice :joy:

Thank you for the information. This sketch is just an example from blynk examples.


I take it just for test. In two my projects loop stay without any delay(). I try to test example from Blynk Example Library with the hope that there is working examples. In any case Thank you!

The ideal blynk void loop should look like this

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

and like this

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

If you would like to use a timer.

You can create a separate void function and call it using a timer instead of putting the code in the void loop.

1 Like

I already use timer in loop. Thank you!

I’d suggest that you start by reading this:

If you want to control the built-in LED of your NodeMCU using Blynk then I’d suggest that you use virtual pins. If so then read this…

Pete.

1 Like

Thank you Pete! my main reason was DEVICE OFFline. I take an example from Blynk examples and add this code and add some missed row - Thanks to @Bill_Donnelly and make device Online. I don’t check example for delay in loop or other mistakes, because hope that Blynk example library not contain wrong examples.

My loop is just

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