Lesezeit ca. 7 Min.

DMX mit dem Kunbus Revolution Pi Core 3+ Partylaune


Raspberry Pi Geek - epaper ⋅ Ausgabe 12/2021 vom 07.10.2021

DMX

Artikelbild für den Artikel "DMX mit dem Kunbus Revolution Pi Core 3+ Partylaune" aus der Ausgabe 12/2021 von Raspberry Pi Geek. Dieses epaper sofort kaufen oder online lesen mit der Zeitschriften-Flatrate United Kiosk NEWS.

Bildquelle: Raspberry Pi Geek, Ausgabe 12/2021

README

Das DMX-Protokoll zum Steuern von Lichttechnik wie Dimmern, intelligenten Scheinwerfern und Effektgeräten stammt aus der Bühnen- und Veranstaltungstechnik. Es lässt sich aber auch in der Heimautomation einsetzen. In diesem Artikel beleuchten wir die Grundlagen von DMX und zeigen, wie Sie mit dem Revolution Pi DMX-Geräte ansteuern.

Die Abkürzung DMX steht für Digital Multiplex. Prinzipiell gebt es darum, alle DMX Geräte über einen einfachen und robusten Bus anzusteuern. DMX verwendet zur Datenübertragung die RS485-Spezifikation, also einen asynchronen seriellen Transfer. Das Signal wird über zwei Leitungen gleichzeitig mit invertierten Spannungspegeln übertragen (±5 Volt).

Diese Art der Datenübertragung ist resistent gegen Störsignale von außen und ermöglicht theoretisch Leitungslängen bis zu 1200 Metern. Mit steigender Leitungslänge nimmt allerdings die Datenübertragungsrate ab. Bis zu ...

Weiterlesen
epaper-Einzelheft 8,99€
NEWS Jetzt gratis testen
Bereits gekauft?Anmelden & Lesen
Leseprobe: Abdruck mit freundlicher Genehmigung von Raspberry Pi Geek. Alle Rechte vorbehalten.
Lesen Sie jetzt diesen Artikel und viele weitere spannende Reportagen, Interviews, Hintergrundberichte, Kommentare und mehr aus über 1000 Magazinen und Zeitungen. Mit der Zeitschriften-Flatrate NEWS von United Kiosk können Sie nicht nur in den aktuellen Ausgaben, sondern auch in Sonderheften und im umfassenden Archiv der Titel stöbern und nach Ihren Themen und Interessensgebieten suchen. Neben der großen Auswahl und dem einfachen Zugriff auf das aktuelle Wissen der Welt profitieren Sie unter anderem von diesen fünf Vorteilen:

  • Schwerpunkt auf deutschsprachige Magazine
  • Papier sparen & Umwelt schonen
  • Nur bei uns: Leselisten (wie Playlists)
  • Zertifizierte Sicherheit
  • Freundlicher Service
Erfahren Sie hier mehr über United Kiosk NEWS.

Mehr aus dieser Ausgabe

Titelbild der Ausgabe 12/2021 von Eine besondere Zeit. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Eine besondere Zeit
Titelbild der Ausgabe 12/2021 von Vorratshaltung. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Vorratshaltung
Titelbild der Ausgabe 12/2021 von Netzwerktacho. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Netzwerktacho
Titelbild der Ausgabe 12/2021 von Stromverteiler. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Stromverteiler
Titelbild der Ausgabe 12/2021 von Entwicklungshilfe. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Entwicklungshilfe
Titelbild der Ausgabe 12/2021 von Gut organisiert. Zeitschriften als Abo oder epaper bei United Kiosk online kaufen.
Gut organisiert
Vorheriger Artikel
Entwicklungshilfe
aus dieser Ausgabe
Nächster Artikel Gut organisiert
aus dieser Ausgabe

... einer Entfernung von 10 Metern lässt sich über RS485 die maximale Datenrate von 10 Mbit/​s erreichen.

DMX arbeitet standardmäßig mit einer Datenrate von 250 kbit/​s, ein DMX-Netzwerk wird aus Strängen aufgebaut. In einem Strang dürfen sich bis zu 32 DMX-Empfänger befinden. Kommen mehr Empfänger zum Einsatz, erfordert das den Einsatz eines Repeaters, der das Netzwerk vergrößert. Verzweigungen werden im Netzwerk mit speziellen Splittern realisiert. Zur Verbindung kommen an allen DMX-Geräten dreipolige, extrem robuste XLR-Stecker zum Einsatz, die sich bestens für den Bühnenbereich eignen.

In einem DMX512 gibt es 512 mögliche Geräteadressen. Je nachdem, wie viele Adressen eine Komponente benötigt, variiert die Anzahl der Geräte, die sich an einem Bus betreiben lassen.

DMX-Leuchten

In diesem Artikel verwenden wir zwei einfache DMX-Leuchten, die der Autor vor einiger Zeit für 6,58 Euro pro Stück direkt in China bestellte . Seit Juli 2021 haben sich die Bestimmungen dahingehend verändert, dass Waren bereits ab 1 Euro Wert verzollt werden müssen. Zusätzlich fällt noch eine Bearbeitungsgebühr des Transportunternehmens an.

Rechnet man all das zusammen, könnte eine Direktbestellung in China sich heute nicht mehr rentieren. Erkundigen Sie sich daher bitte vorab, welche zusätzlichen Kosten auf Sie zukommen.

Die Leuchten haben jeweils acht Kanäle, belegen also am DMX-Bus auch acht Adressen. Weisen Sie der ersten Lampe die Adresse 1 zu, bekommt die zweite Lampe die Adresse 9. Etwas verwirrend wird im DMX-Umfeld von Adressen und Kanälen geredet, als wären das unterschiedliche Dinge. Die Faustregel aber lautet: Für jeden Kanal im Gerät müssen Sie eine Adresse vorhalten. Die Tabelle Kanäle der DMX-Leuchten zeigt eine Übersicht der Kanäle der verwendeten Hardware.

Die meisten Funktionen der DMX-Lampen sind selbsterklärend. Es gibt nur wenige Punkte, die besondere Beachtung erfordern. Damit die Lampe zu leuchten beginnt, muss in Kanal 1 ein Wert größer 0 stehen. Es funktioniert nicht, nur den roten Dimmer hochzudrehen, solange der allgemeine Dimmer auf 0 steht.

Ein Wert von 0 deaktiviert das Stroboskop (Kanal 6). Bei einem Wert von 1 blinkt es mit maximalem Takt und wird umso langsamer, je weiter Sie den Wert erhöhen. Im Automode lassen sich verschiedene vordefinierte Farbszenarien auswählen. Deren Abspielgeschwindigkeit steuern Sie über Kanal 8. An dieser Stelle bleibt die Herstellerdokumentation etwas vage; es lässt sich nicht klar ersehen, was genau passieren soll. Das stellt für uns aber kein Problem dar: Wir benötigen diese Funktion nicht, da wir eine externe Ansteuerung verwenden.

Die Lampen verfügen über je einen DMX-Ein- und ‐Ausgang und haben eine Leistungsaufnahme von 36 Watt, die Spannungsversorgung kann also über eine handelsübliche Steckdose erfolgen. Die Adressen der Leuchten lassen sich über eine vierstellige 7-Segment-Anzeige auf der Rückseite recht intuitiv einstellen. Achten Sie nur darauf, dass im Display an der ersten Stelle ein „A“ erscheint. Weisen Sie der ersten Lampe die Adresse 1 und der zweiten die Adresse 9 zu. Klappt das Einstellen der Adresse nicht auf Anhieb, hilft im Zweifel ein Blick in die beiliegende Herstelleranleitung. Abbildung 1 1 zeigt die zwei Lampen mit der Verkabelung sowie den zur Steuerung dienenden Revolution Pi.

Revolution Pi

Beim Revolution Pi Core 3+ von Kunbus (im Folgenden kurz: RevPi Core) handelt es sich um eine industrietaugliche Kleinsteuerung auf Basis eines Raspberry Pi Compute Module, die wir Ihnen bereits in RPG 05-06/​2021 vorgestellt haben . Der RevPi Core lässt sich mit verschiedenen Modulen erweitern und so an unterschiedliche Anforderungen anpassen. Im umfangreichen Modulfundus des Herstellers findet sich auch ein Exemplar, über das der RevPi Core eine Verbindung zum DMX-Bus aufbauen kann.

Das DMX-Modul kann sowohl im Master- als auch im Slave-Modus arbeiten und bis zu 512 DMX-Adressen ansteuern. Die Versorgungsspannung beträgt 24 Volt DC bei einer Stromaufnahme im Betrieb von 100 Milliampere. Den aktuellen Betriebsstatus zeigt das Modul über drei LEDs an. Die genaue Bedeutung der Anzeigen zeigt die Tabelle Betriebszustände.

Über einen achtpoligen Stecker auf der Vorderseite des Moduls stellen Sie eine Verbindung zum DMX-Bus her. Die Belegung des Steckers zeigt die Tabelle Pin- Belegung. Sie finden sie – ebenso wie die Anschlussbelegung für den dreipoligen XLR-Stecker – auch noch einmal auf der Seite des Moduls. Wenn Sie weitere Informationen zum RevPi-DMX-Modul benötigen, werfen Sie am besten einen Blick in das Anwenderhandbuch .

Weitere Infos und interessante Links

www.raspi-geek.de/qr/46745

Konfiguration und Test

Das DMX-Modul lässt sich auf zwei Arten konfigurieren: Entweder Sie verwenden die Schalter auf der Vorderseite des Moduls oder Sie setzen die entsprechenden Werte per Software. Wir zeigen hier, wie Sie das Modul per Software konfigurieren. Dazu melden Sie sich zunächst beim RevPi Core an 2 . Der Benutzername lautet admin, das dazugehörige Passwort findet sich auf der rechten Gehäuseseite des Geräts.

Nach dem erfolgreichen Login starten Sie die App PiCtory 3 . Fügen Sie nun den RevPi Core und das DMX-Modul per Drag & Drop der aktuellen Konfiguration hinzu. Das DMX-Modul wird über 2 Bytes konfiguriert. Eine Übersicht der möglichen Parameter finden Sie in der Tabelle Konfigurationsbits. Die Adress-respektive Kanaleinstellungen unterscheiden Sie je nach Modus (Senden/​Empfangen) leicht. Ziehen Sie hier bei Bedarf das Handbuch zurate.

Für unseren Versuchsaufbau setzen Sie im Value Editor das erste Konfigurationsbyte (Config_1) auf 0x10 und das zweite (Config_2) auf 0x80. Um aus Programmen auf die einzelnen Bytes des DMX-Moduls zugreifen zu können, müssen diese durch Setzen eines Häkchens in der Spalte Export bekannt gemacht werden. Für den Testaufbau benötigen Sie die ersten 16 Byte (DMXOut_1 bis DMXOut_16).

Abbildung 4 zeigt die komplette Konfiguration des RevPi Core samt DMX-Modul. Damit die Einstellungen auch nach einem Neustart des RevPi Core aktiv bleiben, speichern Sie die Konfiguration über das Menü File | Save as Start-Config. Starten Sie nun den RevPi Core einmal komplett neu, um zu überprüfen, ob die Einstellungen alle gegriffen haben.

Nach dem Reboot verbinden Sie sich per SSH auf die Konsole des RevPi Core. Unter Linux verwenden Sie dazu das Kommandozeilenwerkzeug ssh, Windows-Anwender installieren PuTTY . Der Benutzername für die Anmeldung lautet pi, das Passwort ist dasselbe wie beim Login über den Browser.

Für einen kleinen Test des Aufbaus ist das Programm piTest geeignet, mit dem Sie schreibend und lesend auf alle Schnittstellen des RevPi Core zugreifen können. Starten Sie das Tool ohne Parameter, liefert es eine Auflistung aller Möglichkeiten. Listing 1 zieht die notwendigen Befehle, um die erste DMX-Lampe rot und die zweite grün leuchten zu lassen.

Die ersten beiden Kommandos drehen den Master-Dimmer der beiden Lampen komplett auf, die beiden folgenden erledigen dasselbe für die Farben. Zwar lassen sich Werte zwischen 0 und 255 in die Kanäle schreiben, die Intensität der Leuchten ändert sich aber nur alle 16 Werte. Das ist nicht generell bei DMX so, sondern nur bei diesen günstigen Lampen.

Das Programm piTest gibt jedes Mal den Offset im Prozessabbild des RevPi Core mit aus. Das Prozessabbild repräsentiert alle Schnittstellen des Geräts. Sie können auch über den Offset auf die DMX-Adressen zugreifen. Listing 2 verwendet diese Möglichkeit, um die Lampen wieder auszuschalten. Prinzipiell könnte man mit ein wenig Shell-Skript-Magie die Lampen automatisch ansteuern. Da Shell-Programmierung aber nicht jedermanns Sache ist, sehen wir uns im nächsten Abschnitt an, wie man die DMX-Lampen mit einem Python-Skript ansteuert.

Programm

Das Python-Skript aus Listing 3 lädt zunächst alle notwendigen Bibliotheken. Im folgenden Block legt es einige Variablen und Konstanten für den Offset an. Wie wir im vorigen Abschnitt gesehen haben, kann man sowohl über den Klartextnamen als auch über den Offset auf Werte des RevPi Core zugreifen.

Mithilfe der Bibliothek Fcntl ließe sich das Skript so gestalten, dass es im Hintergrund den Offset ermittelt und statt des Klartextnamens verwendet. Diese aufwendige Prozedur vermeidet das vorgestellte Skript, indem es direkt die Offsets benutzt. Da diese sich im Beispiel immer um 1 erhöhen, muss man nicht alle Werte durch Ausprobieren ermitteln. Ein Codebeispiel, das die Verwendung der Klartextnamen demonstriert, findet sich auf der Kunbus-Homepage .

Zwei Klassen dienen dazu, die Verbindung zum RevPi (RevPi) aufzubauen und die Farbwechsel der Lampen (DMX) zu steuern. Mit dem open()-Kommando öffnen Sie eine Verbindung zum Hardwaretreiber und speichern sie in der Variablen _rev_Pi. Alle Zugriffe auf die Hardware erfolgen dann über diese Variable.

In der Klasse DMX sorgen die do_FARBE- Methoden mithilfe der Anweisung update_color() dafür, dass die entsprechende Farbe an die Lampe übermittelt wird. Die Berechnung der Farbe erfolgt in der Methode set_step(), gesteuert über die Variable mode_val. Da die Lampen nur ein recht grobes Dimmen beherrschen, werden die Werte für die einzelnen Farben immer um 16 erhöht oder verringert. Bei zwei Leuchten und drei Farben ergeben sich sechs mögliche Farbübergänge. Daher wird die Variable mode wieder auf 1 gesetzt, sobald sie den Wert 7 erreicht. Der Befehl time.sleep(0.05) steuert die Geschwindigkeit der Farbübergänge. Die __init__-Methode der Klasse DMX setzt den Master-Dimmer auf 100 Prozent, um die Dimmer für die einzelnen Farben voll ausnutzen zu können. Durch das Kommando while 1 läuft das Programm in einer Endlosschleife, die Sie mit [Strg]+[C] abbrechen können. Innerhalb dieser Schleife verändert der Code die Variable mode und übergibt sie an die Objekte für die zwei Lampen, wodurch eine bestimmte Farbe ein- oder ausgeblendet wird. Erreicht eine Farbe ihren neuen Wert, erhöht sich die Variable mode um 1. Um einen Farbübergang vollständig zu durchlaufen, muss man die Methode set_step() sechzehnmal aufrufen – das erledigt die zweite For-Schleife.

Sie starten das Demoprogramm mit dem Befehl python3 dmx_demo.py auf der Kommandozeile des RevPi Core. Auf Youtube finden Sie ein Video, das unser Demoprogramm in Aktion zeigt .

Fazit

Mit dem DMX-Modul für den Revolution Pi Core 3+ fällt es leicht, sich in die Materie einzuarbeiten. Ein wenig Stöbern im Internet fördert viele interessante Geräte zutage, die sich mit DMX ansteuern lassen. Neben der klassischen Bühnenbeleuchtung decken die Produkte auch Beleuchtungssysteme für die Heimautomation ab. Ein echtes Highlight unter den DMX-Geräten ist ein voll beweglicher, sprechender Totenkopf . Wir wünschen Ihnen viel Spaß bei eigenen Experimenten rund um DMX. (jlu)

Dateien zum Artikel herunterladen unter

www.raspi-geek.de/dl/46745