Christian nous a déjà souvent régalé avec ses articles. Cette fois il m’a proposé un article sur la lecture des capteurs BME280 avec un Raspberry Pi, et un affichage sous forme de fenêtres en mode graphique, avec Tkinter . Je lui laisse la parole pour vous présenter sa réalisations…
Au sommaire :
Thermo2 – lecture de capteurs BME280
Permet de lire 2 capteurs BME280
Le premier doit être obligatoirement en 0x76 (adresse par défaut)
si vous voulez 2 capteurs, il faut les brancher avant de lancer le logiciel
Exemple avec un BME280
Exemple avec deux BME280 :
Les BME280 ont bien été détectés en 0x76 et 0x77 et la fenêtre est automatiquement redimensionnée
INSTALLATION :
copier le fichier Thermo2-BME-201.py dans le dossier de vos scripts Python
Créer un sous-dossier Lib dans ce dossier
y copier la librairie bme280driver.py
PARAMÉTRAGE :
Cycle :
- Intervalle en seconde de lecture des capteurs
- Le voyant clignote pour indiquer que le programme tourne bien sur sa boucle principale
Indication du chemin du support de sauvegarde
CorTemp :
- Correction de la température en + ou en –
Alarme # T :
- seuil inférieur (+) ou supérieur (-) de température
- Affichage Température en magenta si dépassement
BOUTON ENR-CONFIG :
- Enregistre vos paramètres dans ./Thermo2-201.conf
- Si pas d’erreurs, couleur verte
- Revient à bleu au cycle suivant
ENREGISTREMENT des MESURES :
NE PAS UTILISER LA SD vu la fréquence d’écriture
Il faut donc que le Raspi soit équipé d’une clé USB (ou d’un disque externe)
Ce soft doit pouvoir être utilisable sur plusieurs Raspis
Pour ne pas mettre en dur dans le code le chemin d’enregistrement sur la clé,
il faut créer un fichier texte ThermoCHE.txt de description des supports dans le dossier des Scripts
N°,Support/,
Exemple :
0,/media/pi/SSD-128B/
1,/media/pi/HDD-PI-1/
2,/media/pi/PI3-HORLO1/
3,/media/pi/PI3-HORLO2/
4,/media/pi/SSD30-1/
5,/media/pi/PI2A-THERMO/
6,/media/pi/PI2B-THERMO/
7,/media/pi/CLE-Z1/
8,/media/pi/CLE-Z2//
et ensuite lancer le Soft avec le N° du Raspi en argument
2 Sous-Dossiers HistoThermo1 et HistoThermo2 sont créés pour les 2 capteurs
A chaque cycle, les mesures sont enregistrées dans
/HistoThermo1/Thermo.dat pour le premier capteur
/HistoThermo2/Thermo.dat pour le deuxième capteur
Il sera supprimé à la fermeture
Exemple :
18:32:23|Cy20/H6/T0:19|1009.9|75.75|53.5|22.7|0|Cuisine
champ0 Heure de la mesure
champ1 : paramètres (Cycle/Nb par heure/Correction Temp :Alarme Temp)
champ2 Pression hPa
champ3 Pression cm
champ4 Humidité
champ5 Température
champ 6 Alarme Température
champ 7 Localisation
HISTORIQUE :
Si coché,enregistre les mesures dans un fichier selon le nombre de fois par heure
Nom de ce fichier dans /HistoThermo1 ou /HistoThermo2 :
/Année_Nom du Raspi_Thermo.dat
Exemple : 2022_PI4-DEVELOP_Thermo.dat
Exemple :
2022/02|16-17:20:02|1009.71|46.1|22.1
champ0 Année/Mois
champ1 Jour-Heure
champ2 Pression hPa
champ3 Humidité
champ4 Température
TEMPERATURES Min / Max
Enregistrées dans le fichier HistoThermo(1ou 2)/ThermoMM.dat
Exemple : 19.4|21/03/2022|11:39:13|20.0|19/03/2022|19:01:34
Tmin|Datemin|Heuremin|Tmax|Datemax|Heuremax
RAZ par les boutons RAZ-1 ou RAZ-2 avec mise à jour du fichier ThermoMM
DÉFAUT SUR UN CAPTEUR
Une fois le logiciel lancé avec 2 capteurs, je débranche le capteur 2
Il suffit de remettre le capteur à chaud (c’est de l’I2C)
Vous pouvez même débrancher les 2……..et les remettre…..c’a plante pas !!
ALARME SUR températures
Vous pouvez programmer une température maximum (+) ou minimum (-) pour chaque capteur
En cas de dépassement
- affichage de la température en Magenta
- Mise à « 1 » de 2 ports GPIO pour commande extérieure (LED ou Relais)
- GPIO-13 pour le capteur 1
- GPIO-19 pour le capteur 2
Réalisation pour la Cuisine et le Congélateur
les liaisons I2C vers les capteurs peuvent faire 80 cm avec simplement 4 fils torsadés |
THERMO2-BME-201
Dans un prochain article, je vous décrirais THERMO-MAITRE-201
qui permet de lire jusqu’à 12 Raspis utilisant THERMO2-201 en SSH
Exemples d’affichage de l’Historique
Tout et Moyenne=3
Télécharger le programme et la bibliothèque : Cliquez sur ce lien
bonjour,
merci pour cette démonstration, ou puis-je trouver bme280driver.py et Thermo2-BME-201.py?
d’avance merci,
Bonjour
vous avez un lien à cliquer tout en bas de l’article 🙂
cdt
françois
Ping : THERMO-MAITRE : Gestion de capteurs BME280 - Framboise 314, le Raspberry Pi à la sauce française....