Beamer über einen COM-Port ansteuern

Für eine regelmäßige laufende Präsentation mussten wir eine Möglichkeit finden den Beamer zeitgesteuert an- und wieder auszuschalten. Der Beamer verfügt über eine serielle Schnittstelle (COM-Port) und der Bedienungsanleitung liegt eine komplette Befehlsreferenz bei. Das dafür benötigte Kommando wäre »POWR {0|1}«, wobei die »0« den Beamer aus- und die »1« den Beamer einschaltet. Zu berücksichtigen ist dabei, dass zwischen dem Kommando »POWR« und dem Parameter drei Leerzeichen zu tippen sind.

Die ersten Tests wurden mit einem Hyperterminal durchgeführt, um die Kabelkonfiguration und korrekte Kommando Syntax zu testen. Als Kabel wurde ein gekreuztes Kabel angegeben, was im deutschen Sprachgebrauch einem »Nullmodemkabel« entspricht. Auch wichtig sind die Konfigurationsparameter der seriellen Schnittstelle. Diese werden wie folgt angegeben:

  • Baudrate: 9600 bps
  • Parität: Keine
  • Datenbits: 8
  • Stoppbit: 1
  • Flusskontrolle: keine

Im Prinzip entspricht dies den Standardeinstellungen des Hyperterminals. Da aber im späteren Gebrauch kein Hyperterminal mehr verwendet wird, sondern die serielle Schnittstelle (COM1) über eine Batchdatei angesprochen wird, müssen diese Einstellungen noch überprüft werden. Sowohl die Konfiguration, wie auch das Überprüfen der Einstellungen kann in einer CMD-Shell mit dem »mode« Befehl vorgenommen werden. Zum Überprüfen der aktuellen Einstellungen gehen Sie wie folgt vor:

C:\> mode com1
Status von Gerät COM1:
----------------------
    Baudrate:        115200
    Parität:         None
    Datenbits:       8
    Stoppbits:       1
    Zeitlimit:       ON
    XON/XOFF:        OFF
    CTS-Handshaking: ON
    DSR-Handshaking: OFF
    DSR-Prfung:      OFF
    DTR-Signal:      HANDSHAKE
    RTS-Signal:      HANDSHAKE

Mit folgenden Kommandos können Sie die serielle Schnittstelle wie gewünscht konfigurieren. Sie sollten die folgenden Kommandos Ihrer geforderten Konfiguration entsprechend anpassen:

C:\> mode com1:9600,n,8,1
Status von Gerät COM1:
----------------------
    Baudrate:        9600
    Parität:         None
    Datenbits:       8
    Stoppbits:       1
    Zeitlimit:       ON
    XON/XOFF:        OFF
    CTS-Handshaking: OFF
    DSR-Handshaking: OFF
    DSR-Prfung:      OFF
    DTR-Signal:      ON
    RTS-Signal:      ON

Weitere Hinweise zum Konfigurieren der Schnittstelle mit dem mode-Kommando erhalten Sie mit dem Befehl »mode /?«. Die vorgenommenen Einstellungen sind nur in dieser Sitzung gültig und werden nach einem Neustart wieder zurückgesetzt, deshalb müssen diese Kommandos zur Konfiguration in der Batchdatei mit angegeben werden.

Sie können jetzt Ihre Konfiguration testen, indem Sie eine Textdatei mit dem Befehl zum Starten des Beamers erstellen. Laut Befehlsreferenz wird der Beamer mit dem Kommando »POWR 1« gestartet. Wichtig ist dabei, dass Sie Ihre Textdatei mit einer Leerzeile abschließen, weil andernfalls nicht das abschließende »Return« gesendet wird. Sie können die Textdatei auch mit einer Leerzeile beginnen, dann werden evtl. vorhandene Zeichen, welche bei der Initialisierung der Sitzung gesendet werden, gelöscht:

BEAMER_ON.txt

POWR 1

Note: Bitte beachten Sie, dass vor und nach dem Kommando jeweils nur eine Leerzeile steht. Die Wikianwendung hat leider eine ganz eigentümliche Art mit Leerzeilen und Leerzeichen umzugehen.

Sie können nun testen, ob Ihr Setup funktioniert, indem Sie die Textdatei an die serielle Schnittstelle senden:

C:\> copy $PATH_TO_FOLDER\BEAMER_ON.txt COM1

Note: Ersetzen Sie »$PATH_TO_FOLDER« mit dem absoluten Pfad zum Verzeichnis in dem die Datei »BEAMER_ON.txt« liegt!

Wenn die Verkabelung, die Schnittstellenkonfiguration und die Kommando-Syntax stimmt, sollte der Beamer jetzt einschalten. Wenn das gewünschte Verhalten erreicht ist, kann man das ganze in jeweils eine Batch-Datei zum Starten und Herunterfahren des Beamers packen:

BEAMER_ON.bat

@echo off
mode com1:9600,n,8,1
copy BEAMER_ON.txt com1

Das gleiche dann noch einmal mit einer Batch-Datei zum Herunterfahren des Beamers, welche eine TXT-Datei mit dem Power-Off Befehl des Beamers »POWR ___0« zur seriellen Schnittstelle sendet.

Die »BEAMER_ON.bat« sollte dann als Logon-Skript und die »BEAMER_OFF.bat« als Logout-Skript hinterlegt werden. Wenn nun eine automatische Anmeldung eingerichtet ist, wird beim Starten des Systems, was zB durch eine geeignete BIOS Einstellung automatisch erreicht werden kann, der User automatisch angemeldet und das Logon-Skript ausgeführt, wodurch der Beamer gestartet und ggf. auch gleich noch das Video abgespielt wird. VLC hat hier einige geeignete Command-Line Optionen, welche sich hervorragen zum Skripten eignen. Durch einen AT-Befehl kann dann zeitgesteuert ein Shutdown Kommando an den Computer gesendet werden, welches das Herunterfahren des Systems einleitet und beim Abmelden des Benutzers das Logout-Skript zum Ausschalten des Beamers ausführt.

pronto2012/06/30 13:03

win/beamer_control.txt (12438 views) · Zuletzt geändert: 2012/06/30 13:18 von wikisysop
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0