Développement d’un système de calibration automatisé hauteur-azimut en fonction de la position solaire à partir d’une caméra équipée d’un objectif à champ de vision hémisphérique connectée à un Raspberry PI B4.
- Récupération automatique des données d'azimutes et de hauteurs depuis siteweb SunEarthTools.
- Visualisation des données récupérées depuis caméra posée à Apheen et celles de SunEarthTools.
- Vérification des données récupérées depuis la caméra en se référeant à celles de SunEarthTools.
- Calculs de la différence d'azimuth entre la valeur théorique (relevée depuis website SunEarthTools) et la valeur mesurée par la caméra.
Pour assurer le bon fonctionnement du projet, il faut avoir python de version supérieure à 3.10, également gestionnaire de packages pour Python "pip".
Python3.10:
https://www.python.org/downloads/release/python-3100/
Cloner notre projet depuis github :
git clone https://gitlab.telecomnancy.univ-lorraine.fr/Wenjia.Tang/pidr.git
Pour installer notre projet sans interférer avec les packages déjà installés globalement, il est conseillé d'utiliser un environnement virtuel :
-
Ouvrez un terminal ou une invite de commande.
-
Naviguez vers le dossier racine de votre projet.
-
Créez un nouvel environnement virtuel en exécutant la commande suivante :
python3 -m venv env
-
Activez l'environnement virtuel en exécutant la commande suivante :
Sur Linux/Mac :
source env/bin/activate
Sur Windows :
env\Scripts\activate.bat
-
Vous pouvez maintenant installer les packages à notre projet dans cet environnement virtuel à l'aide de pip.
Pour installer les packages nécessaires pour exécuter notre projet, il vous faut exécuter la ligne de commande suivante sur votre terminal :
pip install -e .
Note : Pour quitter l'environnement virtuel, il faut utiliser
deactivate
Pour exécuter le projet dans votre terminal depuis le répertoire racine du projet, vous pouvez exécuter :
python src/pidr_calcul_diff_angle tout -a $(ANNEE) -m $(MOIS) -j $(JOUR) -n $(NIVEAU DE CORRECTION) -s $(SEUIL)
Après l'exécution de l'ensemble des programmes, vous pouvez avoir trois courbes apparues dans le répertoire Images. Il y a "azimutHauteurFichierMesures.png" qui représente les données mesurées, "azimutHauteurFichierRef.png" représente les données théoriques, qui sont récupérés depuis SunEarthTools, et "parcoursSoleil.png" affiche le parcours du soleil.
Les valeurs d'erreurs sur l'azimut et sur la hauteur seront affichées sur le terminal, ainsi le résultat de la modélisation et le décalage d'azimut.
Pour récupérer des données depuis SunEarthTools, vous pouvez utiliser la ligne de commande suivante :
python src/pidr_calcul_diff_angle scrapper -a $(ANNEE) -m $(MOIS) -j $(JOUR)
Exemple
Pour récupérer les données de 1/5/2023 :
python src/pidr_calcul_diff_angle scrapper -a 2023 -m 5 -j 1
Pour visualiser les données (afficher les courbes des données), les données à visualiser doivent être déposées dans le dossier Data sous format csv, le fichier doit contenir 288 couple de valeurs, format cf. Data/data_ref.csv. Vous pouvez utiliser la ligne de commande suivante pour exécuter :
python src/pidr_calcul_diff_angle courbe -ref $(NOM_FICHIER_REFERENCE) -mes $(NOM_FICHIER_MESURE)
NOM_FICHIER_REFERENCE : son chemin à partir du parcours relatif du fichier pidr, par exemple, Data/data_ref
NOM_FICHIER_MESURE : son chemin à partir du parcours relatif du fichier pidr, par exemple, Data/data_web
Exemple
python src/pidr_calcul_diff_angle courbe -ref Data/data_ref.csv -mes Data/data_mes.csv
Pour exécuter et obtenir la valeur du décalage sur les valeurs aberrantes :
python src/pidr_calcul_diff_angle decalage -ref $(NOM_FICHIER_REFERENCE) -mes $(NOM_FICHIER_MESURE) -s $(CORRECTION)
NOM_FICHIER_REFERENCE : son chemin à partir du parcours relatif du fichier pidr, par exemple, Data/data_ref
NOM_FICHIER_MESURE : son chemin à partir du parcours relatif du fichier pidr, par exemple, Data/data_web
CORRECTION : valeur d'erreur quadratique moyenne pour corriger les données, si elle n'est pas renseignée, il n'y a pas de correction
Exemple
python src/pidr_calcul_diff_angle decalage -ref Data/data_ref.csv -mes Data/data_mes.csv -s 0.8
Pour vérifier la concordance entre modélisation et valeurs réelles, vous pouvez exécuter avec la ligne de commande suivante et obtenir l'écart moyen :
python src/pidr_calcul_diff_angle check -ref $(NOM_FICHIER_REFERENCE) -mes $(NOM_FICHIER_MESURE) -n $(SEUIL)
NOM_FICHIER_REFERENCE : son chemin à partir du parcours relatif du fichier pidr, par exemple, Data/data_ref
NOM_FICHIER_MESURE : son chemin à partir du parcours relatif du fichier pidr, par exemple, Data/data_web
SEUIL: Le niveau seuil pour valider ou invalider la justesse de la modélisation
Exemple
python src/pidr_calcul_diff_angle check -ref Data/data_ref.csv -mes Data/data_mes.csv -n 0.5
Pour avoir plus d'informations concernant aux lignes de commandes, vous pouvez utiliser help :
python src/pidr_calcul_diff_angle --help
Pour avoir plus d'informations concernant aux lignes de commandes de chaque module, vous pouvez utiliser help :
python src/pidr_calcul_diff_angle $(COMMANDE) --help
Les modules accessibles sont check, courbe, decalage, scrapper, tout, pour voir plus de détails de chaque commande, il suffit de remplacer $(COMMANDE) par le nom de chaque module.
Exemple
Pour savoir plus d'informations du module scrapper, vous pouvez utiliser la ligne de commande suivante :
python src/pidr_calcul_diff_angle scrapper --help
Des tests unitaires sont également à votre disposition, pour exécuter les tests, il faut tout simplement exécuter la ligne de commande suivante :
pytest