dmx-priest: reproductor y grabador DMX para equipos de iluminación

Situación



Soy voluntario para una pequeña organización, hacemos fiestas, conciertos, etc.



Tenemos una consola de control de luz cara (Avolites Titan Quartz). Solo lo usamos para grandes espectáculos y control manual. La consola se conecta a un dispositivo LAN2DMX (dmXLAN Buddy) que convierte el protocolo Art-Net en una señal que los dispositivos DMX pueden entender.



Necesitábamos un dispositivo que pudiera grabar el programa desde la consola principal y luego reproducir este preset sin fin. Debe ser fácil de usar sin tener que alcanzar y cuidar equipos costosos y complejos.



Decisión



Planchar



  • Raspberry Pi. Probablemente cualquier versión servirá. Usé el segundo existente
  • Pantalla LCD. Usé un 16x2 con el escudo I2C ya conectado
  • Codificador rotatorio. Algo que se puede retorcer y aprovechar como medio de entrada. Compré uno ya hecho, con todas las resistencias.
  • Jerséis. O simplemente cables, si están bien soldados al peine RPi
  • Pequeñas cosas: estuche, micro cable usb, botón de encendido


Conectar



Pantalla :



  • GND al pin 6 (tierra)
  • VCC al pin 4 (alimentación de 5 V)
  • SDA al pin 3 (GPIO 2)
  • SLC en el pin 5 (GPIO 3)


Spinner :



  • CLK al pin 12 (GPIO 18)
  • DT al pin 13 (GPIO 27)
  • SW al pin 11 (GPIO 17)
  • + al Pin 1 (alimentación 3V3)
  • GND al pin 14 (tierra)


Fuente de alimentación :

acabo de romper el cable micro USB, soldé el botón. Saqué un conector de alimentación redondo, que es más fácil de usar.



Software



Eje



Tomamos un sistema operativo Raspberry Pi estándar (32 bits) Lite y lo instalamos en SD usando Etcher.



Agregue el archivo "ssh" a / boot para habilitar SSH, porque no desea conectar un monitor y un teclado.



SSH a RPi:



youruser@homepc:~ $ ssh pi@[Pi-IP-address]


Actualizamos para todos:



pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get dist-upgrade


Arquitectura abierta Lightning

Instale paquetes para construir el corazón de nuestro dispositivo: Open Lightning Architecture.



pi@raspberrypi:~ $ sudo apt-get install git autoconf libtool bison flex uuid-dev libcppunit-dev python-protobuf python-numpy protobuf-compiler  libmicrohttpd-dev libprotoc-dev i2c-tools python3-smbus python3-gpiozero python3-pip3
pi@raspberrypi:~ $ git clone https://github.com/OpenLightingProject/ola.git
pi@raspberrypi:~ $ cd ola


compilar e instalar. es demasiado perezoso recolectar paquetes, y espero que después del final del proyecto, nadie mire dentro. llevará mucho tiempo. en RPi 2 y una tarjeta SD ralentizada, la dejé durante la noche.



pi@raspberrypi:~/ola $ autoreconf -i
pi@raspberrypi:~/ola $ ./configure --enable-rdm-tests
pi@raspberrypi:~/ola $ make
pi@raspberrypi:~/ola $ sudo make install


Cargamos o comprobamos el rendimiento:



pi@raspberrypi:~/ola $ sudo ldconfig
pi@raspberrypi:~/ola $ olad -l 3


vaya a http: // [Pi-IP-address]: 9090 / ola.html y vea que todo se abre. de hecho, no necesitamos un servidor web, puedes chamanarlo en el archivo de configuración y construirlo sin él.



crear un servicio para systemd



pi@raspberrypi:~ $ sudo nano /etc/systemd/system/olad.service
[Unit]
Description=OLA daemon
After=network.target
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=pi
ExecStart=olad

[Install]
WantedBy=multi-user.target


y ponerlo en inicio



pi@raspberrypi:~ $ sudo systemctl start olad
pi@raspberrypi:~ $ sudo systemctl enable olad


I2C

necesita habilitar I2C para interactuar con la pantalla



pi@raspberrypi:~ $ sudo raspi-config


Dentro de "Opciones de interfaz"> "I2C"> "habilitar" y luego reiniciar.

Miramos la dirección de pantalla en el bus I2C, la necesitaremos



pi@raspberrypi:~/dmx-priest $ sudo i2cdetect -y 1


El mío era 3f, deberá estar registrado en RPi_I2C_driver.py. En teoría, sería mejor leer la variable de sistema del programa, pero fui demasiado perezoso para terminarlo después de que todo funcionó.



IP estática



Algunas consolas son buenas para transmitir, algunas necesitan registrarse manualmente, así que creemos una dirección IP estática que sea comprensible y accesible para todos los dispositivos dmx.



pi@raspberrypi:~ $ sudo nano /etc/dhcpcd.conf
# Example static IP configuration:
interface eth0
static ip_address=2.150.43.69/24
static routers=2.124.1.1
static domain_name_servers=2.124.1.1


sacerdote-dmx



Programa autoescrito para trabajar con la pantalla, twist y ola. Python No lo sé, las relaciones públicas son bienvenidas.



Tira de ola_patch para sintonizar la entrada (para grabar desde la consola) o la salida (para trabajar por sí sola). Utiliza ola_recorder para grabar y reproducir.



Instalar en pc:



pi@raspberrypi:~ $ sudo pip3 install git+https://github.com/Virusmater/dmx-priest


Agregar al inicio:



pi@raspberrypi:~ $ nano /etc/systemd/system/dmx-priest.service 
[Unit]
Description=dmx-priest
Requires=olad.service
After=network.target olad.service
StartLimitIntervalSec=0

[Service]
Type=simple
Restart=always
RestartSec=1
User=pi
ExecStart=dmx-priest

[Install]
WantedBy=multi-user.target

pi@raspberrypi:~ $ sudo systemctl start dmx-priest
pi@raspberrypi:~ $ sudo systemctl enable dmx-priest


Yuzai



imagen



  • Gire a la derecha 20 veces para encontrar el modo de grabación. 20 veces para que los usuarios no escriban nada accidentalmente. Pantalla: "Modo de grabación - presione el botón".
  • Presione: "Listo para grabar - presione para comenzar"
  • Preparando la consola principal para la reproducción. Insistimos en la luz de la manera correcta
  • Haga clic para iniciar la grabación: "Grabación en curso: presione para detener"
  • Estamos esperando un rato, dependiendo del programa en la consola principal.
  • Haga clic para detener la grabación. Regresamos al menú: "Modo de reproducción - presione el botón"
  • Haga clic para ingresar al menú de reproducción. El ajuste preestablecido recién grabado tendrá el formato AAAA.mm.dd HH: MM
  • Haga clic en el preset o haga clic en 99_blackout para salir y apagar todas las luces


Códigos fuente



https://github.com/Virusmater/dmx-priest



All Articles