Home

Search this site:
 

Horshack’s
very
own site

 

This is Bavaria, Germany!
You will find links to Perl,
bootdisks for system administration,
a lot of Linux,
Windows administration
and some personal belongings.
Temperaturmessung mit Linux

Temperaturmessung mit Linux

Warum eigentlich?

Ich habe einen sehr kleinen Serverraum in dem ca. 10 Maschinen stehen und der von einer Klimaanlage gekühlt wird. Wenn die Klimaanlage am Wochenende ausfallen würde wären alle Maschinen am Montag tot. Ich wollte mich also warnen lassen wenn es im Serverraum zu warm wird. Es genügt völlig wenn ich eine Mail bekomme um rechtzeitig reagieren zu können.

Profilösung

Es gibt eine sehr schöne Lösung von der Firma Wiesemann & Theis GmbH in Deutschland. Das Gerät #5701 ist von der Größe einer Zigarettenschachtel. Es hat einen LAN-Anschluß und einen eingebauten Webserver. Preis 298 bis 448 Euro.

Der Gedanke ist toll für nicht überwachte Netzwerkschränke in denen aber kein klassischer Computer steht, also nur Hubs, Switches etc. Per Shellscript kann man regelmäßig am Webserver die Temperatur abfragen und entsprechend reagieren.



Lösung für Privatleute

Ich habe eine Lösung gesucht die preisgünstiger ist und die mit Linux läuft und habe eine gefunden unter http://www.brianlane.com/digitemp.php, ein Temperatursensor den man recht leicht im Elektronikhandel bekommt (oder zuschicken lassen kann: http://www.reichelt.de in Deutschland). Hier ist eine Lösung incl. Software für Win95 und Linux vorgestellt. Der Temperatursensor ist an einer seriellen Schnittstelle angeschlossen.

Zur Zeit vergriffen, unsere selber gebastelten Temperatursensoren:

  • Professionell geätzte Platine
  • In einer kultigen Fishermen's-Friend-Dose untergebracht
  • Zwei Temperatursensoren mit verschiedenen Kabellängen (15 cm und 5 Meter) an Steckern befestigt

Da ich nicht recht viel mehr kann als mit einem Lötkolben zwei Drähte zusammenzulöten hatte ich ziemlich große Angst mir das vorgestellte Projekt selbst zusammenzubauen und deswegen ist diese Seite entstanden. Die Message ist: KEINE ANGST! Es funktioniert und ist wirklich nicht schwierig! So sieht alles zusammen aus wenn es fertig ist:


Die Bauteilliste ist hier:

Wenn man mit dieser Liste in einen Elektronikladen geht bekommt man alle Teile ohne Probleme. Die "N-Nummern" die bei den Bauteilen stehen scheinen internationale Beschreibungen dieser Bauteile zu sein. Mit Hilfe dieser Nummer bekommt man die Teile in Österreich, Schweden, USA... ohne Probleme.

Hier ist der genaue Schaltplan:


Hier ein Platinenlayout falls man das ganze schön aufbauen möchte:

Hier die Belegung für 9- und 25-polige Stecker (an der Rückseite des Steckers stehen die Polnummern im Plastik):

Bezeichnung  DB-25 DB-9
DTR 20 4
RXD 3 2
TXD 2 3
GND 1 und 7 (muss man verbinden!) 5

Schwierig fand ich die richtigen "Beine" am DS1820 zu finden, deshalb hier eine kleine Zeichnung:


Mit Hilfe des Lochblechs (das man jederzeit im Elektronikhandel bekommt) kann man die einzelnen Teile leicht anbringen und mit etwas Lötzinn fest"pappen". Danach die Beinchen mit einem Klingeldraht wie in der Schaltung angegeben verbinden. Von hinten sieht meine Schaltung so aus:


Wenn man will kann man das Lochblech mit den Bauteilen in eine Plastikschachtel (gibt's auch im Elektronikfachhandel) unterbringen und so die Schaltung leicht schützen. Für den Ausgang der Leitungen kann man sich einfach ein Loch mit einem Messer in die Plastikschachtel schnitzen.

Mehrere Sensoren?

Es ist möglich sein auch mehrere der DS1820-Sensoren parallel in der Schaltung anzuschliessen. Die DS1820-Sensoren haben jeweils eine eigene Bausteinnummer die mit der Messung mitgegeben wird. Die Software von Brian Lane kann das also auch verarbeiten. In der Configdatei die mit digitemp selbst erzeugt wird sieht das so aus:

TTY /dev/ttyS0
FAIL_TIME 5
READ_TIME 500
LOG_TYPE 1
LOG_FORMAT "%b %d %H:%M:%S Sensor %s C: %.2C F: %.2F"
SENSORS 2
ROM 0 16 54 147 66 0 0 0 186
ROM 1 16 44 180 66 0 0 0 135

Die Messdatei sieht mit mehreren Sensoren so aus:

gatekeeper:/usr/local/bin/digitemp # cat /var/log/temperature
Jul 21 17:10:03 Sensor 0 C: 21.10 F: 69.99
Jul 21 17:10:06 Sensor 1 C: 20.36 F: 68.65
Jul 21 17:20:03 Sensor 0 C: 20.70 F: 69.26
Jul 21 17:20:06 Sensor 1 C: 20.51 F: 68.91
[...]

Ich habe hier also zwei Sensoren an einer Schnittstelle laufen. Die Kabellänge für den kürzeren Strang ist 50 cm, die für den längeren Strang 4 Meter.

 

Software zum Abfragen

Die Software zum Abfragen der Temperatur gibt es für Linux und Win95. Sie wurde von Brian Lane von http://www.brianlane.com/digitemp.php geschrieben.

Lokal hier:

Der Aufruf unter Linux erfolgt so:

linux # cd /usr/local/bin/digitemp
linux # ./digitemp -a -l/var/log/temperature 
DigiTemp v1.3 Copyright 1997-99 by Nexus Computing

Ergebnis ist diese Datei:

linux # tail -f /var/log/temperature
Jul 20 20:58:49 Sensor 0 C: 19.81 F: 67.66
Jul 20 21:34:06 Sensor 0 C: 18.77 F: 65.79
Jul 20 21:40:03 Sensor 0 C: 18.76 F: 65.77
Jul 20 21:50:02 Sensor 0 C: 18.64 F: 65.55
Jul 20 22:00:04 Sensor 0 C: 18.61 F: 65.51
Jul 20 22:10:03 Sensor 0 C: 18.56 F: 65.42

Diese Datei kann man dann z.B. mit Perl auswerten, hier die Auswertung meiner beiden Sensoren:

temperaturmessung.gif

 

Software zum Auswerten

 Probleme



Last modified:
04.08.2007 08:57
Impressum
Wozu Witze ausdenken? Das Leben schreibt sie selbst:
Das haben wir jetzt 40 Jahre so gemacht, warum sollten wir das ändern?
Why inventing jokes? Real life does a better job:
We are doing it this way for 40 years, why should we change it?