PCFreak Logo (c) Der PCFreak

Temperaturmessung an der seriellen Schnittstelle

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.