Comments (3)
It looks like it is possible. To do so, you would want to attach a RS485 or DMX interface (like this one) to your ESP32, and then plug XLR pin 1, 2, and 3 into G, D-, and D+ inputs of your product, respectively. This would be the surest way to get this product working with the ESP32.
It looks like your product has a TX, RX, and Ground pin for a UART as well. You may be able to plug your ESP32 UART into those pins to transmit DMX but it isn't very clear if that is possible. It may just be a programming port for the product. If you are able to transmit DMX via straight UART, you'd likely need a logic level converter to convert the 3.3v ESP32 UART into 5v.
Any sort of wireless communication from the ESP32 to your product is not possible with this library.
Let me know if you have any other questions!
from esp_dmx.
@someweisguy Thanks for the response. I really appreciate it.
I looked at the Sparkfun board, but it's overkill for what I'm looking to build. Really trying to tap into wireless DMX. Sounds like the RS485 is the way to go. Something like this?
In your sample code you talk about RTS: IO21. What is it used for and does it need to be attached somewhere?
I think I understand what you're saying about how it would be connected. I'll probably get some parts and give it a try. See what happens.
from esp_dmx.
That will work!
The way that RS485 works (and DMX too, since DMX uses RS485) is that it sends data using the D+ and D- lines in a half duplex data bus. Half duplex means that it can only send data or receive data, but not both at the same time. Therefore, it is necessary to signal to your RS485 chip when you want to receive data and when you want to send data. That is what IO21 is used for. RTS stands for "Request To Send." Typically, you'll pull the RTS line low and that tells your RS485 chip that it should receive data, not send it. If RTS is high, it tells the RS485 chip that you are transmitting data. Often you'll see DE/RE instead of RTS - it stands for Driver Enable/Read Enable.
It looks like the product you linked doesn't have a RTS pin. It is possible that its RTS logic is automatic. There RS485 boards that will stay in "read" mode until it detects data on the TX line. When it does, it switches to "write" mode and transmits your data. I am guessing that is the case here.
Since you aren't using that pin, your setting communication pins step will look a bit different. You can call DMX_PIN_NO_CHANGE
when you declare your RTS pin. Like this:
const int dmx_num = 2;
const int tx_io_num = 17, rx_io_num = 16;
dmx_set_pin(dmx_num, tx_io_num, rx_io_num, DMX_PIN_NO_CHANGE);
Let me know if you have any other questions! :)
from esp_dmx.
Related Issues (20)
- dmx timing HOT 1
- Compile errors version 2 and up HOT 8
- Troubles with ETC Express HOT 6
- RDM discovery controller HOT 12
- Error on Sample DMX Sniffer HOT 1
- DMX read example - 'isr_handle' undeclared in arduino 2.14 HOT 1
- DMX Output randomly stops for a few seconds HOT 1
- Interrupt conflict HOT 1
- rdm_register_dmx_personality missing in 3.1.0 HOT 4
- DMX Read - Unstable packet.size depends on the number of DMX channels HOT 3
- compiling error with 3.10 but not with 3.0.3-beta HOT 3
- Bug string constant to 'char*' [-Wwrite-strings] HOT 2
- Send SET RDM_PID_IDENTIFY_DEVICE argument error
- RDM controller requests are not copying parameter data HOT 2
- dmx_get_personality_description() does not work HOT 1
- ESP32-S3 RDM issues with UART0 HOT 5
- Start Address Not Saving Via RDM HOT 8
- Compile Warning
- Problem with installing DMX on UART2 HOT 5
- ESP32-C6 incompatibility HOT 1
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from esp_dmx.