ich bin neu hier im Forum und hoffe einfach mal, dass sich jemand hier mit DMX und miniDMX auskennt

Es soll mit einem Python Programm über eine virtuelle serielle Schnittstelle das miniDMX Protokoll gesendet werden.
Das Protokoll wird auf der offiziellen Website (http://www.dzionsko.de/elektronic/minidmx/minidmx.htm) so definiert:
Wie man virtuelle COM-Ports erstellt und nutzt weiß ich inzwischen und nutze es auch für ein anderes Protokoll, mich würde aber interessieren, ob der folgende Code funktionieren könnte:Einfach folgenden Datenblock mit 115.200 Bits pro Sekunde, 8 Datenbits, ohne Parität, einem Stoppbit und ohne Software- oder Hardware-Flußkontrolle über die serielle Schnittstelle senden:
[...]
DMX-Out mit 512 Kanälen:
$5A - Blockstart
$A2 - Befehl: DMX-Out mit 512 Kanäle
512 Bytes für die Kanäle 1 bis 512
$A5 - Blockende
Antwort vom MiniDMX bei erfolgreicher Befehlsbearbeitung (wie bei v1.0/v1.1)
Nach max. 100ms sendet MiniDMX folgendes zurück:
$5A - Blockstart
$C1 - Befehl erfolgreich ausgeführt
$A5 - Blockende
Code: Alles auswählen
import serial, binascii
dmxdict = {}
for kanal in range(1,513):
dmxdict[kanal] = '0'
try:
serial = serial.Serial('/dev/ttyACM0', baudrate=115200)
print "Verbindung zu miniDMX Adapter hergestellt."
except serial.serialutil.SerialException:
print "Verbindung zu miniDMX Adapter gescheitert."
while True:
serial.write(binascii.a2b_hex('5A'))
serial.write(binascii.a2b_hex('A2'))
for kanal in range(1, 513):
serial.write(chr(dmxdict[kanal]))
serial.write(binascii.a2b_hex('A5'))
succes = serial.read(3)
if not succes == binascii.a2b_hex('5AC1A5'):
break
Ich habe nämlich noch kein miniDMX Gerät, möchte aber die Ausgabe schon jetzt in mein Programm mit einbauen, da es sonst für die meisten anderen unbrauchbar wäre...
Danke schon mal im Vorraus für eure Hilfe,
Tim