[DIY или Сделай сам, Разработка на Raspberry Pi] dmx-priest: плеер и рекордер DMX пресетов для светового оборудования
Автор
Сообщение
news_bot ®
Стаж: 6 лет 9 месяцев
Сообщений: 27286
СитуацияЯ волонтерю в небольшой организации, мы устраиваем вечеринки, концерты итд.
У нас есть дорогущая консоль для управления светом (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 update
pi@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-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
Внутри «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 eth0
static ip_address=2.150.43.69/24
static routers=2.124.1.1
static 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-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 раз чтоб юзеры случайно не назаписывали всякого. Надпись на дисплее: «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
===========
Источник:
habr.com
===========
Похожие новости:
- [DIY или Сделай сам] Часы светодиодные для улицы, так что внутри?
- [DIY или Сделай сам, Open source] Openwrt сниффер витой пары
- [DIY или Сделай сам, Беспроводные технологии, Разработка под Arduino] Мини плата для разработки и отладки ПО на BLE, Zigbee Thread
- [Гаджеты, Игры и игровые приставки, Компьютерное железо, Разработка на Raspberry Pi] Энтузиасты установили Steam на Raspberry Pi 4 и смогли запустить там некоторые игры
- [Разработка под Arduino, Робототехника, DIY или Сделай сам] Робот из LEGO и Arduino, обходящий препятствия (перевод)
- [Гаджеты, Компьютерное железо, Разработка на Raspberry Pi] Инструкция по установке Windows 10 на Raspberry Pi 4 от Tom's Hardware
- [DIY или Сделай сам, Компьютерное железо] FPV Квадрокоптер: Фильтрация в Betaflight
- [C#, DIY или Сделай сам, Разработка под Arduino] Использование контроллера Arduino для прерываний
- [Компьютерное железо, Облачные сервисы, Разработка на Raspberry Pi, Хостинг] Raspberry Pi Foundation захостила свой сайт на Raspberry Pi 4. Теперь этот хостинг доступен всем
- [DIY или Сделай сам, Open source, Разработка на Raspberry Pi, Электроника для начинающих] babooshka tv, как самодельный видео-показатор сместил «точку сборки» моих пожилых родителей
Теги для поиска: #_diy_ili_sdelaj_sam (DIY или Сделай сам), #_razrabotka_na_raspberry_pi (Разработка на Raspberry Pi), #_dmx, #_dmx512, #_raspberry_pi, #_open_lighting_architecture, #_diy_ili_sdelaj_sam (
DIY или Сделай сам
), #_razrabotka_na_raspberry_pi (
Разработка на Raspberry Pi
)
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 19:12
Часовой пояс: UTC + 5
Автор | Сообщение |
---|---|
news_bot ®
Стаж: 6 лет 9 месяцев |
|
СитуацияЯ волонтерю в небольшой организации, мы устраиваем вечеринки, концерты итд. У нас есть дорогущая консоль для управления светом (Avolites Titan Quartz). Её используем только для больших выступлений и ручного управления. Консоль коннектится к LAN2DMX устройству (dmXLAN Buddy) которое конвертирует Art-Net протокол в сигнал понятный DMX устройствам. Нужен был девайс, который мог бы записать программу с главной консоли, а потом бесконечно играть данный пресет. Им должно быть просто пользоваться без надобности доставать и пресматривать за дорогим и сложным оборудованием.РешениеЖелезо
Я просто раздраконил 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 update
pi@raspberrypi:~ $ sudo apt-get dist-upgrade 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 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 создадим сервис для 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 pi@raspberrypi:~ $ sudo raspi-config
Смотрим адрес дисплея на шине I2C, он нам понадобится pi@raspberrypi:~/dmx-priest $ sudo i2cdetect -y 1
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 Дергает 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
=========== Источник: habr.com =========== Похожие новости:
DIY или Сделай сам ), #_razrabotka_na_raspberry_pi ( Разработка на Raspberry Pi ) |
|
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах
Вы не можете прикреплять файлы к сообщениям
Вы не можете скачивать файлы
Текущее время: 22-Ноя 19:12
Часовой пояс: UTC + 5