dmx-prêtre: lecteur et enregistreur DMX pour matériel d'éclairage

Situation



Je fais du bénévolat pour une petite organisation, nous organisons des soirées, des concerts, etc.



Nous avons une console de commande d'éclairage coûteuse (Avolites Titan Quartz). Nous ne l'utilisons que pour les grands spectacles et le contrôle manuel. La console se connecte à un appareil LAN2DMX (dmXLAN Buddy) qui convertit le protocole Art-Net en un signal que les appareils DMX peuvent comprendre.



Nous avions besoin d'un appareil capable d'enregistrer le programme depuis la console principale, puis de lire ce préréglage à l'infini. Il doit être facile à utiliser sans avoir à atteindre et à entretenir des équipements coûteux et complexes.



Décision



Le fer



  • Tarte aux framboises. N'importe quelle version fera probablement l'affaire. J'ai utilisé la seconde existante
  • Écran LCD. J'ai utilisé 16x2 avec le bouclier I2C déjà attaché
  • Codeur rotatif. Quelque chose qui peut être tordu et exploité comme moyen d'entrée. J'en ai acheté un prêt à l'emploi, avec toutes les résistances.
  • Cavaliers. Ou juste des fils, s'ils sont fermement soudés au peigne RPi
  • Petites choses: étui, micro-câble USB, bouton d'alimentation


Relier



Affichage :



  • GND à la broche 6 (masse)
  • VCC à la broche 4 (alimentation 5 V)
  • SDA à la broche 3 (GPIO 2)
  • SLC sur la broche 5 (GPIO 3)


Spinner :



  • CLK à la broche 12 (GPIO 18)
  • DT à la broche 13 (GPIO 27)
  • SW à la broche 11 (GPIO 17)
  • + à la broche 1 (alimentation 3V3)
  • GND à la broche 14 (masse)


Alimentation :

je viens de casser le câble micro USB, soudé le bouton. J'ai sorti un connecteur d'alimentation rond, plus facile à utiliser.



Logiciel



Axe



Nous prenons un système d'exploitation Raspberry Pi (32 bits) Lite standard et l'installons sur SD à l'aide d'Etcher.



Ajoutez le fichier "ssh" à / boot pour activer SSH, car vous ne voulez pas connecter un moniteur et un clavier.



SSH vers RPi:



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


Nous mettons à jour pour tout le monde:



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


Architecture Lightning ouverte

Installez des packages pour construire le cœur de notre appareil - 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


compilez et installez. c'est trop paresseux pour collecter des paquets, et j'espère qu'après la fin du projet, personne ne regardera jamais à l'intérieur. prendra beaucoup de temps. sur RPi 2 et une carte SD ralentie, je l'ai laissé toute la nuit.



pi@raspberrypi:~/ola $ autoreconf -i
pi@raspberrypi:~/ola $ ./configure --enable-rdm-tests
pi@raspberrypi:~/ola $ make
pi@raspberrypi:~/ola $ sudo make install


Nous chargeons ou vérifions les performances:



pi@raspberrypi:~/ola $ sudo ldconfig
pi@raspberrypi:~/ola $ olad -l 3


allez à http: // [Pi-IP-address]: 9090 / ola.html et voyez que tout s'ouvre. en fait, nous n'avons pas besoin d'un serveur web, vous pouvez le shaman dans le fichier de configuration et le construire sans lui.



créer un service pour 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


et le mettre au démarrage



pi@raspberrypi:~ $ sudo systemctl start olad
pi@raspberrypi:~ $ sudo systemctl enable olad


I2C

vous devez activer I2C pour interagir avec l'écran



pi@raspberrypi:~ $ sudo raspi-config


Dans "Options d'interfaçage"> "I2C"> "activer", puis redémarrez.

Nous regardons l'adresse d'affichage sur le bus I2C, nous en avons besoin



pi@raspberrypi:~/dmx-priest $ sudo i2cdetect -y 1


Le mien était 3f, il devra être enregistré dans RPi_I2C_driver.py. En théorie, il serait préférable de lire la variable système à partir du programme, mais j'étais trop paresseux pour la terminer après que tout a fonctionné.



I.P statique



Certaines consoles sont bonnes pour la diffusion, certaines doivent être enregistrées manuellement, alors créons une adresse IP statique compréhensible et accessible à tous les appareils 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-prêtre



Programme auto-écrit pour travailler avec l'affichage, la torsion et l'ola. Python je ne sais pas, PR est le bienvenu.



Tire ola_patch pour s'accorder sur l'entrée (pour l'écriture depuis la console) ou sur la sortie (pour fonctionner seul). Utilise ola_recorder pour l'enregistrement et la lecture.



Installer:



pi@raspberrypi:~ $ sudo pip3 install git+https://github.com/Virusmater/dmx-priest


Ajouter au démarrage:



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


Yuzai



image



  • Tournez à droite 20 fois pour trouver le mode d'enregistrement. 20 fois pour que les utilisateurs n'écrivent rien par accident. Affichage: "Mode d'enregistrement - appuyez sur le bouton".
  • Push: "Prêt à enregistrer - appuyez pour démarrer"
  • Préparation de la console principale pour la lecture. Nous insistons sur la lumière de la bonne manière
  • Cliquez pour démarrer l'enregistrement: "Enregistrement en cours - appuyez pour arrêter"
  • Nous attendons un moment, selon le programme sur la console principale.
  • Cliquez pour arrêter l'enregistrement. On revient au menu: "Play mode - push the potard"
  • Cliquez pour entrer dans le menu de lecture. Le nouveau préréglage enregistré sera au format AAAA.mm.jj HH: MM
  • Cliquez sur le préréglage ou cliquez sur 99_blackout pour quitter et éteindre toutes les lumières


Codes source



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



All Articles