FirebaseExtended / firebase-arduino

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

Cannot send data to firebase through arduino ide . No error coming.I am worried that it has gone forever . Please help. My project is at stake #489

Open MahdiParekh opened 4 years ago

MahdiParekh commented 4 years ago

//#include //#include //#include //#include

//#include //#include //#include //#include //#include

include

include

include "time.h"

define FIREBASE_HOST "bin-latest.firebaseio.com"

define FIREBASE_AUTH "UxBJgEfPoitAhBJqrhP7gIDmY6snCFwsUiylPyFI"

define ARDUINO_ARCH_ESP8266

if defined ARDUINO_ARCH_ESP32 || defined ARDUINO_ARCH_ESP8266

static const char GlobalSignCA[] PROGMEM = R"EOF( -----BEGIN CERTIFICATE----- MIIDgTCCAmkCFHMX5hJGMf6pCAQ7siKXq3qpylYQMA0GCSqGSIb3DQEBCwUAMH0x CzAJBgNVBAYTAklOMRQwEgYDVQQIDAtNYWhhcmFzaHRyYTEPMA0GA1UEBwwGTXVt YmFpMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0eSBMdGQxJDAiBgkqhkiG 9w0BCQEWFWFtLnBlZXJiaGFpQGdtYWlsLmNvbTAeFw0yMDAyMDIwOTQ5MjVaFw0y MTAyMDEwOTQ5MjVaMH0xCzAJBgNVBAYTAklOMRQwEgYDVQQIDAtNYWhhcmFzaHRy YTEPMA0GA1UEBwwGTXVtYmFpMSEwHwYDVQQKDBhJbnRlcm5ldCBXaWRnaXRzIFB0 eSBMdGQxJDAiBgkqhkiG9w0BCQEWFWFtLnBlZXJiaGFpQGdtYWlsLmNvbTCCASIw DQYJKoZIhvcNAQEBBQADggEPADCCAQoCggEBANLJ+vW9nVTA7+CAlTCXnGqsmQCO w6FT4FYVf0aoGh2AliWkrvhb2ym12fjOgLs+VF+V3DGr7efgYihWWg3i1hzk7MQb iIDJ4pgfGRZfHFtUA/k//LKT3SlgnVokxT/hMF+H3ams0O8WZx+3lmlUVrYD8koU owt2JvqDDsJjRXdv38xZnZhVwjv1FNTOcDvZsSP6ZLyFXoDpJRZXDckQy/PWBlR4 UuMQjKR0X6CczTaa7dCqzgdPkrQssqqmyvEjtrhLP5Lfz+Lazjr2fWR5y6NMQYc3 SG2sO+GoesLJ1Bd1FW824yDnR4MGhK6kl5ctaKkZce6yrVg/KImlJ0rGpzcCAwEA ATANBgkqhkiG9w0BAQsFAAOCAQEASQmzZkm2R81YUvjV+wesH/53OEpXk0BkV7B7 Lrv6imI7lMD4Ot5cwypUVn71yRXR7SsBITgptfMtpGQ3IVsr5V70ru2AQsoUbV6k p6IhpBp1V3RSGUbkLQsIQTHTMhyA2F2V68HGBls0TIOCW6nbDn2u7w5i2ahTm3jA j9aFDWTEtzMGV5ynJnHhZ41R5ycWn2P9DSVgsYSynePrmSg9zhkz3PjLUlTdFjvS N2VeBhaoaUJbreljinKLnrct16pNHFuRZOcyOYhJWPHJ1GBeL8VVU56b21mB03Ps biX0Jrvtd30bQBpybgqGgPAMNNYf9vzOlTx5RKismSxmVjBrFw== -----END CERTIFICATE----- )EOF";

endif

char myssid[] = "dlink"; // your network SSID (name) char mypass[] = "9819183720"; // your network password

//Credentials for Google GeoLocation API... const char* Host = "www.googleapis.com"; String thisPage = "/geolocation/v1/geolocate?key="; String key = "AIzaSyA_hLx4d8ia9wRyit4a4zIBP-DKRpAmDkg";

int status = WL_IDLE_STATUS; String jsonString = "{\n";

double latitude = 0.0; double longitude = 0.0; double accuracy = 0.0; int more_text = 1; // set to 1 for more debug output

void setup() { Serial.begin(9600);

Serial.println("Start"); // Set WiFi to station mode and disconnect from an AP if it was previously connected WiFi.mode(WIFI_STA); WiFi.disconnect(); delay(100); Serial.println("Setup done"); // We start by connecting to a WiFi network Serial.print("Connecting to "); Serial.println(myssid); WiFi.begin(myssid, mypass);

while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } Serial.println(".");

Firebase.begin( FIREBASE_HOST, FIREBASE_AUTH); }

void loop() {

char bssid[6]; DynamicJsonBuffer jsonBuffer; Serial.println("scan start"); // WiFi.scanNetworks will return the number of networks found int n = WiFi.scanNetworks(); Serial.println("scan done"); if (n == 0) Serial.println("no networks found"); else { Serial.print(n); Serial.println(" networks found...");

if (more_text) {
  // Print out the formatted json...
  Serial.println("{");
  Serial.println("\"homeMobileCountryCode\": 404,");  // this is a real UK MCC
  Serial.println("\"homeMobileNetworkCode\": 20,");   // and a real UK MNC
  Serial.println("\"radioType\": \"gsm\",");          // for gsm
  Serial.println("\"carrier\": \"Vodafone\",");       // associated with Vodafone
  //Serial.println("\"cellTowers\": [");                // I'm not reporting any cell towers
  //Serial.println("],");
  Serial.println("\"wifiAccessPoints\": [");
  for (int i = 0; i < n; ++i)
  {
    Serial.println("{");
    Serial.print("\"macAddress\" : \"");
    Serial.print(WiFi.BSSIDstr(i));
    Serial.println("\",");
    Serial.print("\"signalStrength\": ");
    Serial.println(WiFi.RSSI(i));
    if (i < n - 1)
    {
      Serial.println("},");
    }
    else
    {
      Serial.println("}");
    }
  }
  Serial.println("]");
  Serial.println("}");
}
Serial.println(" ");

} // now build the jsonString... jsonString = "{\n"; jsonString += "\"homeMobileCountryCode\": 234,\n"; // this is a real UK MCC jsonString += "\"homeMobileNetworkCode\": 27,\n"; // and a real UK MNC jsonString += "\"radioType\": \"gsm\",\n"; // for gsm jsonString += "\"carrier\": \"Vodafone\",\n"; // associated with Vodafone jsonString += "\"wifiAccessPoints\": [\n"; for (int j = 0; j < n; ++j) { jsonString += "{\n"; jsonString += "\"macAddress\" : \""; jsonString += (WiFi.BSSIDstr(j)); jsonString += "\",\n"; jsonString += "\"signalStrength\": "; jsonString += WiFi.RSSI(j); jsonString += "\n"; if (j < n - 1) { jsonString += "},\n"; } else { jsonString += "}\n"; } } jsonString += ("]\n"); jsonString += ("}\n"); //--------------------------------------------------------------------

Serial.println("");

WiFiClientSecure client; client.setInsecure(); //Connect to the client and make the api call Serial.print("Requesting URL: "); Serial.println("https://" + (String)Host + thisPage + "AIzaSyCYNXIYINPmTNIdusMjJloS4_BXSOff1_g"); Serial.println(" ");

if (client.connect(Host, 443)) { Serial.println("Connected"); client.println("POST " + thisPage + key + " HTTP/1.1"); client.println("Host: " + (String)Host); client.println("Connection: close"); client.println("Content-Type: application/json"); client.println("User-Agent: Arduino/1.0"); client.print("Content-Length: "); client.println(jsonString.length()); client.println(); client.print(jsonString); delay(500); }

//Read and parse all the lines of the reply from server while (client.available()) { String line = client.readStringUntil('\r'); if (more_text) { Serial.print(line); } JsonObject& root = jsonBuffer.parseObject(line); if (root.success()) { latitude = root["location"]["lat"]; longitude = root["location"]["lng"]; accuracy = root["accuracy"]; } }

Serial.println("closing connection"); Serial.println(); client.stop();

Serial.print("Latitude = "); double latt = (latitude); Serial.println(latt); Serial.print("Longitude = "); double longg = (longitude); Serial.println(longg); Serial.print("Accuracy = "); double accuu = (accuracy); Serial.println(accuu);

String latt_to_string=String(latt); String longg_to_string=String(longg); String accuu_to_string=String(accuu); Firebase.pushString("Lamp1/Bin1/Accuracy",accuu_to_string); Firebase.pushString("Lamp1/Bin1/Latitude",latt_to_string); Firebase.pushString("Lamp1/Bin1/Longitude",longg_to_string);

}