Diese Anleitung beschreibt, wie du mit einem Rechner über den seriellen Port Temperaturen messen kannst. Der Aufbau der Schaltung ist kinderleicht und die benötigte Software schnell installiert.

TableOfContents


Warum digitemp?

oder : Warum nicht einfach auf's Thermometer schauen?

Was brauchst du dazu?

Zur digitalen Temperaturmessung eignet sich ein kleiner, kostengünstiger Temperatursensor, der über den seriellen Por(RS232) ausgelesen werden kann. In diesem Fall handelt es sich um den DS18S20:

TODO DS18S20-Pins.png

Bauteile

TODO Datenblatt in Tabelle verlinken ds18s20-datasheet.pdf

Bezeichnung

DS18S20 (frueher DS1820)

Betriebsspannung

3.0 - 5.5V

Temperaturbereich

-55 - 125°C

Genauigkeit

0.5°C

Messinterval

>300ms

Mehrere dieser Bauteile können an einem Kabel (sog. one-wire) betrieben werden, da jedes eine eindeutige 64Bit Seriennummer besitzt.

Schaltung

Alle weiteren benötigten Teile hast du als Bastler zu Hause oder findest du in jedem Elektrofachgeschäft.Die reinen Hardwarekosten liegen unter 6 Euro - bei einem Sensor.

TODO rs232-digitemp-schaltung.png

TODO simple-eigenbau.jpg

Software

Die notwendige Software unterliegt einer freien Softwarelizenz (du kannst sie also deinen Bedürfnissen entsprechend anpassen) und ist obendrein gratis.

Link auf die digitemp Seite

Der einfachste Weg in Debian:  apt-get install digitemp  Das Programm aus der Kommandozeile starten:  digitemp -a -n0 -d10 -l /var/log/temperatures 2>&1 > /dev/null 

Damit werden von allen Sensoren (-a) in einer Endlosschleife (-n0) alle 10 Sekunden (-d10) die gemessenen Temperaturen in die Logdatei "/var/log/temperatures" geschrieben (-l) Der hintere Teil des Kommandos unterdrückt jegliche weitere Ausgabe auf der Konsole. Den Lesevorgang kannst du jederzeit mit Strg+C abbrechen.

Was machst du mit den Messwerten?

live Darstellung mit gnuplot

Das Programm http://TODO gnuplot ist hervorragend geeignet für die grafische Auswertung deiner Messdaten. Du kannst gnuplot beim Start eine Scriptdatei übergeben, in der alle Kommandos stehen.

z.B. kannst du eine Datei "tempdarstellung" anlegen in die du folgendes schreibst:

plot "/var/log/temperatures" using 7 smooth unique
pause 10
reread

und dann wiefolgt startest:  gnuplot tempdarstellung 

Dabei wird die Grafik alle 10 Sekunden aktualisiert, du siehst also immer die aktuellesten Werte aus deiner Logdatei.

temperaturverlauf.png

Mit dem Programm [[https://sao/~age !PGAss] kannst du die Scriptdatei auch grafisch zurecht klicken. Das spart dir Zeit beim durchstöbern der gnuplot man-page aber bietet auch nur einen Bruchteil der Gestaltungsmöglichkeiten.

Temperatur eines Webservers

Gnuplot lässt sich auch so konfigurieren, dass die Grafik in eine Datei geschrieben wird, welche du dann z.B. auf einem Webserver anzeigen lassen kannst. Dabei ist aber die reread Option nicht empfehlenswert, besser du startest gnuplot in Intervallen (z.B. durch einen cronjob).

TODO Script einfügen

Darstellung mit ploticus

Reagieren auf bestimmte Messwerte

TODO nach spitzenwerten greppen und mails verschicken

Links

e Schaltung

name="linuxnetmag-artikel linuxnetmag]: weitere Diskussion (engl.)


Creative Commons Lizenzvertrag
This page is licensed under a Creative Commons Attribution-ShareAlike 2.5 License.