| Exigence | Où le trouver | Utilisé pour |
| URL de la base de données | Base de données en temps réel > Onglet Données | Connexion d’ESP32 à la bonne instance RTDB |
| Clé API Web | Paramètres > Général > Application Web | Authentifier l’ESP32 avec Firebase |
| Authentification anonyme | Authentification > Méthode de connexion | Laisser ESP32 se connecter sans informations de connexion |
| Règles de sécurité (lecture/écriture : vrai) | Base de données en temps réel > Onglet Règles | Autoriser l’ESP32 à écrire des données sur RTDB |
| Bibliothèque Firebase_ESP_Client | Gestionnaire de bibliothèque Arduino IDE (par Mobizt) | Gérer toutes les communications Firebase dans le code |










#include
#include
#include "addons/TokenHelper.h"
#include "addons/RTDBHelper.h"
#define WIFI_SSID "your_ssid"
#define WIFI_PASSWORD "your_password"
#define API_KEY "your_api_key"
#define DATABASE_URL "your_database_url"
FirebaseData fbdo;
FirebaseAuth auth;
FirebaseConfig config;
void setup() {
Serial.begin(115200);
// Connect to Wi-Fi
WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
Serial.print("Connecting to Wi-Fi");
while (WiFi.status() != WL_CONNECTED) {
Serial.print(".");
delay(300);
}
Serial.println();
Serial.print("Connected with IP: ");
Serial.println(WiFi.localIP());
Serial.println();
// Assign the API key (required)
config.api_key = API_KEY;
// Assign the RTDB URL (required)
config.database_url = DATABASE_URL;
// Sign up as an anonymous user (easiest for testing)
if (Firebase.signUp(&config, &auth, "", "")) {
Serial.println("Firebase SignUp Successok");
} else {
Serial.printf("%s\n", config.signer.signupError.message.c_str());
}
// Assign the callback function for the long running token generation task
config.token_status_callback = tokenStatusCallback;
// Initialize the Firebase library
Firebase.begin(&config, &auth);
Firebase.reconnectWiFi(true);
Serial.println("--- Setup Complete ---");
Serial.println("Type something in the Serial Monitor and press Enter:");
}
void loop() {
// Check if Firebase is ready and if there is data in the Serial Monitor
if (Firebase.ready() && Serial.available() > 0) {
// Read the incoming string until a newline character
String inputData = Serial.readStringUntil('\n');
inputData.trim(); // Remove any accidental spaces or newline characters
if (inputData.length() > 0) {
Serial.print("Sending to Firebase: ");
Serial.println(inputData);
// Send the string to the database path "/serialData/message"
if (Firebase.RTDB.setString(&fbdo, "/serialData/message", inputData)) {
Serial.println("Data sent successfully!");
Serial.println("Path: " + fbdo.dataPath());
Serial.println("Type: " + fbdo.dataType());
} else {
Serial.print("Failed to send data. Reason: ");
Serial.println(fbdo.errorReason());
}
Serial.println("-------------------------------------");
}
}
}

| Problème | Cause probable | Réparer |
| Le code ne parvient pas à télécharger/Erreur de téléchargement | ESP32 n’entre pas en mode clignotant ou câble de données desserré | Appuyez sur le bouton BOOT lorsque « Connexion » apparaît sur le moniteur série ; vérifier la connexion du câble de données |
| Erreur de jeton : code 400, INVALID_EMAIL / mauvaise demande | L’authentification anonyme est désactivée dans la console Firebase | Accédez à Authentification > Méthode de connexion > Anonyme, activez-le et enregistrez |
| Échec de l’envoi des données. Raison : Autorisation refusée | Règles de sécurité de la base de données en temps réel bloquant les écritures | Dans l’onglet RTDB > Règles, définissez .read et .write sur true pour les tests |
Retrouvez l’histoire de Raspberry Pi dans cette vidéo :

