jardin_logique_metier
Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentesRévision précédenteProchaine révision | Révision précédente | ||
jardin_logique_metier [2025/06/25 15:06] – [Création d'un fichier capteur.py] admin | jardin_logique_metier [2025/06/26 13:01] (Version actuelle) – [Commentaires sur la fonction lire_donnees_capteur() :] admin | ||
---|---|---|---|
Ligne 28: | Ligne 28: | ||
</ | </ | ||
- | **Code pour le Raspberry Pi zéro :** | + | =====Code pour le Raspberry Pi zéro :===== |
< | < | ||
Ligne 65: | Ligne 65: | ||
</ | </ | ||
- | **Code pour le Raspberry Pi 5 :** | + | =====Code pour le Raspberry Pi 5 :===== |
< | < | ||
Ligne 110: | Ligne 110: | ||
</ | </ | ||
- | **Commentaires sur la fonction lire_donnees_capteur() :** | + | =====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. | * Cette fonction permet de lire la température et l’humidité à partir du capteur DHT22 connecté au GPIO4 du Raspberry Pi. | ||
Ligne 125: | Ligne 125: | ||
* Cette ligne crée un objet capteur, ici un DHT22, branché sur le GPIO4 (représenté par 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. | * 💡 👉 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 : "// | ||
+ | |||
+ | **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, | ||
+ | |||
+ | 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, | ||
+ | |||
+ | **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.1750863999.txt.gz · Dernière modification : de admin