Hi everyone, I like to make projects using ESP8266, but last night I encountered a very confusing problem, namely the connection to blynk always restarts by itself and wdt cause 4 (3,6) appears, is there a solution for the case I’m experiencing?
Hardware : ESP8266 V3 LUA
Smartphone : Android 12
Blynk Server
Blynk Library version :
15:43:36.306 -> /____/_/\_, /_//_/_/\_\
15:43:36.306 -> /___/ v1.1.0 on ESP8266
15:43:36.353 ->
15:43:36.353 -> #StandWithUkraine https://bit.ly/swua
15:43:36.399 ->
15:43:36.399 ->
15:43:36.399 -> [4702] Connecting to blynk.cloud:80
15:43:36.632 -> [5052] Ready (ping: 294ms).
15:43:44.835 -> ⸮T[72] Connecting to Jangan nyambung ini virus
15:43:49.446 -> [4575] Connected to WiFi
15:43:49.446 -> [4575] IP: 192.168.172.236
15:43:49.446 -> [4575]
15:43:49.446 -> ___ __ __
15:43:49.493 -> / _ )/ /_ _____ / /__
15:43:49.539 -> / _ / / // / _ \/ '_/
15:43:49.539 -> /____/_/\_, /_//_/_/\_\
15:43:49.587 -> /___/ v1.1.0 on ESP8266
15:43:49.635 ->
15:43:49.635 -> #StandWithUkraine https://bit.ly/swua
15:43:49.682 ->
15:43:49.682 ->
15:43:49.682 -> [4703] Connecting to blynk.cloud:80
15:43:50.066 -> [5196] Ready (ping: 430ms).
15:43:58.111 -> ⸮u[71] Connecting to Jangan nyambung ini virus
15:44:02.699 -> [4574] Connected to WiFi
15:44:02.699 -> [4575] IP: 192.168.172.236
15:44:02.746 -> [4575]
15:44:02.746 -> ___ __ __
15:44:02.746 -> / _ )/ /_ _____ / /__
15:44:02.794 -> / _ / / // / _ \/ '_/
15:44:02.841 -> /____/_/\_, /_//_/_/\_\
15:44:02.841 -> /___/ v1.1.0 on ESP8266
15:44:02.888 ->
15:44:02.888 -> #StandWithUkraine https://bit.ly/swua
15:44:02.935 ->
15:44:02.935 ->
15:44:02.935 -> [4703] Connecting to blynk.cloud:80
15:44:03.267 -> [5169] Ready (ping: 405ms).
My Sketch Code :
#define BLYNK_TEMPLATE_ID "TMPLntha3-Ff"
#define BLYNK_DEVICE_NAME "TA NEW"
#include <ESP8266WiFi.h>
#include <BlynkSimpleEsp8266.h>
char auth[] = "ktLPyvBUscWxmlV9zRZVmRXSAmMYahdw";//Enter your Auth token
char ssid[] = "Jangan nyambung ini virus";
char pass[] = "";
BlynkTimer timer;
// Define the component pins
#define trig D7
#define echo D8
#define LED1 D0
#define LED2 D3
#define LED3 D4
#define LED4 D5
#define LED5 D6
#define relay D1
//Enter your tank max value(CM)
int MaxLevel = 30;
int Level1 = (MaxLevel * 75) / 100;
int Level2 = (MaxLevel * 65) / 100;
int Level3 = (MaxLevel * 55) / 100;
int Level4 = (MaxLevel * 45) / 100;
int Level5 = (MaxLevel * 35) / 100;
void setup() {
Serial.begin(9600);
pinMode(trig, OUTPUT);
pinMode(echo, INPUT);
pinMode(LED1, OUTPUT);
pinMode(LED2, OUTPUT);
pinMode(LED3, OUTPUT);
pinMode(LED4, OUTPUT);
pinMode(LED5, OUTPUT);
pinMode(relay, OUTPUT);
Blynk.begin(auth, ssid, pass, "blynk.cloud", 80);
Serial.print("Water level");
Serial.print("Monitoring");
delay(4000);
//Call the functions
timer.setInterval(100L, ultrasonic);
}
//Get the ultrasonic sensor values
void ultrasonic() {
digitalWrite(trig, LOW);
delayMicroseconds(4);
digitalWrite(trig, HIGH);
delayMicroseconds(10);
digitalWrite(trig, LOW);
long t = pulseIn(echo, HIGH);
int distance = t / 29 / 2;
int blynkDistance = (distance - MaxLevel) * -1;
if (distance <= MaxLevel) {
Blynk.virtualWrite(V0, blynkDistance);
} else {
Blynk.virtualWrite(V0, 0);
}
Serial.print("WLevel:");
if (Level1 <= distance) {
Serial.print("Very Low");
digitalWrite(LED1, HIGH);
digitalWrite(LED2, LOW);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
digitalWrite(LED5, LOW);
digitalWrite(relay, LOW);
} else if (Level2 <= distance && Level1 > distance) {
Serial.print("Low");
Serial.print(" ");
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, LOW);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
digitalWrite(relay, LOW);
} else if (Level3 <= distance && Level2 > distance) {
Serial.print("Medium");
Serial.print(" ");
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, LOW);
digitalWrite(LED5, LOW);
digitalWrite(relay, LOW);
} else if (Level4 <= distance && Level3 > distance) {
Serial.print("High");
Serial.print(" ");
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, LOW);
digitalWrite(relay, LOW);
} else if (Level5 >= distance) {
Serial.print("Full");
Serial.print(" ");
digitalWrite(LED1, HIGH);
digitalWrite(LED2, HIGH);
digitalWrite(LED3, HIGH);
digitalWrite(LED4, HIGH);
digitalWrite(LED5, HIGH);
digitalWrite(relay, HIGH);
}
}
//Get the button value
BLYNK_WRITE(V1) {
bool Relay = param.asInt();
if (Relay == 1) {
digitalWrite(relay, LOW);
Serial.print("Motor is ON ");
} else {
digitalWrite(relay, HIGH);
Serial.print("Motor is OFF");
}
}
void loop() {
Blynk.run();//Run the Blynk library
timer.run();//Run the Blynk timer
}
Pleas Help Me