Firebase иногда не отправляет данные в ESP32

# #firebase #firebase-realtime-database #iot #esp32 #arduino-ide

Вопрос:

цифровой диммер,запрограммированный в ESP32 с помощью IDE ARDUINO, этот диммер управляется приложением, приложение сделано в MIT App inventor, проблема в том, что когда я немного изменяю код, я загружаю новую программу, после этого ESP32 перестает получать данные от firebase или firebase перестает их отправлять, но если я отправляю данные из приложения в firebase, это получает я знаю это, потому что изменяет значение переменных, кстати, я приведу свой код для демонстрации примера, поэтому я надеюсь, что вы можете мне помочь или сказать мне, что не так или почему причина сбой связи Firebase ESP32.

 #include <WiFi.h>
#include "FirebaseESP32.h"

#define FIREBASE_HOST "link of to firebase"
#define FIREBASE_AUTH "AUTH OF FIREBASE"

#define WIFI_SSID "NAME OF NETWORK
#define WIFI_PASSWORD "PASSWORD"


FirebaseData firebaseData;

#define LEDC_CHANNEL_0     0    // use first channel of 16 channels (started from zero)
#define LEDC_TIMER_8_BIT   8    // use 8 bit precission for LEDC timer
#define LEDC_BASE_FREQ     5000 // use 5000 Hz as a LEDC base frequency
#define LED_PIN            15    // PWM



String nodo = "/Sensores";
bool iterar = true;
String  MYINCOMINGDATA;
String  MYINCOMINGDATA1;
int SHINE= 250;    //TO CONTROL THE BRIGHT 

void setup() 
{

    Serial.begin(115200);
    ledcSetup(LEDC_CHANNEL_0, LEDC_BASE_FREQ, LEDC_TIMER_8_BIT); // Setup timer and attach timer to a led pin
  ledcAttachPin(LED_PIN, LEDC_CHANNEL_0);

 pinMode(2, OUTPUT);
 pinMode(4, OUTPUT);
  MYINCOMINGDATA = "";
  MYINCOMINGDATA1 == "";

  Serial.println();

  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("Conectado al Wi-Fi");
  while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print(".");
    delay(300);
  }
  Serial.println();

  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
  Firebase.reconnectWiFi(true);
   Serial.println("1"); //CONFIRMATION TO FIREBASE
}


void loop() 
{
    while(iterar){
       
        Firebase.getInt(firebaseData, nodo   "/sensor1");
        //Serial.println(firebaseData.intData());
        delay(1000);
        Firebase.getString(firebaseData, nodo   "/sensor2");
        //Serial.println(firebaseData.stringData());
        if (Firebase.getString(firebaseData, nodo   "/sensor2")) {
    MYINCOMINGDATA = (firebaseData.stringData());
    if (MYINCOMINGDATA == "1") 
   {   digitalWrite(2,HIGH);
      Serial.println("ON");  // 
    delay(100);  
        SHINE= SHINE- 10;
    if (SHINE== 170) {
    Firebase.setString(firebaseData, nodo   "/sensor2", "0");} 
    delay(100);   
   if (SHINE== 90) {
    Firebase.setString(firebaseData, nodo   "/sensor2", "0");}
  if (SHINE<= 0) {  //***EXAMPLE IF I CHANGE THE VALUE TO <=90 OR fewer values other than zero the ESP32, stop receiving data, even changing in FIREBASE manually, dont work.***
     SHINE= 0;}
    }
   
 }
if (Firebase.getString(firebaseData, nodo   "/sensor3")) {
    MYINCOMINGDATA1 = (firebaseData.stringData());
    if (MYINCOMINGDATA1 == "1") 
   {   digitalWrite(4,HIGH);
      Serial.println("ON");  
    delay(100);  
        SHINE= SHINE  10;   ***//EXAMPLE IF I CHANGE THE VALUE of  10 to  30 or higher values the ESP32, stop receiving data, even changing in FIREBASE                         manually, dont work.***
if (SHINE== 80) {
    Firebase.setString(firebaseData, nodo   "/sensor3", "0");}
    //if (SHINE == 180) {
    //Firebase.setString(firebaseData, nodo   "/sensor3", "0");}      
   if (SHINE>= 255) {
     SHINE= 255;}
    } 
 }

  Serial.println("T3="   String(digitalRead(22))   " T0="   String(digitalRead(23))   " Brillo="   String(brillo));

  ledcWrite(LEDC_CHANNEL_0, brillo);
 
        }  
 }// End Loop