release candidate 1

This commit is contained in:
Méline GRELLIER 2025-06-20 17:04:00 +02:00
parent 4215ab7f7a
commit 3aa5ffea14
3 changed files with 44 additions and 6 deletions

View File

@ -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)

10
main.py
View File

@ -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()

View File

@ -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;