Christian nous a déjà proposé de nombreux articles, toujours très documentés. Il avait proposé une gestion de capteur BME280, cette fois c’est un « agrégateur » qu’il nous propose, permettant de gérer de nombreux capteurs. Attention, ce programme ne fonctionne pas sous BullsEye à cause de la bibliothèque numpy. Il faudra utiliser une version précédente du système d’exploitation.
Au sommaire :
Thermo Maitre 202 pour gérer les capteurs BME280
Vous devez avoir des capteurs BME280 sur des RPI avec Thermo2-BME-202.py
Se reporter à l’article suivant :
Installation
Partez d’une installation « propre » et mise à jour
dans ce dossier, créer un sous-Dossier ‘Lib’ et y copier la librairie clsSSH.py
J’ai créé un dossier /home/pi/Scripts/THERMO/ ou je mets tout ce qui concerne Thermo
Installer matplotlib en version la plus récente :
sudo pip3 install matplotlib –upgrade
Fonctionne aussi bien sur Buster que sur Bullseye
Attention…… c’est très long… soyez patient
dans un dossier de vos Scripts, copier
- Thermo-Maitre-202.py
- Thermo-Maitre-Simple-202.py
- Cdpetit.gif
- Thermo.png
Dans ce dossier, créer un sous-Dossier ‘Lib’ et y copier la librairie clsSSH.py
J’ai créé un dossier /home/pi/Scripts/THERMO/ ou je mets tout ce qui concerne Thermo
Compatibilité
il faut installer ou copier la version Thermo2-BME-202.py sur les RPI des capteurs
Sur un PI-400
L’affichage de matplotlib réagit différemment et plantage du RPI-400 ?????
Modifier les lignes 305 et 306
305 plt.draw() #pi-400
306 #plt.show() #RPI normal
Synchronisation
Les lectures sont totalement asynchrones : vous pouvez lancer ce logiciel sur plusieurs RPI
Si un conflit de lecture des datas des RPI-THERMO se produit, il se traduit par l’affichage de «***», il suffit d’attendre le cycle suivant
Premier lancement
Se met par défaut en mode 6 capteurs
Pas de fichier de configuration, donc :
Renseigner les Raspberry Pi à lire :
- IP + espace
- Utilisateur + espace (normalement ‘pi’)
- Mot de passe du RPI + espace
- Chemin des fichiers sur les RPI à lire + espace (définis dans ThermoCHE.txt)
- Indication de localisation (Localisation par défaut)
Valider chaque ligne par ‘Entrée’
Faire un Test-COM pour vérification
CYCLE
temps en seconde de lecture des RPI-THERMO en SSH
BOUTON TEST-COM
Voyant magenta
Au lancement, le logiciel examine les RPI-THERMO présents
Le nom de l’IP locale est souligné et pas de VNC
vous pouvez les vérifier par ce Bouton à tout moment car stoppe la lecture des Raspberry Pi
BOUTON LANCER/ARRET
- Lance ou stoppe la lecture des RPI
Voyant rouge Lecture
Voyant blanc Affichage
Voyant clignotant Boucle du cycle principal
BOUTON FERMER
Ferme le logiciel avec sauvegarde de la configuration en cours (6 ou 12 capteurs)
ICONE CDBI
Si aucun Logo dans le dossier, l’icône est remplacée par un bouton. Dans la fenêtre du logiciel, cliquer sur cette icône pour lire cette notice au format PDF
TEMP MAX CPU
Limite max de température des CPU avec affichage en rouge si dépassement
La température des CPU est lue à chaque cycle
CHOIX 6 OU 12 CAPTEURS
Si vous avez plus de 6 Raspberry Pi avec des capteurs sur votre réseau
Pour démarrer en mode 12 capteurs
Il suffit de mettre ‘12’ en argument dans la ligne de commande
Décocher pour ne pas lire un capteur
BOUTON FICHIER-CHE
Affiche le fichier ‘ThermoCHE.txt’ et re-click pour fermer
Ce fichier n’est pas obligatoire pour Thermo-Maitre
Mais vous pouvez le modifier, l’enregistrer et ensuite le transférer sur tous les RPI-THERMO
car il doit être sur tous les RPI-Thermo pour le chemin du support d’enregistrement des datas
BOUTON FICHIER-CONFIG6/12
Affiche le fichier de configuration ThermoM6ou 12.conf selon le mode 6 ou 12 capteurs et re-click pour fermer
Permet de lire ce fichier qui est en binaire
BOUTON MODE SIMPLE
Ferme Thermo-Maitre et lance Thermo-Maitre-Simple en mode 6 ou 12
Ce Script beaucoup plus léger peut être utilisé sur un Pico ou avec un écran de faible résolution, la fenêtre faisant 590×325 pour 12 capteurs ou 590×210 pour 6
Il faut que les fichiers ThermoM6.conf ou ThermoM12.conf soient créés avant avec Thermo-Maitre
Analyse des présents au démarrage et par le Bouton ‘RELANCER’
Vous pouvez lancer ce script directement :
- python3 chemin/Thermo-Maitre-Simple-202.py pour 6 capteurs
- python3 chemin/Thermo-Maitre-Simple-202.py 12 pour 12 capteurs
- les fichiers ThermoM6 et ThermoM12.conf devant être dans le même dossier
Le Nom du Capteur est en rouge si le RPI-THERMO est connecté et détecté sur son IP
mais que Thermo2-BME-202 n’est pas lancé ou erreur chemin
POUR CHAQUE CAPTEUR
La configuration du RPI-THERMO est affichée en haut de chaque cadre
- xxxx (Cy120/H6/T-2:21)
- Localisation Cycle 120 s 6 points par Heure Correction température -2°C Alarme à 21 °C
BOUTON VNC
Lance VNC sur l’IP du capteur pour modifications sauf si IP locale
BOUTON HISTO
Affiche le graphe selon la configuration
Au Lancement, se met sur le mois en cours |
Exemple sur température du mois d’avril avec une moyenne sur 20 points
Et idem avec les 3 mesures
BOUTON <RAZ
RAZ des températures Min et Max
Supprime le fichier ThermoMM.dat du RPI-THERMO concerné et réinitialise les Min/Max
Attendre en fonction du cycle du RPI-THERMO pour mise à jour
- cycle suivant, affiche +50 et -50 (Tmin et Tmax bien réinitialisés)
- Cycle suivant, Tmin et Tmax sont égaux
- Cycle suivant, OK
EXEMPLE DE FICHIER Thermo.CHE.txt
Mettre le N° en argument pour les RPI-THERMO pour définir le support
EXEMPLE DE FICHIER ThermoM12.conf
Conclusion
Encore une fois un projet très abouti proposé par Christian. Même si vous n’utilisez pas la totalité du projet, il constitue une source d’informations et d’exemples de programmes très intéressante par les solutions qu’il intègre.
Téléchargement :
Vous pouvez télécharger les fichiers de mise en œuvre de Thermo-Maitre en cliquant sur ce lien.