Русский
Русский
English
Статистика
Реклама

Dmx-512

Dmx-priest плеер и рекордер DMX пресетов для светового оборудования

28.07.2020 04:12:13 | Автор: admin

Ситуация

Я волонтерю в небольшой организации, мы устраиваем вечеринки, концерты итд.
У нас есть дорогущая консоль для управления светом (Avolites Titan Quartz). Её используем только для больших выступлений и ручного управления. Консоль коннектится к LAN2DMX устройству (dmXLAN Buddy) которое конвертирует Art-Net протокол в сигнал понятный DMX устройствам.
Нужен был девайс, который мог бы записать программу с главной консоли, а потом бесконечно играть данный пресет. Им должно быть просто пользоваться без надобности доставать и пресматривать за дорогим и сложным оборудованием.

Решение

Железо

  • Raspberry Pi. Подойдет, наверное, любая версия. Я использовал имеющуюся вторую
  • LCD экран. Я использовал 16х2 с уже прикрепленным I2C шилдом
  • Rotary Encoder. Что-то что можно крутить и нажимать как средство в ввода. Я купил уже готовый, со всеми резисторами.
  • Перемычки. Или просто провода, если намертво припаиваться к гребенке RPi
  • Мелочевка: корпус, usb micro кабель, кнопка для включения

Соединяем

Дисплей:
  • GND на Pin 6 (Ground)
  • VCC на Pin 4 (5V power)
  • SDA на Pin 3 (GPIO 2)
  • SLC на Pin 5 (GPIO 3)
Крутилку:
  • CLK на Pin 12 (GPIO 18)
  • DT на Pin 13 (GPIO 27)
  • SW на Pin 11 (GPIO 17)
  • + на Pin 1 (3V3 power)
  • GND на Pin 14 (Ground)
Питание:
Я просто раздраконил micro USB кабель, подпаял кнопку. Вывел наружу круглый разъем питания, таким проще пользоваться

Софт

Ось

Берем стандартный Raspberry Pi OS (32-bit) Lite и ставим на SD используя Etcher.
Добавляем файл ssh в /boot чтоб включить SSH, тк не хочется подключать монитор и клаву.SSH в RPi:
youruser@homepc:~ $ ssh pi@[Pi-IP-address]
Обновляем на всякий:
pi@raspberrypi:~ $ sudo apt-get updatepi@raspberrypi:~ $ sudo apt-get dist-upgrade

Open Lightning Architecture

Устанавливаем пакеты для билда сердца нашего девайса 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-pip3pi@raspberrypi:~ $ git clone https://github.com/OpenLightingProject/ola.gitpi@raspberrypi:~ $ cd ola
компиляем и устанавливаем. собирать пакеты лень, да и надеюсь что после окончания проекта никто никогда вовнутрь не заглянет. займет оч много времени. на RPi 2 и тормознутой SD карте я оставлял на ночь.
pi@raspberrypi:~/ola $ autoreconf -ipi@raspberrypi:~/ola $ ./configure --enable-rdm-testspi@raspberrypi:~/ola $ makepi@raspberrypi:~/ola $ sudo make install
загружаем либы и проверяем работоспособность
pi@raspberrypi:~/ola $ sudo ldconfigpi@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 daemonAfter=network.targetStartLimitIntervalSec=0[Service]Type=simpleRestart=alwaysRestartSec=1User=piExecStart=olad[Install]WantedBy=multi-user.target
и засунем в автозагрузку
pi@raspberrypi:~ $ sudo systemctl start oladpi@raspberrypi:~ $ sudo systemctl enable olad

I2C

нужно включить I2C чтоб взаимодействовать с дисплеем
pi@raspberrypi:~ $ sudo raspi-config
Внутри Interfacing Options > I2C > enable и затем перезагружаемся.
Смотрим адрес дисплея на шине I2C, он нам понадобится
pi@raspberrypi:~/dmx-priest $ sudo i2cdetect -y 1
Мой был 3f, его надо будет прописать в RPi_I2C_driver.py. По идее лучше бы из программы считывать системную переменную, но мне было лень доделывать после того как все заработало.

Статичный IP

Некоторые консоли умею в броадкаст, некоторые надо прописывать вручную, так что сделаем статичный IP в адресе понятном и доступном всем dmx девайсам.
pi@raspberrypi:~ $ sudo nano /etc/dhcpcd.conf# Example static IP configuration:interface eth0static ip_address=2.150.43.69/24static routers=2.124.1.1static domain_name_servers=2.124.1.1

dmx-priest

Самописная прога для работы с дисплеем, крутилкой и ola. Python не знаю, PR приветствую.
Дергает 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-priestRequires=olad.serviceAfter=network.target olad.serviceStartLimitIntervalSec=0[Service]Type=simpleRestart=alwaysRestartSec=1User=piExecStart=dmx-priest[Install]WantedBy=multi-user.targetpi@raspberrypi:~ $ sudo systemctl start dmx-priestpi@raspberrypi:~ $ sudo systemctl enable dmx-priest

Юзаем

image
  • Крутим вправо 20 раз чтоб найти режим записи. 20 раз чтоб юзеры случайно не назаписывали всякого. Надпись на дисплее: Record mode push the knob.
  • Наджимаем: Ready to record push to start
  • Подготавливаем основную консоль для воспроизведения. Настаиваем свет на нужный лад
  • Нажимаем для начала записи: Rec in progress push to stop
  • Ждем какое-то время, зависит от програмы на основной консоли.
  • Нажимаем чтоб остановить запись. Нас возвращает обратно в меню: Play mode push the knob
  • Нажимаем чтоб войти в меню воспроизведения. Свежезаписаный пресет будет в формате YYYY.mm.dd HH:MM
  • Нажимаем на пресет или нажимаем на 99_blackout чтоб выйти и погасить все огни

Исходники

https://github.com/Virusmater/dmx-priest
Подробнее..

Абсурдно простой и невероятно эффективный как протокол DMX-512 сделал революцию в сценическом свете

08.11.2020 20:23:06 | Автор: admin

Довольно долго я работал со звуком на мероприятиях, куда попадали в основном по знакомству и связям. И все бы хорошо, но однажды пришлось переехать в другой город, начинать все с нуля и ходить по собеседованиям. На одном из таких меня попросили рассказать о протоколе DMX-512. Собеседование я тогда не прошел.

Зато появился повод детально изучить вопрос. Само существование DMX-512 и его появление, как оказалось, довольно интересная история. Хотя и для узкого круга людей.

Сегодня протокол DMX-512 (Digital Multiplex) для художников и техников по свету стал неотделимым от их работы. Его используют для управления большинством осветительных приборов и эффектов c его помощью выставляют свет на массовых мероприятиях по всему миру. Все потому что он до абсурда прост и при этом невероятно эффективен. В момент своего появления DMX-512 стал абсолютной революцией в сценическом свете.

Произошло это примерно так.

Начало

Впервые электричество проникло на сцену в 1849 году, а именно в парижский театр Grand Opera. В опере Мейербера Пророк для эффекта восхода солнца использовали дуговой прожектор с лампой и параболическим зеркальным отражателем. А сноп окрасили с помощью шелкового светофильтра.

С тех пор дуговые лампы стали применять повсеместно, хоть они и были крайне неудобны в обращении. Привычный для нас сценический свет появился почти сто лет спустя.

Рубеж

До появления интеллектуального управления в 60-70-х годах для освещения сцены использовали прожекторы с регулируемой яркостью с помощью диммеров и заранее установленными светофильтрами. Приборы направляли на нужные точки для окраски сцены, а перемигивание прожекторов осуществляли вручную через пульты.

Главной проблемой здесь становилось соединение пультов с прожекторами напрямую. Очевидное решение силовые кабели. Но оно подходит только для прожекторов небольшой мощности (около 500 Вт), и уже с десятком мощных приборов подключение становится невозможным. Для решения этой проблемы и начали придумывать интерфейсы управления без силовых элементов внутри пульта, а только со слабыми управляющими напряжения.

Прорыв

В середине 70-х годов приняли единый диапазон изменения управляющего напряжения 0-10V, использующийся во многих диммерах до сих пор. Один диммер занимал один канал управления и контролировал одну группу прожекторов.

Со временем количество каналов и расстояние управления увеличивалось. В конце 80-х 0-10V стал устаревать и, что самое главное, изменялся концепт самих световых приборов. Автоматику стали прятать внутрь, а сам прибор получал только постоянное питание, в связи с чем обострилась проблема передачи сигналов управления. Появилась необходимость разветвлять кабели, что увеличивало количество контактов и затрудняло поиск неисправностей. Для техников на выездных концертах задача выставить свет усложнилась в разы. Но рынок микроконтроллеров развивался и управление упрощалось. Тогда (а конкретно в 1968 году) и возник протокол DMX-512.

В данном случае термин протокол можно разделить на две части физическую и формат данных.

Физически микросхемы приемопередатчиков и правила монтажа линии (усилители, опторазвязки, терминаторы) базируются на стандарте RS-485 и завернуты в трехконтактные разъемы. Кабели делаются чаще всего с волновым сопротивлением 120 Ом.

Формат данных стартовый флаг и 512 байт. Данные отсылаются в линию с частотой 50-60 раз в секунду. То есть для управления нужен только один мастер световой пульт. Да, протокол настолько простой. Он не контролирует одинаковые адреса, их перекрытие и правильность. Пульт посылает байты, а приборы выбирают свои, игнорируя чужие. Всё остальное назначается конфигуратором системы.

Кроме того, выход из строя одного прибора не нарушал работу других за счет параллельного соединения разъемов входа и выхода. Простота и эффективность протокола DMX-512 позволила форсированно изобретать интеллектуальные системы управления сценическим светом. А также развивать уже существующие приборы и эффекты.

Результат

Один важный эволюционный скачок, как это часто бывает, повлек за собой другой развитие вращающихся голов. Это еще радикальнее изменило световое представление на сценах.

Уже в 1986 году представили первый такой прибор на протоколе DMX-512, что позволило увеличить углы движения луча и добиться оборота примерно в 300 градусов. Одна голова могла светить по всей сцене и даже в зрительный зал, что невероятно расширило возможности художников по свету. Вообще само появление вращающихся голов тоже полноправно можно считать эволюционным скачком в сценическом свете, но о них нужно рассказывать отдельно.

Прогнозы

Изначально DMX-512 задумывали и разрабатывали только для передачи данных между консолью и диммерами. Механизм исправления и предотвращения ошибок не учитывали, как и более-менее сложную систему адресов. На сегодняшний день протокол используют для управления практически всеми световыми приборами и эффектами, в том числе и теми, которые еще не изобрели в момент появления протокола.

Многие специалисты считают, что технология уже достигла своего предела уже изобрели протоколы SMX и SDX, которые компенсируют слабые места DMX-512, но пока они не пользуются большой популярностью. Стагнация в технологиях не может длиться долго. Она либо развивается, либо отмирает, уступая место принципиально другим решениям. Но свет точно никуда не денется, так что в ближайшее время ждем нового прорыва.

Подробнее..

Категории

Последние комментарии

  • Имя: Макс
    24.08.2022 | 11:28
    Я разраб в IT компании, работаю на арбитражную команду. Мы работаем с приламы и сайтами, при работе замечаются постоянные баны и лаги. Пацаны посоветовали сервис по анализу исходного кода,https://app Подробнее..
  • Имя: 9055410337
    20.08.2022 | 17:41
    поможем пишите в телеграм Подробнее..
  • Имя: sabbat
    17.08.2022 | 20:42
    Охренеть.. это просто шикарная статья, феноменально круто. Большое спасибо за разбор! Надеюсь как-нибудь с тобой связаться для обсуждений чего-либо) Подробнее..
  • Имя: Мария
    09.08.2022 | 14:44
    Добрый день. Если обладаете такой информацией, то подскажите, пожалуйста, где можно найти много-много материала по Yggdrasil и его уязвимостях для написания диплома? Благодарю. Подробнее..
© 2006-2024, personeltest.ru