# Abreuvoire ## Description du projet ### Objectif : Le système vise à surveiller et à enregistrer les niveaux de consommation d'eau d'un abreuvoir, fournissant ainsi aux utilisateurs des informations détaillées sur la quantité d'eau consommée sur différentes périodes de temps. ## Schéma ![schema](IOT.drawio.png) ## Application web - Ajoutez un fichier `.env` dans le dossier `app` avec les dimensions de votre seau comme l'exemple suivant : ```Shell RAYON_SEAU=15 HAUTEUR_INITIALE_EAU=50 DISTANCE_SUPPLEMENTAIRE=5 ``` ## Lancement de l'application - Mettez-vous à la racine du projet. - Build et lancement des containers : ```Shell docker compose up --build ``` - Destruction des containers : ```Shell docker compose down ``` ## Arduino - Mettez le code qui est dans le dossier `arduino/abreuvoire.c` dans votre Arduino . - Mettez-vous sur le dossier 'readPortSerie' . - Ajoutez un fichier `.env` dans le dossier `readPortSerie` avec les infos de votres port serie et le temps de récupération de la distance comme l'exemple suivant : ```Shell SERVER_WS=ws://localhost:3000 ARDUINO_PORT=/dev/ttyACM0 BAUDRATE=9600 TIMEOUT=1 TEMPS_RECUPERATION_DISTANCE=60 ``` - Lancement du client : ```Shell sudo docker-compose up --build ``` - Destruction des containers : ```Shell sudo docker-compose down ``` ## Images du projet - Notre page d'accueil : ![page d'accueil](images/accueil.png) - Informations generales sur le seau, et de la configuration de la methode de notification quand le seau est vide (sonnerie ou lumiere) : ![informations generales](images/informations.png) - Graphique de la consommation d'eau : ![graphique](images/graphique.png) - Page des dernières consommations en temps réel : ![consommations](images/consommations.png) - Page de consommation par periode (jour, semaine, mois, annee) : ![consommation par periode](images/consommation_par_periode.png) - Notre application est responsive : ![responsive](images/responsive.png) ![responsive2](images/responsive2.png) ## Tests d'intégration ![tests](images/tests.png)