Vor einiger Zeit bin ich über die Seite http://lena.franken.de/hardware/temperaturmessung.html gestolpert.
Dort ist eine kleine Schaltung beschrieben, mit der man am seriellen Port ganz einfach Temperaturen messen kann.
Die Bauteileliste hierfür beträgt lediglich ca. 4 €. Ich habe die Teile wie auf der Seite beschrieben direkt bei Reichelt
bestellt und heute das ganze auf einer Streifenrasterplatine zusammengelötet und den Temperatursensor an einem
3m langen zweiadrigen Kabel angebracht..
Erster Test
Mein erster Test erfolgte unter Linux auf meinem Kubuntu Laptop. Das Paket digitemp konnte ich per
sudo apt-get install digitemp installieren. Der Aufruf von
digitemp_DS9097 -i -s/dev/ttyS0 -r 2000 -a -d 7 -o 2 -q
ergab dann folgenden Ausgabe
10FEA8ED0108009E : DS1820/DS18S20/DS1920 Temperature Sensor
ROM #0 : 10FEA8ED0108009E
0 37.56
Ich konnte also erfolgreich eine Temperatur von 37.56 Grad Celsius messen.
(Der Sensor lag unter meiner externen 2.5" Festplatte).
Da ich den Sensor dann gleich mit mrtg auswerten wollte, habe ich mir noch
ein kleines Auslesescript geschrieben:
#!/bin/bash
#messen.sh
echo -e "$(digitemp_DS9097 -i -s/dev/ttyS0 -r 2000 -a -d 7 -o 2 -q|(read; cat)|(read; cat)|awk '{print$2}')"
echo 0
echo 0
echo temperature
und die dazu passende mrtg.cfg
TimeStrPos[temperature]: RU
Htmldir: /home/pcfreak/scripts/mrtg/www/mrtg/
Imagedir: /home/pcfreak/scripts/mrtg/www/mrtg/images/
Logdir: /home/pcfreak/scripts/mrtg/www/mrtg/logs/
WriteExpires: Yes
Language: german
Title[^]: Datenmessung des DS1820 Sensors
Target[temperature]: `/home/pcfreak/scripts/mrtg/messen.sh`
Options[temperature]: gauge,growright,nopercent,expscale,transparent
Title[temperature]:Temperatur
MaxBytes[temperature]: 125
Step[temperature]: 60
Interval: 5
#RunAsDaemon: Yes
Legend1[temperature]: Gemessene Temperatur mit Sensor 1
LegendI[temperature]: Innentemperatur:
LegendO[temperature]:
YLegend[temperature]: Degrees
ShortLegend[temperature]: C
Das Ergebnis war eine wunderschöne PNG-Grafik. Ich kann diese Schaltung nur weiterempfehlen. Sehr interessant daran ist, dass man mehrere DS1820 Sensoren
parallel schalten kann und somit auf einer Leitung mehrere Temperaturen
erfassen kann.
Jeder DS1820 hat eine eigene Seriennummer und lässt sich somit separat auslesen.