Date post: | 13-May-2015 |
Category: |
Technology |
Upload: | matt-ranostaj |
View: | 247 times |
Download: | 3 times |
Brief OverviewNot an expert in industrial lighting systemsCurrently a pet project aka weekend beer
codingAny questions unable to answer can be
addressed to the #openlighting channel on Freenode
Crash course on lighting systemsSpeaker talks fast so interrupt him if you
don’t understand somethingBTW who doesn’t like blinky lights?!?!
DMX? Not just a rapper?DMX512 (Digital Multiplex 512) is an
industry standard lighting specification that has been in use since 1986 (literally as old as me)Any light show, rave, concert, and misc events
you have been too has certainly used this technology
RS-485 is the transport medium usedXLR-3 or XLR-5 (typical) connector
Differential pair + Ground XLR-5 has two un-used or unassigned pins
DMX RS-485 TrafficDMX512 is named so because it is 512 slots of
data + 1 command/start code slotSlot is one byteEach of these groups is called an universe
Specification allows up to 44 fps, but can piped out faster if not all slots are used.Most vendors stick to 44 fps though
Commands can control panning, light intensity, etc
Slots can be combined to increase range from 8-bits to 16, 32, etc bits.
DMX512 RS-485 ProtocolRS-485 has no clock line so you need a set
way to know when a frame beginsMust be terminated for the bias network to
work (120 ohm)DMX512 signals a start of frame
Break of 100 microseconds Mark After Break (MAB) 12 microseconds Followed with 11-bit sequence for each slots
Start bit + 8 bits of data + 2 stop bits.
DMX512 Oscilloscope Output
Example of DMX-enabled DevicesStage Lighting (vast majority of applications)
LasersRGB LED panels (i.e. 16x16 grids)RGB LED stringsServo controlled light mounts (Pan + Tilt)
DimmersHaze / Fog Machines Niche market of animatronics
Halloween decorations
DMX in action (Singapore Flyer)
DMX-over-IPVarious implementations over the years that
have all have pros and consArtNet IIIE1.31 – Streaming ACN
De facto solution used for large lighting shows 63,999 universes allowed per IP ANSI + PLASA/ESTA approved standard
DMX specification doesn’t reference any networking protocols, but all of the major ones wire protocol mirror the RS-485 data schema
Typically used over Ethernet
Remote Device ManagementRDM was designed after DMX512 and uses
the same RS485 path to send messagesBi-directional controlling and status messagesBackwards compatible with legacy DMX
devicesUses start code 0xCC and encapsulates data
within this
Open Lighting Architecture Completely Open Source implementation of
the networking aspects of the DMX512 protocolOLA protocol for Python bindingsOpen Sound Control (OSC)ArtNet III + E1.31 sACN
Various plugins for interfacing to devicesVendor specific plugins SPIUSB DMX devices
Open Lighting ArchitectureFuture support for RS-485 array of devices
on Linux is planned which will make this more of network to DMX512 bridgeCheap low end development board then can be
a bridgeRemote Device Management (RDM) is fully
supported and robustLighting control panels or various control
devices Currently have no hardware that uses RDM so
I’ve never used it
OLA Web Interface
Typical OLA Setup
OLA HacksTriggers from DMX control codes that run
commandsCould trigger a processing scriptTurn on or off a relay switch
Python/C++/Java loopback API allows you to send frames locally to a OLA interface
JSON web interface for when other protocols are too much
Open Sound ControlOSC is used for MIDI control as well lighting
controlOLA has a OSC interface that can be used as
wellVarious DMX frontend generators use this for
user inputOpen Lighting ArchitecturePixelController
TouchOSC – iPhone application to OSC systemsVarious other applications exist for Android
and iOS
Data Flow
WS2812 Chipset (self-clocking)
WS2801 (SPI + protocol decode)
OLA + PixelController + AM335x PRU
DemoBeagleBone Black (am335x)
PRU (Programmable Real-time Unit) outputting SPI and/or another self clocked protocol
Open Lighting ArchitectureSPI plugin interacting with faux-spidev
interfacePython interface to directly drive LED string
Conclusions/OpinionsDMX is old but it is a classic has little need to
be improved other than legacy systems being moved to the networking space versus RS-485
Inferior protocols exist for the sheer fact people are lazy to learn something new and figure it is okay to write a new oneOpen Pixel Controller is an example
QuestionsHow many have you used staging light that
has utilized DMX512? Or some other propriety protocol?
Have you used OLA, and how can we improve the project?
What you currently use for your software driven lighting needs?
Special ThanksSimon Newton - nomis52Andrew Frazier - mrpacketheadPantelis Antoniou - panto
References
Open Lighting Architecturehttp://www.openlighting.org
Singapore Flyer Picturehttp://en.wikipedia.org/wiki/
File:The_Singapore_Flyer_at_night.jpgDMX512 Oscilloscope Graph
http://en.wikipedia.org/wiki/File:Annotated_trace_of_DMX-512_signal.png
ReferencesSigrok + Pulseview (WS2801 + WS2812
debug)http://sigrok.org
WS28xx PRU firmwarehttps://github.com/mranostay/ws28xx-lighting-
pruPixelController
https://github.com/neophob/PixelControllerTouchOSC
http://hexler.net/software/touchosc