FirebaseExtended / firebase-arduino

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

Not able to compile FirebaseHttpClient_Esp8266.cpp #516

Open ashish-solankar opened 3 years ago

ashish-solankar commented 3 years ago

`Arduino: 1.8.1 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"

WARNING: Category 'Network' in library lwIP_PPP is not valid. Setting to 'Uncategorized' WARNING: Category 'Network' in library lwIP_enc28j60 is not valid. Setting to 'Uncategorized' WARNING: Category 'Network' in library lwIP_w5500 is not valid. Setting to 'Uncategorized' WARNING: Category 'Network' in library lwIP_w5500 is not valid. Setting to 'Uncategorized' C:\Users\HP\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp: In member function 'virtual void FirebaseHttpClientEsp8266::begin(const string&)': C:\Users\HP\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:50: error: no matching function for call to 'begin(const char*, const char [60])' 47 http_.begin(url.c_str(), kFirebaseFingerprint); ^ In file included from C:\Users\HP\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9: C:\Users\HP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:166:10: note: candidate: 'bool HTTPClient::begin(String, uint16_t, String)' (near match) 166 bool begin(String host, uint16_t port, String uri = "/") attribute ((error("obsolete API, use ::begin(WiFiClient, host, port, uri)"))); ^~~~~ C:\Users\HP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:166:10: note: conversion of argument 2 would be ill-formed: C:\Users\HP\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:30: error: invalid conversion from 'const char*' to 'uint16_t' {aka 'short unsigned int'} [-fpermissive] 47 http_.begin(url.c_str(), kFirebaseFingerprint); ^~~~~~~~
const char*
In file included from C:\Users\HP\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9: C:\Users\HP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:167:10: note: candidate: 'bool HTTPClient::begin(String, const uint8_t*)' (near match) 167 bool begin(String url, const uint8_t httpsFingerprint[20]) attribute ((error("obsolete API, use ::begin(WiFiClientSecure, ...)"))); ^~~~~ C:\Users\HP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:167:10: note: conversion of argument 2 would be ill-formed: C:\Users\HP\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:30: error: invalid conversion from 'const char' to 'const uint8_t' {aka 'const unsigned char*'} [-fpermissive] 47 http_.begin(url.c_str(), kFirebaseFingerprint); ^~~~~~~~
const char*
C:\Users\HP\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp: In member function 'virtual void FirebaseHttpClientEsp8266::begin(const string&, const string&)': C:\Users\HP\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:51:60: error: invalid conversion from 'const char' to 'const uint8_t' {aka 'const unsigned char*'} [-fpermissive] 51 http_.begin(host.c_str(), kFirebasePort, path.c_str(), kFirebaseFingerprint); ^~~~~~~~
const char*

In file included from C:\Users\HP\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9: C:\Users\HP\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:168:70: note: initializing argument 4 of 'bool HTTPClient::begin(String, uint16_t, String, const uint8_t*)' 168 | bool begin(String host, uint16_t port, String uri, const uint8_t httpsFingerprint[20]) attribute ((error("obsolete API, use ::begin(WiFiClientSecure, ...)"))); | ~~~~^~~~~~ exit status 1 Error compiling for board NodeMCU 1.0 (ESP-12E Module).

This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences. `

ashish-solankar commented 3 years ago

It was working till yesterday i have updated fingerprint.

Diere1 commented 3 years ago

same for me, this is the error messages

Arduino: 1.8.15 (Windows 10), Board: "NodeMCU 1.0 (ESP-12E Module), 80 MHz, Flash, Disabled (new aborts on oom), Disabled, All SSL ciphers (most compatible), 32KB cache + 32KB IRAM (balanced), Use pgm_read macros for IRAM/PROGMEM, 4MB (FS:2MB OTA:~1019KB), 2, v2 Lower Memory, Disabled, None, Only Sketch, 115200"

C:\Users\user\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp: In member function 'virtual void FirebaseHttpClientEsp8266::begin(const string&)':

C:\Users\user\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:50: error: no matching function for call to 'begin(const char*, const char [60])'

47 | http_.begin(url.c_str(), kFirebaseFingerprint);

  |                                                  ^

In file included from C:\Users\user\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9:

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:166:10: note: candidate: 'bool HTTPClient::begin(String, uint16_t, String)' (near match)

166 | bool begin(String host, uint16_t port, String uri = "/") attribute ((error("obsolete API, use ::begin(WiFiClient, host, port, uri)")));

  |          ^~~~~

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:166:10: note: conversion of argument 2 would be ill-formed:

C:\Users\user\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:30: error: invalid conversion from 'const char*' to 'uint16_t' {aka 'short unsigned int'} [-fpermissive]

47 | http_.begin(url.c_str(), kFirebaseFingerprint);

  |                              ^~~~~~~~~~~~~~~~~~~~

  |                              |

  |                              const char*

In file included from C:\Users\user\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9:

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:167:10: note: candidate: 'bool HTTPClient::begin(String, const uint8_t*)' (near match)

167 | bool begin(String url, const uint8_t httpsFingerprint[20]) attribute ((error("obsolete API, use ::begin(WiFiClientSecure, ...)")));

  |          ^~~~~

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:167:10: note: conversion of argument 2 would be ill-formed:

C:\Users\user\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:47:30: error: invalid conversion from 'const char' to 'const uint8_t' {aka 'const unsigned char*'} [-fpermissive]

47 | http_.begin(url.c_str(), kFirebaseFingerprint);

  |                              ^~~~~~~~~~~~~~~~~~~~

  |                              |

  |                              const char*

C:\Users\user\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp: In member function 'virtual void FirebaseHttpClientEsp8266::begin(const string&, const string&)':

C:\Users\user\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:51:60: error: invalid conversion from 'const char' to 'const uint8_t' {aka 'const unsigned char*'} [-fpermissive]

51 | http_.begin(host.c_str(), kFirebasePort, path.c_str(), kFirebaseFingerprint);

  |                                                            ^~~~~~~~~~~~~~~~~~~~

  |                                                            |

  |                                                            const char*

In file included from C:\Users\user\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseHttpClient_Esp8266.cpp:9:

C:\Users\user\AppData\Local\Arduino15\packages\esp8266\hardware\esp8266\3.0.0\libraries\ESP8266HTTPClient\src/ESP8266HTTPClient.h:168:70: note: initializing argument 4 of 'bool HTTPClient::begin(String, uint16_t, String, const uint8_t*)'

168 | bool begin(String host, uint16_t port, String uri, const uint8_t httpsFingerprint[20]) attribute ((error("obsolete API, use ::begin(WiFiClientSecure, ...)")));

  |                                                        ~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~

exit status 1

Error compiling for board NodeMCU 1.0 (ESP-12E Module).

This report would have more information with "Show verbose output during compilation" option enabled in File -> Preferences.

doublecookie commented 3 years ago

Same problem here!

doublecookie commented 3 years ago

Solved it. Works if you change esp8266 board manager from 3.0.0 back to 2.7.4 seems like this library hasnt been adapted to the new ESP8266HTTPClient version

Diere1 commented 3 years ago

@doublecookie thank you, got the job run succesfully.

Diere1 commented 3 years ago

I got some new problem, after uploading, this lines appear in serial monitor.

[HTTP-Client][begin] host: "blabla.firebase.io" port: 443 url: /Lamp_Status.json?auth=aXwW4fLhGEVR4rtq5....... httpsFingerprint: 03 9E 4F E6 83 FC 40 EF FC B2 C5 EF 36 0E 7C 3C 42 20 1B 8F [HTTP-Client][sendRequest] type: 'GET' redirCount: 0 [HTTP-Client] failed connect to blabla.firebaseio.com:443 [HTTP-Client][returnError] error(-1): connection failed [HTTP-Client][end] tcp is closed

hope someone can help

mussacharles60 commented 2 years ago

A new fingerprint as by 2021-07 is: "50:89:50:57:90:1F:37:E3:B8:F3:5B:02:ED:3A:65:6E:6A:34:DB:93"

ammarirafik commented 1 year ago

i have this error : In file included from C:\Users\ASUS\Documents\Arduino\libraries\Firebase_ESP8266_Client\src/FirebaseESP8266.h:47:0, from C:\Users\ASUS\Desktop\PS2 codes\finaaaale\finaaaale.ino:8: C:\Users\ASUS\Documents\Arduino\libraries\Firebase_ESP8266_Client\src/Firebase.h: In instantiation of 'void FIREBASE_CLASS::begin(T1, T2, T3, float) [with T1 = const char; T2 = const char; T3 = WiFiClient]': C:\Users\ASUS\Desktop\PS2 codes\finaaaale\finaaaale.ino:58:58: required from here C:\Users\ASUS\Documents\Arduino\libraries\Firebase_ESP8266_Client\src/Firebase.h:502:22: error: cannot convert 'WiFiClient' to 'const char*' in assignment cfg->cert.data = caCert; ^ exit status 1 Erreur de compilation pour la carte NodeMCU 1.0 (ESP-12E Module)

ammarirafik commented 1 year ago

i have this problem please help me : In file included from C:\Users\ASUS\Documents\Arduino\libraries\firebase-arduino-master\src/Firebase.h:30:0, from C:\Users\ASUS\Documents\Arduino\libraries\firebase-arduino-master\src/FirebaseArduino.h:22, from C:\Users\ASUS\Desktop\PS2 codes\finaaaale\finaaaale.ino:6: C:\Users\ASUS\Documents\Arduino\libraries\firebase-arduino-master\src/FirebaseObject.h:109:11: error: StaticJsonBuffer is a class from ArduinoJson 5. Please see https://arduinojson.org/upgrade to learn how to upgrade your program to ArduinoJson version 6 std::shared_ptr<StaticJsonBuffer> buffer_; ^ In file included from C:\Users\ASUS\Documents\Arduino\libraries\firebase-arduino-master\src/FirebaseArduino.h:22:0, from C:\Users\ASUS\Desktop\PS2 codes\finaaaale\finaaaale.ino:6: C:\Users\ASUS\Documents\Arduino\libraries\firebase-arduino-master\src/Firebase.h:86:11: error: StaticJsonBuffer is a class from ArduinoJson 5. Please see https://arduinojson.org/upgrade to learn how to upgrade your program to ArduinoJson version 6 std::shared_ptr<StaticJsonBuffer> buffer_; ^ exit status 1 Erreur de compilation pour la carte NodeMCU 1.0 (ESP-12E Module)