Page 1 sur 1

[RESOLU] fonction return script relevé température

Posté : jeu. 18 juin 2015 21:53
par green_frog
Bonsoir,

Je ne sais plus où j'ai trouvé ce script python qui permet de récupérer la température d'une sonde 1-wire

je voulais lui ajouter la date et l'heure de la prise de mesure lors de l'écriture du fichier:

Code : Tout sélectionner

import os
import glob
import time

os.system('modprobe w1-gpio')
os.system('modprobe w1-therm')

base_dir = '/sys/bus/w1/devices/'
device_folder = glob.glob(base_dir + '28*')[0]
device_file = device_folder + '/w1_slave'

def read_temp_raw():
 f = open(device_file, 'r')
 lines = f.readlines()
 f.close()
 return lines

def read_temp():
 lines = read_temp_raw()
 while lines[0].strip()[-3:] != 'YES':
   time.sleep(0.2)
   lines = read_temp_raw()
 equals_pos = lines[1].find('t=')
 if equals_pos != -1:
   temp_string = lines[1][equals_pos+2:]
   temp_c = float(temp_string) / 1000.0
   return time.strftime('%d/%m/%y %H:%M',time.localtime()), temp_c

while True:
 logFile = open("suivi_temp.txt","a")
 value = str(read_temp())
 logFile .write(value+'\n')
 logFile .close()
 time.sleep(300)
j'ai donc ajouté:

Code : Tout sélectionner

 return time.strftime('%d/%m/%y %H:%M',time.localtime()), temp_c
à la place de :

Code : Tout sélectionner

 return temp_c
mais du coup, la sortie de mon fichier est:

Code : Tout sélectionner

@raspberrypi ~/Documents/script $ cat suivi_temp.txt
('18/06/15 21:39', 25.8)
('18/06/15 21:44', 25.5)
('18/06/15 21:49', 25.2)
('18/06/15 21:54', 25.0)
comment faire pour ne pas avoir les parenthèses () et les ' ?

d'avance merci

green frog

Re: fonction return script relevé température

Posté : ven. 19 juin 2015 08:02
par Manfraid
Salut,


pour le return fait le comme ceci

Code : Tout sélectionner

 return "{} {}°C".format(time.strftime('%d/%m/%y %H:%M',time.localtime()), temp_c)

Re: fonction return script relevé température

Posté : ven. 19 juin 2015 08:05
par green_frog
Salut,

super merci!

je passe en résolu

Green Frog

Re: [resolu] fonction return script relevé température

Posté : dim. 21 juin 2015 18:18
par vague nerd
je passe en résolu
Merci !
Pour ce faire, visualiser le premier Post que vous avez réalisé, cliquez sur "Editer", et ajouter [RESOLU] devant le titre.

Cela permet que le message soit tout de suite identifié comme ayant eu une réponse correspondant à la demande.
Ainsi, les visiteurs en sont informés, aussi bien lors d'une recherche sur le forum qu'au travers des moteurs de recherche.

Re: [resolu] fonction return script relevé température

Posté : lun. 22 juin 2015 18:08
par green_frog
euh... c'est bien ce que j'avais fait :?:

Re: [resolu] fonction return script relevé température

Posté : mar. 23 juin 2015 10:58
par vague nerd
Étrange... l'aviez vous bien fait sur le premier post ?
Cdt.

Re: [resolu] fonction return script relevé température

Posté : mar. 23 juin 2015 13:18
par green_frog
ben oui,

c'est même indiqué en bas du premier message:

Code : Tout sélectionner

Modifié en dernier par green_frog le Ven 19 Juin 2015 08:06, modifié 1 fois. 
après ce n'est pas écrit en MAJUSCULE, mais c'est ecrit.

Re: [RESOLU] fonction return script relevé température

Posté : mar. 23 juin 2015 16:01
par vague nerd
Ben si c'est en majuscules !
Bon ok, je sors.