Advertisement
safwan092

Untitled

Mar 1st, 2023
29
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.70 KB | None | 0 0
  1. #include <FirebaseESP32.h>
  2. #include <addons/TokenHelper.h>
  3. #include <addons/RTDBHelper.h>
  4.  
  5. #define WIFI_SSID "network"
  6. #define WIFI_PASSWORD "123456789"
  7. #define API_KEY "AIzaSyBLfX65ajHcs2jqWnAGvkMQT2j3j4p4w1A"
  8. #define USER_EMAIL "project.10866@gmail.com"
  9. #define USER_PASSWORD "123456789"
  10. #define DATABASE_URL "valleywatersafety-default-rtdb.firebaseio.com"
  11. #define DATABASE_SECRET "hZdqpKKWmnp4BAhsb3Qulobn5oDNySyUP1C2yhW0"
  12.  
  13. FirebaseData fbdo;
  14. FirebaseAuth auth;
  15. FirebaseConfig config;
  16. unsigned long dataMillis = 0;
  17. char c;
  18. String dataIn;
  19. int8_t indexOfA, indexOfB, indexOfC, indexOfD, indexOfE;
  20. int8_t indexOfF, indexOfG, indexOfH;
  21. String data1, data2, data3, data4, data5;
  22. String data6, data7, data8;
  23.  
  24. void setup() {
  25. Serial.begin(9600);
  26. Serial2.begin(9600);
  27. WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  28. Serial.print("Connecting to Wi-Fi");
  29. while (WiFi.status() != WL_CONNECTED)
  30. {
  31. Serial.print(".");
  32. delay(300);
  33. }
  34. Serial.println();
  35. Serial.print("Connected with IP: ");
  36. Serial.println(WiFi.localIP());
  37. Serial.println();
  38. Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION);
  39. config.api_key = API_KEY;
  40. auth.user.email = USER_EMAIL;
  41. auth.user.password = USER_PASSWORD;
  42. config.database_url = DATABASE_URL;
  43. Firebase.reconnectWiFi(true);
  44. fbdo.setResponseSize(4096);
  45. config.token_status_callback = tokenStatusCallback;
  46. config.max_token_generation_retry = 5;
  47. Firebase.begin(&config, &auth);
  48. }
  49.  
  50. void loop() {
  51.  
  52. while (Serial2.available() > 0) {
  53. c = Serial2.read();
  54. if (c == '\n') {
  55. break;
  56. }
  57. else {
  58. dataIn += c;
  59. }
  60. }
  61. if (c == '\n') {
  62. parseData();
  63. ShowRxData();
  64. sendDataToFirebase();
  65. resetData();
  66. }
  67.  
  68.  
  69. }
  70.  
  71. void sendDataToFirebase() {
  72. if (millis() - dataMillis > 5000 && Firebase.ready())
  73. {
  74. dataMillis = millis();
  75.  
  76. Serial.printf("Set Temprature Value... %s\n", Firebase.setString(fbdo, "/temp/", data1) ? "ok" : fbdo.errorReason().c_str());
  77. Serial.printf("Set Humidity Value... %s\n", Firebase.setString(fbdo, "/hum/", data2) ? "ok" : fbdo.errorReason().c_str());
  78. Serial.printf("Set Water Level Value... %s\n", Firebase.setString(fbdo, "/waterLevel/", data3) ? "ok" : fbdo.errorReason().c_str());
  79. Serial.printf("Set Latitude Value... %s\n", Firebase.setString(fbdo, "/Lat/", data4) ? "ok" : fbdo.errorReason().c_str());
  80. Serial.printf("Set Longitude Value... %s\n", Firebase.setString(fbdo, "/Lon/", data5) ? "ok" : fbdo.errorReason().c_str());
  81. }
  82. }
  83.  
  84. void parseData() {
  85. indexOfA = dataIn.indexOf("A");
  86. indexOfB = dataIn.indexOf("B");
  87. indexOfC = dataIn.indexOf("C");
  88. indexOfD = dataIn.indexOf("D");
  89. indexOfE = dataIn.indexOf("E");
  90.  
  91. indexOfF = dataIn.indexOf("F");
  92. indexOfG = dataIn.indexOf("G");
  93. indexOfH = dataIn.indexOf("H");
  94.  
  95. data1 = dataIn.substring(0, indexOfA);
  96. data2 = dataIn.substring(indexOfA + 1, indexOfB);
  97. data3 = dataIn.substring(indexOfB + 1, indexOfC);
  98. data4 = dataIn.substring(indexOfC + 1, indexOfD);
  99. data5 = dataIn.substring(indexOfD + 1, indexOfE);
  100.  
  101. data6 = dataIn.substring(indexOfE + 1, indexOfF);
  102. data7 = dataIn.substring(indexOfF + 1, indexOfG);
  103. data8 = dataIn.substring(indexOfG + 1, indexOfH);
  104. }
  105.  
  106. void ShowRxData() {
  107. Serial.println("Temprature [°C]: " + data1);
  108. Serial.println("Humidity [%]: " + data2);
  109. Serial.println("Water Level [%]: " + data3);
  110. Serial.println("Latitude [°]: " + data4);
  111. Serial.println("Longitude [°]: " + data5);
  112.  
  113. Serial.println("Water Sensor Low: " + data6);
  114. Serial.println("Water Sensor Med: " + data7);
  115. Serial.println("Water Sensor Hig: " + data8);
  116.  
  117. Serial.println("####################");
  118. }
  119.  
  120. void resetData() {
  121. c = 0;
  122. dataIn = "";
  123. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement