PDA-Fernsteuerung DMXC2: Unterschied zwischen den Versionen

Aus Deutsches DMXC-Wiki
Zur Navigation springen Zur Suche springen
 
(48 dazwischenliegende Versionen von 7 Benutzern werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Kapitelüberschrift}}       
+
{{Kapitelüberschrift|Version=DMXControl 2.12.2}}       
{{NavigationTop Man2
+
{{NavigationTop-Man2
|zurück = [[Figureneditor|Figureneditor]]
+
|zurückLink = Figureneditor_DMXC2
|vor = [[Tastatursteuerung|Tastatursteuerung]]
+
|zurückText = Figureneditor
 +
|vorLink = Tastatursteuerung_DMXC2
 +
|vorText = Tastatursteuerung
 
}}
 
}}
 +
{{Start-LaTeX}}
 +
==Überblick==
 +
Die {{Manual_Windowcaption|PDA-Fernbedienung}} hat sich aus der {{Manual_Windowcaption|Terminal-Schnittstelle}} von DMXControl über die {{Manual_Windowcaption|Serielle Fernbedienung}} weiterentwickelt. Durch die {{Manual_Windowcaption|PDA Fernbedienung}} lässt sich DMXControl mit PDAs und anderen seriellen Schnittstellen (Telnet, COM-Schnittstelle, Bluetooth oder über WLAN) steuern.
  
{{Hinweis
+
{{BoxWichtig| Text=Das Fenster der PDA-Fernbedienung muss, wie bei allen anderen Fernbedienungen/Steuerungen in DMXControl, offen bleiben. Bei geschlossenen Fenster findet keine Kommunikation statt.}}
|Text = Artikel wird bearbeitet (30.7.2012) von Uwe (Multipar).
 
}}
 
  
 +
==Beschreibung==
 +
Die {{Manual_Windowcaption|Serielle Fernbedienung}} wurde in DMXControl implementiert, um den Zugriff über die serielle Schnittstelle oder über ein Netzwerk (z.B. Ethernet) auf das Programm zu ermöglichen. Im Netwerk erwartet DMXControl eine Verbindung auf Port 2145. Dieser Port kann im Fenster der {{Manual_Windowcaption|PDA-Fernsteuerung}} geändert werden. Jedes Programm, das Zeichenketten (Strings) verschicken kann, ist damit in der Lage, DMXControl fernzusteuern.
 +
Die {{Manual_Windowcaption|Serielle Fernbedienung}} wird unter anderem von der PDA-Steuerung [[PDA-2-DMXC]] und vom Web-Interface bzw. der PHP-Klasse sowie verschiedener anderer Steuerungen (bspw für Android) verwendet.
 +
Da das Protokoll der Schnittstelle offen ist, ist es für jeden möglich, über ein eigenes Programm auf DMXControl zuzugreifen.
  
 +
Die Schnittstelle funktioniert bidirektional, d.h. es können Daten gesendet und angefragt werden. Eine Tabelle der möglichen Befehle ist weiter unten zu finden. Manche Befehle liefern nach dem Ausführen einen Wert als Bestätigung zurück, andere nicht.
  
==Überblick==
+
Jeder Befehl der an DMXControl gesendet wird, muss mit einem Zeilenumbruch (in Java und C# "\n") abgeschlossen werden.
Mit der "PDA Fernbedienung" läßt sich DMXControl per PDA, aber auch über jede andere serielle Kommunikation steuern.
 
Z.B. über die Com-Schnittstelle, Bluetooth oder über WLAN
 
  
==Beschreibung==
+
== Schnittstelle ==
 +
In der folgende Tabelle ist eine Liste der Befehle und Antworten von DMXControl aufgeführt. Entwickler, die ein externes Programm zur Steuerung von DMXControl schreiben möchten, können erste Erfahrungen am besten mit einem Terminalprogramm wie Telnet oder Putty machen. Am lokalen Arbeitsplatz geht das mit dem Befehl: '''telnet 127.0.0.1 2145'''. Dann erkennt man sofort, wie die Antworten aussehen. Alle Befehle werden von DMXControl unabhängig von Groß / Kleinschreibung interpretiert.
  
 +
{{ BoxHinweis
 +
| Text=Anstelle von '''SetChannel''' kann also auch '''sEtChAnNeL''' geschrieben werden.
 +
}}
  
==Bedienelemente==
+
Die Abkürzung '''CV''' steht für '''ChannelValue''' und '''CVC''' für '''ChannelValueChanged'''
  
 
  
==Tipps==  
+
{|cellpadding="5" cellspacing="0" border="1"
 +
|'''Anfrage an DMXC'''
 +
|'''Antwort von DMXC'''
 +
|'''Beschreibung'''
 +
|'''Beispiel'''
 +
|- style="vertical-align:top;"
 +
|SetChannel ''Channel Wert''
 +
|CV ''Channel Wert''
 +
|Setzt den Kanal '''''Channel''''' auf den Wert '''''Wert'''''.
 +
|'''SetChannel 1 200''' -> '''CV 1 200'''
 +
|- style="vertical-align:top;"
 +
|SC ''Channel Wert''
 +
|CV ''Channel Wert''
 +
|Kurzschreibweise für SetChannel.
 +
|'''SC 1 200''' -> '''CV 1 200'''
 +
|- style="vertical-align:top;"
 +
|GetChannel ''Channel''
 +
|CV ''Channel Wert''
 +
|Fragt den Wert des Kanals '''''Channel''''' an.
 +
|'''GetChannel 1''' -> '''CV 1 200'''
 +
|- style="vertical-align:top;"
 +
|GC ''Channel''
 +
|CV ''Channel Wert''
 +
|Kurzschreibweise für GetChannel.
 +
|'''GC 1''' -> '''CV 1 200'''
 +
|- style="vertical-align:top;"
 +
|GetAllDevices
 +
|''Liste der Geräte''
 +
|Fragt alle in DMXControl vorhandenen Geräte ab.
 +
|'''GetAllDevices''' ->
 +
'''1. PAR-1'''
 +
'''2. PAR-2'''
 +
'''...'''
 +
'''10. Botex SP-1500 Stroboskop'''
 +
|- style="vertical-align:top;"
 +
|GetDeviceInfo ''DeviceID''
 +
|''Geräteinformationen''
 +
|Fragt genauere Informationen zum Gerät mit der Nummer '''''DeviceID''''' ab. Dabei existieren für PanTilt drei Möglichkeiten: '''No, Coarse, Fine'''. Bei Coarse oder Fine folgen die Kanäle von Pan Tilt, bei einem Scanner also: '''''PanTilt: Coarse 0 1''''' bei einem 16 bit Scanner '''''PanTilt: Fine 0 1 14 15'''''. Die Reihenfolge ist dabei '''Pan Tilt PanFine TiltFine'''. Nach '''''Channels: Anzahl''''' wird eine Liste mit allen Namen der Kanäle angehängt, wie sie im DDF hinterlegt sind.
 +
|'''GetDeviceInfo 10''' ->
 +
'''Name: Botex SP-1500 Stroboskop'''
 +
'''StartAddress: 257'''
 +
'''PanTilt: No'''
 +
'''Channels: 2'''
 +
'''Channel1: Frequenz'''
 +
'''Channel2: Helligkeit'''
 +
|- style="vertical-align:top;"
 +
|StartChannelNotification ''StartChannel EndChannel''
 +
|Keine
 +
|Aktiviert die Asynchrone Information über Kanaländerungen. Wenn sich in DMXControl ein Kanal zwischen '''''StartChannel''''' und '''''EndChannel''''' ändert, sendet DMXControl eine Nachricht mit dem neuen Wert. Ein weiteres senden von StartChannelNotification überschreibt den alten Bereich.
 +
|'''StartChannelNotification 1 10'''. Nach Wertänderung von Kanal 5 auf 255: -> '''CVC 5 255'''
 +
|- style="vertical-align:top;"
 +
|StopChannelNotification
 +
|Keine
 +
|Deaktiviert die Benachrichtigung über Kanaländerungen.
 +
|'''StopChannelNotification'''
 +
|- style="vertical-align:top;"
 +
|GetCommandPossibilities ''Dropdown-Index Vorgänger-Index''
 +
|''Liste der Möglichkeiten''
 +
|Ein Befehl setzt sich aus einzelnen Teilen zusammen. ''Modul'', ''Gerät/Funktion'', ''Kanal'', ''...''. Da die folgende Auswahl auf der vorhergehenden basiert, muss der Reihe nach von vorne abgefragt werden. Mit ''GetCommandPossibilities 1'' erhält man eine Liste der Modulmöglichkeiten. Jede Möglichkeit hat eine ID. Mit ''GetCommandPossibilities 2 3'' erhält man die Auswahl für Gerät/Funktion, auf Basis von Modul 3.
 +
|'''GetCommandPossibilities 1''' ->
 +
'''1. Deaktiviert'''
 +
'''2. Audio'''
 +
'''3. Audiotrack'''
 +
'''...'''
 +
|- style="vertical-align:top;"
 +
|RunCommand ''Index1 Index2 Index3 Flags Value''
 +
|Keine
 +
|Mit diesem Command führt man den Befehl aus. '''''Index1, Index2''''' und '''''Index3''''' sind dabei die Indizes von GetCommandPossibilities.
 +
'''''Flags''''' ist ein binär codierter Integer. Bit 0 steht für ''Umschalt-Modus'' und Bit 1 für ''Angegebenen Wert verwenden''. '''''Value''''' ist ein DMX-Wert in Prozent von 0.000 bis 100.000 (für zukünftige 16Bit Werte).
 +
|'''RunCommand 2 5 3 0 0.000'''
 +
|}
 +
<br>
  
 +
== GetCommandPossibilities und RunCommand ==
 +
Um einen spezifischen Befehl mit '''RunCommand''' auszuführen, muss man wissen, welche ID der Befehl besitzt. Diese ID kann man mit dem Aufruf '''GetCommandPossibilities''' sehr einfach herausfinden. Man arbeitet sich dabei Schritt für Schritt von der obersten Ebene (1) bis zur benötigten Ebene (z.B. 3) herab. Die erste Ziffer hinter dem Aufruf stellt die Ebene dar, auf der man sich gerade befindet. Die folgenden Ziffern stehen für die IDs der Ergebnisse der Abfragen der vorherigen Ebenen. Daher ist es sehr wichtig, dass die Ebenen der Reihe nach durchlaufen werden.
 +
<br>
 +
Um z.B. einen Effekt auf diese Weise zu starten, könnte dies wie folgt aussehen: Ein Aufruf des Befehls '''GetCommandPossibilities 1''' liefert die folgende Tabelle, wobei es hier keine zweite Ziffer gibt, da wir uns auf der höchsten Ebene (Ebene 1) befinden.
 +
Installierte Plugins reihen sich in die Liste ein, wenn vorhanden.
  
 +
#Deaktiviert
 +
#Audio
 +
#Audiotrack
 +
#BeatTool
 +
#DMX-Ausgabe
 +
#DMXIn-Remote
 +
#Effekte
 +
#External Action (Plugin)
 +
#Geräte
 +
#Gruppenauswahl
 +
#Joystick
 +
#KommandoBox
 +
#Kommandozeile
 +
#Master
 +
#MIDI-Remote
 +
#OSC-Receiver (PLugin)
 +
#Sound Analyzer
 +
#Submaster
 +
#Szenenbibliothek
 +
#Szenenliste
 +
#Textbuch
  
== Links und Referenzen==   
+
Nun fragen wir die Optionen für die '''ID 7 Effekte''' für die Ebene '''2''' ab: '''GetCommandPossibilities 2 7''' liefert uns die ID, der Optionen, auf die zugegriffen werden kann. Auswahl und Sprünge der Effekte wäre in diesem Fall über die IDs 1-4 möglich. Die selbst programmieten Effekte haben die IDs ab 6:
 +
 
 +
#Alle
 +
#Ausgewählter
 +
#Nächster
 +
#Vorheriger
 +
#----
 +
#[EFFEKT 1]
 +
#[EFFEKT 2]
 +
#[EFFEKT 3]
 +
#...
  
*früherer Wiki-Artikel:   
+
Der nun folgende Aufruf für die 3. Ebene '''GetCommandPossibilities 3 6''' zeigt in unserem Beispiel ''[Effekt 1]'' die für diesen Effekt möglichen Funktionen. DMXControl gibt folgende Liste zurück:
http://www.dmxcontrol.de/wiki/PDA-2-DMXC
 
   
 
  
 +
#Auswählen
 +
#Start/Stop
 +
#Start
 +
#Stop
 +
#Beschl. setzen
 +
#Intens. setzen
 +
#Nächster Schritt
 +
#Wiederh. ein/aus
  
 +
Mit '''RunCommand 7 6 3''' lässt sich der Effekt 1 starten oder mit '''RunCommand 7 6 4''' stoppen. Für den Effekt 3 wären das die Aufrufe '''RunCommand 7 8 3''' und '''RunCommand 7 8 4'''. Wenn noch Werte mit übertragen werden müssen, werden diese hinten angehängt: '''RunCommand 7 6 3 0 0.000'''. Andere Aufrufe funktionieren nach dem selben Prinzip.
  
{{Navigation Pfeile
+
{{ BoxHinweis
|zurück = [[Figureneditor|Figureneditor]]
+
| Text=Evtl. hilft es beim Verständnis sich die Programmierung der Kommandobox anzusehen. Die Spalten bei der Buttonprogrammierung {{Manual_Fields|Modul}}, {{Manual_Fields|Gerät/Funktion}}, {{Manual_Fields|Kanal}}, {{Manual_Fields|Flags}} und {{Manual_Fields|Wert}} entsprechen den Ebenen, IDs und Werten des '''RunCommand'''-Befehls.
|hoch = [[Handbuch DMXControl 2|Inhaltsverzeichnis]]
 
|vor = [[Tastatursteuerung|Tastatursteuerung]]
 
 
}}
 
}}
[[de:KapitelM2 3]]
 
[[en:ChapterM2 3]]
 
  
 +
== Links und Referenzen==   
 +
Links
 +
#PDA-Fernbedienung Software: http://www.dmxcontrol.de/files/pda-2-dmxc/PDA-2-DMXC_1.0_Setup.exe
  
[[Kategorie: DMXControl 2]]
+
Tutorials
 +
#[[PDA-2-DMXC|PDA-2-DMXC Tutorial]]
 +
{{End-LaTeX}}
 +
{{NavigationTop-Man2
 +
|zurückLink = Figureneditor_DMXC2
 +
|zurückText = Figureneditor
 +
|vorLink = Tastatursteuerung_DMXC2
 +
|vorText = Tastatursteuerung
 +
}}
  
= PDA-2-DMXC --- Die PDA Steuerung für DMXControl und das MediaCenter von Digital-Enlightenment =   
+
[[en:PDA_remote_control_DMXC2]]
'''Dieser Artikel dient als Bedienungsanleitung für das Programm PDA-2-DMXC, welches die Steuerung von DMXControl und des MediaCenter über einen PDA ermöglicht. PDA-2-DMXC ist wie DMXControl Freeware. Der Download ist auf der DMXControl Homepage möglich.'''
+
[[Kategorie:Handbuch DMXControl 2]]
== Vorwort ==   
 
PDA-2-DMXC ist eine kleine Anwendung, mit welcher es möglich ist die Basisfunktionen von DMXControl über einen PDA zu steuern. PDA-2-DMXC kommuniziert mit DMXControl über die [[Terminal Schnittstelle]].     
 
== PDA-2-DMXC entpacken und starten ==   
 
Für den Betrieb von PDA-2-DMXC ist das .Net Compact Framework ab Version 1.0 erforderlich. Das .Net Compact Framework ist auf allen PDAs mit Windows Mobile ab Version 2000 lauffähig. Sie können dieses auf der Microsoft Homepage herunterladen. Installiert wird es über ActiveSynch.     
 
Anschließend alle Dateien und Ordner aus dem Archiv von PDA-2-DMXC in ein Verzeichniss ihrer Wahl entpacken. Danach müssen Sie alle Dateien und Unterordner auf den PDA kopieren. Wie Sie das anstellen, ist von PDA zu PDA unterschiedlich. Sie können die Dateien mit ActiveSynch oder über WLAN übertragen. Alternativ kann das Programm auch auf eine Speicherkarte kopiert werden, welche Sie im PDA verwenden können. Legen Sie alle Dateien auf dem PDA in einem Verzeichniss ihrer Wahl ab. Alternativ kann auch das Setup Programm verwendet werden. Das Programm wird dann automatisch durch ActiveSynch installiert, wenn sich der PDA das nächste mal synchronisiert     
 
Starten Sie das Programm "PDA-2-DMXC.exe".     
 
Die Oberfläche von PDA-2-DMXC besteht aus mehreren Tab Seiten, wobei jede Seite für eine Funktion steht. Im folgenden sind die einzelnen Funktionen sowie deren Bedienung erläutert.     
 
== Login auf den DMXControl / MediaCenter Server ==   
 
Auf der Loginseite müssen Sie einstellen, wie Sie auf DMXControl zugreifen wollen. '''In Version 1.0 von PDA-2-DMXC stehen eine TCP/IP Verbindung und eine Serielle Verbindung (z.B. über Bluetooth) zur verfügung.''' Benutzer deren PDA über WLAN verfügt, können PDA-2-DMXC direkt verwenden. Sollte ihr PDA kein WLAN besitzen, sondern nur mit Bluetooth ausgestattet sein, können sie über Bluetooth ein Netzwerk (PAN) aufbauen oder die Serielle Verbindung nutzen. Wie das funktioniert ist von PDA zu PDA unterschiedlich. Entsprechende Informationen finden finden sich im Internet, oder in der Bedienungsanleitung des PDA.     
 
Es besteht die Möglichkeit unter Einstellungen PDA-2-DMXC so zu konfigurieren, dass es gleichzeitig als Fernsteuerung für das MediaCenter von Digital-Enlightenment (
 
www.digital-enlightenment.de
 
) verwendet werden kann. In diesem fall können Sie auf der Login Seite in einer zweiten Textbox die IP Adresse des Rechners eintragen, auf welchem das MediaCenter läuft. Sollten MediaCenter und DMXControl auf dem gleichen Rechner laufen, können Sie durch setzen des Hackens die IP Adresse kopieren. '''Über die Serielle Verbindung ist keine MediaCenter Steuerung möglich.'''     
 
Geben Sie in der Textbox für den Server die IP Adresse des Rechners ein, auf dem DMXControl läuft. Klicken Sie anschließend auf "Verbinden". Sollte auf dem DMXControl Rechner eine Firewall laufen, müssen Sie den Port 2145 freigeben. Wie das geht entnehmen Sie der Bedienungsanleitung ihrer Firewall. Für das MediaCenter muss der Port 12679 freigegeben sein.     
 
<br>
 
[[Image:PDA2DMXC de LoginTCP.jpg]] [[Image:PDA2DMXC de LoginTCP MC.jpg]]     
 
<br>Die Kommunikation zu DMXControl basiert auf der Terminal Schnittstelle. Weitere Informationen dazu finden Sie hier: [[Terminal Schnittstelle]]     
 
== Geräte Steuern ==   
 
Über die Seite "Geräte" können alle Geräte welche in der grafischen Ansicht von DMXControl enthalten sind gesteuert werden. PDA-2-DMXC empfängt dabei die Liste der Geräte von DMXControl. Bei Änderungen in DMXControl wird die Liste automatisch aktualisiert. Über eine Dropdown Box kann das Gerät ausgewählt werden. Die grafische Steueroberfläche wird automatisch generiert. Dabei wird nicht das DDF von DMXControl übertragen, sondern es wird für die PAN / TILT Kanäle das Positions Steuerelement angezeigt, und für alle anderen Kanäle ein Schieberegler. Wenn das Gerät entsprechend viele Kanäle hat, werden diese auf mehrere Tab Seiten verteilt.     
 
[[Image:PDA2DMXC de Devices.jpg]]     
 
== Befehle ausführen ==   
 
Über die Seite "Befehle" können alle Befehle für DMXControl ausgeführt werden. Dabei kann der Befehl wie in DMXControl zusammengesetzt werden. Mit dem Button "Senden" wird der Befehl abgeschickt.     
 
[[Image:PDA2DMXC de Commands.jpg]]     
 
== Kanalübersicht ==   
 
Die Kanalübersicht ist der von DMXControl nachempfunden. Die einzelnen Kanalwerte werden angezeigt. Über den Schieberegler kann der gewählte Kanal gesteuert werden.     
 
[[Image:PDA2DMXC de Channels.jpg]]     
 
== Tools ==   
 
Auf der Tools Seite stehen nützliche Funktionen bereit, die Sie bei der Arbeit mit DMXControl und ihren DMX Geräten unterstützen sollen. In Version 1.0 ist auf der Seite ein Dip Schalterblock dargestellt. Über die Textbox kann eine Zahl eingetragen werden. Das Programm rechnet diesen in binäre Dip-Schalter Stellungen um. Anderstherum kann auch der Dip-Schalter bedient werden, um auszulesen, welche Adresse eingestellt ist.     
 
[[Image:PDA2DMXC de Tools.jpg]]     
 
== MediaCenter (Optional falls aktiviert) ==   
 
Über diese Seite kann das MediaCenter von Digital-Enlightenment gesteuert werden. Die Liste der Dateien wird vom MediaCenter gesendet. Sie kann am PDA nicht geändert werden. Über einen Doppelklick auf eine Datei wird diese im MediaCenter geladen. Die Knöpfe sowie Steuerelemente sind denen vom MediaCenter nachempfunden und haben die gleiche Funktion. Entnehmen Sie diese bitte der Dokumentation des MediaCenter.     
 
[[Image:PDA2DMXC de MC.jpg]]     
 
== Einstellungen ==   
 
Auf der Einstellungs Seite kann die Sprache eingestellt werden. Desweiteren ist das ein / ausschalten der MediaCenter Option möglich. Der Hacken für die erweiterten Optionen aktiviert eine zusätzliche Seite, welche Informationen über die Verbindung liefert. '''Alle Einstellungen werden erst nach einem Neustart des Programms übernommen.'''     
 
[[Image:PDA2DMXC de Settings.jpg]]    
 
== Bedienhinweise ==   
 
Einige Bedienhinweise:     
 
*Beenden Sie das Programm über den Menüpunkt "Datei" -&gt; "Programm beenden". Wenn Sie das Fenster durch klicken auf das X oben rechts in der Ecke schließen, wird das Programm '''NICHT''' beendet, sondern nur in den Hintergrund geschoben.
 
*Mit den Tasten links - rechts ihres PDAs können Sie durch die Tab Seiten scrollen.
 
*In der Kanalübersicht können Sie mit den Tasten hoch - runter ihres PDAs durch die Kanäle scrollen
 
== Geplante Erweiterungen ==   
 
In Version 1.1 von PDA-2-DMXC sind folgende Erweiterungen geplant:     
 
*Erweiterung der Gerätesteuerung um Dropdown Controls.
 
*Speichern von Szenen über den PDA.
 
*Übertragung der Kommandobox auf den PDA.
 
*Einbau der Kommandozeile.
 

Aktuelle Version vom 27. April 2015, 08:40 Uhr

Books.png PDA-Fernsteuerung DMXC2 Artikel beschreibt
DMXControl 2.12.2
Arrow back.png Figureneditor
Tastatursteuerung Arrow forw.png
Inhaltsverzeichnis

 

Überblick

Die PDA-Fernbedienung hat sich aus der Terminal-Schnittstelle von DMXControl über die Serielle Fernbedienung weiterentwickelt. Durch die PDA Fernbedienung lässt sich DMXControl mit PDAs und anderen seriellen Schnittstellen (Telnet, COM-Schnittstelle, Bluetooth oder über WLAN) steuern.


 Wichtiger Hinweis Das Fenster der PDA-Fernbedienung muss, wie bei allen anderen Fernbedienungen/Steuerungen in DMXControl, offen bleiben. Bei geschlossenen Fenster findet keine Kommunikation statt.


Beschreibung

Die Serielle Fernbedienung wurde in DMXControl implementiert, um den Zugriff über die serielle Schnittstelle oder über ein Netzwerk (z.B. Ethernet) auf das Programm zu ermöglichen. Im Netwerk erwartet DMXControl eine Verbindung auf Port 2145. Dieser Port kann im Fenster der PDA-Fernsteuerung geändert werden. Jedes Programm, das Zeichenketten (Strings) verschicken kann, ist damit in der Lage, DMXControl fernzusteuern. Die Serielle Fernbedienung wird unter anderem von der PDA-Steuerung PDA-2-DMXC und vom Web-Interface bzw. der PHP-Klasse sowie verschiedener anderer Steuerungen (bspw für Android) verwendet. Da das Protokoll der Schnittstelle offen ist, ist es für jeden möglich, über ein eigenes Programm auf DMXControl zuzugreifen.

Die Schnittstelle funktioniert bidirektional, d.h. es können Daten gesendet und angefragt werden. Eine Tabelle der möglichen Befehle ist weiter unten zu finden. Manche Befehle liefern nach dem Ausführen einen Wert als Bestätigung zurück, andere nicht.

Jeder Befehl der an DMXControl gesendet wird, muss mit einem Zeilenumbruch (in Java und C# "\n") abgeschlossen werden.

Schnittstelle

In der folgende Tabelle ist eine Liste der Befehle und Antworten von DMXControl aufgeführt. Entwickler, die ein externes Programm zur Steuerung von DMXControl schreiben möchten, können erste Erfahrungen am besten mit einem Terminalprogramm wie Telnet oder Putty machen. Am lokalen Arbeitsplatz geht das mit dem Befehl: telnet 127.0.0.1 2145. Dann erkennt man sofort, wie die Antworten aussehen. Alle Befehle werden von DMXControl unabhängig von Groß / Kleinschreibung interpretiert.


 Wichtiger Hinweis Anstelle von SetChannel kann also auch sEtChAnNeL geschrieben werden.


Die Abkürzung CV steht für ChannelValue und CVC für ChannelValueChanged


Anfrage an DMXC Antwort von DMXC Beschreibung Beispiel
SetChannel Channel Wert CV Channel Wert Setzt den Kanal Channel auf den Wert Wert. SetChannel 1 200 -> CV 1 200
SC Channel Wert CV Channel Wert Kurzschreibweise für SetChannel. SC 1 200 -> CV 1 200
GetChannel Channel CV Channel Wert Fragt den Wert des Kanals Channel an. GetChannel 1 -> CV 1 200
GC Channel CV Channel Wert Kurzschreibweise für GetChannel. GC 1 -> CV 1 200
GetAllDevices Liste der Geräte Fragt alle in DMXControl vorhandenen Geräte ab. GetAllDevices ->
1. PAR-1
2. PAR-2
...
10. Botex SP-1500 Stroboskop
GetDeviceInfo DeviceID Geräteinformationen Fragt genauere Informationen zum Gerät mit der Nummer DeviceID ab. Dabei existieren für PanTilt drei Möglichkeiten: No, Coarse, Fine. Bei Coarse oder Fine folgen die Kanäle von Pan Tilt, bei einem Scanner also: PanTilt: Coarse 0 1 bei einem 16 bit Scanner PanTilt: Fine 0 1 14 15. Die Reihenfolge ist dabei Pan Tilt PanFine TiltFine. Nach Channels: Anzahl wird eine Liste mit allen Namen der Kanäle angehängt, wie sie im DDF hinterlegt sind. GetDeviceInfo 10 ->
Name: Botex SP-1500 Stroboskop
StartAddress: 257
PanTilt: No
Channels: 2
Channel1: Frequenz
Channel2: Helligkeit
StartChannelNotification StartChannel EndChannel Keine Aktiviert die Asynchrone Information über Kanaländerungen. Wenn sich in DMXControl ein Kanal zwischen StartChannel und EndChannel ändert, sendet DMXControl eine Nachricht mit dem neuen Wert. Ein weiteres senden von StartChannelNotification überschreibt den alten Bereich. StartChannelNotification 1 10. Nach Wertänderung von Kanal 5 auf 255: -> CVC 5 255
StopChannelNotification Keine Deaktiviert die Benachrichtigung über Kanaländerungen. StopChannelNotification
GetCommandPossibilities Dropdown-Index Vorgänger-Index Liste der Möglichkeiten Ein Befehl setzt sich aus einzelnen Teilen zusammen. Modul, Gerät/Funktion, Kanal, .... Da die folgende Auswahl auf der vorhergehenden basiert, muss der Reihe nach von vorne abgefragt werden. Mit GetCommandPossibilities 1 erhält man eine Liste der Modulmöglichkeiten. Jede Möglichkeit hat eine ID. Mit GetCommandPossibilities 2 3 erhält man die Auswahl für Gerät/Funktion, auf Basis von Modul 3. GetCommandPossibilities 1 ->
1. Deaktiviert
2. Audio
3. Audiotrack
...
RunCommand Index1 Index2 Index3 Flags Value Keine Mit diesem Command führt man den Befehl aus. Index1, Index2 und Index3 sind dabei die Indizes von GetCommandPossibilities.

Flags ist ein binär codierter Integer. Bit 0 steht für Umschalt-Modus und Bit 1 für Angegebenen Wert verwenden. Value ist ein DMX-Wert in Prozent von 0.000 bis 100.000 (für zukünftige 16Bit Werte).

RunCommand 2 5 3 0 0.000


GetCommandPossibilities und RunCommand

Um einen spezifischen Befehl mit RunCommand auszuführen, muss man wissen, welche ID der Befehl besitzt. Diese ID kann man mit dem Aufruf GetCommandPossibilities sehr einfach herausfinden. Man arbeitet sich dabei Schritt für Schritt von der obersten Ebene (1) bis zur benötigten Ebene (z.B. 3) herab. Die erste Ziffer hinter dem Aufruf stellt die Ebene dar, auf der man sich gerade befindet. Die folgenden Ziffern stehen für die IDs der Ergebnisse der Abfragen der vorherigen Ebenen. Daher ist es sehr wichtig, dass die Ebenen der Reihe nach durchlaufen werden.
Um z.B. einen Effekt auf diese Weise zu starten, könnte dies wie folgt aussehen: Ein Aufruf des Befehls GetCommandPossibilities 1 liefert die folgende Tabelle, wobei es hier keine zweite Ziffer gibt, da wir uns auf der höchsten Ebene (Ebene 1) befinden. Installierte Plugins reihen sich in die Liste ein, wenn vorhanden.

  1. Deaktiviert
  2. Audio
  3. Audiotrack
  4. BeatTool
  5. DMX-Ausgabe
  6. DMXIn-Remote
  7. Effekte
  8. External Action (Plugin)
  9. Geräte
  10. Gruppenauswahl
  11. Joystick
  12. KommandoBox
  13. Kommandozeile
  14. Master
  15. MIDI-Remote
  16. OSC-Receiver (PLugin)
  17. Sound Analyzer
  18. Submaster
  19. Szenenbibliothek
  20. Szenenliste
  21. Textbuch

Nun fragen wir die Optionen für die ID 7 Effekte für die Ebene 2 ab: GetCommandPossibilities 2 7 liefert uns die ID, der Optionen, auf die zugegriffen werden kann. Auswahl und Sprünge der Effekte wäre in diesem Fall über die IDs 1-4 möglich. Die selbst programmieten Effekte haben die IDs ab 6:

  1. Alle
  2. Ausgewählter
  3. Nächster
  4. Vorheriger
  5. ----
  6. [EFFEKT 1]
  7. [EFFEKT 2]
  8. [EFFEKT 3]
  9. ...

Der nun folgende Aufruf für die 3. Ebene GetCommandPossibilities 3 6 zeigt in unserem Beispiel [Effekt 1] die für diesen Effekt möglichen Funktionen. DMXControl gibt folgende Liste zurück:

  1. Auswählen
  2. Start/Stop
  3. Start
  4. Stop
  5. Beschl. setzen
  6. Intens. setzen
  7. Nächster Schritt
  8. Wiederh. ein/aus

Mit RunCommand 7 6 3 lässt sich der Effekt 1 starten oder mit RunCommand 7 6 4 stoppen. Für den Effekt 3 wären das die Aufrufe RunCommand 7 8 3 und RunCommand 7 8 4. Wenn noch Werte mit übertragen werden müssen, werden diese hinten angehängt: RunCommand 7 6 3 0 0.000. Andere Aufrufe funktionieren nach dem selben Prinzip.


 Wichtiger Hinweis Evtl. hilft es beim Verständnis sich die Programmierung der Kommandobox anzusehen. Die Spalten bei der Buttonprogrammierung "Modul", "Gerät/Funktion", "Kanal", "Flags" und "Wert" entsprechen den Ebenen, IDs und Werten des RunCommand-Befehls.


Links und Referenzen

Links

  1. PDA-Fernbedienung Software: http://www.dmxcontrol.de/files/pda-2-dmxc/PDA-2-DMXC_1.0_Setup.exe

Tutorials

  1. PDA-2-DMXC Tutorial

 

Arrow back.png Figureneditor
Tastatursteuerung Arrow forw.png
Inhaltsverzeichnis