So Innen und außen Sensor laufen, vielen Dank für eure Hilfe.
ps. fals euch auch aufgefallen, je länger das Kabel am Sensor, desto größer die Temp Differenz zu einem Ohne viel kabel
So Innen und außen Sensor laufen, vielen Dank für eure Hilfe.
ps. fals euch auch aufgefallen, je länger das Kabel am Sensor, desto größer die Temp Differenz zu einem Ohne viel kabel
[Tutorial] 1Wire Temperaturmessung mit Datenerfassung und Visualisierung? Schau mal ob du hier fündig wirst!
Zitat von Steakschen pid=6584 dateline=1361807592
ps. fals euch auch aufgefallen, je länger das Kabel am Sensor, desto größer die Temp Differenz zu einem Ohne viel kabel
Das sollte nicht so sein, die Übertragung der Messwerte ist digital und damit unabhängig von der Leitung. Das hab ich bei meinen Sensoren auch nicht beobachtet.
Hallo,
nutzte 1-wire zusammen mit owfs und habe meine sensoren mittels fuse eingebunden.
Die Visualisierung meiner Ergebnisse und Speicherung mache ich mittels Serverstats (http://serverstats.berlios.de/)
Serverstats ist eine kleine php Anwendung um rrdtool
Zum Auslesen der Temperaturen habe ich eines der dort vorhandenen Module umgeschrieben, damit ich mittels cat die eingebundenen Verzeichnisse mit der Temperatur auslesen kann.
Das update-skript läuft dann mittels cron job alle 3min.
Wenn daran Interesse besteht einfach melden.
Gruß Daniel
Würde mich interessieren, wie das funktioniert
Hallo,
ich habe alles wie beschrieben aufgebaut und installiert. Die Sensoren (2 Stück) schreiben alle 5 Minuten die Temperaturen in die Datenbank. Leider bekomme ich einmal am Tag negative Temperaturen, die definitiv nicht sein können. -1250 wird in die Datenbank geschrieben, also -1,25 Grad. Der Bus ist ziemlich kurz ca. 20cm. Hatte schonmal jemand ähnliche Probleme?
Zitat von Heinz60 pid=6745 dateline=1362041444
Hallo,
ich habe alles wie beschrieben aufgebaut und installiert. Die Sensoren (2 Stück) schreiben alle 5 Minuten die Temperaturen in die Datenbank. Leider bekomme ich einmal am Tag negative Temperaturen, die definitiv nicht sein können. -1250 wird in die Datenbank geschrieben, also -1,25 Grad. Der Bus ist ziemlich kurz ca. 20cm. Hatte schonmal jemand ähnliche Probleme?
Hallo,
ich habe das gleiche Problem.
Ich schreibe die Daten in eine rrd Datenbank. Auch bei mir kommen sporadisch die Werte -1,20... Grad vor. Mal alle paar Stunden, manchmal sind Tage dazwischen.
Am Anfang hatte ich den Sensor direkt auf der Steckerleiste gesteckt, jetzt sind ca. 8m Kabel dazwischen - keine Verbesserung oder Verschlechterung.
Keine Ahnung warum dass so ist.
Bernhard
ahja, dann hast du bestimmt auch das Skript aus diesem Thread genommen:
https://www.forum-raspberrypi.de/Thread-tempera…r-haussteuerung
ich glaube da liegt der Fehler. Am Wochenende werde ich das mal umschreiben, damit es richtig funktioniert.
Wo vermutest Du da den Fehler? Das liest nur die Messwerte des Systems aus und schreibt sie in eine Datenbank. Ich befürchte eher, daß das System ab und zu beim Messen durcheinander kommt weil es grad zu beschäftigt war.
also unter dem Linux Syslog unter /var/log liegt das syslog File. Dort ist um die Uhrzeit, bei der der Fehler auftritt folgendes zu finden:
w1_slave_driver 10-000801a910d3: 18S20 doesn't respond to CONVERT_TEMP
Und soweit ich sehe, erfolgt in der PHP Datei nur ein "preg_match" nach der Temperatur und nicht vorher eins, in dem geprüft wird ob der CRC überhaupt erfolgreich ist.
Stympt, die CRC-Prüfung macht der 1W-Treiber im System. Der Fehler sagt, daß der Sensor nicht auf den Befehl zum Auswerten der Messung reagiert. Dadurch wird danach ein falsche Messwert gelesen der sogar eine Korrekten CRC haben sollte.
Zitat von orb pid=6870 dateline=1362170239
Stympt, die CRC-Prüfung macht der 1W-Treiber im System. Der Fehler sagt, daß der Sensor nicht auf den Befehl zum Auswerten der Messung reagiert. Dadurch wird danach ein falsche Messwert gelesen der sogar eine Korrekten CRC haben sollte.
Heißt das wenn ich das File nach dem String "YES" durchsuche bringt mir das nichts?
Wollte das eigentlich so abfangen:
#/bin/bash
temp=$(grep 't=' /sys/bus/w1/devices/w1_bus_master1/10-*/w1_slave | awk -F't=' '{print $2}')
CRC=YES
grep -qn $CRC /sys/bus/w1/devices/w1_bus_master1/10-*/w1_slave
if [ $? -eq 0 ]; then
echo "hurra, YES gefunden"
echo $temp > alt_temp.txt
else
echo "mist, war nichts, nochmal"
temp=$(grep 't=' /sys/bus/w1/devices/w1_bus_master1/10-*/w1_slave | awk -F't=' '{print $2}')
CRC=YES
grep -qn $CRC /sys/bus/w1/devices/w1_bus_master1/10-*/w1_slave
if [ $? -eq 0 ]; then
echo "hurra, YES gefunden"
echo $temp > alt_temp.txt
else
echo "mist, war wieder nichts"
temp=$(cat alt_temp.txt)
fi
fi
# Gemessene Werte in RRDTool eintragen
rrdtool update temp.rrd N:$temp
Mein oben aufgeführter Workaround scheint zu funktionieren.
Hatte bisher zwei mal die Eintragung in syslog aber keine Auswirkung auf meine rrd Datenbank, auch keine doppelten Einträge.
Mal weiter beobachten.
Guten Abend,
was ist denn das genau für ein Temperatur-Sensor?
Kann auf dem Bild v reichelt nicht wirklich erkennen für was man diesen verwenden könnte? Kann man den bspw. für den Sonntagsbraten im Ofen bzw. den Spanferkel aufm Grill verwenden? Wenn nein, welchen Sensor könnte man dafür verwenden / würde eine Messung in einer "Fleichart" realisierbar sein?
Gruß
Super nützlich, dankeschön!
Beim durchlesen der anderen Posts ist mir eine Idee gekommen:
Man könnte mehrere Grafiken doch nutzen um sich Tagesüberblicke zu erstellen und diese nach Datum zu speichern?
Die Grafik an sich könnte man ja evtl. etwas vergrößern, damit man z.B. alle 30min pro Tag messen kann (also 48 Messpunkte pro Grafik).
Wäre sicher ne nützliche Sache oder liege ich damit falsch?
Hallo.
Diesen Thread habe ich erst heute gelesen. Ich habe auch
das Problem mit den fehlerhaften Messwerten.
Ich habe ca. 12000 Messwerte, von diesen Messwerten
sind 1,5% falsch. Die falschen Messwerte haben immer
den Wert -0,062. Ich erfasse die Werte von 2 Sensoren
an einem "Bus".
Hat schon jemand etwas Genaures heraus bekommen?
Als nächstes werde ich überprüfen ob der Wert der CRC
auf "Yes" oder "No" gesetzt ist.
Die Erfassung mache ich in Python und speichere die Werte
in einer SQLite3 Datenbank. Die grafische Auswertung
erfolgt mit gnuplot.
Bis dann,
Uwe
Woran das liegt weiß ich auch nicht ich habe es jedenfalls wie folgt "gelöst"
if temperature > 0:
dann speicher messwert
Hallo.
Das Ergebnis, nach der erweiterten Log-Ausgabe, ist:
Die Sensorantwort sieht im Fehlerfall so aus
und in der /var/log/syslog findet sich die passende Meldung
Daraus folgt - Auf "YES" und "NO" testen und ggfs. mehrfach versuchen den Wert zu lesen
Bis dann,
Uwe
Alles anzeigen
Hallo.Das Ergebnis, nach der erweiterten Log-Ausgabe, ist:
Die Sensorantwort sieht im Fehlerfall so aus
und in der /var/log/syslog findet sich die passende Meldung
Daraus folgt - Auf "YES" und "NO" testen und ggfs. mehrfach versuchen den Wert zu lesen
Bis dann,
Uwe
cool, dann kann ich irgendwann meine SW vom NETIO zu raspi portieren, da ich stern und bus gemischt über mehrere Zimmer betreibe kommt das schon mal vor, deswegen mache ich bis zu 3 Leseversuche bis kein crc oder short error auftritt, mehr als 2 Leseversuche waren noch nie nötig.
Hallo.
Nach dem die Erfassung über einen Tag stabil läuft,
hier der Code mit Fehlerauswertung:
def getValue(self, slave):
''' Lese W1-Slave als Textdatei aus "slave"
slave {String} Pfad zum Sensor
'''
inFile = open(slave)
text = inFile.read()
inFile.close()
lineArr = text.split("\n")
# Am Ende der 1. Zeile steht ob das Lesen Ok (YES|NO) war
line1 = lineArr[0]
if line1.endswith("YES"):
# Am Ende der 2. Zeile steht der Temperaturwert
line2 = lineArr[1]
idx = line2.index("t=") + 2 # Startposition des Temperaturwertes
temperature = float(line2[idx:]) / 1000
else:
temperature = self.__FAILED_VALUE
logging.error(text)
return temperature
Alles anzeigen
self.__FAILED_VALUE dient zur Fehlersignalisierung und hat einen Wert (9999.9) auserhalb des Messbereiches.
Bis dann,
Uwe
Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!