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.
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:
+-----+
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:
See the todo list
The Sketch by Robert Oosterveld http://robertoostenveld.nl/art-net-to-dmx512-with-esp8266 has served as starting point.