Connexion à firebase - veluqac/capteurs GitHub Wiki

📡 Envoyer des données sur Firebase avec un microcontrôleur.

🔧 Matériel requis

  • Microcontrôleur compatible WiFi (ex: Feather ESP32, ESP8266)
  • Connexion Internet (WiFi)
  • Compte Google avec un projet Firebase

🔥 Étapes sur Firebase

  1. Créez un projet sur https://console.firebase.google.com
  2. Allez dans Realtime Database > Créer une base de données
  3. Choisissez le mode "test" (accès en lecture/écriture libre)
  4. Allez dans Project Settings > Comptes de service
  5. Cliquez sur Créer une clé privée → Téléchargez le fichier .json (utile pour authentification via token)
  6. OU, pour les microcontrôleurs : récupérez l'URL de la base (ex: https://votre-projet.firebaseio.com/) et clé d'API Web

🧰 Librairies Arduino nécessaires

Installez-les via le Library Manager de l’IDE Arduino.


⚙️ Exemple de code (ESP32)

#include <WiFi.h>
#include <Firebase_ESP_Client.h>

FirebaseData fbdo;
FirebaseAuth auth;
FirebaseConfig config;

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

  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  while (WiFi.status() != WL_CONNECTED) {
    delay(500); Serial.print(".");
  }

  config.api_key = API_KEY;
  config.database_url = DATABASE_URL;

  auth.user.email = USER_EMAIL;
  auth.user.password = USER_PASSWORD;

  Firebase.begin(&config, &auth);
  Firebase.reconnectWiFi(true);

  // Exemple : écrire une valeur dans la base
  if (Firebase.RTDB.setFloat(&fbdo, "/capteur/temperature", 23.5)) {
    Serial.println("✅ Donnée envoyée !");
  } else {
    Serial.println("❌ Échec : " + fbdo.errorReason());
  }
}

Pour des questions de sécurité, il est préférable de définir les variables API_KEY, DATABASE_URL et USER_PASSWORD dans un autre fichier.

⚠️ **GitHub.com Fallback** ⚠️