Linux als SOHO-Server

für Linux- und Windows-Clients
http://linux.eusterholz.dyndns.org

Kapitel:

Home
Debian Installation
Debian Etc.
Internet-Zugang
Telnet
FTP
r-Utilities
SSH
Printing
NTP
Nameserver
NFS/NIS/Automount
Samba (SMB-Server)
Apache (WEB-Server)
Modem / ISDN
Backup
Etc.


Relaiskarte (parallel)

Wake-On-LAN ] Power Off ] XDMCP-Zugang ] VNC ] Sun-Java ] Ajaxterm ] Scann-Server ] webCDwriter ] [ Relaiskarte (parallel) ] Relaiskarte (seriell) ] UPS ] LIRC ] Clonezilla ] Subversion ] SMS unter Linux ]


Mittels einer Relaiskarte können z.B. Verbraucher (Lampen, Motoren, etc.) vom PC aus geschaltet werden. Im Folgenden wird vorgestellt wie eine solche Relaiskarte unter Linux betrieben und genutzt werden kann. Dabei kommt exemplarisch eine acht-Kanal-Relaiskarte, angeschlossen am Parallelport des PCs, zum Einsatz.

Anschaltung einer parallelen Relaiskarte

Im Internet wird eine Vielzahl von unterschiedlichen Relaiskarten angeboten. Die meisten dieser Karten werden an die parallelen Schnittstelle (Drucker-Schnittstelle) angeschlossen. Im einfachsten Fall, werden bei diesen Karten die acht Datenleitungen für den parallelen Drucker verstärkt, um so bis zu acht unabhängige Relais anzusteuern. An den Ausgängen der Relais können dann größere Lasten geschaltet werden.

Eine preiswerter Bausatz (ca. 10,- Euro), einer solchen Karte kann, z.B. von der Firma: 'Pollin Electronic' bezogen werden. Die folgenden Bilder zeigen den Bausatz und die anschließend fertig bestückte Relaiskarte:

  

Mittels eines passenden parallelen Kabels ist die Relaiskarte einfach mit dem Computer zu verbinden. Zusätzlich ist noch eine Spannungsversorgung, z.B. von einem Steckernetzteil, für die Karte selbst notwendig.

Test/Ansteuern der Relaiskarte

Nach der hardwaremäßigen Anschaltung der Relaiskarte, kann diese unter Linux einfach angesteuert (getestet) werden. Im Internet können zum Ansteuern des Parallelports zahlreiche Beiträge gefunden werden. Ein schnelles Ergebnis, kann z.B. mittels eines kleinen 'C'-Programms erzielt werden; hier exemplarisch der Programmcode:

Beispiel 'C'-Programm zur Steuerung des Parallel-Ports: ./parallelport.c

#include <asm/io.h>
main(int argc, char* argv[])
{
        int base=atoi(argv[1]);
        int value=atoi(argv[2]);
        ioperm(base,3,1);
        outb(value,base);
        outb(0,base+2);
        printf("%1/n",inb(base+1));
        ioperm(base,3,0);
};

Der oben abgebildete Code kann mit einen Editor in eine Datei eingegeben werden und mit der Endung '.c' abgespeichert werden, z.B. 'parallelport.c'. Mit folgender Befehlszeile ist dann dass Programm auf der Kommandozeilenebene zu übersetzen:

gcc -O2 -o parallelport parallelport.c

Als Benutzer 'root' kann anschließend das fertige Programm gestartet werden. Zum Ausführen des Programms 'parallelport' sind zwei Argumente mit zu übergeben, z.B.:

./parallelport 888 85

Der erste Wert entspricht der Basis-Adresse des Parallel-Ports. In diesem Fall der Wert '888', welches der hexadezimalen Adresse 'x378' entspricht, und den ersten Parallelport (LPT1) typischerweise kennzeichnet. Das zweite Argument wird als Bitmuster verwendet, welches an die Datenleitungen des Parallelports angelegt wird. Der Wert '0' würde bedeuten, alle Relais sind auf Zustand 'AUS', beim Wert '255' sind dagegen alle Relais 'EIN'. Beim Wert '85' sollten alle Relais abwechselnd auf 'EIN' sein.

Natürlich kann dieses kleine Programm in 'Shell'-, 'Perl'- oder 'PHP'-Programmen mit eingebunden werden. Es können dann so leicht komplexere Steuerungsaufgaben realisiert werden.

Anmerkungen

Damit das oben erwähnte C-Programm unter Debian-Linux erfolgreich kompiliert werden kann, sind evtl. einige Tools wie z.B. Compiler oder 'make' zu installieren. Am einfachsten kann man mittels 'aptitude install dpkg-dev' eine Entwicklungsumgebung auf einem Grundsystem aufsetzen.

Beim Umgang mit Produkten die mit elektrischer Spannung in Berührung kommen, müssen die gültigen VDE-Vorschriften beachte werden. Auch sollte der bestimmungsgemäßer Gebrauch beachtet werden, d.h. z.B. die Schaltspannungen und Schaltströme der Relais sollten beachtet werden.

Weitere Infos

Übersicht Relaiskarten http://www.franksteinberg.de/hardsteu.htm
Relaiskartenanbieter: Pollin Electronic (Bausatz PC-Relaiskarte K8) http://www.pollin.de
Montageanleitung: PC-Relaiskarte K8 http://www.pollin.de/shop/downloads/D710722B.PDF
Die Programmierung des Parallelports http://www.loetstelle.net/praxis/parallelport/parallelport.php
Die parallele PC-Schnittstelle (Hardware-Projekte; Prof. Jürgen Plate) http://www.netzmafia.de/skripten/hardware/rp1/rp12.html
Linux I/O port programming mini-HOWTO http://www.tldp.org/HOWTO/IO-Port-Programming.html

Home ] Nach oben ] Wake-On-LAN ] Power Off ] XDMCP-Zugang ] VNC ] Sun-Java ] Ajaxterm ] Scann-Server ] webCDwriter ] [ Relaiskarte (parallel) ] Relaiskarte (seriell) ] UPS ] LIRC ] Clonezilla ] Subversion ] SMS unter Linux ]

letzte Änderung: 01. Januar 2014

 

Copyright © 2004 Norbert Eusterholz