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.