FirebaseExtended / firebase-arduino

Arduino samples for Firebase.
Apache License 2.0
943 stars 494 forks source link

update required for arduinoJSON v6.xx apis #426

Open technowhiz opened 5 years ago

technowhiz commented 5 years ago

arduinoJson v6 apis have implemented some changes in using JsonBuffer and JsonObject classes.

MrSuhov commented 5 years ago

Actually Json 6. are still in beta, so right now it looks reasonable to use json 5. and wait for a release of 6.*

technowhiz commented 5 years ago

Hi @MrSuhov , If I am not wrong, ArduinoJson is currently in its stable channel v6.9.1. Beta version ended in v6.8.0. plz take a look at the image attached for further reference. crct me if I am wrong. arduinoJson 6 9 1

MrSuhov commented 5 years ago

Wow! I was not up to date)

TrickSumo commented 5 years ago

Hi

Getting error:-


Documents\Arduino\libraries\firebase-arduino-master\src/Firebase.h:86:11: error: StaticJsonBuffer is a class from ArduinoJson 5. Please see arduinojson.org/upgrade to learn how to upgrade your program to ArduinoJson version 6

   std::shared_ptr<StaticJsonBuffer<FIREBASE_JSONBUFFER_SIZE>> buffer_;

Please update this library.

Thanks

technowhiz commented 5 years ago

Hi @TrickSumo , a quick remedy is just install ArduinoJSON v5 in ur libraries manager. the recommended version of arduinoJSON as mentioned here is any version from v5.13.1. and below v6

TrickSumo commented 5 years ago

Ok, Its working now.

Thanks sdk156.

bblanchon commented 5 years ago

Hi,

If you want to support both branches of ArduinoJson, you can check ARDUINOJSON_VERSION_MAJOR:

#if ARDUINOJSON_VERSION_MAJOR == 6
// code for v6
#else 
// code for v5
#endif

Alternatively, if you don't want to depend on the version installed on the user's computer, you can embed the library with the source code of firebase-arduino. Simply download ArduinoJson-v5.13.5.h in src/ and commit the file.

Regards, Benoit

sujithkumarjp commented 5 years ago

Hi

Getting error:-


Documents\Arduino\libraries\firebase-arduino-master\src/Firebase.h:86:11: error: StaticJsonBuffer is a class from ArduinoJson 5. Please see arduinojson.org/upgrade to learn how to upgrade your program to ArduinoJson version 6

   std::shared_ptr<StaticJsonBuffer<FIREBASE_JSONBUFFER_SIZE>> buffer_;

Please update this library.

Thanks

after the update, the same error is occurring Build options changed, rebuilding all In file included from C:\Users\admin\Documents\Arduino\libraries\firebase-arduino-0.3\src/Firebase.h:30:0,

             from C:\Users\admin\Documents\Arduino\libraries\firebase-arduino-0.3\src/FirebaseArduino.h:22,

             from C:\Users\admin\Documents\Arduino\libraries\firebase-arduino-0.3\examples\FirebaseDemo_ESP8266\FirebaseDemo_ESP8266.ino:21:

C:\Users\admin\Documents\Arduino\libraries\firebase-arduino-0.3\src/FirebaseObject.h:109:11: error: StaticJsonBuffer is a class from ArduinoJson 5. Please see arduinojson.org/upgrade to learn how to upgrade your program to ArduinoJson version 6

 std::shared_ptr<StaticJsonBuffer<FIREBASE_JSONBUFFER_SIZE>> buffer_;

       ^

In file included from C:\Users\admin\Documents\Arduino\libraries\firebase-arduino-0.3\src/FirebaseArduino.h:22:0,

             from C:\Users\admin\Documents\Arduino\libraries\firebase-arduino-0.3\examples\FirebaseDemo_ESP8266\FirebaseDemo_ESP8266.ino:21:

C:\Users\admin\Documents\Arduino\libraries\firebase-arduino-0.3\src/Firebase.h:86:11: error: StaticJsonBuffer is a class from ArduinoJson 5. Please see arduinojson.org/upgrade to learn how to upgrade your program to ArduinoJson version 6

std::shared_ptr<StaticJsonBuffer> buffer_;

       ^

exit status 1 Error compiling for board LOLIN(WEMOS) D1 R2 & mini.

BeingDataScientist commented 4 years ago

Hi @TrickSumo , a quick remedy is just install ArduinoJSON v5 in ur libraries manager. the recommended version of arduinoJSON as mentioned here is any version from v5.13.1. and below v6

Thank u so much you saved my project

Sourav365 commented 3 years ago

Hi, I'm using Arduino_JSON v6.9.0 (stable). In my code both the version v5 and v6 required. In one piece of function the v6 required, not v5, but for firebase, v5 required. What to do?