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.
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.
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
|
||||||||||||||||||||||||
|
||||||||||||||||||||||||
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
|
|||||||||||||||||||||
|
|||||||||||||||||||||
Copyright © 2000 Linux New Media AG
[2] http://www.reichelt.de



Alles Ausklappen