enttec dmx usb pro的python控制
DMXEnttecPro的Python项目详细描述
dmxenttecpro
用python3控制enttec dmx usb pro
安装
此包仅依赖于pyserial
。您可以在上安装最新版本
PYPI:
pip install DMXEnttecPro
或者通过获取repository from GitHub 做一些类似于:
git clone git@github.com:SavinaRoja/DMXEnttecPro.git
cd DMXEnttecPro
pip install .
开始
如果您还不知道dmx控制器的串行地址,可以执行 以下内容可供识别:
python -m DMXEnttecPro.utils
它将为您提供有关所有COM端口的详细信息,例如:
COM4
name: None
description: USB Serial Port (COM4)
hwid: USB VID:PID=0403:6001 SER=EN055555A
vid: 1027
pid: 24577
serial_number: EN055555A
location: None
manufacturer: FTDI
product: None
interface: None
一旦你知道你的串行地址,设置到enttec dmx的连接 USB Pro很简单:
from DMXEnttecPro import Controller
#dmx = Controller('COM4') # Typical of Windows
dmx = Controller('/dev/ttyUSB0') # Typical of Linux
然后您可以轻松地设置通道值(dmx通道是1索引的,并且
Controller
为您维护该约定。)使用:
dmx.set_channel(1, 255) # Sets DMX channel 1 to max 255
dmx.submit() # Sends the update to the controller
在某些环境中,您可能无法确定 COM端口,我建议使用唯一的识别标记,如序列号 或产品ID。在{{CD5>}:
中存在一些帮助器from DMXEnttecPro import Controller
from DMXEnttecPro.utils import get_port_by_serial_number, get_port_by_product_id
my_port = get_port_by_serial_number('EN055555A')
my_port = get_port_by_product_id(24577)
dmx = Controller(my_port)
附加功能
此软件包提供了三个主要的附加功能: 自动提交更改和可配置的大小。
自动提交
你可以提供auto_submit=True
来实例化Controller
来告诉它
要自动提交更改频道值的任何操作的更改:
dmx = Controller('/dev/ttyUSB0', auto_submit=True)
参数submit_after=<bool>
可以提供给任何更改操作
通道值,它将优先于配置的auto_submit
Controller
的值。
dmx大小配置
dmx宇宙的大小默认为512个通道。显然有
通过限制这种情况,可以在dmx中实现更精细的时间尺度。
dmx_size=<int>
可以提供给Controller
的实例化。
dmx = Controller('/dev/ttyUSB0', dmx_size=256) # use only 256 channels
致谢
dmxenttecpro是从我重新写pysimpledmx发展而来的 与Python3相容。
pyenttec是另一个好的包。
开发
到目前为止,我只使用了我个人熟悉的特性 想要的。请在使用时提交任何问题或功能请求 我很乐意评估他们的需求。