Uploading data to firebase using NodeMCU
-
Hi @Anudeep , Can you please share the error log details?
If you are facing this error with the JSONBUFFER_SIZE like this
lib\firebase-arduino-master\src\FirebaseObject.h:109:21: error: 'StaticJsonBuffer' was not declared in this scope std::shared_ptr<StaticJsonBuffer<FIREBASE_JSONBUFFER_SIZE>> buffer_;
this is might be using the latetst ArduinoJson lib , so downgrade Arduinojson to the version 5.13.2. It will fix the issue
Sketch -> Include libraries -> Manage libraries
if the error persist please share the full error log so that we can understand it better .
-
Thanks, @salmanfaris, I have solved this error previously. But for me there is no error, code is getting uploaded smoothly but the data is not getting uploaded to the firebase!
Do I have to change any settings in the firebase page? for uploading the data!!After uploading the code... I have the below log!!
esptool.py v2.6 2.6 esptool.py v2.6 Serial port COM4 Connecting.... Chip is ESP8266EX Features: WiFi MAC: 84:f3:eb:58:b5:b7 Uploading stub... Running stub... Stub running... Configuring flash size... Auto-detected Flash size: 4MB Compressed 366560 bytes to 260548... Writing at 0x00000000... (6 %) Writing at 0x00004000... (12 %) Writing at 0x00008000... (18 %) Writing at 0x0000c000... (25 %) Writing at 0x00010000... (31 %) Writing at 0x00014000... (37 %) Writing at 0x00018000... (43 %) Writing at 0x0001c000... (50 %) Writing at 0x00020000... (56 %) Writing at 0x00024000... (62 %) Writing at 0x00028000... (68 %) Writing at 0x0002c000... (75 %) Writing at 0x00030000... (81 %) Writing at 0x00034000... (87 %) Writing at 0x00038000... (93 %) Writing at 0x0003c000... (100 %) Wrote 366560 bytes (260548 compressed) at 0x00000000 in 23.3 seconds (effective 126.0 kbit/s)... Hash of data verified. Leaving... Hard resetting via RTS pin...
-
Thanks, @rafitc99. But even this didn't solve my problem!!
I have changed the code in the below format...#include <ESP8266WiFi.h> #include <FirebaseArduino.h> // Set these to run example. #define FIREBASE_HOST "syndinnovate-1.firebaseio.com" #define FIREBASE_AUTH "AIzaS********************7hKQe4uPbfUKHc" #define WIFI_SSID "SSID" #define WIFI_PASSWORD "PASS" void setup() { Serial.begin(9600); delay(1000); WiFi.begin(WIFI_SSID, WIFI_PASSWORD); //try to connect with wifi Serial.print("Connecting to "); Serial.print(WIFI_SSID); while (WiFi.status() != WL_CONNECTED) { Serial.print("."); delay(500); } Serial.println(); Serial.print("Connected to "); Serial.println(WIFI_SSID); Serial.print("IP Address is : "); Serial.println(WiFi.localIP()); //print local IP address Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH); // connect to firebase //Start reading dht sensor } void loop() { //Convert RainSensr data into string Firebase.pushString("/NEW", "No"); delay(1000);//setup path and send readings Firebase.pushString("/NEW", "Yes"); //setup path and send readings delay(1000);//setup path and send readings }
-
@Anudeep Ok , compilation part is clear .did you getting anything on the firebase side ? Any erros ?
-
@salmanfaris Nothing, No errors!!
Do I need to change anything in Firebase settings or something? -
@salmanfaris Thanks for the support!!
I finally resolved the error. I have taken FIREBASE_AUTH as apiKey instead of Database secrets. -
@Anudeep Great . Glad to know that it is solved , Keep hacking
-
@Anudeep Hello Anudeep could you please help me out by elaborating the fix to get rid of that error?
Thanks in advance. -
Hello @Palani, In the Firebase, there are two types of storage,
- Cloud Firestore (Very recent one & NoSQL database)
- Realtime Database (To which we upload the data using NodeMCU)
In the Arduino Code, you can see that there is a variable named FIREBASE_AUTH.
This variable should be assigned to the Database secret. This you can find in Project Settings -> Service accounts -> Database Secrets.
My mistake is, i have mistakenly assigned thay to Web API key. This is found at Project Settings -> General.
The error can also occur when u don't initialise a proper realtime database in Firebase. (This is not my case).
-
@Anudeep Thanks a lot m8, I actually made a very silly mistake of including the https:// while entering FIREBASE_HOST, where I must have entered the Domain name alone and removed the https:// extension.
Thanks again for replying that quick. Cheers.