Hi, I’m working in my project that it’s giving a big headache because for a time i had success to connect my board to hotspot and i was testing the DHT11 sensor, but for a moment the board didn’t connect anymore. When I connect it via my phone’s Hotspot, Blynk shows that it is offline and will not connect and sometimes shoes that is connected and the board is resetting immediately. What is causing this?
#define BLYNK_TEMPLATE_ID "TM********i"
#define BLYNK_TEMPLATE_NAME "Avicultor2023"
#define BLYNK_AUTH_TOKEN "Blk******************"
#define BLYNK_PRINT Serial
#include <WiFi.h>
#include <WiFiClient.h>
#include <BlynkSimpleEsp32.h>
#include "DHT.h"
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27,16,4);
bool fetch_blynk_state = true; //true or false
char auth[] = BLYNK_AUTH_TOKEN;//Paste auth token you copied
// Your WiFi credentials.
// Set password to "" for open networks.
char ssid[] = "The ***";
char pass[] = "nana**************";
#define DHTPIN 32
#define wifiLed 2
#define DHTTYPE DHT11 // DHT 11
#define VPIN_t V0
#define VPIN_h V1
int wifiFlag = 0;
DHT dht(DHTPIN, DHTTYPE);
BlynkTimer timer;
void sendSensor()
{
float h = dht.readHumidity();
float t = dht.readTemperature(); // or dht.readTemperature(true) for Fahrenheit
if (isnan(h) || isnan(t)) {
Serial.println("Failed to read from DHT sensor!");
return;
}
// You can send any value at any time.
// Please don't send more that 10 values per second.
Blynk.virtualWrite(V1, h); // select your virtual pins accordingly
Blynk.virtualWrite(V0, t); // select your virtual pins accordingly
}
void checkBlynkStatus() { // called every 2 seconds by SimpleTimer
bool isconnected = Blynk.connected();
if (isconnected == false) {
wifiFlag = 1;
Serial.println("Blynk Not Connected");
lcd.setCursor(0,0);
lcd.print("Ilumin:");
lcd.setCursor(0,1);
lcd.print("Comprt:");
lcd.setCursor(0,2);
lcd.print("Sens:");
lcd.setCursor(5,3);
lcd.print("Mod Manual");
digitalWrite(wifiLed, LOW);
delay(800);
digitalWrite(wifiLed, HIGH);
}
if (isconnected == true) {
wifiFlag = 0;
if (!fetch_blynk_state){
/*
Blynk.virtualWrite(VPIN_BUTTON_1, toggleState_1);
Blynk.virtualWrite(VPIN_BUTTON_2, toggleState_2);
Blynk.virtualWrite(VPIN_BUTTON_3, toggleState_3);
Blynk.virtualWrite(VPIN_BUTTON_4, toggleState_4);
Blynk.virtualWrite(VPIN_Wsensor_1, toggleStW1_1);
Blynk.virtualWrite(VPIN_Wsensor_2, toggleStW1_2);
Blynk.virtualWrite(VPIN_Wsensor_3, toggleStW1_3);
*/
}
digitalWrite(wifiLed, HIGH);
Serial.println("Blynk Connected");
// sendData();
// lcd.clear();
lcd.setCursor(5,3);
lcd.print("Mod Web On");
}
}
BLYNK_CONNECTED() {
// Request the latest state from the server
if (fetch_blynk_state){
// Blynk.syncVirtual(VPIN_BUTTON_0);
// Blynk.syncVirtual(VPIN_BUTTON_1);
//Blynk.syncVirtual(VPIN_BUTTON_2);
//Blynk.syncVirtual(VPIN_BUTTON_3);
}
//Blynk.syncVirtual(VPIN_IRSENSOR,irVal);
//Blynk.syncVirtual(VPIN_MQ2, mq2Val );
// Blynk.syncVirtual(VPIN_LDR, ldrVal);
}
void setup()
{
// Debug console
Serial.begin(115200);
// lcd.begin();
//lcd.backlight();
pinMode(wifiLed, OUTPUT);
digitalWrite(wifiLed, LOW);
//Blynk.begin(auth , ssid, pass);
WiFi.begin( ssid, pass);
// You can also specify server:
//Blynk.begin(auth, ssid, pass, "blynk-cloud.com", 80);
//Blynk.begin(auth, ssid, pass, IPAddress(192,168,43,21), 8080);
timer.setInterval(2000L, checkBlynkStatus); // check if Blynk server is connected every 2 seconds
// Setup a function to be called every second
timer.setInterval(1000L, sendSensor);
Blynk.config(auth);
delay(1000);
dht.begin();
if (!fetch_blynk_state){
// Blynk.virtualWrite(VPIN_BUTTON_1, toggleState_1);
// Blynk.virtualWrite(VPIN_BUTTON_2, toggleState_2);
//Blynk.virtualWrite(VPIN_BUTTON_3, toggleState_3);
//Blynk.virtualWrite(VPIN_BUTTON_4, toggleState_4);
}
lcd.setCursor(4, 0);
lcd.print("Aviario");
lcd.setCursor(1, 1);
lcd.print("Automatico ESP32");
delay(2000);
lcd.clear();
}
void loop()
{
Blynk.run();
timer.run();
} ```
Like this Pete?