#include #include #define SOUND_SPEED 0.034 #define CM_TO_INCH 0.393701 #define DISTANCE 2.0 #define PUSHOVER_URL "https://api.pushover.net/1/messages.json" const int trigPin = 5; const int echoPin = 18; const char* ssid = "********"; const char* password = "********"; long duration; float distanceCm; void setup() { Serial.begin(115200); pinMode(trigPin, OUTPUT); pinMode(echoPin, INPUT); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(1000); Serial.println("Connecting to WiFi..."); } Serial.println("Connected to the WiFi network"); } void loop() { if ((WiFi.status() == WL_CONNECTED)) { digitalWrite(trigPin, LOW); delayMicroseconds(2); digitalWrite(trigPin, HIGH); delayMicroseconds(10); digitalWrite(trigPin, LOW); // Reads the echoPin, returns the sound wave travel time in microseconds duration = pulseIn(echoPin, HIGH); // Calculate the distance distanceCm = (duration * SOUND_SPEED) / 2; if (distanceCm < DISTANCE) { HTTPClient http; http.begin(PUSHOVER_URL); http.addHeader("Content-Type", "application/x-www-form-urlencoded"); String form = "device=device&user=********&title=IoT - ESP32&message=Flood!!&token=********"; int httpCode = http.POST(form); if (httpCode > 0) { String payload = http.getString(); Serial.println(httpCode); Serial.println(payload); } http.end(); delay(2000); } else { Serial.println("Error on HTTP request"); } } }