FirebaseClient Error - Task_9670 Operation Cancelled (Code: -118) - Troubleshooting Help"

#include <Arduino.h>
#include <WiFi.h>
#include <FirebaseClient.h>

#define WIFI_SSID "*********"
#define WIFI_PASSWORD "**************"

#define API_KEY "*****************"
#define DATABASE_URL "*****************************"
#define USER_EMAIL "**********************"
#define USER_PASSWORD "**************"

// Function Declarations
void asyncCB(AsyncResult &aResult);
void initWifi();

DefaultNetwork network;

#include <WiFiClientSecure.h>
WiFiClientSecure ssl_client;

UserAuth user_auth(API_KEY, USER_EMAIL, USER_PASSWORD, 3000);

FirebaseApp app;

using AsyncClient = AsyncClientClass;

AsyncClient aClient(ssl_client, getNetwork(network));

RealtimeDatabase Database;

unsigned long tmo = 0;

void setup() {
  Serial.begin(115200);
  unsigned long ms = millis();
  initWifi();
  
  Firebase.printf("Firebase Client v%s\n", FIREBASE_CLIENT_VERSION);
  Serial.println("Initializing app...");

  ssl_client.setInsecure();

  // Initialize the FirebaseApp or auth task handler.
  initializeApp(aClient, app, getAuth(user_auth), asyncCB, "authTask");

  
  // Binding the FirebaseApp for authentication handler.
  app.getApp<RealtimeDatabase>(Database);
  
  Database.url(DATABASE_URL);
}

  
void loop() {

  app.loop();
  Database.loop();

  if (app.ready() && millis() - tmo > 1000) {

    tmo = millis();
    
    Database.get(aClient, "/LED/digital", asyncCB, "LED1");
  }
  
}


void initWifi() {
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print('.');
    delay(300);
  }
  Serial.println();
  Serial.print("Connected To: ");
  Serial.print(WiFi.localIP());
  Serial.println();
}


void asyncCB(AsyncResult &aResult)
{
   printResult(aResult);
}

void printResult(AsyncResult &aResult)
{
    if (aResult.isEvent())
    {
        Firebase.printf("Event task: %s, msg: %s, code: %d\n", aResult.uid().c_str(), aResult.appEvent().message().c_str(), aResult.appEvent().code());
    }

    if (aResult.isDebug())
    {
        Firebase.printf("Debug task: %s, msg: %s\n", aResult.uid().c_str(), aResult.debug().c_str());
    }

    if (aResult.isError())
    {
        Firebase.printf("Error task: %s, msg: %s, code: %d\n", aResult.uid().c_str(), aResult.error().message().c_str(), aResult.error().code());
    }

    if (aResult.available())
    {
        Firebase.printf("task: %s, payload: %s\n", aResult.uid().c_str(), aResult.c_str());
    }
}

To secure WiFi Connection consider adding a WiFi connection timeout to handle cases where WiFi might be unavailable.

1 Like

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.