dmx-priest:照明器具用のDMXプレーヤーとレコーダー

状況



私は小さな組織にボランティアとして参加し、パーティーやコンサートなどを主催しています。



高価なライトコントロールコンソール(Avolites Titan Quartz)があります。大規模なショーや手動制御にのみ使用します。コンソールは、Art-NetプロトコルをDMXデバイスが理解できる信号に変換するLAN2DMXデバイス(dmXLANバディ)に接続します。



メインコンソールからプログラムを記録し、このプリセットを際限なく再生できるデバイスが必要でした。高価で複雑な機器に手を伸ばして世話をする必要がなく、使いやすいはずです。



決定





  • ラズベリーパイ。おそらく、どのバージョンでもかまいません。既存の2番目を使用しました
  • 液晶画面。I2Cシールドがすでに取り付けられている16x2を使用しました
  • ロータリーエンコーダー。入力の手段としてねじったりタップしたりできるもの。すべての抵抗が付いた既製のものを購入しました。
  • ジャンパー。または、RPiコームにしっかりとはんだ付けされている場合は、ワイヤだけ
  • 小さなもの:ケース、usbマイクロケーブル、電源ボタン


接続する



ディスプレイ



  • GNDからピン6(アース)
  • ピン4へのVCC(5V電源)
  • SDAからピン3(GPIO 2)
  • ピン5のSLC(GPIO 3)


スピナー



  • ピン12へのCLK(GPIO 18)
  • DTからピン13(GPIO 27)
  • SWからピン11(GPIO 17)
  • +ピン1(3V3電源)
  • GNDからピン14(アース)


電源

マイクロUSBケーブルを壊し、ボタンをはんだ付けしました。使いやすい丸型電源コネクタを取り出しました。



ソフトウェア





標準のRaspberryPi OS(32ビット)Liteを使用して、Etcherを使用してSDにインストールします。



モニターとキーボードを接続したくないので、「ssh」ファイルを/ bootに追加してSSHを有効にします。



RPiへのSSH:



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


私たちは皆のために更新します:



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


オープンライトニングアーキテクチャ

デバイスの心臓部であるOpenLightningArchitectureを構築するためのパッケージをインストールします。



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に移動し、すべてが開くことを確認します。実際、Webサーバーは必要ありません。構成ファイルでシャーマンを作成し、それなしでビルドできます。



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デバイスが理解できてアクセスできる静的IPアドレスを作成しましょう。



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



ディスプレイ、ツイスト、オラを操作するための自作プログラム。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回。表示:「録音モード-ノブを押してください」。
  • プッシュ:「記録の準備ができました-プッシュして開始」
  • メインコンソールを再生するための準備。私たちは正しい方法で光を主張します
  • クリックして録音を開始します:「録音中-プッシュして停止」
  • メインコンソールのプログラムにもよりますが、しばらくお待ちください。
  • クリックして録音を停止します。メニューに戻ります:「再生モード-ノブを押す」
  • クリックして再生メニューに入ります。新しく記録されたプリセットは、YYYY.mm.dd HH:MMの形式になります。
  • プリセットをクリックするか、99_blackoutをクリックして終了し、すべてのライトをオフにします


ソースコード



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



All Articles