safwan092

NodeMCU Firebase Ultrasonic [28-4-2022]

Apr 27th, 2022 (edited)
46
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.40 KB | None | 0 0
  1. #include <ESP8266WiFi.h>
  2. #include <FirebaseESP8266.h>
  3. #include <addons/TokenHelper.h>
  4. #include <addons/RTDBHelper.h>
  5.  
  6.  
  7. #define WIFI_SSID "network"
  8. #define WIFI_PASSWORD "123456789"
  9. #define API_KEY "AIzaSyBp9krIZcBmsNRyxmLuDNY3NNGEMVo-sVc"
  10. #define DATABASE_URL "arduino-8abef-default-rtdb.firebaseio.com"
  11. #define USER_EMAIL "iilina1719@gmail.com"
  12. #define USER_PASSWORD "123456789"
  13. // User UID: TBqpKLxRKqX3xXWT99UBxFaWTT53
  14.  
  15. long duration;
  16. float distance;
  17. const int TRIGGER = 12;
  18. const int ECHO = 14;
  19.  
  20. FirebaseData fbdo;
  21. FirebaseAuth auth;
  22. FirebaseConfig config;
  23.  
  24. unsigned long sendDataPrevMillis = 0;
  25.  
  26. int count = 0;
  27.  
  28. void setup()
  29. {
  30.  
  31. Serial.begin(115200);
  32. Serial.println();
  33. Serial.println();
  34.  
  35. WiFi.begin(WIFI_SSID, WIFI_PASSWORD);
  36. Serial.print("Connecting to Wi-Fi");
  37. while (WiFi.status() != WL_CONNECTED)
  38. {
  39. Serial.print(".");
  40. delay(300);
  41. }
  42. Serial.println();
  43. Serial.print("Connected with IP: ");
  44. Serial.println(WiFi.localIP());
  45. Serial.println();
  46.  
  47. Serial.printf("Firebase Client v%s\n\n", FIREBASE_CLIENT_VERSION);
  48.  
  49. /* Assign the api key (required) */
  50. config.api_key = API_KEY;
  51.  
  52. /* Assign the user sign in credentials */
  53. auth.user.email = USER_EMAIL;
  54. auth.user.password = USER_PASSWORD;
  55.  
  56. /* Assign the RTDB URL (required) */
  57. config.database_url = DATABASE_URL;
  58.  
  59. /* Assign the callback function for the long running token generation task */
  60. config.token_status_callback = tokenStatusCallback; //see addons/TokenHelper.h
  61.  
  62. //Or use legacy authenticate method
  63. //config.database_url = DATABASE_URL;
  64. //config.signer.tokens.legacy_token = "<database secret>";
  65.  
  66. Firebase.begin(&config, &auth);
  67.  
  68. Firebase.reconnectWiFi(true);
  69. #if defined(ESP8266)
  70. fbdo.setBSSLBufferSize(512, 2048);
  71. #endif
  72. }
  73.  
  74. void loop()
  75. {
  76. digitalWrite(TRIGGER, LOW);
  77. delayMicroseconds(2);
  78. digitalWrite(TRIGGER, HIGH);
  79. delayMicroseconds(10);
  80. digitalWrite(TRIGGER, LOW);
  81. duration = pulseIn(ECHO, HIGH);
  82. distance = (duration / 2) / 29.1;
  83. Serial.print(distance);
  84. Serial.println("Centimeter:");
  85. count = distance;
  86.  
  87. if (Firebase.ready() && (millis() - sendDataPrevMillis > 1000 || sendDataPrevMillis == 0))
  88. {
  89. sendDataPrevMillis = millis();
  90.  
  91. Serial.print("Set int async... ");
  92.  
  93. for (size_t i = 0; i < 10; i++)
  94. {
  95. Firebase.setIntAsync(fbdo, "/Distance", count);
  96. }
  97. Serial.println("ok");
  98. }
  99. }
Add Comment
Please, Sign In to add comment