Firebase e arduino

Sto utilizzando una scheda AZ-Delivery D1 R2 Board mod ESP8266 per collegarmi a Firebase database.
Questo il mio codice arduino tratto da vari esempi in rete:

#include <FirebaseArduino.h>
#include <ESP8266WiFi.h>


// Set these to run example.
#define FIREBASE_HOST "https://xx-xxx-xxx-xxxxx.firebaseio.com/"
#define FIREBASE_AUTH "xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx"
#define WIFI_SSID "Andromeda"
#define WIFI_PASSWORD "XXXXXXXX"

void setup() {
  Serial.begin(9600);

  // connect to wifi.
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("connecting");
  while (WiFi.status() != WL_CONNECTED) {
    Serial.print(".");
    delay(500);
  }
  Serial.println();
  Serial.print("connected: ");
  Serial.println(WiFi.localIP());
  Serial.println(WIFI_SSID);
 
  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
  

  delay(1000);
}

  
  int aa=0;
void loop() {
  
  aa=Firebase.getInt("apriVassoio");
  
 if (Firebase.failed()) {
      Serial.print("fallito collegamento a firebase");
      Serial.println(Firebase.error());  
      return;
  }
  
  Serial.println(aa);
  
 
 
   delay(5000);
  }

e questo è il mio database con 3 campi:
(Le regole del database sono impostate a true sia in read che in write e l'account di servizio segreti del database è corretto)

La scheda si connette regolarmente alla rete ma non legge ne scrive dati sui campi del database e mi entra nel ciclo if di firebase.failed.

Mai vista quella libreria... Ma una domanda mi sorge spontanea... Sei sicuro che la begin vada a buon fine?

Certo, La begin va a buon fine e entra in loop. Ho provato diversi esempi trovati in rete con questa libreria ma da me nessuno funziona.

Ho cambiato libreria e sketch e cosi funziona !!!!

#include "FirebaseESP8266.h"
#include <ESP8266WiFi.h>

Però mi piacerebbe sapere come mai tutti gli esempi che ho provato con la libreria

#include <FirebaseArduino.h>

da me non mi funzionano.

grazie

Non posti i link da dove hai scaricato le librerie.

Se sono questi:

La firebase-arduino è vecchia di 3 o 4 anni

sacchetto:
Certo, La begin va a buon fine e entra in loop. Ho provato diversi esempi trovati in rete con questa libreria ma da me nessuno funziona.

Non è scontato che la begin vada a buon fine solo perché poi entra nel loop(). Bisognerebbe vedere se quel metodo restituisce un valore per vedere se la connessione è avvenuta o no.

In ogni caso se con l'altra funziona prosegui così.

fratt:
Non è scontato che la begin vada a buon fine solo perché poi entra nel loop(). Bisognerebbe vedere se quel metodo restituisce un valore per vedere se la connessione è avvenuta o no.

No, vedo che è una void e non fa altro che impostare due variabili private:

void FirebaseArduino::begin(const String& host, const String& auth) {
  host_ = host.c_str();
  auth_ = auth.c_str();
}

Quindi sospetto che il problema sia dovuto al fatto che questalibreria è vecchia e non più manutenuta, ossia quando si leggono cose di questo tipo:

Status: Frozen
This repository is no longer under active development. No new features will be added and issues are not actively triaged. Pull Requests which fix bugs are welcome and will be reviewed on a best-effort basis.

meglio non usarla e cercare una alternativa... :wink:

La seconda invece è stata aggiornata 4 giorni fa, quindi... bene così! :smiley:

grazie mille. Ho compreso cose che non sapevo.