Comment envoyer des données d’ESP32 à la base de données en temps réel Firebase

Send Data from ESP32 to Firebase Realtime Database
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
Youtube video

Écran de bienvenue de la console Firebase pour créer un nouveau projet Firebase ESP32Étapes pour créer un nouveau projet Firebase pour l'intégration ESP32Tableau de bord de présentation du projet Firebase après la création du projetCréation d'une base de données en temps réel et définition de règles de sécurité dans FirebaseCopie de l'URL de la base de données en temps réel Firebase pour le code ESP32Activation de l'authentification anonyme dans Firebase pour ESP32Générer une clé API Web dans les paramètres Firebase pour ESP32
Installation de la bibliothèque client Firebase ESP par Mobizt dans l'IDE Arduino

Moniteur série Arduino IDE affichant les données envoyées avec succès à Firebase

#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("-------------------------------------");
   }
 }
}

Données ESP32 reflétées instantanément dans la base de données en temps réel Firebase1783515636 30 Comment envoyer des donnees dESP32 a la base de donnees

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 :

Youtube video