257 lines
6.3 KiB
Markdown
Executable File
257 lines
6.3 KiB
Markdown
Executable File
# Banc ECS Diehl
|
||
|
||
Banc d'enregistrement des mesures faites avec un "[Compteur Energie Thermique DIEHL SHARKY 774 compact](https://www.compteur-energie.com/compteur-energie-thermique-clim-sharky-775.htm)" (Diehl - SHARKY 774 BI)
|
||
|
||
Ce banc est plus qu'inspiré du [banc-tempsurf-ds18b20](https://gitlab.lowtech.fr/pdm/projets/labo/pub/banc-tempsurf-ds18b20/) lui même plus qu'inspiré de [PvMonit](https://pvmonit.zici.fr/)
|
||
|
||
* [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](https://raspberry-pi.fr/telechargements/) 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](https://www.compteur-energie.com/compteur-energie-thermique-clim-sharky-775.htm)"
|
||
* [M-Bus Master Hat](https://www.packom.net/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](https://www.afpma.pro/contacts/).
|
||
|
||
La notice pour l'usage de cette carte SD est dans le fichier **[doc/Deployer_image_carte_SD.md](doc/Deployer_image_carte_SD.md)**
|
||
|
||
## Sinon : installation
|
||
|
||
### Dépendance
|
||
|
||
```bash
|
||
apt install python3 python3-pip
|
||
```
|
||
|
||
Lib Python ds18b20 : https://github.com/rgbkrk/ds18b20
|
||
|
||
```bash
|
||
pip3 install ds18b20 ConfigParser
|
||
```
|
||
|
||
Lib Python pour thermocouple MAX31855 : https://github.com/adafruit/Adafruit_CircuitPython_MAX31855
|
||
|
||
```bash
|
||
pip3 install adafruit-circuitpython-max31855
|
||
```
|
||
|
||
### Récupération des sources
|
||
|
||
Récupération du code source :
|
||
|
||
```bash
|
||
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 :
|
||
|
||
```bash
|
||
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 :
|
||
|
||
```diff
|
||
- 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](https://github.com/tsl0922/ttyd/releases) (pour un raspberry pi c'est la version ARM) pour la placer dans le /opt :
|
||
|
||
```bash
|
||
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 :
|
||
|
||
```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 trouve 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, a prendre donc avec de la distance...)
|
||
|
||
## Lancement de l’acquisition
|
||
|
||
### Depuis l'interface web
|
||
|
||
/!\ il y a certaine difficulté 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](https://www.afpma.pro/)
|
||
|
||
* [David Mercereau](https://david.mercereau.info/contact/) pour la partie développement logiciel
|
||
* Damien Lehman pour la conception, test, documentation
|
||
|
||
## Licence AGPL v3
|
||
|
||
https://www.gnu.org/licenses/agpl-3.0.fr.htmlgnouse |