MakerGram Logo

    MakerGram

    • Register
    • Login
    • Search
    • Categories
    • Recent
    • Popular
    • Tags
    • Users
    • Groups

    Uploading data to firebase using NodeMCU

    Arduino
    4
    12
    2938
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • A
      Anudeep last edited by

      Hello,
      I am trying to upload data to firebase but wasn't able to do it. I'm not able to understand the error.
      I wanted to update the value of NEW in firebase...
      Please refer to my code and firebase tree to solve the error.!!!

      68f72edb-2241-4e61-923d-1cd79b154718-image.png

      #include <ESP8266WiFi.h>
      #include <FirebaseArduino.h>       
      
      // Set these to run example.
      #define FIREBASE_HOST "syndinnovate-1.firebaseapp.com"
      #define FIREBASE_AUTH "AIzaSyAf**********-v7hKQe4uPbfUKHc"
      #define WIFI_SSID "Anudeep"
      #define WIFI_PASSWORD "Anudeep123"
      
      void setup() {
        Serial.begin(9600);
      
        // connect to wifi.
        WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
        Serial.print("connecting");
        while (WiFi.status() != WL_CONNECTED) {
          Serial.print(".");
          delay(500);
        }
        Serial.println();
        Serial.print("connected: ");
        Serial.println(WiFi.localIP());
        
        Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
      }
      
      int n = 0;
      
      void loop() {
        /*
        // set value
        Firebase.setFloat("number", 42.0);
        // handle error
        if (Firebase.failed()) {
            Serial.print("setting /number failed:");
            Serial.println(Firebase.error());  
            return;
        }
        delay(1000);*/
        
        // update value
        Firebase.setFloat("/NEW", 43.0);
        // handle error
        if (Firebase.failed()) {
            Serial.print("setting /number failed:");
            Serial.println(Firebase.error());  
            return;
        }
        delay(1000);
      /*
        // get value 
        Serial.print("number: ");
        Serial.println(Firebase.getFloat("number"));
        delay(1000);
      
        // remove value
        Firebase.remove("number");
        delay(1000);
      
        // set string value
        Firebase.setString("message", "hello world");
        // handle error
        if (Firebase.failed()) {
            Serial.print("setting /message failed:");
            Serial.println(Firebase.error());  
            return;
        }
        delay(1000);
        
        // set bool value
        Firebase.setBool("truth", false);
        // handle error
        if (Firebase.failed()) {
            Serial.print("setting /truth failed:");
            Serial.println(Firebase.error());  
            return;
        }
        delay(1000);*/
      
        // append a new value to /logs
        String name = Firebase.pushInt("/NEW", n++);
        // handle error
        if (Firebase.failed()) {
            Serial.print("pushing /logs failed:");
            Serial.println(Firebase.error());  
            return;
        }
        Serial.print("pushed: /logs/");
        Serial.println(name);
        delay(1000);
      }
      
      1 Reply Last reply Reply Quote 0
      • rafitc99
        rafitc99 last edited by rafitc99

        May be "FIREBASE_HOST" have some error, try in this model "<YourProjectName>.firebaseio.com"
        Look this project : ( https://github.com/jagannathBhat/barish/tree/master/nodeWithFirebase)

        A 1 Reply Last reply Reply Quote 1
        • salmanfaris
          salmanfaris last edited by salmanfaris

          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

          Capture.PNG

          if the error persist please share the full error log so that we can understand it better .

          1 Reply Last reply Reply Quote 0
          • A
            Anudeep last edited by Anudeep

            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...
            
            salmanfaris 1 Reply Last reply Reply Quote 0
            • A
              Anudeep @rafitc99 last edited by

              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
              }
              
              1 Reply Last reply Reply Quote 0
              • salmanfaris
                salmanfaris @Anudeep last edited by

                @Anudeep Ok , compilation part is clear .did you getting anything on the firebase side ? Any erros ?

                A 2 Replies Last reply Reply Quote 0
                • A
                  Anudeep @salmanfaris last edited by

                  @salmanfaris Nothing, No errors!!
                  Do I need to change anything in Firebase settings or something?

                  1 Reply Last reply Reply Quote 0
                  • A
                    Anudeep @salmanfaris last edited by

                    @salmanfaris Thanks for the support!!
                    I finally resolved the error. I have taken FIREBASE_AUTH as apiKey instead of Database secrets.

                    salmanfaris P 2 Replies Last reply Reply Quote 2
                    • salmanfaris
                      salmanfaris @Anudeep last edited by

                      @Anudeep Great . Glad to know that it is solved , Keep hacking 🤖

                      1 Reply Last reply Reply Quote 1
                      • P
                        Palani @Anudeep last edited by

                        @Anudeep Hello Anudeep could you please help me out by elaborating the fix to get rid of that error?
                        Thanks in advance.

                        A 1 Reply Last reply Reply Quote 0
                        • First post
                          Last post

                        Recent Posts

                        • @codelery Awesome. That's great news. Kudos to @rafitc99 . 🙌

                          @codelery Please keep us updated about your project, looking forward to seeing it in action 🤩

                          • read more
                        • C

                          @rafitc99 I changed the buffer and that solved the problem. Thanks a lot for coming to my rescue.

                          • read more
                        • C

                          @salmanfaris I did change the buffer size and everything is working perfectly. Thanks coming to my rescue.

                          • read more
                        • @codelery said in Help needed: Arduino Wireless Notice Board project:

                          I am using the hardware serial (pin 0 and 1 on Arduino Uno)

                          As @rafitc99 mentioned, you need to expand the Serila buffer, in the hardware serial also the Arduino board package implements a 64-byte ring buffer for send and receive on the hardware serial messages. So you need to change that to 256 as per your message length.

                          • read more
                        • C

                          @rafitc99 The thing is that I am not using the SoftwareSerial library in receiving the message from the first microcontroller. I am using the hardware serial (pin 0 and 1 on Arduino Uno)

                          • read more
                        By MakerGram | A XiStart Initiative | Built with ♥ NodeBB
                        Copyright © 2023 MakerGram, All rights reserved.
                        Privacy Policy | Terms & Conditions | Disclaimer | Code of Conduct