状況
私は小さな組織にボランティアとして参加し、パーティーやコンサートなどを主催しています。
高価なライトコントロールコンソール(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