Use an ESP8266 to receive ArtNet commands via WiFi and output them with TTL to RS485 converter.
I had to find out that the sources of (mtongnz/espDMX) won't compile out of box and have some outdated library dependencies. So I created my own project based on (rstephan/ArtnetnodeWifi).
I added a touch button and an OLED screen to my controller, but the programm should also work without touch button and screen (not tested).
When starting the ESP and a press of the touch button (rising signal is detected on external interrupt pin D5) it directly enters setup mode, where the ESP goes into soft AP mode (default IP 192.168.4.1) where WiFi SSID and password can be configured. The ESP also goes into setup mode automatically, when connecting to the current configured WiFi isn't succesful.
When the ESP is in setup or artnet-mode, the touch button is used to toggle on or off the OLED. There is also a timer which automatically toggles off the OLED after a configurable time (in code, max. 26 seconds on time due to 80Mhz clock / uint32). So if you forgot to toggle it off or if it triggers on in someway it won't get worn out so fast.
I changed the code for outputing the DMX data within the onDmxFrame callback method from the example (rstephan/ArtnetnodeWifi). It's now done via the espDMX Library (mtongnz/espDMX) which produces more "stable" output and works when youre using a DMX Software (currently using LightKey, which has 24 channels in free version) which continuously sends DMX Data at high frame rates. The code from the "ArtnetnodeWifi" example works when only a few frames are send per second. At higher framerates DMX lights start flickering and behaving weird ;).
Currently tested with two 6ch Par 56 RGB LED cans and two 10ch RRGBWA Flat LED PAR working stable for a runtime of 12 hours straight.
IMPORTANT NOTE:
Watch out when powering the controller via its USB port with a cable connected to a computer! As soon as DMX data is send out on serial, it's also send over the USB connection and in some cases incoming serial data from the computer leads to crashes of the ESP. I recommend using USB power adapter or powerbank in this case ;).
https://github.com/rstephan/ArtnetnodeWifi
https://github.com/mtongnz/espDMX
D1 - I2C SCL
D2 - I2C SDA
D5 - Interrupt I/O from Touchbutton
TX - TXD of ARCELI TTL to RS485
VIN - +5V from USB
Note that the green wire connected to the RXD pin of the TTL to RS485 converter board is not conected to the ESP8266. It's plugged in to a free/empty rail of the breadboard. For only sending out DMX connecting only TX is sufficient (so the ESP may not get disturbed when randomly receiving something at RX). Furthermore note that the TXD pin of this specific TTL to RS485 board has to be connected to TX pin of the ESP8266, RXD has to be connected to RX. When using other TTL to RS485 board the TX of the ESP may has to be connected to the RX pin of the TTL board and vice versa.