GithubHelp home page GithubHelp logo

markusb / esp-dmx Goto Github PK

View Code? Open in Web Editor NEW
16.0 3.0 4.0 1.34 MB

Wifi Artnet to DMX converter

License: GNU General Public License v2.0

C 77.78% C++ 22.22%
dmx wifi fixture fan hardware esp8266 arduino artnet

esp-dmx's Introduction

Overview

This implements a Wifi Artnet receiver to receive Artnet frames and send them out over DMX. The Idea is to fit the modules into DMX equipment and be able to use Wifi instead of DMX cabling.

The module uses WifiManager to connect to a Wifi network on initial startup. On subsequent boots, it will reconnect to the same network again with, no configuration necessary. The initial hostname is based on the hardware ID of the ESP8266. This name can be changed and saved.

The Artnet/DMX Universe can be configured, along with the max frame size and the update rate.

A WS2812 RGB LED is used to show the display status. The same status can be seen on the console output or the webinterface.

The colors displayed are as follows:

Color Meaning
Red The device is booting
Yellow Connecting to Wifi
Green (blink slow) Device is ready and connected to Wifi
Cyan Artnet frames are detected, but ignored as the universe does not match
Green Artnet frames are received and transmitted to DMX
Green (blink fast) DMX frames are transmitted from buffer after Artnet signal loss

Wherever there is activity on the web interface (configuration, monitoring), the LED turns blue. During web interface activity, the DMX512 output is silenced. A smooth web interface and smooth DMX signalling don't go together.

Special features

  • The MAX485 transmitter is switched off, when no frames are sent. This places the driver in high-Z mode and allows to use the DMX input with the ESP-DMX device still connected. The aim is to solder the device directly to the DMX fixture, but retaining the option to use conventional DMX.
  • Fan control of the internal fan dependent on the measured temperature
  • Programmable hold time to hold the last setting if the Artnet signal goes away. For example if I use a tablet as remote control it may go to sleep, stopping to transmit Artnet frames. This feature keeps the lights on.

Limitations

  • My cheap PARs seem not to like frames shorter than 512 channels.

Components / Hardware

Most ESP8266 modules or boards can be used. Personally I use the Wemos D1 with the protoboard shield. The circuit is built on the protoboard.

  • Wemos D1 mini
  • MAX485 module or chip
  • WS2812 RGB LED
  • NPN transistor (with enough current for your fan), optional
  • 100k NTC for temperature measurement, optional

Wiring diagram

     Wemos D1:
                        +-----+ 
                   Rst  +  W  +  Tx
      NTC <-        A0  +  E  +  Rx
      Fan <- D0/GPIO16  +  M  +  D1/GPIO5   -> RS422 En
    LED_B <- D5/GPIO14  +  O  +  D2/GPIO4 
    LED_R <- D6/GPIO12  +  S  +  D3/GPIO0*
NEO/LED_G <- D7/GPIO13  +     +  D4/GPIO2*  -> RS422 Tx
             D8/GPIO15* +  D  +  Gnd
                   3V3  +  1  +  5V
                        +-----+ 


        MAX485:	1 Rx      vcc 8  -> Wemos D1 3V3 power
	        2 RxEn   outb 7  -> DMX fixture
 Wemod D1 D1 <- 3 TxEn   outa 6  -> DMX fixture
 Wemod D1 D4 <- 4 Tx      gnd 5  -> Wemos D1 Gnd

There is are schematics and a wiring diagram among the files.

Some remarks:

  • There is a prototype board for the D1 on which the Max485 fits nicely
  • I don't use a 120 Ohm termination resistor as it is not necessary with the short cable length within the fixture itself and would require to be disconnected if the fixture cabled conventionally.

ToDo

See the todo list

Reference

The Sketch by Robert Oosterveld http://robertoostenveld.nl/art-net-to-dmx512-with-esp8266 has served as starting point.

esp-dmx's People

Contributors

markusb avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

esp-dmx's Issues

wifi-credentials.h missing

Hello i tested your code with esp8266 nodemcu 12f .. The code says missing wifi-credentials.h, can you provide? Tks

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.