PDA-Fernsteuerung DMXC2: Unterschied zwischen den Versionen

Aus Deutsches DMXC-Wiki
Keine Bearbeitungszusammenfassung
KKeine Bearbeitungszusammenfassung
Zeile 20: Zeile 20:
==Beschreibung==
==Beschreibung==
Die "Serielle Fernbedienung" wurde in DMXControl implementiert, um den Zugriff über Ethernet auf das Programm zu ermöglichen. DMXControl erwartet die Verbindung auf Port 2145. Jedes Programm, welches Zeichenketten (Strings) verschicken kann ist damit in der lage DMXControl fernzusteuern.
Die "Serielle Fernbedienung" wurde in DMXControl implementiert, um den Zugriff über Ethernet auf das Programm zu ermöglichen. DMXControl erwartet die Verbindung auf Port 2145. Jedes Programm, welches 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.
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.
Die Schnittstelle ist öffentlich, deshalb ist es auch für jeden möglich über ein beliebiges Programm auf DMXControl zuzugreifen.
Die Schnittstelle ist öffentlich, deshalb ist es auch für jeden möglich über ein beliebiges Programm auf DMXControl zuzugreifen.


Die Schnittstelle funktioniert bidirektional, es können also 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.  
Die Schnittstelle funktioniert bidirektional, es können also 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.  
Jeder [[Befehl]] der an DMXControl gesendet wird, muss mit einem Zeilenumbruch (in Java und C# "\n") abgeschlossen werden.  


== Schnittstelle ==
== 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 Putty machen. Dann erkennt man sofort, wie die Antworten aussehen. Alle Befehle werden von DMXControl unabhängig von Groß / Kleinschreibung interpretiert. Anstelle von '''SetChannel''' kann also auch '''sEtChAnNeL''' geschrieben werden.
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 Putty machen. 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.
}}


Die Abkürzung '''CV''' steht für '''ChannelValue''' und '''CVC''' für '''ChannelValueChanged'''
Die Abkürzung '''CV''' steht für '''ChannelValue''' und '''CVC''' für '''ChannelValueChanged'''
Zeile 69: Zeile 73:
  |GetDeviceInfo ''DeviceID''
  |GetDeviceInfo ''DeviceID''
  |''Geräteinformationen''
  |''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.
  |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''' ->  
  |'''GetDeviceInfo 10''' ->  
  '''Name: Botex SP-1500 Stroboskop'''
  '''Name: Botex SP-1500 Stroboskop'''
Zeile 90: Zeile 94:
  |GetCommandPossibilities ''Dropdown-Index Vorgänger-Index''
  |GetCommandPossibilities ''Dropdown-Index Vorgänger-Index''
  |''Liste der Möglichkeiten''
  |''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 2'' erhält man die Auswahl für Gerät/Funktion, auf Basis von Modul 2.
  |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 2'' erhält man die Auswahl für Gerät/Funktion, auf Basis von Modul 2.
  |'''GetCommandPossibilities 1''' ->
  |'''GetCommandPossibilities 1''' ->
  '''1. Geräte'''
  '''1. Geräte'''
Zeile 98: Zeile 102:
  |RunCommand ''Index1 Index2 Index3 Flags Value''
  |RunCommand ''Index1 Index2 Index3 Flags Value''
  |Keine
  |Keine
  |Mit diesem Command führt man den Befehl aus. '''''Index1, Index2''''' und '''''Index3''''' sind dabei die Indizes von GetCommandPossibilities.
  |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).
'''''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'''
  |'''RunCommand 2 5 3 0 0.000'''

Version vom 28. Juli 2012, 13:11 Uhr

Books.png PDA-Fernsteuerung DMXC2

Vorlage:NavigationTop Man2

Hinweis:
{{{1}}}


Überblick

Die PDA-Fernbedienung hat sich aus der Terminal-Schnittstelle von DMXControl über die Serielle-Fernbedienung weiterentwickelt. Mit der "PDA Fernbedienung" läßt sich DMXControl per PDA, aber auch über jede andere serielle Kommunikation (z.B. über die Com-Schnittstelle, Bluetooth oder über WLAN) steuern.

 Wichtige Referenz Die Software für Ihr PDA finden Sie hier http://www.dmxcontrol.de/files/PDA-2-DMXC_1.0_Setup.exe.

und die Anleitung hier.


Beschreibung

Die "Serielle Fernbedienung" wurde in DMXControl implementiert, um den Zugriff über Ethernet auf das Programm zu ermöglichen. DMXControl erwartet die Verbindung auf Port 2145. Jedes Programm, welches 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. Die Schnittstelle ist öffentlich, deshalb ist es auch für jeden möglich über ein beliebiges Programm auf DMXControl zuzugreifen.

Die Schnittstelle funktioniert bidirektional, es können also 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 Putty machen. Dann erkennt man sofort, wie die Antworten aussehen. Alle Befehle werden von DMXControl unabhängig von Groß / Kleinschreibung interpretiert.

Vorlage:BoxHInweis

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 2 erhält man die Auswahl für Gerät/Funktion, auf Basis von Modul 2. GetCommandPossibilities 1 ->
1. Geräte
2. 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



Tipps

Links und Referenzen

  • früherer Wiki-Artikel:

http://www.dmxcontrol.de/wiki/PDA-2-DMXC



Vorlage:Navigation Pfeile