موقف
أنا أتطوع في منظمة صغيرة ، نستضيف الحفلات والحفلات الموسيقية ، إلخ.
لدينا وحدة تحكم إضاءة باهظة الثمن (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