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 (seriell)

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 ]


Ergänzend zur vorherigen Seite 'Relaiskarte (parallel)' wird auf der hier vorliegenden Seite eine serielle Relaiskarte für den Betrieb unter Linux vorgestellt. Auch bei seriellen Relaiskarten ist eine große Auswahl im Internet zu finden, alle diese Karten können mit bestimmten Steuer-Sequenzen, die über die serielle Schnittstelle einfach versendet werden, kontrolliert werden.

Auf der folgenden Seite wird exemplarisch die verbreitete Relaiskarte 'K8056' der Firma 'Velleman' vorgestellt. Diese Relaiskarte kann auf verschiedene Arten und Weisen angewendet werden: Eigenständige Relaiskarte, durch Schalter oder offene Kollektor-Ausgänge gesteuert oder ferngesteuert über eine serielle Schnittstelle. Auf dieser Seite wird die Relaiskarte mit dem als Source-Code vorliegenden Programm 'k8056' angesteuert. Bei Karten anderer Hersteller sind bez. der Software Anpassungen notwendig.

Anschaltung einer seriellen 'K8056-Relaiskarte'

Bei der Relaiskarte 'K8056' von der Firma 'Velleman' handelt es sich um eine acht-kanalige Karte, die zumeist als Bausatz günstig angeboten wird. Die folgenden Bilder zeigen den Bausatz (links) und die fertig aufgebaute Karte (rechts):

  

Der Zusammenbau und Anschluss der Karte sollte nach der beiliegenden Dokumentation erfolgen. Für den Betrieb muss die Karte mit der Spannung (12V) versorgt werden und mit der seriellen Schnittstelle des zu steuernden Computers verbunden werden.

Da die Relaiskarte über serielle Befehles-Sequenzen gesteuert wird können maßgefertigte Applikationen in jeder Programmiersprache oder auf
jedem Computerplattform geschrieben werden. Im Internet lassen sich einige vorgefertigte Software-Lösung bezüglich dieser Karte finden.

Eine solche Lösung ist z.B. die Software 'k8056'. 'k8056', eine freies C-Programm welches die Relaiskarte einfach auf der Kommandozeile bedienen kann. Der Source-Code des Programms kann im Internet heruntergeladen und muss anschließend kompiliert und das daraus resultierende Programm installiert werden. Hierzu eine mögliche Vorgehensvariante unter Debian-Linux:

wget http://vesta.homelinux.net/mediawikidir/6/65/K8056_20060928.tgz
tar xvfz K8056_20060928.tgz
cd k8056_20060928
make
make install

Zunächst ist das Archiv mit dem Source-Code mittels 'wget' herunterzuladen und mit dem 'tar'-Kommando zu entpacken. Nachdem in das Source-Verzeichnis gewechselt wird, kann mit 'make' die Kompilierung angestoßen werden. Danach sollte schon das fertig ausführbare Programm 'k8056' vorliegen, welches jetzt mit 'make install' in das Verzeichnis '/usr/bin/' installiert werden kann.

Nach der Installation des Programms 'k8056' und Anschluss der Relaiskarte kann diese genutzt werden. Eine kurze Beschreibung der möglichen Optionen kann mit dem Aufruf der Hilfe gewonnen werden:

debian:~# k8056 -h

k8056 is a program for controlling the 'Velleman K8056' RS-232 I/O card

Usage:  k8056 [-h] [-v] [-a card_address] [-d device] [-S|-C|-T relay#] [-B relay_status] [-A new_address] [-E|-D|-F]

       -h                : this help
       -v                : verbose
       -d device         : Rs232 device, default /dev/k8056 (To do: ln -s /dev/ttyS0 /dev/k8056 for example)
       -a card_address   : Address of the card (1..255) in decimal
       -S|-C|-T relay#   : Instructions to set/clear/toggle a relay number ('1'..'9')
       -A new_address    : Set the new address of the card (1..255)
       -B relay_status   : Set the eight relay with relay_status byte (1..255)
       -E|-D|-F          : Emergency stop / Display address / Force address to 1

       ** Command examples **
       k8056 -v -E        : Emergency stop all relays cards (with verbose).
       k8056 -v -S6       : Set relay #6 (with verbose).
       k8056 -v -C5       : Clear relay #5 (with verbose).
       k8056 -v -T5       : Toggle relay#5 => set relay #5 (with verbose).
       k8056 -B 127       : Clear relay #1, Set relay #2..8
       k8056 -a 2 -d /dev/ttyS14 -S1      : Set relay #1 on card address 2 and device /dev/ttyS14.

Wie beim der 'help'-Ausgabe zu erkennen, sind auch einige Kommando-Beispiele hier zu finden. Auch kann das Programm 'k8056' innerhalb '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.

Auch wichtig ist, dass die Schnittstellen-Geschwindigkeit des steuernden Computers an die Relaiskarte angepasst wurde. Das Setzen der Schnittstellengeschwindigkeit kann mit folgendem Kommando erfolgen:

stty -F /dev/ttyS0 2400

In diesem Fall wird die erste serielle Schnittstelle 'ttyS0' auf '2400' Baud eingestellt, den Wert den die 'Velleman K8056'-Relaiskarte benötigt.

Auch gut geeignet ist ein in der Sprache 'Python' geschriebenes Modul für die 'Velleman'-Relaiskarte, siehe Link unten.

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
Velleman: 8-KANAL-RELAISKARTE http://www.velleman.be/ot/de/product/view/?id=351282
The K8056 interface board from Velleman on Linux http://vesta.homelinux.net/mediawiki/index.php/The_K8056_interface_board_from_Velleman_on_Linux
Download: Source-Code 'k8056' http://vesta.homelinux.net/mediawikidir/6/65/K8056_20060928.tgz
Python Module for Velleman relay card k8056 http://www.kaffeefloh.de/k8056.html
Implementierung einer erweiterbaren seriellen Relaiskarte http://davey.de/uploads/media/Projekt-MiTe-Dokumentation.pdf
Die Programmierung des Seriellen Ports http://www.loetstelle.net/praxis/seriellport/seriell.php
Die serielle Schnittstelle (Hardware-Projekte; Prof. Jürgen Plate) http://www.netzmafia.de/skripten/hardware/rp1/rp11.html
Conrad Relaiskarte (Hardware-Projekte; Prof. Jürgen Plate) http://www.netzmafia.de/skripten/hardware/relais/relais.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