Serielle Fernsteuerung: Schnell geschaltet

Aufmacher News

Serielle Fernsteuerung: Schnell geschaltet

Mirko Dölle
14.08.2000

Ob Fileserver oder Druckerspooler: Rechner, die nur eine spezielle Funktion haben, benötigen eigentlich weder Monitor noch Tastatur - wenn nicht hin und wieder eine CD gewechselt oder das System am Wochenende heruntergefahren werden müsste ...
Jeder, der irgend wo im Haus einen Server stationiert hat, kennt bestimmt das Problem: Um die CD zu wechseln muss man sich von einem Arbeitsplatz aus einloggen, unmounten, dann mit der CD zum Server und nach dem Wechsel wiederum am Arbeitsplatz mounten. Oder der als Druckerspooler weiterbenutzte 486er soll zum Wochenende abgeschaltet werden - dass er noch nicht heruntergefahren wurde, merkt man natürlich erst nach dem Shutdown der letzten Workstation. Nach kurzer Zeit gesellen sich dann doch wieder Monitor und Tastatur dazu, um nicht ständig zwischen Arbeitsplatz und Server hin und her laufen zu müssen.

Nüchtern betrachtet sind es nur wenige Aktionen wie Shutdown, (un)mounten der CD-Laufwerke oder Start/Fortsetzung des Backups, die man immer wieder direkt am Server anstoßen müsste. Auf der anderen Seite hat die serielle Schnittstelle verschiedene Statusleitungen, die man ohne großen Aufwand abfragen kann. Beides zusammen ergibt eine einfache und sehr kostengünstige Fernsteuerung.

Ein- und Ausgänge

Ein Blick auf Tabelle 1 zeigt, dass wir insgesamt fünf Eingänge und drei Ausgänge haben, wobei die Sende- und Empfangsleitung (RXD, TXD) zunächst ausgeklammert bleiben. Um einen der Eingänge zu schalten, benötigen wir eine Spannung. Wir könnten diese extern über ein Netzteil oder intern über einen Festplatten-Stromanschluss bekommen, doch das ist kritisch. Die serielle Schnittstelle reagiert empfindlich auf zu hohe Spannungen und insbesondere zu hohe Ströme. Da die Bausteine heutzutage auf dem Mainboard untergebracht sind, lässt sich eine beschädigte serielle Schnittstelle auch nicht mehr einfach austauschen. Deshalb benutzen wir einen der Ausgänge als Spannungsversorgung für die Eingänge. Übrig bleiben also vier Eingänge, ein frei schaltbarer Ausgang zum Beispiel für eine LED sowie ein zweiter, bedingt schaltbarer Ausgang.

Tabelle 1: Pinbelegung der seriellen Schnittstelle

9pol. 25pol. Typ Signal Bezeichnung
1 8 Eingang CD Carrier Detect
2 3 Eingang RXD Receive Data
3 2 Ausgang TXD Transmit Data
4 20 Ausgang DTR Data Terminal Ready
5 7 - GND Ground
6 6 Eingang DSR Data Set Ready
7 4 Ausgang RTS Request To Send
8 5 Eingang CTS Clear To Send
9 22 Eingang RI Ring Indicator

Beschaltung der Ein-/Ausgänge

Den ersten Ausgang RTS verwenden wir für eine gelbe LED, sie wird mit einem Vorwiderstand zwischen Ausgang und Masse geschaltet. Diese können wir für Statusmeldungen oder als Quittung für eine Aktion verwenden (an/aus/blinken). Der Vorwiderstand sollte so bemessen sein, dass nicht mehr als 20 mA Strom fließen, üblicherweise 2,2 kOhm.

Der zweite Ausgang muss aktiviert sein, um überhaupt die Eingänge schalten zu können - Er eignet sich also hervorragend als System-Zustandsanzeige. Dazu nutzen wir aus, dass der Low-Pegel der seriellen Schnittstelle nicht Masse (GND) ist, sondern eine negative Spannung. Schaltet man zwischen den Ausgang DTR und Masse einen Vorwiderstand und eine zweipolige Dual-LED (Umpolung der LED bewirkt Farbwechsel zwischen rot und grün), so sind bei rot die Tasten inaktiv (da negative Spannung). Die Ausgänge sind bei Einschalten des Geräts beide Low, so dass die LED zunächst rot ist. Nach Start des Kontrollprogramms (zum Beispiel über ein Init-Script) setzt man dann DTR auf High - die LED wird grün und die Eingänge können geschaltet werden. Die vier Eingänge CD, DSR, CTS und RI werden über fünf Taster und einen gemeinsamen Vorwiderstand von 10 kOhm mit dem Ausgang DTR verbunden. Um einen versehentlichen Shutdown durch Berühren einer Taste zu vermeiden, wurden beim Beispielaufbau in Abb. 1 zwei rote Taster in Reihe geschaltet und mit RI verbunden - es müssen also beide gedrückt sein. Die Taster dienen gleichzeitig als Fassung für die beiden LED und liegen zur Sicherheit so weit wie möglich auseinander.

Abb. 1: Musteraufbau mit fünf Tasten

Kontrollprogramm

Wie oben beschrieben wird duch Aktivierung des Ausgangs RTS die gelbe Leutdiode eingeschaltet. Das auf unserem FTP-Server veröffentlichte Kontrollprogramm verwendet die LED als Quittung, dass ein Tastendruck erkannt und die zugehörige Aktion ausgelöst wurde. Sie wird nach Ende der Aktion wieder gelöscht. Tritt während dessen ein Fehler auf, blinkt die gelbe LED. Die Dual-LED an DTR dient der Bereitschaftsanzeige. Bei Start des Kontrollprogramms wird sie auf grün geschaltet, am Programmende auf rot.

Die Eingänge werden in einer Schleife alle 75 ms abgefragt. Eine Taste gilt dann als gedrückt, wenn die Eingänge drei Durchläufe (also 225 ms) lang unverändert bleiben. Das 75 ms-Intervall ist wilkürlich gesetzt und ein Kompromiss zwischen CPU-Last und Reaktionsgeschwindigkeit. Das Programm kann zwischen einzelnen Tasten und Tastenkombinationen unterscheiden, aktuell sind zwei Aktionen implementiert: Sind beide rote Tasten gedrückt (Eingang RI high), wird die gelbe LED gesetzt und das System heruntergefahren (halt). Sind eine oder mehrere weiße Tasten gedrückt, so erfolgt ein umount von /dev/cdrom sowie der Auswurf oder Einziehen und mounten auf /cdrom. Insgesamt lassen sich inklusive Kombinationen sieben Aktionen mit den weißen Tasten auslösen. Die roten Tasten sollten dem Shutdown vorbehalten bleiben.

Das C-Listing des Kontrollprogramms ist mit einigen Kommentaren versehen, die Umsetzung eigene Wünsche sollte nicht weiter schwer fallen. An ein Verlängerungskabel angeschlossen und mit entsprechend geänderten Tastenbelegungen kann man sogar die Lautstärke der Soundkarte regeln und mpg123 steuern, wenn man zum Musikhören den Schreibtisch mal verlässt.

Nachbau

Es ist nicht unbedingt notwendig, das Platinenlayout aus Abb. 2 zu benutzen - prinzipiell kann man auch einfach Taster und seperate LED-Fassungen in eine Laufwerksabdeckung schrauben und frei verdrahten. Das Layout ist für die in der Bauteilliste angegebenen Taster mit und ohne LED-Fassung vorgesehen, die man unter anderem bei Reichelt Elektronik (http://www.reichelt.de) bekommt. Wichtig ist nur, auf die richtige Polarität der beiden Leuchtdioden zu achten - und vor allem auf Kurzschlüsse! Die seriellen Schnittstellen befinden sich üblicherweise zusammen mit ISA-Bridge und IDE-Interface in der Southbridge direkt auf dem Mainboard - tragisch, wenn diese den Geist aufgeben würde. Besser, man greift zu einer seperaten Multi-IO-Karte - zudem hat man dann auch kein Problem mit der Kabelführung, weil man innen an die Pfostenstecker heran kann. Der Anschluss erfolgt entweder mit Flachbandkabel von außen, oder über eine Pfostenbuchse direkt auf den Stecker des Mainboards oder der Schnittstellenkarte. Achtung, die Belegung der Pfostenstecker ist durchaus unterschiedlich und sollte nachgeschlagen werden.

Anschlußbelegung Platine

Pin Signal Bauteil
1+2 GND -
3+4 CD weißer Taster, links
5+6 DSR weißer Taster, Mitte
7+8 CTS weißer Taster, rechts
9+10 RI rote Taster (Reihenschaltung)
11+12 RTS gelbe LED
13+14 DTR rot/grüne LED

Ausblick

Durch Verwendung eines einfachen Multiplexers kann man statt drei sieben weiße Tasten einbauen, dann jedoch ohne Mehrfachkombinationen. Zudem lässt sich über ein Interface noch ein Display für zusätzliche Informationen anschließen (dafür wurden RXD und TXD freigehalten), doch dies sei einem späteren Artikel vorbehalten. Mit der hier beschriebenen seriellen Fernsteuerung lassen sich viele alltägliche Probleme lösen, für die man sonst Monitor und Tastatur gebraucht hätte. (mdö)

Bauteileliste

Anzahl Typ Beschreibung
3 DIT 1 Taster weiß
2 DTL 2 Taster rot mit LED-Fassung 3mm
1 SLK 3mm LED 3mm gelb
1 3RG LED 3mm rot/grün, zweipolig
2 - Widerstand 2,2 kOhm
1 - Widerstand 10 kOhm

Abb. 2: Bestückungsplan

Platinen-Layout (PostScript-Datei)

Copyright © 2000 Linux New Media AG

Ähnliche Artikel

  • Arduino-Programmierung
    Der Arduino lockt mit Offenheit und Portabilität: Die Schaltung des Minirechners ist ebenso frei lizenziert wie die zugehörige Entwicklungsumgebung. Grund genug, sich näher mit der Programmierung zu beschäftigen.
  • Programmieren mit Arduino
    Die Arbeit mit der quelloffenen Hardware Arduino bietet einen unkomplizierten Einstieg in die Welt der Mikrocontroller und elektronischen Schaltungen. Erweiterte Funktionen wie Netzwerkzugang lassen sich über vorkonfektionierte Zurüst-Boards schnell ergänzen.
  • Digitaler Linux-Videorekorder im Eigenbau, Teil 2
    Im ersten Teil unseres Workshops haben wir Ihnen die Einrichtung der DVB-Karten gezeigt. In dieser Ausgabe geht es um den Bau eines Infrarot-Empfängers und die Einbindung einer Fernbedienung zur Steuerung des Digitalen Linux-Videorekorders
  • Herr der Wellen
    Beim Stichwort Mehrspuraufnahme denken die meisten wohl an hübsche GUIs mit Dutzenden von Reglern. Dass es auch anders geht, beweist das schlanke und handliche Tool Ecasound.
  • AlsaModularSynth, FluidSynth und NoteEdit
    Mit Synthesizer-Programmen greifen Sie auf reichhaltige Instrumentensammlungen zurück oder basteln sich gleich eigene. Ein Notensatzsystem spielt Ihre Komposition mit den Instrumenten Ihrer Wahl ab.

Alles Ausklappen

Kommentare
Bekomme Serielle Fernsteuerung nicht gestartet!
Roland Kaiser, Sonntag, 27. Februar 2005 18:25:37
Ein/Ausklappen
Re: Serielle Fernsteuerung: Schnell geschaltet
(unangemeldet), Donnerstag, 30. Mai 2002 12:48:59
Ein/Ausklappen
Möchte 3 CD-ROM-Laufwerke mit 3 Tasten ansteuern
(unangemeldet), Freitag, 23. November 2001 11:31:41
Ein/Ausklappen
Frage zur Schaltung 10k-Widerstand
(unangemeldet), Dienstag, 09. Januar 2001 15:22:58
Ein/Ausklappen
-
Re: Frage zur Schaltung 10k-Widerstand
(unangemeldet), Freitag, 23. November 2001 11:37:48
Ein/Ausklappen
Serielle Fernsteuerung geht bei mir nicht ... LED schon aber sonst null Reaktion
(unangemeldet), Samstag, 30. Dezember 2000 19:47:58
Ein/Ausklappen
Weitere Beispielprogramme auf FTP-Server
Mirko Dölle, Donnerstag, 24. August 2000 10:04:45
Ein/Ausklappen
Steuerung mit Perl?
(unangemeldet), Sonntag, 20. August 2000 16:47:15
Ein/Ausklappen
-
Re: Steuerung mit Perl?
(unangemeldet), Dienstag, 22. August 2000 02:59:27
Ein/Ausklappen
txd-leitung auf high
(unangemeldet), Donnerstag, 17. August 2000 23:21:19
Ein/Ausklappen
Rechner automatisch Ausschalten
(unangemeldet), Donnerstag, 17. August 2000 17:54:18
Ein/Ausklappen
-
Re: Rechner automatisch Ausschalten
Mirko Dölle, Montag, 21. August 2000 00:47:20
Ein/Ausklappen
Super
Ralf Baerwaldt, Dienstag, 15. August 2000 14:41:19
Ein/Ausklappen
-
Re: Super
(unangemeldet), Dienstag, 15. August 2000 15:08:27
Ein/Ausklappen
-
Re: Super
(unangemeldet), Dienstag, 15. August 2000 17:52:24
Ein/Ausklappen
-
Re: Super
(unangemeldet), Dienstag, 15. August 2000 18:08:37
Ein/Ausklappen
-
Re: Super
(unangemeldet), Dienstag, 15. August 2000 18:36:07
Ein/Ausklappen
-
Re: Super
(unangemeldet), Mittwoch, 16. August 2000 10:13:09
Ein/Ausklappen
-
Re: Super
Mirko Dölle, Mittwoch, 16. August 2000 14:00:27
Ein/Ausklappen
Re: Super
Thomas Bonk, Mittwoch, 16. August 2000 13:26:06
Ein/Ausklappen
-
Also es läuft
Carsten Müller, Donnerstag, 17. August 2000 02:39:28
Ein/Ausklappen
-
Re: Also es läuft
Mirko Dölle, Donnerstag, 17. August 2000 10:19:53
Ein/Ausklappen
-
Re: Also es läuft
Carsten Müller, Sonntag, 31. Dezember 2000 19:22:18
Ein/Ausklappen
nette idee
Carsten Müller, Dienstag, 15. August 2000 03:10:00
Ein/Ausklappen
-
Re: nette idee
(unangemeldet), Dienstag, 15. August 2000 07:50:05
Ein/Ausklappen
-
Re: nette idee
(unangemeldet), Dienstag, 15. August 2000 17:49:35
Ein/Ausklappen

Aktuelle Fragen

Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 4 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...
o2 surfstick software für ubuntu?
daniel soltek, 15.07.2014 18:27, 1 Antworten
hallo zusammen, habe mir einen o2 surfstick huawei bestellt und gerade festgestellt, das der nic...