artnet-usbdmx-converter/README.md

78 lines
2.5 KiB
Markdown
Raw Normal View History

2023-10-08 18:44:10 +02:00
# ArtNet-USBDMX-Converter
<img src="./repo/screenshot.png" alt="Screenshot of main app window">
Send incoming ArtNet signals to the FX5 DMX interface (and other [compatible interfaces](#compatible-interfaces)) to make it compatible with most DMX control programs.
# Use case
This application opens an ArtNet receiver, to which various DMX control programs (e.g. ChamSys MagicQ) can send DMX signals to.
It then forwards these signals to the FX5 USBDMX interface, and therefore opens it up to a variety of programs, not only the few that support it (QLC+, DMXControl).
2023-10-14 21:37:12 +02:00
# Setup on Linux
To use USBDMX-Interfaces on Linux without root privileges you need to add a udev rule:
```bash
$ sudo cp 50-usbdmx.rules /etc/udev/rules.d/
# Unplug the interface, then run:
$ sudo udevadm control --reload-rules
```
2023-10-14 21:42:10 +02:00
## Use another interface
2023-10-14 21:37:12 +02:00
If you're using another interface other than the ones [listed below](#compatible-interfaces), you need to add them to the udev rule manually
2023-10-14 21:42:10 +02:00
First, get all USB devices connected to the computer and find your interface
2023-10-14 21:37:12 +02:00
```bash
$ lsusb
Bus 003 Device 021: ID 16c0:088b Van Ooijen Technische Informatica USB DMX
[...]
2023-10-14 21:42:10 +02:00
```
Then copy the existing udev rules-file like mentioned above, and edit it
2023-10-14 21:37:12 +02:00
2023-10-14 21:42:10 +02:00
```bash
2023-10-14 21:37:12 +02:00
$ sudo nano /etc/udev/rules.d/50-usbdmx.rules
2023-10-14 21:42:10 +02:00
```
Duplicate the last line and change the values after "idVendor" and "idProduct" to match the ID returned by lsusb
2023-10-14 21:37:12 +02:00
2023-10-14 21:42:10 +02:00
Example for ID `1234:5678`
```bash
KERNEL=="hidraw*", SUBSYSTEM=="hidraw", ATTRS{idVendor}=="1234", ATTRS{idProduct}=="5678", MODE="0666"
```
Save, disconnect the interface and reload the udev rules
```bash
$ sudo udevadm control --reload-rules
2023-10-14 21:37:12 +02:00
```
2023-10-08 18:44:10 +02:00
# Compatible interfaces
2023-10-14 21:37:12 +02:00
- [Digital Enlightenment USB-DMX Interface](http://www.digital-enlightenment.de/usbdmx.htm)
2023-10-08 18:44:10 +02:00
- FX5 DMX Interface (Frank Sievertsen)
- [Nodle U1](https://www.dmxcontrol.de/interfaces/nodle-u1-interface.html) (DMXControl e.V.)
- [Nodle R4S](https://www.dmxcontrol.de/interfaces/nodle-r4s-interface.html) (DMXControl e.V.)
2023-10-14 21:49:53 +02:00
- Technically any interface that uses the [usbdmx driver](https://github.com/fx5/usbdmx) by Frank Sievertsen
- Won't work out of the box, vendor ID and product ID need to be [added manually](./src/usbdmx/index.ts)
2023-10-08 18:44:10 +02:00
# Develop & Build
## Development
```bash
2023-10-14 21:49:53 +02:00
$ git clone https://github.com/rainloreley/artnet-usbdmx-converter.git
$ cd artnet-usbdmx-converter
$ yarn
$ yarn dev
2023-10-08 18:44:10 +02:00
```
## Compiling
```bash
# edit package.json -> pkg to add more targets for various platforms
2023-10-14 21:49:53 +02:00
$ yarn make
2023-10-08 18:44:10 +02:00
```
# License
This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details