====== Récupération des données avec python en mode interactif ======
===== Qu’est-ce que Python ? =====
{{raspberry:python.webp?130 }}
* Python est un langage de programmation populaire, connu pour sa simplicité et sa lisibilité.
* Il est largement utilisé dans divers domaines, comme le développement web, l'analyse de données, et l'intelligence artificielle.
**Pourquoi Python ?**
* Facile à apprendre et à utiliser, surtout pour les débutants.
* Grande communauté de soutien et de nombreuses ressources disponibles en ligne.
* Utilisé dans de nombreux projets éducatifs et scientifiques.
**Découverte du terminal**
Un terminal est une interface où l'on peut taper des commandes pour interagir avec l'ordinateur.
**Nos premières commandes Python**
Dans le terminal, tapez python3 et appuyez sur Entrée. Cela lancera l'interpréteur Python en mode interactif.
* **Commande print :**
La commande print affiche du texte à l'écran.
print (“Python, cest cool !”)
* **Les constantes et variables**
* Une constante est un emplacement de stockage nommé pour des données qui ne changent pas au cours de l'exécution d'un programme.
* Une variable est un emplacement de stockage nommé pour des données qui peuvent changer au cours de l'exécution d'un programme.
nom = “Olivier”
print (nom)
===== Installation de la bibliothèque Adafruit_DHT sur le Raspberry Pi =====
Les bibliothèques permettent d'étendre les fonctionnalités de Python.
Pour éviter les conflits entre bibliothèques, nous allons créer un environnement virtuel isolé pour gérer les dépendances de notre projet.
{{ raspberry:python3-venv.png?400}}
Pour créer un environnement virtuel, nous devons installer le paquet python3-venv :
sudo apt update
sudo apt install python3-venv
Pour créer un environnement virtuel (par exemple pour le projet meteo), taper la commande suivante :
python3 -m venv meteo
Tapez la commande suivante pour installer pip, le gestionnaire de paquets Python :
sudo apt update
sudo apt install python3-pip
Pour pouvoir installer la bibliothèque, commençons pas entrer dans notre environnement virtuel :
{{ raspberry:activate_venv.png?400}}
source meteo/bin/activate
Tapez la commande suivante pour installer la bibliothèque Adafruit_DHT :
pip3 install Adafruit_DHT
**Raspberry 4 ou 5**
Cette bibliothèque est parfaitement compatible avec les Raspberry zéro, 1, 2 (3 à tester), mais elle est obsolète.
Pour les Raspberry 4 et 5, remplacez Adafruit_DHT par adafruit-circuitpython-dht
pip3 install adafruit-circuitpython-dht
pip3 install lgpio
pip3 install gpiod
Pour quitter un environnement virtuel, taper la commande suivante :
deactivate
===== Lecture et affichage des données pour le Raspberry Pi zéro =====
Démarrer le mode interactif de Python :
python3
__Importer la bibliothèque Adafruit_DHT afin d’interagir avec la sonde DHT22__ :
import Adafruit_DHT
__Définition des constantes__ :
DHT_SENSOR = Adafruit_DHT.DHT22
DHT_PIN = 4 # Remplacez par le numéro de broche GPIO que vous utilisez
__Lire les données__ :
humidity, temperature = Adafruit_DHT.read_retry(DHT_SENSOR, DHT_PIN)
**humidity** et **temperature** sont deux variables, elles servent à stocker les valeurs.
La fonction **read_retry** permet de retenter une lecture des données en cas d'échec.
__Afficher les données__ :
print(f"Température: {temperature:.1f}°C")
print(f"Humidité: {humidity:.1f}%")
{temperature} -> Affichage de la valeur de la variable temperature.
:.1f -> Formatage de l'affichage avec 1 chiffre après la virgule.
{{ raspberry:affichage_donnees.png?900 }}
===== Lecture et affichage des données pour le Raspberry Pi 4 ou 5 =====
Démarrer le mode interactif de Python :
python3
__Importer la bibliothèque Adafruit_DHT afin d’interagir avec la sonde DHT22__ :
import adafruit_dht
__Importer la bibliothèque board__ :
La bibliothèque board sert à **nommer les broches physiques du microcontrôleur ou du Raspberry Pi de façon claire et universelle**.
import board
__Définition de notre capteur__
dhtDevice = adafruit_dht.DHT22(board.D4)
__Lire les données__ :
humidity = dhtDevice.humidity
temperature = dhtDevice.temperature
**humidity** et **temperature** sont deux variables, elles servent à stocker les valeurs.
__Afficher les données__ :
humidity
temperature
{{ :raspberry:dht22_pi5.png?900 |}}
----
Suite vers [[jardin_script_python_pi0|Création d'un script python pour le Raspberry Pi zéro]]