Skip to main content

Simple DMX driver using an RS485 adapter

Project description

DMX485

Requirements

This script requires pyserial.

pip install --user pyserial

Installation

Install from pip:

pip install --user dmx485

Install from source:

python setup.py install

Hardware Compatibility

This should work with any FTDI RS485 dongle or any of the similar knock-offs.

FTDI to RS485 cheap dongle:

https://fr.aliexpress.com/item/USB-to-TTL-RS485-Serial-Converter-Adapter-FTDI-Module-FT232RL-SN75176-double-function-double/32771847720.html?spm=a2g0w.search0104.3.15.63586239S7KSon&ws_ab_test=searchweb0_0,searchweb201602_2_10065_10068_319_10892_317_10696_453_10084_454_10083_10618_10304_10307_10820_10821_538_537_10302_536_10843_10059_10884_10887_100031_321_322_10103,searchweb201603_51,ppcSwitch_0&algo_expid=6957aa39-4868-4f8d-ac7f-b10f610a4a24-2&algo_pvid=6957aa39-4868-4f8d-ac7f-b10f610a4a24

Hardware Example

https://stevenbreuls.com/2013/05/diy-usb-dmx-dongle-interface-for-under-10/

Usage

First create an instance of dmx.DMX_Serial(), then start the background thread. Once that is running the dongle will begin sending a full DMX universe. To change the value of a channel use set_data(). This function takes a bytes() object with 512 bytes, each representing a single DMX channel. It will be sent on the next DMX refresh.

import time
import dmx

sender = dmx.DMX_Serial()
sender.start()
for i in range(200):
    if i % 2:
        sender.set_data(bytes((255,)*512))
    else:
        sender.set_data(bytes((0,)*512))
    time.sleep(1)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dmx485-1.2.tar.gz (2.5 kB view details)

Uploaded Source

Built Distribution

dmx485-1.2-py3.7.egg (3.8 kB view details)

Uploaded Egg

File details

Details for the file dmx485-1.2.tar.gz.

File metadata

  • Download URL: dmx485-1.2.tar.gz
  • Upload date:
  • Size: 2.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/39.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/2.7.15rc1

File hashes

Hashes for dmx485-1.2.tar.gz
Algorithm Hash digest
SHA256 953e87b4dd1a15ad5d171158035f4ac97d7c8d16114741c0a3dddd462d30911a
MD5 89c88a6877d8225fdb560d64d4c753b8
BLAKE2b-256 b01cfea5505439d9b2a563cf893e39db0695b660bff413566f877cb44af00159

See more details on using hashes here.

File details

Details for the file dmx485-1.2-py3.7.egg.

File metadata

  • Download URL: dmx485-1.2-py3.7.egg
  • Upload date:
  • Size: 3.8 kB
  • Tags: Egg
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.12.2 pkginfo/1.4.2 requests/2.21.0 setuptools/40.8.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.7.3

File hashes

Hashes for dmx485-1.2-py3.7.egg
Algorithm Hash digest
SHA256 cff1476cee3cbeeb42f0bcca06fe840a4dfec33e98f271ee5693ffa1e50f4e91
MD5 4fd680f9ef404bd46b613fcfe77eceda
BLAKE2b-256 8e67c942e11f32dcf7c141df728209c32c8d346a8c5d6002e1bcef2eeafa5059

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page