Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #include <FirebaseESP32.h>
- #include <addons/TokenHelper.h>
- #include <addons/RTDBHelper.h>
- #define WIFI_SSID "network"
- #define WIFI_PASSWORD "123456789"
- #define API_KEY "AIzaSyBLfX65ajHcs2jqWnAGvkMQT2j3j4p4w1A"
- #define USER_EMAIL "project.10866@gmail.com"
- #define USER_PASSWORD "123456789"
- #define DATABASE_URL "valleywatersafety-default-rtdb.firebaseio.com"
- #define DATABASE_SECRET "hZdqpKKWmnp4BAhsb3Qulobn5oDNySyUP1C2yhW0"
- FirebaseData fbdo;
- FirebaseAuth auth;
- FirebaseConfig config;
- unsigned long dataMillis = 0;
- char c;
- String dataIn;
- int8_t indexOfA, indexOfB, indexOfC, indexOfD, indexOfE;
- int8_t indexOfF, indexOfG, indexOfH;
- String data1, data2, data3, data4, data5;
- String data6, data7, data8;
- void setup() {
- Serial.begin(9600);
- Serial2.begin(9600);
- WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
- Serial.print("Connecting to Wi-Fi");
- while (WiFi.status() != WL_CONNECTED)
- {
- Serial.print(".");
- delay(300);
- }
- Serial.println();
- Serial.print("Connected with IP: ");
- Serial.println(WiFi.localIP());
- Serial.println();
- Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION);
- config.api_key = API_KEY;
- auth.user.email = USER_EMAIL;
- auth.user.password = USER_PASSWORD;
- config.database_url = DATABASE_URL;
- Firebase.reconnectWiFi(true);
- fbdo.setResponseSize(4096);
- config.token_status_callback = tokenStatusCallback;
- config.max_token_generation_retry = 5;
- Firebase.begin(&config, &auth);
- }
- void loop() {
- while (Serial2.available() > 0) {
- c = Serial2.read();
- if (c == '\n') {
- break;
- }
- else {
- dataIn += c;
- }
- }
- if (c == '\n') {
- parseData();
- ShowRxData();
- sendDataToFirebase();
- resetData();
- }
- }
- void sendDataToFirebase() {
- if (millis() - dataMillis > 5000 && Firebase.ready())
- {
- dataMillis = millis();
- Serial.printf("Set Temprature Value... %s\n", Firebase.setString(fbdo, "/temp/", data1) ? "ok" : fbdo.errorReason().c_str());
- Serial.printf("Set Humidity Value... %s\n", Firebase.setString(fbdo, "/hum/", data2) ? "ok" : fbdo.errorReason().c_str());
- Serial.printf("Set Water Level Value... %s\n", Firebase.setString(fbdo, "/waterLevel/", data3) ? "ok" : fbdo.errorReason().c_str());
- Serial.printf("Set Latitude Value... %s\n", Firebase.setString(fbdo, "/Lat/", data4) ? "ok" : fbdo.errorReason().c_str());
- Serial.printf("Set Longitude Value... %s\n", Firebase.setString(fbdo, "/Lon/", data5) ? "ok" : fbdo.errorReason().c_str());
- }
- }
- void parseData() {
- indexOfA = dataIn.indexOf("A");
- indexOfB = dataIn.indexOf("B");
- indexOfC = dataIn.indexOf("C");
- indexOfD = dataIn.indexOf("D");
- indexOfE = dataIn.indexOf("E");
- indexOfF = dataIn.indexOf("F");
- indexOfG = dataIn.indexOf("G");
- indexOfH = dataIn.indexOf("H");
- data1 = dataIn.substring(0, indexOfA);
- data2 = dataIn.substring(indexOfA + 1, indexOfB);
- data3 = dataIn.substring(indexOfB + 1, indexOfC);
- data4 = dataIn.substring(indexOfC + 1, indexOfD);
- data5 = dataIn.substring(indexOfD + 1, indexOfE);
- data6 = dataIn.substring(indexOfE + 1, indexOfF);
- data7 = dataIn.substring(indexOfF + 1, indexOfG);
- data8 = dataIn.substring(indexOfG + 1, indexOfH);
- }
- void ShowRxData() {
- Serial.println("Temprature [°C]: " + data1);
- Serial.println("Humidity [%]: " + data2);
- Serial.println("Water Level [%]: " + data3);
- Serial.println("Latitude [°]: " + data4);
- Serial.println("Longitude [°]: " + data5);
- Serial.println("Water Sensor Low: " + data6);
- Serial.println("Water Sensor Med: " + data7);
- Serial.println("Water Sensor Hig: " + data8);
- Serial.println("####################");
- }
- void resetData() {
- c = 0;
- dataIn = "";
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement