Hallo,
Ich frage meinen DS18b20 Temperatursensor nach folgendem Tutorial abgefragt:
[Tutorial] 1Wire Temperaturmessung mit Datenerfassung und Visualisierung
Allerdings möchte ich jetzt nur die aktuelle Temperatur (als Zahlenwert) auf meinen Webserver unter /var/www/temperatur.txt abspeichern.
Ich komme aber nicht darauf was ich an meinem Skript ändern muss. Denn egal was ich lösche, immer geht dann das komplette Skript nicht.
Hier nochmal mein aktuelles Skript:
Python
#!/usr/bin/python
# -*- coding: utf-8 -*-
# Die Sensoren müssen mit "modprobe w1-gpio" und "modprobe w1-therm" aktiviert werden!
# Import der Module
import sys
import os
from time import *
# Zeitvariable definieren
lt = localtime()
# 1-Wire Slave-Liste oeffnen
file = open('/sys/devices/w1_bus_master1/w1_master_slaves') #Verzeichniss evtl. anpassen
# 1-Wire Slaves auslesen
w1_slaves = file.readlines()
# 1-Wire Slave-Liste schliessen
file.close()
# Header fuer Bildschirmausgabe
print('Sensor ID | Temperatur')
print('----------------------------')
# Fuer jeden 1-Wire Slave eine Ausgabe
for line in w1_slaves:
# 1-wire Slave extrahieren
w1_slave = line.split("\n")[0]
# 1-wire Slave Datei oeffnen
file = open('/sys/bus/w1/devices/' + str(w1_slave) + '/w1_slave')
# Inhalt des 1-wire Slave File auslesen
filecontent = file.read()
# 1-wire Slave File schliessen
file.close()
# Temperatur Daten auslesen
stringvalue = filecontent.split("\n")[1].split(" ")[9]
# Temperatur konvertieren
temperature = float(stringvalue[2:]) / 1000
# Temperatur ausgeben
print(str(w1_slave) + ' | %5.3f °C' % temperature)
# Werte in Datei schreiben
# Zeit und Datum erfassen
Datum = strftime("%d.%m.%Y")
Uhrzeit = strftime("%H:%M:%S")
# Textdatei oeffnen
fobj_out = open("/home/pi/temp-daten.txt","a")
# Daten in Textdatei schreiben
fobj_out.write(Datum + ", " + Uhrzeit +", " '%5.3f °C' % temperature + "\n")
# Textdatei schliessen
fobj_out.close()
# Python script beenden und GNUPLOT Grafik erstellen
os.system("/usr/bin/gnuplot /home/pi/temp.plt")
sys.exit(0)
Alles anzeigen
Ich hoffe ihr habt mein Problem verstanden und ihr könnt mir helfen
grüße
eSmurf