Hallo.
Ich werde am Wochenende im Baumarkt vorbei schauen. Die Gehäuse von Alarmanlagen sind auch offen und für draußen. Irgendetwas preiswertes muss es geben.
Sonst erstmal viel Erfolg bei der Suche,
Uwe
Hallo.
Ich werde am Wochenende im Baumarkt vorbei schauen. Die Gehäuse von Alarmanlagen sind auch offen und für draußen. Irgendetwas preiswertes muss es geben.
Sonst erstmal viel Erfolg bei der Suche,
Uwe
Hallo dop3.
Wird von deiner Software die CRC-Prüfung ausgewertet?
Die Art des Fehlers weist darauf hin das ungültige Messungen vorliegen.
In Thread
[Tutorial] 1Wire Temperaturmessung mit Datenerfassung und Visualisierung
[Tutorial] 1Wire Temperaturmessung mit Datenerfassung und Visualisierung, Beitrag #40
habe ich Python-Skript/Funktion veröffentlich, welches die CRC berücksichtigt.
Vielleicht hilfts.
Bis dann,
Uwe
Hallo Rabbit.
Das sollte relativ fix gehen,
wenn der RPi Zugriff auf einen Mail-Server hat.
Ich hoffe diese kleine Anregung hilft.
Bis dann,
Uwe
Hallo.
Nach dem schon viel für Wetterstationen programmiert und
gebastelt wurde, stellt sich mir die Frage: "Wie verpacke ich das
Ganze wetterfest?"
Für den 1-Wire Temperatursensor war es einfach:
Der Sensor kommt in eine Filmdose und der
"Kabeldurchbruch" wird abgedichtet - Fertig.
Aber wie sieht es mit anderen Sensoren aus, z.B.
Luftdruck, Stickstoff- oder Kohlenmonoxid-Sensoren?
Hierfür darf das Gehäuse natürlich nicht luftdicht sein.
Der RPi soll im Haus bleiben, nur die Sensoren sollen raus.
Vielleicht hat jemand schon so etwas fertig gesehen?
Oder ein gute Idee für einen Eigenbau.
Bis dann,
Uwe
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
Display More
self.__FAILED_VALUE dient zur Fehlersignalisierung und hat einen Wert (9999.9) auserhalb des Messbereiches.
Bis dann,
Uwe
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