Bonjour, voici mon petit problème :
Je dois connecter mon NodeMCU à ma base de donnée sur le site Firebase. J'utilise donc une bibliotèque me permettant de faire des Get, Set, Erase ....
Sauf que le Path que je met dans Firebase.getInt('Path') est une variable d'une trentaine de caractères. J'ai donc choisi d'utilisé une variable String pour utilisé cette chaine de caractère. Mais quand je met cette variable dans la fonction Get, je n'ai rien en retour, alors que si je met directement la chaine de caractère dans le code, ca marche.
Enfaite, je ne sais pas si j'utilise bien les variable string.
à noté que dans le moniteur série, quand je lui demande de m'affiché le UID, il maffiche la chaine de caractère que je lui ai envoyer ( normal quoi),
Puis il fait une deuxième ligne qui est vide. j'en ai déduit qui fait un tableau de chaine de caractère et qui a préparé la seconde ligne mais je sais pas comment gérer ca.
En esperant avoir été assez clair
Clément
Je vous met mon code Ci-dessous :
//déclaration des bibliotèques
#include <FirebaseArduino.h>
#include <ESP8266WiFi.h>
//Déclaration des Identifiants Firebase
#define FIREBASE_HOST "XXXXXXXXX.firebaseio.com"
#define FIREBASE_AUTH "XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
//Déclaration des Identifiants WIFI
#define WIFI_SSID "XXXXXXXXXX"
#define WIFI_PASSWORD "XXXXXXXXXX"
//Déclaration des variables
String UID;
char aquisition;
String commande;
//Initialisation
void setup()
{
Serial.begin(9600); //Vitesse de Communication avec la carte Mega ou l'ordinateur
delay(5000); //delay pour ouvrir le moniteur série
WiFi.begin(WIFI_SSID, WIFI_PASSWORD); //Connection au réseau WIFI
Serial.print("connecting");
while (WiFi.status() != WL_CONNECTED) //En attente de connection
{
Serial.print(".");
delay(500);
}
Serial.println();
Serial.print("connected: "); //Connection effectué
Serial.println(WiFi.localIP()); //Adresse IP du microcontroleur
Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); //Connection à Firebase
}
//Programme Exécuté
void loop()
{
while (Serial.available()) // Si réception de données sur le Port Série
{
aquisition = Serial.read(); //Lecture de chaque caractère par une variable Char
UID = UID + aquisition; //Qui retranscrit un à un les caractère à la variable String
delay(50); //Délais de réception de chaque caractère
}
if(Serial.available() == 0 && UID != 0) //Quand Reception terminé
{
Serial.println(UID); //Montré le UID
delay(200);
commande = Firebase.getInt(UID); //Assigné à la String commande la valeur du Path UID
delay(200);
Serial.println(commande); // Montré la variable commande
delay(200);
UID = ""; // Remise à zéro des String
commande = ""; // Remise à zéro des String
Serial.println("clear"); // Annonce la fin de la boucle
}
}