Bielefeld devblog@posteo.de

Sprache auswählen

RoonMatrix - Worum geht es?

tl;dr

Es geht um ein Maker-Projekt, den Selbstbau einer LED-Matrixanzeige auf welcher beliebige Informationen angezeigt werden können. Das Gerät wird über WLAN mit dem lokalen Netzwerk verbunden, und kann darüber lokale oder via Internet verbundene Quellen anzapfen, welche dann auf dem Display angezeigt werden können, wie z.B. Audioquellen die zur Zeit abgespielt werden (Zone, Artist, Album, Titel), Wetter, beliebige RSS-Feeds, und Uhrzeit. Das ganze kann komfortabel über eine App gesteuert werden, welche auf allen wichtigen Plattformen läuft (iPhone, iPad, Android, MacOS, Windows, Linux). 

 

Bei der RoonMatrix handelt es sich um eine LED-Anzeige, welche von einem Raspberry Zero 2W angetrieben wird.


Das ist im wesentlichen ein CPU-Board mit einer Quad-Core 64-Bit Arm Cortex-A53 CPU, die mit 1GHz getaktet ist, und über 512 MB LPDDR2 SDRAM verfügt.
Das Board kann drahtlos über ein 2.4GHz 802.11 b/g/n Wireless LAN und Bluetooth 4.2 inkl. Bluetooth Low-energy (BLE) mit der Aussenwelt kommunizieren.
Auch ein HDMI-Port für den Anschluss eines Displays ist vorhanden, welcher in diesem Projekt aber nicht verwendet wird.
Das Betriebssystem inkl. der Steuerungs-Software kann auf eine micro-SD Karte geschrieben, und in den entsprechenden micro-SD Slot des Boards geschoben werden.
Das Board verfügt ausserdem über einen vielseitigen 40pin I/O Port. Dieser wird in diesem Projekt genutzt, um hierüber eine LED-Matrix und Steuerungstaster anzuschliessen. Diese beiden Zusatzkomponenten werden genutzt, um auf dem Gerät verschiedenste Dinge anzeigen, und den Ablauf steuern zu können. Praktisch ist auch der micro-B USB Port. Hier kann z.B. ein USB Bluetooth Audio-Adapter angeschlossen werden.
Vor allem ist dieses Board aber sehr kompakt. Es misst nur 65 x 30 x 5mm, und lässt sich daher sehr gut in kleine Geräte integrieren - wie hier in der RoonMatrix.

So sieht das CPU Board aus:

Raspberry Zero 2W.

 

Die LED-Matrix besteht aus LED-Modulen mit jeweils 8x8 LEDs, also 8 horizontal angeordnete Leuchtdioden in 8 Reihen, sowie einer Steuerungsplatine, in der die LED Matrix eingesteckt ist. Diese Module sind mittlerweile sehr günstig zu haben. Im Standardgerät sind 21 Stück davon in Reihe verbaut, was dann eine Displayauflösung von 168x8 ergibt. In der Mini-Variante sind es 9 Module mit einer Displayauflösung von insgesamt 72x8.

Ein solches Modul sieht so aus:

Die Steuerplatine konvertiert den seriellen Datenstrom des CPU Boards in parallele Steuerungsimpulse, welche über I/O Leitungen die LED Matrix steuern. 
Die serielle Verbindung reduziert die Anzahl der vom I/O Port des CPU Boards benötigten Anschlüsse auf nur 3 Leitungen.
Zusammen mit dem Anschluss an die Stromversorgung kommt man dann auf insgesamt 5 Leitungen, welche vom CPU Board zum ersten Modul verkabelt werden müssen.

Hier ein Blick auf das Steuermodul, die LED Matrix, sowie die 5poligen Stiftleisten zur Verbindung mit dem CPU Board.:
 

Jetzt wirst du eventuell fragen: Wofür hat das Modul denn zwei Leisten?
Nun, darüber lassen sich mehrere Module in Reihe miteinander verbinden, denn ein einzelnes Modul wäre ja irgendwie langweilig.
Dadurch kann man also fast beliebig lange Modulketten erzeugen.
Man ist grundsätzlich frei, wieviele der Module man tatsächlich in Reihe schalten möchte. Die Anzahl ist in der dazu passenden Software frei konfigurierbar.

Die fertig aufgebaute Anzeige ist grundsätzlich in der Lage, beliebig lange Texte auf der Anzeige anzuzeigen. Die Texte werden dabei horizontal durchgeschoben (neudeutsch gescrollt).
Es ist aber auch möglich, Texte autom. zu splitten, und dann vertikal zu scrollen. Die Helligkeit lässt sich ebenso regeln, wie die Geschwindigkeit anpassen.
Damit man Inhalte flexibel steuern kann, gibt es ein Tasterkreuz. Das sind 4 Buttons welche im Kreuz angeordnet sind, sowie einen Taster in der Mitte. Ähnliches kennt man von vielen Fernbedienungen für den Medienkonsum.

Das Tasterkreuz wird über ein 5poliges Flachbandkabel mit den I/O Ports des CPU Boards verbunden:

 

Die fertige LED Matrix-Anzeige sieht dann so aus:

Detailansicht mit den Tastern:

Noch eine Frage: Warum heisst das Ding denn RoonMatrix?

Nun, die dazu passende Software ermöglicht es, verschiedene Dinge auf der LED-Matrix anzuzeigen. Und ein zentrales Feature davon ist die Unterstützung für die vielleicht momentan beste Musiksteuerungs-Software: Roon.
RoonMatrix erlaubt über das Tasterkreuz die Steuerung dessen, was auf den verschiedenen Devices zu hören ist, welche über den Roon Server angebunden sind.
Das können Bluetooth Kopfhörer sein, Digitalverstärker, oder Streamer welche Roon-Ready sind, oder andere Ausgabegeräte eines Mac oder PC worauf die Roon Client Software läuft.
Die Steuerung erlaubt es, zum nächsten Musiktitel zu springen, oder in einem Album zum Titel vor dem aktuell abgespielten zurückzuspringen, den Stream anzuhalten, oder wieder zu starten.
Auch die Steuerung ob man Titel in zufälliger Reihenfolge abspielen möchte oder nicht, ist über das Tastenkreuz möglich (shuffle mode).

Aber natürlich ist nicht nur die Steuerung der Kanäle möglich.
Die Matrixanzeige zeigt die Informationen für alle momentan abgespielten Titel an: Die Roon Zone, Artist, Album, und den Titel.

Aber es gibt noch mehr: Neben Roon wird auch Apple Music und Spotify unterstützt, so dass auch die darüber abgespielten Titel angezeigt werden können. Diese lassen sich ebenfalls über das Tastenkreuz steuern. Das geht aber nicht Out-of-the Box, etwas Software in Form eines lokalen Webservers wird dafür benötigt. Nähere Infos dazu findest du hier.

Die weiteren Features (momentaner Stand der Software):
- Anzeige der Wetterdaten für einen Ort.
- Beliebige RSS Feeds
- Datum und Uhrzeit

Welche Details genau in welcher Art und Weise angezeigt werden sollen, kann entsprechend per Terminalverbindung (SSH) via WIFI zum CPU-Board in einer Datei konfiguriert werden.

Wesentlich komfortabler geht die Konfiguration aber mit einer passenden App, welche es für Apple (macOS, iOS), Android, sowie Windows und Linux (Arm und Intel) gibt.
Die App bietet folgende Vorteile:
- Komplette Konfiguration über die App.
- Steuerung der Audiostreams über ein virtuelles Tastenfeld.
- Beliebigen Text eingeben und auf dem Matrixdisplay anzeigen.
- Live-Kontrolle über Laufband-Geschwindigkeit sowie Kontrast der Anzeige.
- die Anzeige der Daten welche über die RoonMatrix angezeigt wird als Text-Laufband.
- Monitoring der aktuellen RoonMatrix-Variablen.
- RoonMatrix LOG der letzten Stunde(n).

Hier ein paar Screenshots:

 

 

 

 

Anmelden
Stephan Wilhelm antwortete auf das Thema:
7 Monate 1 Woche her
Das ist ein Test