# 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" ![doc/screenshot-interface.png](README.assets/screenshot-interface.png "Screenshot") 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 > > ... ## 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