From 3aa5ffea14512e62cc72b91edbd66b8f7d9f10bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?M=C3=A9line=20Grellier?= Date: Fri, 20 Jun 2025 17:04:00 +0200 Subject: [PATCH] release candidate 1 --- README.md | 36 +++++++++++++++++++++++++++++++++--- main.py | 10 +++++++++- maregraphe.pd | 4 ++-- 3 files changed, 44 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 786f009..aec256a 100644 --- a/README.md +++ b/README.md @@ -1,18 +1,48 @@ # maregraphe -# osx -sudo ln -s /Applications/Pd-0.55-2.app/Contents/Resources/bin/pd /usr/local/bin/pd +# Requierments + Pure Data + Python 3 -# launch the app +# install +pd doit etre dans le path du system pour que python puisse le lancer + +par exemple sur osx il faut faire un alias de pure data: +`sudo ln -s /Applications/Pd-0.55-2.app/Contents/Resources/bin/pd /usr/local/bin/pd` + + +# install the app ```shell git clone https://gitea.esadhar.fr/b.soussi-chiadmi/maregraphe.git cd maregraphe +``` + +# add the sound files +ensuite copier les wav dans les dossier `WAVs` + +# install the env and dependencies +puis installer l'environement python (dependences) +``` python -m venv .venv source .venv/bin/activate pip install uv uv sync +```` + +# launch the app +lancer le programme dans un terminal +``` ./main.py +# ou +python main.py +# ou +python3 main.py +# etc ``` +# leave it running +laisser la fenetre du terminale ouverte (si fermé, ça ferme le programme) + +# screenshots ![](maregraphe_pd.png) diff --git a/main.py b/main.py index d2b0e82..277c51b 100755 --- a/main.py +++ b/main.py @@ -42,6 +42,7 @@ def fetch_data(): except requests.RequestException as e: logging.error(f"Erreur lors de la récupération des données de l'API : {e}") return None + def process_data(data): """Traite les données récupérées.""" @@ -51,8 +52,12 @@ def process_data(data): logging.info(f"{item["capteur"]} Hauteur d'eau : {item["valeur"]} mètres") hauteurdeau_bytes = f"{item["valeur"]};".encode('utf-8') sock.sendto(hauteurdeau_bytes, (UDP_IP, UDP_PORT)) + # else: + # logging.error('error in parsing') + # sock.sendto(f"{0};".encode('utf-8'), (UDP_IP, UDP_PORT)) except Exception as e: logging.error(f"Erreur lors du traitement des données : {e}") + sock.sendto(f"{0};".encode('utf-8'), (UDP_IP, UDP_PORT)) def main(): """Fonction principale qui exécute la boucle de récupération et de traitement des données.""" @@ -69,7 +74,10 @@ def main(): # logging.info(json.dumps(data, indent=2)) if data: process_data(data) - time.sleep(10) # 300 Attendre 5 minutes + else: + logging.warning('no data') + sock.sendto(f"{0};".encode('utf-8'), (UDP_IP, UDP_PORT)) + time.sleep(10) # 300 Attendre 5 minutes except KeyboardInterrupt: print("Arrêt du script, fermeture de Pure Data...") pd_process.terminate() diff --git a/maregraphe.pd b/maregraphe.pd index b8a63cb..b2ab5a6 100644 --- a/maregraphe.pd +++ b/maregraphe.pd @@ -334,7 +334,7 @@ #X floatatom 1940 169 5 0 0 0 - - - 0; #X obj 1974 239 vsl 15 128 0 0.5 0 0 empty v1 empty 0 -9 0 10 #c6feff #000000 #000000 0 1; #X obj 1849 169 r water_level; -#X obj -72 171 delay 10000; +#X obj -12 172 delay 10000; #X obj 520 43 t b b; #X msg 584 93 open WAVs/KLAX_1.wav; #X obj 574 42 bng 16 250 50 0 empty empty empty 0 -8 0 10 #c6ffc7 #000000 #000000; @@ -603,7 +603,7 @@ #X connect 153 0 216 0; #X connect 154 0 155 0; #X connect 155 0 153 0; -#X connect 158 0 211 0; +#X connect 158 0 159 0; #X connect 159 0 160 0; #X connect 159 0 168 0; #X connect 161 0 21 0;