dmx-priest: مشغل DMX ومسجل لمعدات الإضاءة

موقف



أنا أتطوع في منظمة صغيرة ، نستضيف الحفلات والحفلات الموسيقية ، إلخ.



لدينا وحدة تحكم إضاءة باهظة الثمن (Avolites Titan Quartz). نحن نستخدمه فقط للعروض الكبيرة والتحكم اليدوي. تتصل وحدة التحكم بجهاز LAN2DMX (dmXLAN Buddy) الذي يحول بروتوكول Art-Net إلى إشارة يمكن لأجهزة DMX فهمها.



كنا بحاجة إلى جهاز يمكنه تسجيل البرنامج من وحدة التحكم الرئيسية ، ثم تشغيل هذا الإعداد المسبق إلى ما لا نهاية. يجب أن يكون سهل الاستخدام دون الحاجة إلى الوصول إلى معدات باهظة الثمن ومعقدة والعناية بها.



القرار



حديد



  • فطيرة التوت. أي نسخة ستفعل ، على الأرجح. لقد استخدمت الثانية الموجودة
  • شاشة عرض من الكريستال السائل. لقد استخدمت 16x2 مع درع I2C المرفق بالفعل
  • التشفير الروتاري. شيء يمكن تحريفه والاستفادة منه كوسيلة للإدخال. اشتريت واحدة جاهزة ، بكل المقاومات.
  • صداري. أو مجرد أسلاك ، إذا كانت ملحومة بإحكام بمشط RPi
  • أشياء صغيرة: حافظة ، كابل USB صغير ، زر طاقة


الاتصال



العرض :



  • GND إلى Pin 6 (أرضي)
  • VCC إلى Pin 4 (طاقة 5V)
  • SDA إلى Pin 3 (GPIO 2)
  • SLC على السن 5 (GPIO 3)


سبينر :



  • CLK إلى Pin 12 (GPIO 18)
  • DT إلى Pin 13 (GPIO 27)
  • SW إلى Pin 11 (GPIO 17)
  • + إلى Pin 1 (3V3 power)
  • GND إلى دبوس 14 (أرضي)




مزود الطاقة : لقد كسرت للتو كابل USB الصغير ، وقمت بلحام الزر. لقد أحضرت موصل طاقة دائريًا ، وهو أسهل في الاستخدام.



البرمجيات



محور



نأخذ نظام Raspberry Pi OS (32 بت) Lite القياسي ونقوم بتثبيته على SD باستخدام Etcher.



أضف ملف "ssh" إلى / boot لتمكين SSH ، لأنك لا تريد توصيل شاشة ولوحة مفاتيح.



SSH إلى RPi:



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


نقوم بتحديث للجميع:



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


افتح معمارية البرق

قم بتثبيت حزم لبناء قلب أجهزتنا - افتح 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


تجميع وتثبيت. من الكسول جدًا جمع الطرود ، وآمل أنه بعد انتهاء المشروع ، لن ينظر أحد إلى الداخل أبدًا. سيستغرق الكثير من الوقت. على RPi 2 وبطاقة SD بطيئة ، تركتها طوال الليل.



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


نقوم بتحميل أو فحص الأداء:



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


اذهب إلى http: // [Pi-IP-address]: 9090 / ola.html وشاهد أن كل شيء يفتح. في الواقع ، لا نحتاج إلى خادم ويب ، يمكنك استخدامه في ملف التكوين وإنشائه بدونه.



إنشاء خدمة لـ 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


ووضعه في بدء التشغيل



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


I2C

تحتاج إلى تمكين I2C للتفاعل مع الشاشة



pi@raspberrypi:~ $ sudo raspi-config


داخل "خيارات التفاعل"> "I2C"> "تمكين" ثم إعادة التشغيل.

ننظر إلى عنوان العرض على حافلة I2C ، سنحتاجه



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


كان منجم 3f ، يجب أن يتم تسجيله في RPi_I2C_driver.py. من الناحية النظرية ، سيكون من الأفضل قراءة متغير النظام من البرنامج ، لكنني كنت كسولًا جدًا لإنهائه بعد أن نجح كل شيء.



رقم تعريف حاسوب ثابت



بعض وحدات التحكم جيدة في البث ، وبعضها يحتاج إلى التسجيل يدويًا ، لذلك دعونا نجعل عنوان IP ثابتًا في عنوان واضح ويمكن الوصول إليه من جميع أجهزة 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- الكاهن



برنامج مكتوب ذاتيًا للعمل مع العرض واللف والولا. بايثون لا أعرف ، العلاقات العامة مرحب بها.



يسحب ola_patch لضبط الإدخال (للكتابة من وحدة التحكم) أو الإخراج (للعمل بمفرده). يستخدم ola_recorder للتسجيل والتشغيل.



تثبيت:



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


إضافة لبدء التشغيل:



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


يوزاي



صورة



  • قم باللف 20 مرة لإيجاد وضع التسجيل. 20 مرة حتى لا يكتب المستخدمون أي شيء عن طريق الخطأ. الشاشة: "وضع التسجيل - ادفع المقبض".
  • الدفع: "جاهز للتسجيل - اضغط للبدء"
  • تحضير وحدة التحكم الرئيسية للتشغيل. نحن نصر على الضوء بالطريقة الصحيحة
  • انقر لبدء التسجيل: "التسجيل قيد التقدم - اضغط للإيقاف"
  • نحن ننتظر بعض الوقت ، اعتمادًا على البرنامج الموجود على وحدة التحكم الرئيسية.
  • انقر لإيقاف التسجيل. نعود إلى القائمة: "وضع التشغيل - ادفع المقبض"
  • انقر للدخول إلى قائمة التشغيل. سيكون الإعداد المسبق المسجل حديثًا بالتنسيق YYYY.mm.dd HH: MM
  • انقر فوق الإعداد المسبق أو انقر فوق 99_blackout للخروج وإطفاء جميع الأضواء


رموز المصدر



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



All Articles