dmx-priest: Pemutar dan perekam DMX untuk peralatan pencahayaan

Situasi



Saya menjadi sukarelawan untuk organisasi kecil, kami mengadakan pesta, konser, dll.



Kami memiliki konsol kontrol cahaya yang mahal (Avolites Titan Quartz). Kami hanya menggunakannya untuk pertunjukan besar dan kontrol manual. Konsol terhubung ke perangkat LAN2DMX (dmXLAN Buddy) yang mengubah protokol Art-Net menjadi sinyal yang dapat dipahami oleh perangkat DMX.



Kami membutuhkan perangkat yang dapat merekam program dari konsol utama, dan kemudian memainkan preset ini tanpa henti. Ini harus mudah digunakan tanpa perlu membeli dan merawat peralatan yang mahal dan rumit.



Keputusan



Besi



  • Raspberry Pi. Versi apa pun bisa digunakan, mungkin. Saya menggunakan detik yang ada
  • Layar LCD. Saya menggunakan 16x2 dengan pelindung I2C sudah terpasang
  • Rotary Encoder. Sesuatu yang bisa dipelintir dan disadap sebagai alat masukan. Saya membeli yang sudah jadi, dengan semua resistornya.
  • Pelompat. Atau hanya kabel, jika disolder dengan erat ke sisir RPi
  • Hal-hal kecil: casing, kabel mikro usb, tombol power


Menghubung



Tampilan :



  • GND ke Pin 6 (Ground)
  • VCC ke Pin 4 (daya 5V)
  • SDA ke Pin 3 (GPIO 2)
  • SLC pada Pin 5 (GPIO 3)


Pemintal :



  • CLK ke Pin 12 (GPIO 18)
  • DT ke Pin 13 (GPIO 27)
  • SW ke Pin 11 (GPIO 17)
  • + ke Pin 1 (daya 3V3)
  • GND ke Pin 14 (Ground)


Catu daya :

Saya baru saja memutuskan kabel USB mikro, menyolder tombol. Saya mengeluarkan konektor daya bulat, yang lebih mudah digunakan.



Perangkat lunak



Sumbu



Kami mengambil Raspberry Pi OS (32-bit) Lite standar dan menginstalnya di SD menggunakan Etcher.



Tambahkan file "ssh" ke / boot untuk mengaktifkan SSH, karena Anda tidak ingin menghubungkan monitor dan keyboard.



SSH ke RPi:



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


Kami memperbarui untuk semua orang:



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


Buka Arsitektur Petir

Instal paket untuk membangun inti perangkat kami - 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


kompilasi dan instal. terlalu malas untuk mengumpulkan paket, dan saya berharap setelah proyek berakhir, tidak ada yang akan melihat ke dalam. akan memakan banyak waktu. pada RPi 2 dan kartu SD yang melambat, saya tinggalkan semalaman.



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


Kami memuat atau memeriksa kinerja:



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


buka http: // [Pi-IP-address]: 9090 / ola.html dan lihat bahwa semuanya terbuka. pada kenyataannya, kita tidak membutuhkan server web, kita dapat menyembunyikannya di file konfigurasi dan membangunnya tanpa itu.



membuat layanan untuk 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


dan menjalankannya



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


I2C

Anda harus mengaktifkan I2C untuk berinteraksi dengan tampilan



pi@raspberrypi:~ $ sudo raspi-config


Di dalam "Opsi Antarmuka"> "I2C"> "aktifkan" lalu boot ulang.

Kami melihat alamat tampilan di bus I2C, kami akan membutuhkannya



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


Milik saya adalah 3f, itu harus didaftarkan di RPi_I2C_driver.py. Secara teori, akan lebih baik untuk membaca variabel sistem dari program, tetapi saya terlalu malas untuk menyelesaikannya setelah semuanya berfungsi.



IP statis



Beberapa konsol bagus dalam penyiaran, beberapa perlu didaftarkan secara manual, jadi mari kita buat alamat IP statis yang dapat dimengerti dan dapat diakses oleh semua perangkat 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


dmx-pendeta



Program yang ditulis sendiri untuk bekerja dengan tampilan, twist, dan ola. Python Saya tidak tahu, PR dipersilahkan.



Menarik ola_patch untuk mendengarkan masukan (untuk merekam dari konsol) atau keluaran (untuk bekerja sendiri). Menggunakan ola_recorder untuk merekam dan memutar ulang.



Install:



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


Tambahkan ke startup:



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



gambar



  • Putar ke kanan 20 kali untuk menemukan mode perekaman. 20 kali agar pengguna tidak sengaja menulis apa pun. Tampilan: "Mode rekam - tekan kenop".
  • Dorong: "Siap merekam - tekan untuk memulai"
  • Mempersiapkan konsol utama untuk pemutaran. Kami menuntut terang dengan cara yang benar
  • Klik untuk mulai merekam: "Rekaman sedang berlangsung - tekan untuk berhenti"
  • Kami menunggu beberapa saat, tergantung pada program di konsol utama.
  • Klik untuk berhenti merekam. Kami kembali ke menu: "Mode Putar - tekan kenop"
  • Klik untuk masuk ke menu pemutaran. Preset yang baru direkam akan dalam format YYYY.mm.dd JJ: MM
  • Klik pada preset atau klik 99_blackout untuk keluar dan mematikan semua lampu


Kode sumber



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



All Articles