Skip to content

sans-sucre/pidr

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Pidr_callibration_2023

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.

Table des matières

Éditeurs

Fonctionnalités

  • 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.

Prérequis

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/

Installation

Cloner notre projet depuis github :

git clone https://gitlab.telecomnancy.univ-lorraine.fr/Wenjia.Tang/pidr.git

Configuration d'environnement virtuel

Pour installer notre projet sans interférer avec les packages déjà installés globalement, il est conseillé d'utiliser un environnement virtuel :

  1. Ouvrez un terminal ou une invite de commande.

  2. Naviguez vers le dossier racine de votre projet.

  3. Créez un nouvel environnement virtuel en exécutant la commande suivante :

    python3 -m venv env
  4. Activez l'environnement virtuel en exécutant la commande suivante :

    Sur Linux/Mac :

    source env/bin/activate

    Sur Windows :

    env\Scripts\activate.bat
  5. Vous pouvez maintenant installer les packages à notre projet dans cet environnement virtuel à l'aide de pip.

Installation des packages nécessaires

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

Usage/Examples

Instructions générales

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) 

$(ANNEE) $(MOIS) $(JOUR) sont à remplacer par les valeurs correspondantes, ils signifient le jour (l'année, le mois et le jour) duquel les données théoriques (les valeurs d'azimut et de hauteur) à récupérer depuis SunEarthTools. Par default, la date est 01/01/2023
$(NIVEAU DE CORRECTION) est le niveau de correction, par default, sa valeur est égal à 0.5. $(SEUIL) représente la valeur de seuil de modélisation, sa valeur par default est 0.8.

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.

Instructions de chaque module

Scrapper

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  

Courbe

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 

Decalage

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

Check

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

Help

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

Tests

Des tests unitaires sont également à votre disposition, pour exécuter les tests, il faut tout simplement exécuter la ligne de commande suivante :

pytest

Pour plus d'informations

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages