Versuchsanordnung:
1x RasPi
1.x Steckbrett mit 6-7 Sensoren paralell
1x Sensor im Dachboden verbaut (jetzt Sonne und um die 30°C)
1x "Test-Sensor" der war jetzt über 24 Stunden in einer Pillendose im Gefrierfach
(siehe Bild)
die Kupferleitungen um die Dose gewickelt (Wärme über Leitungen vermindern), und alles in ein Handtuch gewickelt.
wenn ich die Temperaturen mit dem Pathon-skript auslese, dann bekomme ich sehr fragwürdige Werte. Auch beim Auslesen mit PHP sind die Werte nicht glaubwürdig..
Beispiel Bildschirmausgabe Raspi-Python:
1. Durchlauf starten ------------------------> 2014-05-05 16:35:00
2014-05-05 16:35:01 10 SensorID: 28-000005293706 Dachboden --> 28.88 °C
2014-05-05 16:35:02 11 SensorID: 28-000005296ee9 Hof --> 17.81 °C
2014-05-05 16:35:03 12 SensorID: 28-000005298ddb Naehzimmer --> 17.75 °C
2014-05-05 16:35:04 13 SensorID: 28-000005299f57 Test-Sensor --> -0.13 °C
2014-05-05 16:35:05 14 SensorID: 28-00000529d1a0 Büro --> 17.94 °C
2014-05-05 16:35:06 15 SensorID: 28-00000529ab41 Keller --> 17.81 °C
2014-05-05 16:35:06 16 SensorID: 28-00000529dffa Keller --> 17.75 °C
2014-05-05 16:35:07 17 SensorID: 28-0000051ae8a6 Brunnen --> 17.69 °C
-------------------------(Durchlauf fertig)--> 2014-05-05 16:35:07
Beispiel über PHP (Apache2 am RasPi: (Reihenfoge unterschiedlich)
zeile2 = cf 01 4b 46 7f ff 01 10 5d t=28937
substring = 28937
zeile2 = fd ff 4b 46 7f ff 03 10 8d t=-187
substring = -187
zeile2 = 1d 01 4b 46 7f ff 03 10 c5 t=17812
substring = 17812
zeile2 = 1b 01 4b 46 7f ff 05 10 fc t=17687
substring = 17687
zeile2 = 1f 01 4b 46 7f ff 01 10 d2 t=17937
substring = 17937
zeile2 = 1c 01 4b 46 7f ff 04 10 e8 t=17750
substring = 17750
zeile2 = 1c 01 4b 46 7f ff 04 10 e8 t=17750
substring = 17750
zeile2 = 1b 01 4b 46 7f ff 05 10 fc t=17687
substring = 17687
------------------------------------
28-000005293706 Dachboden 28.94
28-000005299f57 Test-Sensor -0.19
28-000005296ee9 Hof (außen) 17.81
28-000005298ddb Nähzimmer 17.69
28-00000529d1a0 Keller 17.94
28-00000529ab41 Keller 17.75
28-00000529dffa Keller 17.75
28-0000051ae8a6 Brunnen 17.69
Alles anzeigen
ich hätte an dieser Stelle am Test-Sensor eine Temp von -19 °C erwartet!!!
(denn der Sensor steckte zu diesem Zeitpunkt noch fest im Eis aus dem Gefrierfach.
die Werte meiner Variablen habe ich per Php- echo ausgeben lassen...
hier die verwendete Funktion:
[code=php]function jm_readTemp($sensorfile){
$ok = FALSE;
while ($ok == FALSE) { // auslesen so lange wiederholen bis erfolgreich
$file = fopen("/sys/bus/w1/devices/" . $sensorfile . "/w1_slave", "r");
$zeile1 = fgets($file); //z.B.: "b7 00 4b 46 7f ff 09 10 89 : crc=89 YES"
//echo "zeile1 = " . $zeile1 . "<br>" . "substring = " . substr($zeile1,36,3) . "<br>";
$zeile2 = fgets($file); // z.B.: "b5 00 4b 46 7f ff 0b 10 9e t=11312"
echo "zeile2 = " . $zeile2 . "<br>";
echo "substring = ". substr($zeile2,29,5) . "<br>";
fclose($file);
if (substr($zeile1,36,3) == "YES") { // wenn auslesen erfolgreich https://php.net/manual/de/function.substr.php
$ok = TRUE;
$tempString = substr($zeile2,29,8); // holt die letzten 5 Zeichen aus zeile2
$temp = floatval($tempString)/1000; // in float wandeln und Dezimalpunkt setzen https://php.net/manual/de/function.floatval.php
} // if
return round($temp,2); // runden auf 2 Nachkommastellen https://php.net/manual/de/function.round.php
} // while
} //Function
[/php]
Daher nun meine Fragen an das Forum:
Hab irgend einen Denkfehler in meinem Skripten?
Hat jemand brauchbare Messwerte im Minus-Bereich?
Kann es sein, dass Feuchtigkeit die Werte verfälscht?