PDA remote control DMXC2: Difference between revisions

From English DMXC-Wiki
No edit summary
No edit summary
Line 1: Line 1:
{{Chaptertitle_DMXC}}<br>
{{Chaptertitle_DMXC}}<br>
{{Inuse}}<br>
{{Inuse}}<br>
{{Hint|25.10.2013: UPrenner: create the article page<!--<br>01.11.2013 UPrenner: work-in-progress<br>-->
{{Hint|25.10.2013: UPrenner: create the article page01.11.2013 UPrenner: work-in-progress<br>
<!--01.11.2013: UPrenner article ready, just update of pictures<br>'''If you are a native speaker, please Help us and review this-->
<!--01.11.2013: UPrenner article ready, just update of pictures<br>'''If you are a native speaker, please Help us and review this-->
}}<br>
}}<br>
Line 12: Line 12:
{{Start-LaTeX}}
{{Start-LaTeX}}
==Overview==
==Overview==
Die PDA-Fernbedienung hat sich aus der Terminal-Schnittstelle von DMXControl über die Serielle-Fernbedienung weiterentwickelt. Durch die &laquo; PDA Fernbedienung &raquo; lässt sich DMXControl mit PDA und anderen seriellen Schnittstellen (Telnet, COM-Schnittstelle, Bluetooth oder über WLAN) steuern.
The PDA remote control has developed from the terminal interface of DMXControl over the serial remote control. By the &laquo; PDA remote control &raquo; DMXControl can ( telnet, COM interface, Bluetooth or about WLAN ) head with PDA and other serial interfaces.


{{ BoxImportant| Text=Das Fenster der PDA-Fernbedienung muss, wie bei allen anderen Fernbedienungen/Steuerungen in DMXControl, offen bleiben. Bei geschlossenen Fenster findet keine Kommunikation statt.}}
{{ BoxImportant| Text=The window of the PDA remote control must remain open as in the case of all other remote controls/controls in DMXControl. No communication takes place at closed window.}}


==Description==
==Description==
Die &laquo; Serielle Fernbedienung &raquo; wurde in DMXControl implementiert, um den Zugriff über serielle Schnittstelle oder Netzwerk (Ethernet) auf das Programm zu ermöglichen. Im Netwerk erwartet DMXControl eine Verbindung auf Port 2145. Dieser Port kann im Fenster der &laquo; PDA-Fernsteuerung &raquo; geändert werden. Jedes Programm, das Zeichenketten (Strings) verschicken kann, ist damit in der Lage, DMXControl fernzusteuern.
This one &laquo; Serial remote control &raquo; did you implement in DMXControl to make the access about a serial interface or network (Ethernet) to the program possible. DMXControl expects a connection in the Netwerk on port 2145. This one can this port in the window &laquo; PDA remote control &raquo; being changed. Any program which can send character strings (strings) out is able to radioguide DMXControl with that.
Die &laquo; Serielle Fernbedienung &raquo; 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.
This one &laquo; Serial remote control &raquo; among other things android is (e.g. ) uses of the PDA control [[PDA_2_DMXC]] and of the web interface or the PHP class as well as different other controls.  
Da das Protokoll der Schnittstelle offen ist, ist es für jeden möglich, über ein eigenes Programm auf DMXControl zuzugreifen.
Since the protocol of the interface is open, it is possible for everybody to access DMXControl about a program of one's own.


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.  
The interface works bidirectionally, i. e. data can be sent and made an enquiry about. A table of the possible orders can be found below. Some orders don't return a value other after executing as a confirmation.  


Jeder Befehl der an DMXControl gesendet wird, muss mit einem Zeilenumbruch (in Java und C# "\n") abgeschlossen werden.
To DMXControl every order is sent to it, n must with a line break (in Java and C # "") be completed.


==Port==
==Port==
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.  
A list of the commands and answers are listed by DMXControl into table following this one. Developers who would like to write an external program for DMXControl's control can make first experiences the best with a terminal program like telnet or Putty. This goes with the order at local work: '''telnet 127. 0. 0. 1 2145'''. One then immediately recognizes what the answers look. All commands are interpreted by great/use of small initial letters independently of DMXControl.  


{{ BoxHint
{{ BoxHint
| Text=Anstelle von '''SetChannel''' kann also auch '''sEtChAnNeL''' geschrieben werden.
| Text=Instead of '''SetChannel''', so '''sEtChAnNeL''' also can be written to.
}}
}}


Die Abkürzung '''CV''' steht für '''ChannelValue''' und '''CVC''' für '''ChannelValueChanged'''
The abbreviation '''CV''' stands '''for ChannelValueChanged''' for '''ChannelValue''' and '''CVC'''




{|cellpadding="5" cellspacing="0" border="1"
{|cellpadding="5" cellspacing="0" border="1"
  |'''Anfrage an DMXC'''
  |'''Enquiry to DMXC'''
  |'''Antwort von DMXC'''
  |'''Answer from DMXC'''
  |'''Beschreibung'''
  |'''Description'''
  |'''Beispiel'''
  |'''Example'''
  |- style="vertical-align:top;"
  |- style="vertical-align:top;"
  |SetChannel ''Channel Wert''
  |SetChannel ''Channel value''
  |CV ''Channel Wert''
  |CV ''Channel value''
  |Setzt den Kanal '''''Channel''''' auf den Wert '''''Wert'''''.
  |Set the  '''''Channel''''' on the '''''Wert'''''.
  |'''SetChannel 1 200''' -> '''CV 1 200'''
  |'''SetChannel 1 200''' -> '''CV 1 200'''
  |- style="vertical-align:top;"
  |- style="vertical-align:top;"
  |SC ''Channel Wert''
  |SC ''Channel Wert''
  |CV ''Channel Wert''
  |CV ''Channel Wert''
  |Kurzschreibweise für SetChannel.
  |Short notation for SetChannel.
  |'''SC 1 200''' -> '''CV 1 200'''
  |'''SC 1 200''' -> '''CV 1 200'''
  |- style="vertical-align:top;"
  |- style="vertical-align:top;"
  |GetChannel ''Channel''
  |GetChannel ''Channel''
  |CV ''Channel Wert''
  |CV ''Channel value''
  |Fragt den Wert des Kanals '''''Channel''''' an.
  |Ask the value of the channel '''''Channel'''''.
  |'''GetChannel 1''' -> '''CV 1 200'''
  |'''GetChannel 1''' -> '''CV 1 200'''
  |- style="vertical-align:top;"
  |- style="vertical-align:top;"
  |GC ''Channel''
  |GC ''Channel''
  |CV ''Channel Wert''
  |CV ''Channel value''
  |Kurzschreibweise für GetChannel.
  |Short notation for GetChannel.
  |'''GC 1''' -> '''CV 1 200'''
  |'''GC 1''' -> '''CV 1 200'''
  |- style="vertical-align:top;"
  |- style="vertical-align:top;"
  |GetAllDevices
  |GetAllDevices
  |''Liste der Geräte''
  |''List of Devices''
  |Fragt alle in DMXControl vorhandenen Geräte ab.
  |Question on all devices available in DMXControl.
  |'''GetAllDevices''' ->  
  |'''GetAllDevices''' ->  
  '''1. PAR-1'''
  '''1. PAR-1'''
Line 71: Line 71:
  |- style="vertical-align:top;"
  |- style="vertical-align:top;"
  |GetDeviceInfo ''DeviceID''
  |GetDeviceInfo ''DeviceID''
  |''Geräteinformationen''
  |''Device information''
  |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.
  |Asks for more exact information about the device with the number '''''DeviceID'''''. Three possibilities exist for PanTilt: '''No, Coarse, Fine'''. With Coarse or Fine, so the channels follow of Pan Tilt, at a scanner: '''''PanTilt: Coarse 0 1''''' on a 16 bit Scanner '''''PanTilt: Fine 0 1 14 15'''''. The order is there '''Pan Tilt PanFine TiltFine'''. After '''''Channels: quantity''''' is a list appended with all names of the channels as they are deposited in the DDF.
  |'''GetDeviceInfo 10''' ->  
  |'''GetDeviceInfo 10''' ->  
  '''Name: Botex SP-1500 Stroboskop'''
  '''Name: Botex SP-1500 Stroboskop'''
Line 78: Line 78:
  '''PanTilt: No'''
  '''PanTilt: No'''
  '''Channels: 2'''
  '''Channels: 2'''
  '''Channel1: Frequenz'''
  '''Channel1: frequenz'''
  '''Channel2: Helligkeit'''
  '''Channel2: intensity'''
  |- style="vertical-align:top;"
  |- style="vertical-align:top;"
  |StartChannelNotification ''StartChannel EndChannel''
  |StartChannelNotification ''StartChannel EndChannel''
  |Keine
  |None
  |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.
  |The asynchronous information about channel changes activates. In DMXControl if himself a channel '''''StartChannel''''' and '''''EndChannel''''' change, DMXControl sends a message with the new value. Of StartChannelNotification overwrites the old area send a further.
  |'''StartChannelNotification 1 10'''. Nach Wertänderung von Kanal 5 auf 255: -> '''CVC 5 255'''
  |'''StartChannelNotification 1 10'''. After value change of channel 5 on 255: -> '''CVC 5 255'''
  |- style="vertical-align:top;"
  |- style="vertical-align:top;"
  |StopChannelNotification
  |StopChannelNotification
  |Keine
  |None
  |Deaktiviert die Benachrichtigung über Kanaländerungen.
  |The notification deactivates about channel changes.
  |'''StopChannelNotification'''
  |'''StopChannelNotification'''
  |- style="vertical-align:top;"
  |- style="vertical-align:top;"
  |GetCommandPossibilities ''Dropdown-Index Vorgänger-Index''
  |GetCommandPossibilities ''Dropdown Index, Predecessor index''
  |''Liste der Möglichkeiten''
  |''List of the possibilities''
  |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.
  |An command consists of single parts. ''Module'', ''Device/Function'', ''Channel'', ''...''. Since the following choice is based on the previous one, must the row after be questioned from the front. With ''GetCommandPossibilities 1'' one receives a list of the module possibilities. Every possibility has one ID. With ''GetCommandPossibilities 2 3'' one receives the choice for Device/Function, based on module 3.
  |'''GetCommandPossibilities 1''' ->
  |'''GetCommandPossibilities 1''' ->
  '''1. Deaktiviert'''
  '''1. Deaktivate'''
  '''2. Audio'''
  '''2. Audio'''
  '''3. Audiotrack'''
  '''3. Audiotrack'''
Line 101: Line 101:
  |- style="vertical-align:top;"
  |- style="vertical-align:top;"
  |RunCommand ''Index1 Index2 Index3 Flags Value''
  |RunCommand ''Index1 Index2 Index3 Flags Value''
  |Keine
  |None
  |Mit diesem Command führt man den Befehl aus. '''''Index1, Index2''''' und '''''Index3''''' sind dabei die Indizes von GetCommandPossibilities.
  |With this command one executes the command. '''''Index1, Index2''''' and '''''Index3''''' the indices are there of 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''''' is one binarily more codedly uprightly. Bit 0 stands for ''using indicated value'' for ''Toggle mode'' and bits 1.
'''''Value''''' a DMX value is in per cent of 0,000 to 100,000 (for future 16 bits of values).
  |'''RunCommand 2 5 3 0 0.000'''
  |'''RunCommand 2 5 3 0 0.000'''
  |}
  |}

Revision as of 20:31, 1 November 2013

Template:Chaptertitle DMXC

VLC icon.png This section is actively undergoing a major edit for a while. To help avoid edit conflicts, please do not edit this section while this message is displayed or contact the editor (Steiny) of this page.


Hint:
25.10.2013: UPrenner: create the article page01.11.2013 UPrenner: work-in-progress


Arrow back.png Shape editor
Keyboard control Arrow forw.png
Contents

 

Overview

The PDA remote control has developed from the terminal interface of DMXControl over the serial remote control. By the « PDA remote control » DMXControl can ( telnet, COM interface, Bluetooth or about WLAN ) head with PDA and other serial interfaces.


  Important hint The window of the PDA remote control must remain open as in the case of all other remote controls/controls in DMXControl. No communication takes place at closed window.


Description

This one « Serial remote control » did you implement in DMXControl to make the access about a serial interface or network (Ethernet) to the program possible. DMXControl expects a connection in the Netwerk on port 2145. This one can this port in the window « PDA remote control » being changed. Any program which can send character strings (strings) out is able to radioguide DMXControl with that. This one « Serial remote control » among other things android is (e.g. ) uses of the PDA control PDA_2_DMXC and of the web interface or the PHP class as well as different other controls. Since the protocol of the interface is open, it is possible for everybody to access DMXControl about a program of one's own.

The interface works bidirectionally, i. e. data can be sent and made an enquiry about. A table of the possible orders can be found below. Some orders don't return a value other after executing as a confirmation.

To DMXControl every order is sent to it, n must with a line break (in Java and C # "") be completed.

Port

A list of the commands and answers are listed by DMXControl into table following this one. Developers who would like to write an external program for DMXControl's control can make first experiences the best with a terminal program like telnet or Putty. This goes with the order at local work: telnet 127. 0. 0. 1 2145. One then immediately recognizes what the answers look. All commands are interpreted by great/use of small initial letters independently of DMXControl.


 Important Hint Instead of SetChannel, so sEtChAnNeL also can be written to.


The abbreviation CV stands for ChannelValueChanged for ChannelValue and CVC


Enquiry to DMXC Answer from DMXC Description Example
SetChannel Channel value CV Channel value Set the Channel on the Wert. SetChannel 1 200 -> CV 1 200
SC Channel Wert CV Channel Wert Short notation for SetChannel. SC 1 200 -> CV 1 200
GetChannel Channel CV Channel value Ask the value of the channel Channel. GetChannel 1 -> CV 1 200
GC Channel CV Channel value Short notation for GetChannel. GC 1 -> CV 1 200
GetAllDevices List of Devices Question on all devices available in DMXControl. GetAllDevices ->
1. PAR-1
2. PAR-2
...
10. Botex SP-1500 Stroboskop
GetDeviceInfo DeviceID Device information Asks for more exact information about the device with the number DeviceID. Three possibilities exist for PanTilt: No, Coarse, Fine. With Coarse or Fine, so the channels follow of Pan Tilt, at a scanner: PanTilt: Coarse 0 1 on a 16 bit Scanner PanTilt: Fine 0 1 14 15. The order is there Pan Tilt PanFine TiltFine. After Channels: quantity is a list appended with all names of the channels as they are deposited in the DDF. GetDeviceInfo 10 ->
Name: Botex SP-1500 Stroboskop
StartAddress: 257
PanTilt: No
Channels: 2
Channel1: frequenz
Channel2: intensity
StartChannelNotification StartChannel EndChannel None The asynchronous information about channel changes activates. In DMXControl if himself a channel StartChannel and EndChannel change, DMXControl sends a message with the new value. Of StartChannelNotification overwrites the old area send a further. StartChannelNotification 1 10. After value change of channel 5 on 255: -> CVC 5 255
StopChannelNotification None The notification deactivates about channel changes. StopChannelNotification
GetCommandPossibilities Dropdown Index, Predecessor index List of the possibilities An command consists of single parts. Module, Device/Function, Channel, .... Since the following choice is based on the previous one, must the row after be questioned from the front. With GetCommandPossibilities 1 one receives a list of the module possibilities. Every possibility has one ID. With GetCommandPossibilities 2 3 one receives the choice for Device/Function, based on module 3. GetCommandPossibilities 1 ->
1. Deaktivate
2. Audio
3. Audiotrack
...
RunCommand Index1 Index2 Index3 Flags Value None With this command one executes the command. Index1, Index2 and Index3 the indices are there of GetCommandPossibilities.

Flags is one binarily more codedly uprightly. Bit 0 stands for using indicated value for Toggle mode and bits 1. Value a DMX value is in per cent of 0,000 to 100,000 (for future 16 bits of values).

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. Deaktivate
 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.


 Important Hint 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 Shape editor
Keyboard control Arrow forw.png
Contents