Hallo
ich habe mittels suche im Internet und lesen versciedener Abhandlungen und Beispielen es mit viel probioeren geschafft ein Script zu erstellen mit dem ich mit 2 Temperatur sensoren die Temperaturen einlesen kann. z. zeit auf der Steckplatine.
Ich möchte es nutzen um z.b. die Vorlauf und Rücklauf Temperaturen der Heizung bzw. der H_Körper zu erfassen.
Nun mein Problem ich bekomme die Werte gedruckt, möchte diese aber über eine im Programm vorgegebene Zeit " Schleifen Anzahl, Schleifen pause" erfassen.
Am besten mit CSV geht aber auch mit text file die ich mit EXel lesen kann.
Derzeit kann ich einen Wert in eine datei schreiben .
Schaut euch bitte mal das Script an und gebt mir Hinweise Tipps ob ich nicht zu kompliziert gedacht habe ?
Was ich besser machen könnte und wie ich es schaffe alle daten über einen bestimmten Zeitraum zu erfassen.
#!/usr/bin/python3
# coding=utf-8
# messprogramm.py
#----------------
import os, sys, time
sens_1 = "Sensor_1"
sens_2 = "Sensor_2"
def aktuelleTemperatur_1():
# 1-wire Slave Datei lesen
file = open('/sys/bus/w1/devices/28-0317025315ff/w1_slave')
filecontent = file.read()
file.close()
# Temperaturwerte auslesen und konvertieren
stringvalue = filecontent.split("\n")[1].split(" ")[9]
temperature = float(stringvalue[2:]) / 1000
# Temperatur ausgeben
rueckgabewert = '%6.2f' % temperature
return(rueckgabewert)
def aktuelleTemperatur_2():
# 1-wire Slave Datei lesen
file = open('/sys/bus/w1/devices/28-031703d51dff/w1_slave')
filecontent = file.read()
file.close()
# Temperaturwerte auslesen und konvertieren
stringvalue = filecontent.split("\n")[1].split(" ")[9]
temperature = float(stringvalue[2:]) / 1000
# Temperatur ausgeben
rueckgabewert = '%6.2f' % temperature
return(rueckgabewert)
schleifenZaehler = 0
schleifenAnzahl = 3
schleifenPause = 1.0
print (schleifenAnzahl)
print (" Messungen alle ",schleifenPause ," Sekunden gestartet")
while schleifenZaehler <= schleifenAnzahl:
messdaten1 = aktuelleTemperatur_1()
messdaten2 = aktuelleTemperatur_2()
print (time.strftime("%c."),sens_1, messdaten1, "°C",sens_2,messdaten2,"°C",)
time.sleep(schleifenPause)
schleifenZaehler = schleifenZaehler + 1
daten = ((time.strftime("%c."),"sens_1",messdaten1,"°C","sens_2",messdaten2,"°C",))
text1 = " ".join(daten) # liste in string umwandeln
print ("liste ",daten)
w = open("wert","w")
w.write (text1)
w.close
print ("werte text1",text1)
print ("Temperaturabfrage beendet")
Alles anzeigen