Outils pour utilisateurs

Outils du site


jardin_logique_metier

Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentesRévision précédente
Prochaine révision
Révision précédente
jardin_logique_metier [2025/06/25 14:58] – [Création d'un fichier capteur.py] adminjardin_logique_metier [2025/06/26 13:01] (Version actuelle) – [Commentaires sur la fonction lire_donnees_capteur() :] admin
Ligne 28: Ligne 28:
 </note> </note>
  
-**Code pour le Raspberry Pi zéro :**+=====Code pour le Raspberry Pi zéro :=====
  
 <code> <code>
Ligne 65: Ligne 65:
 </code> </code>
  
-**Code pour le Raspberry Pi 5 :**+=====Code pour le Raspberry Pi 5 :=====
  
 <code> <code>
Ligne 109: Ligne 109:
     return datetime.now().strftime("%d-%m-%Y %H:%M:%S")     return datetime.now().strftime("%d-%m-%Y %H:%M:%S")
 </code> </code>
 +
 +=====Commentaires sur la fonction lire_donnees_capteur() :=====
 +
 +  * Cette fonction permet de lire la température et l’humidité à partir du capteur DHT22 connecté au GPIO4 du Raspberry Pi.
 +  * Elle renvoie ces deux valeurs sous forme de nombres arrondis à une décimale.
 +  * Si la lecture échoue, elle retourne None, None.
 +
 +**try:**
 +
 +  * On démarre un bloc qui va tenter de réaliser la lecture.
 +  * Si une erreur survient, Python basculera dans le bloc except.
 +
 +**dhtDevice = adafruit_dht.DHT22(board.D4)**
 +
 +  * Cette ligne crée un objet capteur, ici un DHT22, branché sur le GPIO4 (représenté par board.D4).
 +  * 💡 👉 C’est une étape indispensable pour communiquer avec le capteur.
 +
 +**humidity = dhtDevice.humidity
 +temperature = dhtDevice.temperature**
 +
 +Ces lignes interrogent le capteur pour récupérer :
 +
 +  * humidity → le taux d’humidité.
 +  * temperature → la température.
 +
 +**dhtDevice.exit()**
 +
 +  * Cette commande est **très importante** : elle **libère les ressources GPIO** utilisées par le capteur.
 +  * Cela évite les erreurs fréquentes sur Raspberry Pi telles que : "//Lost access to message queue//".
 +
 +**if humidity is not None and temperature is not None:**
 +
 +  * On vérifie que le capteur a bien répondu avec des données valides.
 +  * Les capteurs DHT peuvent parfois échouer à donner une valeur.
 +
 +**return round(humidity, 1), round(temperature, 1)**
 +
 +Si les valeurs sont valides :
 +
 +  * On les arrondit à une décimale pour un affichage plus lisible.
 +  * Puis on les renvoie sous la forme de deux nombres.
 +
 +**else: return None, None**
 +
 +Si le capteur n’a pas répondu correctement, la fonction renvoie None pour les deux mesures.
 +
 +**except RuntimeError as error:**
 +
 +  * Gestion des erreurs courantes dues aux capteurs DHT (perte temporaire de lecture).
 +  * On affiche l’erreur mais le programme continue de fonctionner.
 +
 +**except Exception as error:**
 +
 +  * Gestion des erreurs plus graves (problème matériel, GPIO bloqué, etc.).
 +  * On ferme proprement le capteur avec dhtDevice.exit() avant de relancer l’erreur (raise error) pour éventuellement arrêter le programme.
 +
 +----
 +
 +Suite vers [[jardin_application_web|Application web]]
jardin_logique_metier.1750863510.txt.gz · Dernière modification : de admin