Banc ECS Diehl
Banc d'enregistrement des mesures faites avec un "Compteur Energie Thermique DIEHL SHARKY 774 compact" (Diehl - SHARKY 774 BI)
Ce banc est plus qu'inspiré du banc-tempsurf-ds18b20 lui même plus qu'inspiré de PvMonit
- [Mode d'emploi](doc/Mode d'emploi banc ECS.pdf) pour ce banc ECS Diehl
Pré-requis
- Un raspberry pi (0 ici mais un 2, 3, 4 fonctionnera) avec :
- Raspbian installé
- Interface 1 Wire active (raspi-config) pour les sondes ds18b20
- Interface SPI active (raspi-config) pour les amplificateurs thermocouples
- Compteur Energie Thermique DIEHL SHARKY 774 compact"
- M-Bus Master Hat (pour la communication entre le raspberry pi et le compteur d'énergie)
Carte SD prêt à l'emploi
Une carte SD prêt à l'emploi contactez nous.
La notice pour l'usage de cette carte SD est dans le fichier doc/Deployer_image_carte_SD.md
Sinon : installation
Dépendance
apt install python3 python3-pip
Lib Python ds18b20 : https://github.com/rgbkrk/ds18b20
pip3 install ds18b20 ConfigParser
Lib Python pour thermocouple MAX31855 : https://github.com/adafruit/Adafruit_CircuitPython_MAX31855
pip3 install adafruit-circuitpython-max31855
Récupération des sources
Récupération du code source :
cd /opt/
git clone https://gitlab.lowtech.fr/pdm/projets/labo/bancs-acqusition/banc-mesure-temp-surface-DS18B20.git
cd banc-mesure-temp-surface-DS18B20
Installation de l'interface web (option)
Option pratique pour les "non geek"
Rendre le fichier de configuration accessible en écriture pour l'interface web :
chmod 777 /opt/banc/config.ini
chmod 777 /opt/banc/releves -R
# ou
chown www-data:www-data /opt/banc/config.ini
chown www-data:www-data /opt/banc/releves -R
Installation des dépendances :
aptitude install lighttpd php-cgi php-xml php7.3-json
lighttpd-enable-mod fastcgi
lighttpd-enable-mod fastcgi-php
On change la configuration de lighttpd :
service lighttpd stop
Configuration du serveur http, avec le fichier /etc/lighttpd/lighttpd.conf :
- server.document-root = "/var/www/html/"
+ server.document-root = "/opt/banc/"
On applique la configuration :
service lighttpd start
Télécharger la dernière version de ttyd (pour un raspberry pi c'est la version ARM) pour la placer dans le /opt :
wget -O /opt/ttyd https://github.com/tsl0922/ttyd/releases/download/1.7.2/ttyd.arm
chmod +x /opt/ttyd
Dans le fichier rc.local il faut ensuite ajouter le ttyd au démarrage du raspberry pi. Ajouter ceci avant "exit 0" :
/opt/ttyd -p 8022 /opt/banc/start-menu.sh > /tmp/ttyd.log 2>/tmp/ttyd-error.log &
C'est prêt, rdv sur http://IPdeVotrePi ou http://pi.local
Configuration
Toute la configuration se trouve dans le fichier config.ini
Général
Configuration général dans le fichier config.ini :
[general]
# Répertoire de stockage des relevés (en csv)
csv_dir="releves"
# Temps entre 2 mesures (en minute)
delai=5
# Nombre de messure
nb_mesure=500
# Note : la durée du test est donc = delai * nb_mesure
Test des sondes
Des scripts de tests se trouvent dans le répertoire "tools" vous pouvez lancer :
- ds18b20-list.sh : pour lister les sondes avec leur ID + affichage de la température
- test-max31855.py : pour tester la présence de thermocouple (attention il faut éditer le script et le code n'est plus identique à celui de l’acquisition, à prendre donc avec de la distance...)
Lancement de l’acquisition
Depuis l'interface web
/!\ il y a certaines difficultés sur Firefox, vous pouvez essayer sur Chromium ou Chrome si la mention "press < to reconnect" persiste...
Choix 1
Pour stopper : CTRL + C
En ligne de commande
Pour lancer l’acquisition :
python3 aquisition.py
On peut stopper l’acquisition par un CTRL + C au besoin
Les résultats (sauf modification) sont à récupérer dans le dossier "releves"
Exemple :
#############################################################################
######## Banc de test / Aquisition des mesures
#############################################################################
La configuration (config.ini) détermine :
* que le fichier csv de relevé est : releves/2021-02-15_11-26.csv
* qu'il y aura 500 messures
* que l'interval entre 2 mesures sera de 5 minutes
Le script d'aquisition est donc partie pour tourner 41.666666666666664 heures
Messure N° 0
"tparoi 1" = 20.1
t1 = 31.937
t2 = 29.312
"Vitre" = 33.0
t4 = 30.187
t5 = 27.375
t6 = 30.125
t7 = 32.0
t8 = 29.562
t9 = 30.187
t10 = 31.312
t11 = 29.375
t12 = 28.875
t13 = 30.187
t14 = 27.062
t15 = 30.0
t16 = 31.375
t17 = 30.375
t18 = 31.125
t19 = 28.562
t20 = 29.687
"Plancha" = 33.75
"Foyer" = 45.75
"Evac" = 32.75
"tparoi 2" = 19.9
"tair" = 20.4
Fin de la mesure, on patiente 300 s
-
Vous devriez obtenir un fichier CSV de ce type :
"temps_min",0,5
"temps_sec",0,319
"tparoi 1",20.1,20.1
"t1",31.937,31.812
"t2",29.312,29.187
"t3",33.0,33.0
"t4",30.187,30.062
"t5",27.375,27.25
"t6",30.125,30.062
"t7",32.0,31.937
"t8",29.562,29.437
"t9",30.187,30.125
"t10",31.312,31.187
"t11",29.375,29.312
"t12",28.875,28.812
"t13",30.187,30.062
...
Exemple
Exemple de graphique qu'il est possible de générer avec ces données :
Auteur
Association AFPMA
- David Mercereau pour la partie développement logiciel
- Damien Lehman pour la conception, test, documentation


