Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

A python module to control one DMX Universe with a USB to RS-485 adapter.

License

NotificationsYou must be signed in to change notification settings

monzelr/dmx

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

This python module supports actual the following USB-DMX interfaces (FT232R chip based):

  • EUROLITE USB-DMX512 PRO Cable Interface(Link)
  • EUROLITE USB-DMX512 PRO Interface MK2(Link)

Requirements

  • Python ≥ 3.6
  • numpy
  • pyserial

Note: Tested on Windows 10, amd64, Python 3.8
Should also work on Linux, MacOS and on AARCH64 devices (ARM devices like Raspberry PI).

Installation

Make sure to have git, python and pip in your environment path or activate your python environment.
To install enter in cmd/shell:

git clone https://github.com/monzelr/dmx.gitcd dmxpip install .

Alternative with python:

python setup.py install

Example Code Snippets

If you want to dim 4 channels up and down:

from dmx import DMXimport timedmx = DMX(num_of_channels=4)dmx.set_data(1, 0)dmx.set_data(2, 0)dmx.set_data(3, 0)dmx.set_data(4, 0)while True:    for i in range(0, 255, 5):        dmx.set_data(1, i, auto_send=False)        dmx.set_data(2, i, auto_send=False)        dmx.set_data(3, i, auto_send=False)        dmx.set_data(4, i)        time.sleep(0.01)    for i in range(255, 0, -5):        dmx.set_data(1, i, auto_send=False)        dmx.set_data(2, i, auto_send=False)        dmx.set_data(3, i, auto_send=False)        dmx.set_data(4, i)        time.sleep(0.01)

If you want to add your own adapter or multiple adapter by serial number:

from dmx import DMXdmx = DMX()my_device_serial_number = dmx.use_device.serial_numberdel dmxmy_device_sn = dmx.use_device.serial_numberdel dmxdmx2 = DMX(serial_number=my_device_sn)dmx2.set_data(1, 100)dmx2.send()time.sleep(1)del dmx2

Technical notes

to EUROLITE USB-DMX512 PRO Cable Interface / EUROLITE USB-DMX512 PRO Interface MK2 :

  • uses chip FTDI232R (like EUROLITE USB-DMX512 PRO Interface MK2)

  • the FTDI FT232R updates the DMX automatically - you do no need to refresh the DMX universe by yourself

  • if you only have 4 channels, set them at the DMX address start (1 to 4), thus sending updates to the FT232R chip is faster

  • 250000 baudrate for the FT232R is a must

  • needs 5 start bytes: [0x7E, 0x06, 0x01, 0x02, 0x00]

    • byte 1: signal start byte 0x7E
    • byte 2: TX DMX packet: 0x06
    • byte 3 & 4: LSB of DMX length (in this case 513 -> do not forget address 0): 0x01 and 0x02
    • byte 5: address 0 of DMX signal: 0x00
  • supports only label 6: TX DMX Packet

  • needs one end byte [0xE7]

Building the documentation

Go into the dmx root folder (where setup.py is) and type in the following command in the cmd/shell:

python setup.py build_sphinx

The documentation can than be found in dmx/build/sphinx/html.

About

A python module to control one DMX Universe with a USB to RS-485 adapter.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages


[8]ページ先頭

©2009-2025 Movatter.jp