Bonjour,
Sur un Raspberry Pi 5, la bibliothèque RPi.GPIO ne gère plus le GPIO. Pour mes montages de capteurs sous Raspberry Pi OS Bookworm, je suis passé à gpiozero avec lgpio, et voici la base qui fonctionne sur Pi 4 comme sur Pi 5 :
sudo apt update
sudo apt install -y python3-venv python3-gpiozero python3-lgpio i2c-tools
mkdir -p ~/capteurs && cd ~/capteurs
python3 -m venv --system-site-packages venv
source venv/bin/activate
Le --system-site-packages est la clé : Bookworm bloque pip install hors environnement virtuel, et cette option laisse le venv utiliser gpiozero et lgpio installés par apt. Ensuite, chaque script tourne en service systemd avec Restart=on-failure et RestartSec=10, pour repartir tout seul après une coupure.
Pour tester la logique sans matériel, gpiozero propose une fabrique de broches simulées (GPIOZERO_PIN_FACTORY=mock, la MockFactory).
J’ai appliqué cette base à quatre petits montages (CO2 SCD41, station météo BME280 avec historique SQLite et tendance de pression sur 3 h, détecteur PIR pour l’éclairage, contact reed de porte avec notification ntfy), chacun avec câblage, code complet et service systemd. Deux exemples :
- Station météo BME280 et historique : Station météo Raspberry Pi avec BME280 et historique SQLite : tuto + code
- Contact de porte et notification ntfy : Capteur d'ouverture de porte (reed) sur Raspberry Pi avec notification smartphone
Le code a été testé avec des capteurs simulés (MockFactory de gpiozero), pas encore sur du vrai matériel : toute remarque ou retour d’expérience est le bienvenu.