I cannot compile a coding on sending data to firebase using a esp8266 generic board

The coding error message states,

"Arduino: 1.8.19 (Windows Store 1.8.57.0) (Windows 10), Board: "Generic ESP8266 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, dtr (aka nodemcu), 26 MHz, 40MHz, DOUT (compatible), 1MB (FS:64KB OTA:~470KB), 2, nonos-sdk 2.2.1+100 (190703), v2 Lower Memory, Disabled, None, Only Sketch, 115200"

C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'String FirebaseArduino::push(const String&, const ArduinoJson::JsonVariant&)':

C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:65:54: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

65 | int status = req_.get()->sendRequest(host_, auth_, "POST", path.c_str(), buf);

  |                                                      ^~~~~~

C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'void FirebaseArduino::set(const String&, const ArduinoJson::JsonVariant&)':

C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:94:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

94 | req_.get()->sendRequest(host_, auth_, "PUT", path.c_str(), buf);

  |                                         ^~~~~

C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'void FirebaseArduino::getRequest(const String&)':

C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:101:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

101 | req_.get()->sendRequest(host_, auth_, "GET", path.c_str());

  |                                         ^~~~~

C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src\Firebase.cpp: In member function 'int FirebaseRequest::sendRequest(const string&, const string&, char*, const string&, const string&)':

C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src\Firebase.cpp:78:1: error: no return statement in function returning non-void [-Werror=return-type]

78 | }

  | ^

C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src\Firebase.cpp: In member function 'void FirebaseStream::startStreaming(const string&, const string&, const string&)':

C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src\Firebase.cpp:91:16: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

91 | analyzeError("STREAM", status, path_with_auth);

  |                ^~~~~~~~

C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp: In member function 'virtual void FirebaseArduino::remove(const String&)':

C:\Users\USER\Documents\Arduino\libraries\firebase-arduino-master\src\FirebaseArduino.cpp:147:41: warning: ISO C++ forbids converting a string constant to 'char*' [-Wwrite-strings]

147 | req_.get()->sendRequest(host_, auth_, "DELETE", path.c_str());

  |                                         ^~~~~~~~

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\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.1.2\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\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.1.2\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\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.1.2\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\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.1.2\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\Documents\ArduinoData\packages\esp8266\hardware\esp8266\3.1.2\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, ...)")));

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

cc1plus.exe: some warnings being treated as errors

Multiple libraries were found for "Adafruit_BMP085.h"

Used: C:\Users\USER\Documents\Arduino\libraries\Adafruit_BMP085_Library

Not used: C:\Users\USER\Documents\Arduino\libraries\Adafruit_BMP085_Library-1.2.2

exit status 1

Error compiling for board Generic ESP8266 Module.

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

below is my coding


#include <FirebaseArduino.h>


#include <ESP8266WiFi.h>
#include <Wire.h>
#include <Adafruit_BMP085.h>


#define seaLevelPressure_hPa 1013.25

#define FIREBASE_HOST "sea-storm-detector-default-rtdb.asia-southeast1.firebasedatabase.app"
#define FIREBASE_AUTH "RkbWlwnlVgHPj66sap4ZtDXyns0NfbODKbPukHck"
#define WIFI_SSID "UITM WIFI STUDENT"
#define WIFI_PASSWORD "Honeybuns220917"

Adafruit_BMP085 bmp;
  
void setup() {
  Serial.begin(115200);
  if (!bmp.begin()) {
  Serial.println("BMP180 Not Found. CHECK CIRCUIT!");
  while (1) {}

  // Connect to Wi-Fi
  WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  Serial.print("Connecting to ");
  Serial.print(WIFI_SSID);
  while (WiFi.status() != WL_CONNECTED)
  {
    Serial.print(".");
    delay(500);
  }
  
  Serial.println();
  Serial.print("Connected to ");
  Serial.print("IP Address: ");
  Serial.println(WiFi.localIP());

  // Begin Firebase connection
  Firebase.begin(FIREBASE_HOST, FIREBASE_AUTH);
}
}
  
void loop() {
    Serial.print("Temperature = ");
    Serial.print(bmp.readTemperature());
    Serial.println(" *C");
    String tempe = String(bmp.readTemperature()) + String(" *C");
    
    Serial.print("Pressure = ");
    Serial.print(bmp.readPressure());
    Serial.println(" Pa");
    String Press = String(bmp.readPressure()) + String(" Pa");

    Serial.print("Pressure at sealevel (calculated) = ");
    Serial.print(bmp.readSealevelPressure());
    Serial.println(" Pa");
    String Pressea = String(bmp.readSealevelPressure()) + String(" Pa");

    Serial.print("Altitude = ");
    Serial.print(bmp.readAltitude());
    Serial.println(" meters");
    String Alti = String(bmp.readAltitude()) + String(" meters");

    Serial.print("Real altitude = ");
    Serial.print(bmp.readAltitude(seaLevelPressure_hPa * 100));
    Serial.println(" meters");
    String Realti = String(bmp.readAltitude(seaLevelPressure_hPa * 100)) + String(" meters");
    
    Serial.println();
    delay(1000);

    Firebase.pushString("Temperature", tempe);
    Firebase.pushString("Pressure", Press);
    Firebase.pushString("Pressure at sealevel (calculated)", Pressea);
    Firebase.pushString("Altitude", Alti);
    Firebase.pushString("Real altitude", Realti);
        if (Firebase.failed()) 
    {
 
      Serial.print("pushing /logs failed:");
      Serial.println(Firebase.error()); 
      return;
  }
    
}```

Post a link to the Firebase library you're using as it doesn't seem to be available in the library manager.

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.