#include <WiFi.h>
#include <HTTPClient.h>
#include <HCSR04.h>
// Définition des constantes
const char* ssid = "votre_ssid_wifi";
const char* password = "votre_mot_de_passe_wifi";
const char* serverUrl = "http://votre_serveur_distant.com/conteneur";
const int pinTrigger = 12;
const int pinEcho = 13;
const int pinLedRouge = 2;
const int pinLedVerte = 27;
// Initialisation du capteur à ultrasons
HCSR04_H hc(pinTrigger, pinEcho);
// Initialisation de la connexion WiFi
WiFiClient client;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connexion à WiFi...");
}
Serial.println("Connecté à WiFi");
pinMode(pinLedRouge, OUTPUT);
pinMode(pinLedVerte, OUTPUT);
}
void loop() {
int distance = hc.distance();
if (distance <= 100) { // 1 mètre
sendNotification("Conteneur plein ! Distance : " + String(distance) + " cm", "rouge");
digitalWrite(pinLedRouge, HIGH);
digitalWrite(pinLedVerte, LOW);
} else {
sendNotification("Conteneur non plein. Distance : " + String(distance) + " cm", "vert");
digitalWrite(pinLedRouge, LOW);
digitalWrite(pinLedVerte, HIGH);
}
delay(1000);
}
void sendNotification(String message, String color) {
HTTPClient http;
http.begin(client, serverUrl);
http.addHeader("Content-Type", "application/x-www-form-urlencoded");
String requestBody = "message=" + message + "&color=" + color;
int httpResponseCode = http.POST(requestBody);
if (httpResponseCode > 0) {
Serial.println("Notification envoyée avec succès !");
} else {
Serial.println("Erreur lors de l'envoi de la notification !");
}
http.end();
}