Sujet fermé
Note de ce sujet :
  • Moyenne : 0 (0 vote(s))
  • 1
  • 2
  • 3
  • 4
  • 5

Relevé temperatures et teleinfo avec sonde 1-wire
#1

Bonjour à tous,

J'ai pour projet de relever la température dans ma maison à l'aide de plusieurs sonde 1-wire mais aussi par la suite de relever à intervalle régulier les données de la sortie teleinfo de mon compteur électrique, le tout serais archivé dans un fichier .csv.

Je précise par avance que je ne connaissais pas du-tout linux jusqu'à la semaine dernière et j'ai des connaissances en informatique mais rien d’exceptionnelle 8o

J'arrive bien à lire les infos de mes sondes et le téléinfo mais ça se complique pour moi au moment d'envoyer le tout dans le fichier .csv 8.(

J'ai trouvé le code ci-dessous sur internet et réussi à le faire fonctionner, il permet de mettre la température du raspberry dans dans fichier .csv

Code :
[== Indéfini ==]
#!/bin/bash
FIC=/home/pi/temperature/temp.txt
DATE=`date +%R`
TEMP=`cat /sys/class/thermal/thermal_zone0/temp`
echo  "${TEMP:0:2},${TEMP:3:1};$DATE" >> $FIC

Je l'ai modifié pour ajouter une sonde 1-wire :

Code :
[== Indéfini ==]

#!/bin/bash
FIC=/home/pi/temperature/temprasp.csv
DATE=`date +%R`
TEMP=`cat /sys/class/thermal/thermal_zone0/temp`
TEMPCELLIER=` cat /sys/bus/w1/devices/28-00000558c7cf/w1_slave`
echo  "${TEMP:0:2},${TEMP:3:1};$TEMPCELLIER;$DATE" >> $FIC

mais depuis plus rien ne s'ajoute dans mon fichier .csv

Quelqu'un d'entre vous aurait-il une idée sur la provenace du problème ?

Merci d'avance pour votre aide.
#2

Bon en fait ça à l'air de fonctionner, par contre j’obtiens ce type d'info :

38,7;43 01 4b 46 7f ff 0d 10 bd : crc=bd YES
43 01 4b 46 7f ff 0d 10 bd t=20187;17:48

Comment ne garder que t=20187;17:48 puis transformer t=20187 en t=20,187 ?
#3

pour la 1ere partie:

Code :
[== Indéfini ==]
$ cat > toto
38,7;43 01 4b 46 7f ff 0d 10 bd : crc=bd YES
43 01 4b 46 7f ff 0d 10 bd t=20187;17:48
^C
$ cat toto
38,7;43 01 4b 46 7f ff 0d 10 bd : crc=bd YES
43 01 4b 46 7f ff 0d 10 bd t=20187;17:48
$ cat toto | grep "t="
43 01 4b 46 7f ff 0d 10 bd t=20187;17:48
$ cat toto | grep "t=" | awk -F"t=" '{print $2}'
20187;17:48
$ cat toto | grep "t=" | awk -F"t=" '{print $2}' | awk -F";" '{print $1}'
20187
$
#4

Merci pour votre réponse néanmoins avec mes pauvre base, j'ai beaucoup de mal à comprendre 8o

Je viens tout juste de réussir à faire ce que je voulais :

Code :
[== Indéfini ==]
#!/bin/bash
FIC=/home/pi/temperature/temprasp.csv
DATE=`date +%R`
TEMP=`cat /sys/class/thermal/thermal_zone0/temp`
TEMPCELLIER=` cat /sys/bus/w1/devices/28-00000558c7cf/w1_slave`
echo  "${TEMP:0:2},${TEMP:3:1};${TEMPCELLIER:69:2},${TEMPCELLIER:71:2};$DATE" >> $FIC

Maintenant je m'attaque à la téléinfo...
#5

Pour la seconde
Code :
[== Indéfini ==]

$ cat toto
20187
$ cat toto | rev | sed 's/.../&./g;s/:$//' | rev
20.187
$

A voir a quoi resemble les température négatives et si mon truc fonctionne toujours..etc...

Ce qui donne en tout:

Code :
[== Indéfini ==]
TEMPCELLIER=`cat /sys/bus/w1/devices/28-00000558c7cf/w1_slave | grep "t=" | awk -F"t=" '{print $2}' | awk -F";" '{print $1}' | rev | sed 's/.../&./g;s/:$//' | rev `
Sujet fermé


Atteindre :


Utilisateur(s) parcourant ce sujet : 1 visiteur(s)