LEDBRIDGE

Unsere Softwarelösung zur Ansteuerung von LED-Displays

LEDBridge ist unsere Softwarelösung um LED-Displays aller Art anzusteuern. Ursprünglich haben wir sie 2008 entwickelt um LedShowT9, welches von unserem LED-Teppich benötigt wird, zu ersetzen da LedShowT9 nur unter Windows läuft und zahlreiche andere Mängel hat. Seit damals ist die Software gewachsen und hat viele neue Features dazubekommen um Videosignale von allen möglichen Quellen entgegenzunehmen und viele Arten von LED-Displays anzusteuern.

Das Programm LEDBridge wird primär für Linux entwickelt. Unter Mac OS X ist es mit ein paar Einschränkungen auch lauffähig. Eine Windows Version ist in Planung.

LEDbridge ist selbstverständlich open source und kann von unserer Subversion repository heruntergeladen werden.

The command "ledbridge -w 48 -h 64 -- X11 -- T9" is executed in a shell window, and the capture window placed over a fractal

In dem Screenshot nimmt LEDBridge einen 48x64 Pixel großen Bereich vom Bildschirm auf, hier ein von XaoS erzeugtes Fraktal, und überträgt es auf einen T9 Display an eth0 (Standard-Schnittstelle).

LEDBridge untersützt derzeit volgende Eingabemodule:

  • AWT - Nimmt einen Bildausschnitt über Java AWT auf (für OS X)
  • Aurinko - Ein Aurinkolink-Datenstrom (intern)
  • SHM - Shared memory, ermöglicht es mit anderen LEDBridge Instanzen oder anderen Programmen Daten auszutauschen (siehe unten)
  • V4L - Video 4 Linux, Aufnahme von einer Webcam oder TV-Karte (nur Linux)
  • X11 - Nimmt einen Bildausschnitt über X11 auf. Funktioniert nicht auf OS X und nur eingescränkt mit Compiz, ist aber schneller als AWT
  • TestPattern - Erstellt Testmuster mit denen eine LED-Matrix leicht getestet werden kann.

Die Frames können gefiltert werden:

  • Crop - Schneidet einen Bereich aus
  • Dedistort - Wendet eine perspektivische Korrektur an
  • Rotate - Dreht das Bild 90, 180 oder 270 Grad oder spiegelt es
  • Scale - Skaliert das Bild
  • Stencil - Schneidet einen Bereich mittels einer Beschreibungsdatei aus und setzt den Rest auf schwarz. Nützlich bei nicht-Rechteckigen Matitzen.

Und ausgegeben werden:

  • Bobo: Ein per USB angeschlossenes Bobogadgetto
  • Linear: Linear 4-bit Graustufen Matrix
  • SHM: Shared memory, zur Kommunikation mit anderen Programmen
  • T9: Für T9 LED-Displays wie unseren LEDsMob. (Ersatz für LedShowT9)
  • VNCServer: Überträgt Daten an einen VNC Client (experimentell)
  • WS2811: Steuert eine Reihe WS2811 oder WS2812 LEDs an. Ein Arduino wird Schnittstellenkonverter benötigt (Sketch ist in der Repository)

Typischerweise wird mit X11 oder AWT ein Bildschirmbereich ausgeschnitten und an ein LED-Display gesendet. Es gibt aber auch ein paar Programme die Bilddaten unabhängig von einem laufenden X-Server generieren können. LEDBridge kann damit auch auf eingebetteten "headless" Systemen, wie z.B. dem Sheevaplug, laufen:

  • ledfb (nur für Linux): Emuliert einen Linux-Framebuffer so dass Framebuffer- und SDL-basierte Software am LED-Display laufen kann.
  • ledmplayer (nur für Linux): Shell-Skript um mplayer mit ledfb einfach bentuzen zu können.
  • ledtext: Für statischen Text, Lauftext, blinkenden Text, etc.. Unterstützt einen Satz feste-breite Schriften.



Materialien und Technologien: C, c++, Java | 22 October, 2013 - 19:38 | Simon | Comments 0 |