dmx-priester: DMX-Player und -Recorder für Beleuchtungsgeräte

Lage



Ich melde mich freiwillig für eine kleine Organisation, wir veranstalten Partys, Konzerte usw.



Wir haben eine teure Lichtsteuerkonsole (Avolites Titan Quartz). Wir verwenden es nur für große Leistungen und manuelle Steuerung. Die Konsole stellt eine Verbindung zu einem LAN2DMX-Gerät (dmXLAN Buddy) her, das das Art-Net-Protokoll in ein Signal konvertiert, das DMX-Geräte verstehen können.



Wir brauchten ein Gerät, das das Programm von der Hauptkonsole aufnehmen und diese Voreinstellung dann endlos abspielen konnte. Es sollte einfach zu bedienen sein, ohne teure und komplexe Geräte erreichen und warten zu müssen.



Entscheidung



Eisen



  • Himbeer-Pi. Wahrscheinlich reicht jede Version. Ich habe die vorhandene Sekunde verwendet
  • LCD Bildschirm. Ich habe ein 16x2 mit dem bereits angebrachten I2C-Schild verwendet
  • Drehcodierer. Etwas, das als Eingabemittel verdreht und abgegriffen werden kann. Ich kaufte eine fertige mit allen Widerständen.
  • Jumper. Oder einfach nur Drähte, wenn sie fest mit dem RPi-Kamm verlötet sind
  • Kleine Dinge: Gehäuse, USB-Mikrokabel, Netzschalter


Verbinden



Anzeige :



  • GND an Pin 6 (Masse)
  • VCC an Pin 4 (5V Stromversorgung)
  • SDA an Pin 3 (GPIO 2)
  • SLC an Pin 5 (GPIO 3)


Spinner :



  • CLK an Pin 12 (GPIO 18)
  • DT an Pin 13 (GPIO 27)
  • SW an Pin 11 (GPIO 17)
  • + an Pin 1 (3V3-Stromversorgung)
  • GND an Pin 14 (Masse)


Stromversorgung :

Ich habe gerade das Micro-USB-Kabel gebrochen und den Knopf verlötet. Ich habe einen runden Stromanschluss herausgebracht, der einfacher zu bedienen ist.



Software



Achse



Wir nehmen ein Standard-Raspberry Pi OS (32-Bit) Lite und installieren es mit Etcher auf SD.



Fügen Sie die Datei "ssh" zu / boot hinzu, um SSH zu aktivieren, da Sie keinen Monitor und keine Tastatur verbinden möchten.



SSH zu RPi:



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


Wir aktualisieren für alle:



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


Öffnen Sie die Blitzarchitektur

Installieren Sie Pakete, um das Herz unseres Geräts aufzubauen - 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


kompilieren und installieren. Es ist zu faul, um Pakete zu sammeln, und ich hoffe, dass nach dem Ende des Projekts niemand mehr hineinschauen wird. wird viel Zeit in Anspruch nehmen. Auf RPi 2 und einer verlangsamten SD-Karte habe ich sie über Nacht stehen lassen.



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


Wir laden oder überprüfen die Leistung:



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


Gehen Sie zu http: // [Pi-IP-Adresse]: 9090 / ola.html und sehen Sie, dass sich alles öffnet. Tatsächlich brauchen wir keinen Webserver. Sie können ihn in der Konfigurationsdatei schamanisieren und ohne ihn erstellen.



Erstellen Sie einen Dienst für 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


und in den Start setzen



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


I2C

Sie müssen I2C für die Interaktion mit der Anzeige aktivieren



pi@raspberrypi:~ $ sudo raspi-config


Innerhalb von "Schnittstellenoptionen"> "I2C"> "aktivieren" und dann neu starten.

Wir sehen uns die Anzeigeadresse auf dem I2C-Bus an, wir werden sie brauchen



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


Meins war 3f, es muss in RPi_I2C_driver.py registriert sein. Theoretisch wäre es besser, die Systemvariable aus dem Programm zu lesen, aber ich war zu faul, um sie zu beenden, nachdem alles funktioniert hatte.



Statische IP



Einige Konsolen können gut senden, andere müssen manuell registriert werden. Erstellen Sie daher eine statische IP-Adresse in einer Adresse, die für alle dmx-Geräte klar und zugänglich ist.



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


dmx-priester



Selbstgeschriebenes Programm für die Arbeit mit Display, Twist und Ola. Python Ich weiß nicht, PR ist willkommen.



Ruft ola_patch ab, um die Eingabe (zum Schreiben von der Konsole) oder die Ausgabe (um alleine zu arbeiten) einzustellen. Verwendet ola_recorder für Aufnahme und Wiedergabe.



Installieren:



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


Zum Start hinzufügen:



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



Bild



  • 20 Mal nach rechts drehen, um den Aufnahmemodus zu finden. 20 Mal, damit Benutzer nicht versehentlich etwas schreiben. Anzeige: "Aufnahmemodus - Knopf drücken".
  • Push: "Aufnahmebereit - Push zum Start"
  • Vorbereiten der Hauptkonsole für die Wiedergabe. Wir bestehen auf das Licht auf die richtige Weise
  • Klicken Sie hier, um die Aufnahme zu starten: "Aufnahme läuft - Zum Stoppen drücken"
  • Wir warten eine Weile, abhängig vom Programm auf der Hauptkonsole.
  • Klicken Sie hier, um die Aufnahme zu beenden. Wir kehren zum Menü zurück: "Wiedergabemodus - Knopf drücken"
  • Klicken Sie hier, um das Wiedergabemenü aufzurufen. Das neu aufgenommene Preset hat das Format JJJJ.mm.dd HH: MM
  • Klicken Sie auf die Voreinstellung oder auf 99_blackout, um alle Lichter zu beenden und auszuschalten


Quellcodes



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



All Articles