Linuxrechner für Steuer- und Überwachungsfunktionen

 
1. Einführung

Linux ist ein ausgesprochen zuverlässiges Betriebssystem, das vor allem auch über längere Zeit stabil bleibt. Da es sich auch auf relativ ressourcenarmen älteren Rechnern installieren läßt, eignet es sich hervorragend, einen älteren nicht mehr benötigten PC für Steuer- und Überwachungsfunktionen einzusetzen. Im vorliegenden Fall sollte eine Heizungsüberwachung- und steuerung relisiert werden. Dazu muß der PC in die Lage versetzt werden, Temperaruren zu messen, Stellglieder anzusteuern und digitale Signale zu verarbeiten. Hierfür stehen an älteren PCs in der Regel eine oder zwei serielle Schnittstellen und eine parallele Schnittstelle zur Verfügung.  Die Fernsteuerung/ -überwachung soll über das Internet per isdn-Wählverbindung geschehen.
Der Autor hat einen PC 166 MHz, mit AMD K6 Prozessor, 64 MB Ram und isdn-Karte eingesetzt, auf dem ein Suse-Linux Version 6.1 istalliert ist.
 

2. Temperaturmessung

Zur Temepaturmessung hat sich digitemp für Linux als ganz hervorragendes Werkzeug bewährt. Es wurden 4 Sensoren nach der angegebenen Bauanleitung an die serielle Schnittstelle angeschlossen, davon mißt ein Sensor die Temperatur des Heizungsrücklaufes, ein Sensor ist für die Raumtemperatur eines Wohnraumes zuständig. Bei Google finden sich eine Vielzahl von Artikeln zu digitemp. Für den mechanischen Aufbau der Schaltung gibt es verschiedene Varianten.
- Aufbau auf eine 9-polige Buchse
- Aufbau auf ein Abdeckblech für nicht verwendeten Steckkartenplatz im PC
- Separates Kästchen

Initialisierung der Geber:

digitemp -i -s/dev/ttyS0 oder digitemp -i -s/dev/ttyS1,

je nach verwendeter seriellen Schnittstelle

Temperaturmessung:

digitemp -a

Das Programm digitemp liefert bei erfolgreicher Messung für 4 Geber folgende Ausgabe auf die Standardausgabe:

DigiTemp v3.2.0 Copyright 1996-2003 by Brian C. Lane
GNU Public License v2.0 - http://www.brianlane.com
Nov 14 11:33:15 Sensor 0 C: 15.44 F: 59.79
Nov 14 11:33:18 Sensor 1 C: 35.38 F: 95.67
Nov 14 11:33:21 Sensor 2 C: 11.81 F: 53.26
Nov 14 11:33:24 Sensor 3 C: 10.50 F: 50.90

Über ein Javaprogramm wird zyklisch eine Messungdurchgeführt.  Der Aufruf erfolgt über

Process p = Runtime.getRuntime().exec(CmdMeasure);

Dabei wird die Standardausgabe umgeleitet. Man kann vom Javaprogramm über den folgenden Mechanismus die Ausgabe von digitemp auswerten:

BufferedReader input = new BufferedReader(
                       new InputStreamReader(
                       p.getInputStream()));
while ((line = input.readLine()) != null)
{

  . . .

Dabei wird nun zeilenweise gelesen, was digitemp ausgegeben hat.
Werden bei einzelnen Sensoren kritische Werte festgestellt, so wählt sich der Rechner über den Aufruf eines C-Programms isdndial,  das die entsprechenden Aufrufe von isdnctrl  zur Einwahl ausführt, ins Internet ein. Sodann wird eine Email erzeugt und verschickt, danach sollte der PC wieder auflegen.

Steuerleitungen
 
 
Zur Ansteuerung von Geräten wird eine 8-Kanal-Relaiskarte von Conradelektronik eingesetzt, die über die parallele Schnittstelle betrieben wird. Eine Zusammenstellung von Relaiskarten oder ähnlicher Lösungen findet sich unter http://www.franksteinberg.de/hardsteu.htm

Die Relaiskarte wird über den PC mit Spannung versorgt. Hierfür wird über ein Y-Kabel die Versorgungsspannung von 12 V aus dem PC-Netzteil entnommen.

Zur Programmierung verwende ich folgendes Programm.
 
Schaltungstechnisch steht auf der verwendeten Relaiskarte ein Schließer pro Bit zur Verfügung. Dieser wird verwendet, um ein zugeordnetes Relais im Zählerkasten, das auf die Hutschine montiert ist, zu schalten. Auf diese Weise wird eine saubere Trennung zwischen Rechner und zu schaltender Last erreicht. Die hierfür erforderliche Hilfsspannung liefert ein Stomversorgungsmodul, ebenfalls für Hutschinenmontage, alles zusammen bei Conrad-Elektronik erhältlich. 

 

Es empfiehlt sich, diese Arbeiten vom Fachmann ausführen zu lassen.
Die Hutschinenrelais steuern nun elektrische Heizkörperventile an, verwendet wurden Stellmotoren der Fa. Oventrop. So ist es möglich, ferngesteuert via Telefon (handy) Heizkörper auf- oder zuzudrehen. Bei abgeschaltetem Relais werden die Heizkörper über einen Raumthermostat geregelt (im Baumarkt für 29 Euro erhältlich).

Neben den 8 Ausgangsleitungen verfügt die parallele Schnittstelle noch über Steuerleitungen zur Eingabe bzw. Ein-Ausgabe.
 

Um die Ein-/Ausgangsleitungen als Eingangsleitungen zu verwenden, müssen sie mit einem Widerstand (3-10 KOhm)  mit 5V beschaltet, und softwareseitig der Wert 1 auf diese Leitungen ausgegeben werden. Sie liefern dann den Wert 1. Wird der Eingang nun kurzgeschlossen, liefern diese Leitungen den Wert 0. Informationen hierzu findet man in dem Buch "PC-Schnittstellen angewandt" von Burkhard Kainka im Elektor-Verlag Aachen. Weitere Informationen zur Parallelportbelegung und -beschaltung finden sich bei der Suche über Suchmaschinen.

Go Online

Um eine Fernadministration zu ermöglichen, muß die Einwahl auf den Rechner ermöglicht werden.
Hierfür gibt es verschiedene Möglichkeiten, je nach Anschlußart und verfügbaren Möglichkeiten:


Die Technologie, isdn-Nummern auszuwerten, kann auch für andere Steuerfunktionen, wie Auflegen, Heizung einschalten, Heizung ausschalten, Reboot und dergleichen verwendet werden.


Arnold Beck, HTW Dresden (FH), FB Informatik/Mathematik, 12/2003