Ambilight mit Hyperion und XBIAN als Mediacenter

L I V E Stammtisch ab 20:30 Uhr im Chat
  • Hallo,
    vorweg: wenn das Thema nicht an der richtigen Stelle ist, bitte ich es zu verschieben.
    Die Beschreibung ist geteilt, da ich bloß 10 Bilder/Post anhängen darf, sonst wäre das eben ein langer Post geworden :^^:

    Nachdem ich mich hier schlau gelesen habe und auch viele inspierierende Projekte gesehen habe, möchte ich mein Projekt vorstellen und damit dem ein oder anderen Hilfestellung bieten.


    Ausgangssituation:
    Ich habe zu meinem Synology NAS einen RasPi geholt um diesen als Mediacenter einzusetzen. Auf diesem läuft XBIAN 1.0 beta2 mit dem "Amber" Theme und übertaktet auf "High" (arm950/core450/sdram500), damit er in den Menüs etwas flüssiger läuft. An der Wand hängt ein 40" Sony Fernseher Modell KDL40ex402, kein Smart, kein 3D und bestimmt 10cm dick. Und die Rückwand ist auch noch gewöblt, dazu später mehr.
    Wie es natürlich immer so ist, sobald es läuft, will man mehr basteln ;).


    Der Plan:
    Ein Ambilight haben wollen :D
    Okay, grammatikalisch jetzt nicht ganz richtig, aber das trifft es wohl am ehesten. Natürlich sollte das ganze möglichst kostengünstig sein, weshalb ich die LEDs auch beim Aliexpress bestellt habe. Vergleichbares gibts bei eBay und auch sonst im Netz (D odre EU) ab etwa 22€/m und das wäre mir DEUTLICH zuviel.


    Teileliste:

    • 4x WS2801 flexStreifen von Aliexpress mit 32 LEDs/m sollten ausreichend hell sein.

    zu diesen gab es 4pol. Anschlusskabel (male-Stecker und offene Enden) und 2pol. Stromkabel (male-Stecker und offene Enden)
    weiterhin waren die Streifen 1m lang, die Beschreibung war bei meiner Bestellung noch auf "5m/reel", also dachte ich es kommen 4m am Stück. Naja, war besser so ;)
    Die 4m sind für eine Erweiterung auf bis zu 55" gedacht, da ich dann nicht nochmal bestellen will und ein Kumpel seinen 55"er auch gleich ausrüsten wollte wurde eine Sammelbestellung draus.

    gedacht für die Verbindung Pi zu LED-Streifen (Data, Clock, GND). Viel zu viele, aber da ich eh bei dem Händler bestellt habe und bevor ich mir nen Wolf suche. Sicherlich kann man bei Reichelt auch noch was passendes finden.

    An dieser Stelle kann ich schonmal sagen, dass die Lieferung aus Malaysia echt gut geklappt hat. Keine Zollprobleme, der Verkäufer geht auch gern auf Wünsche bezüglich Rechnung ein und ist sehr hilfsbereit, wenn man Probleme mit Teilen oder Fragen hat. Auch wenn das Paket, sagen wir mal, nicht ganz europäischen Verpackungsgewohnheiten entspricht :lol:

    Was noch fehlt, Teile von Reichelt um das Netzteil und die Pegelanpassung auf 5V zu realisieren.


    Hardware:
    Zuerst habe ich eine Prinzipskizze für euch, wie ich das Ganze aufbauen wollte und letztenendes auch gemacht habe:
    rl8axo55mvzn.jpg
    Ich habe also ein zentrales Netzteil, das den Pi und die LEDs speist. Der Pi ist zwecks sicherung per microUSB angeschlossen, die LEDs über eine selbst gelötete Kabelpeitsche. Wahrscheinlich ist der Querschnitt zu groß, aber lieber so als glühende Kabel hinterm TV. Berechnet habe ich den Querschnitt hier.

    Das microUSB-Kabel bekam den Hohlstecker, rotes Kabel auf den inneren, schwarzes Kabel auf den äußeren Kontakt.
    p2spnmhw8h3p.jpg kqs6x7gu15q.jpg

    Hier der vorbereitete Kaltgeräteanschluss für die 230V in:
    rtedjc9veroy.jpg

    So soll das ganze verbaut werden:
    lfffvyt6tb3n.jpg natfvo8fssv.jpg y63drh9pivkq.jpg

    Da das Netzteil gerade so nicht in das Gehäuse passte mussten die Kunststoffbutzen weichen (eifach abknipsen ging super), damit das NT aufgeklebt werden konnte. Dazu habe ich extra strakes, doppelseitiges Klebeband verwendet.
    twfptmajmq.jpg uamnvbp99wjr.jpg zate5mh5868.jpg
    cnct9fbens5.jpg z6ho47ye12.jpg aqh7wyw3vyg.jpg

    Hier die Kabelpeitsche mit den 4 Stromsteckern für die LED-Leisten:
    o7f8r9wi87yq.jpg

    Und das Kabel Pi->LED-Leiste1:
    m7zi451b9kq9.jpg

    Anschließend habe ich noch die Verstärkerschaltung nach dem Schaltplan von NicoHood gebaut um gleich ein sauberes Eingangssignal von 5V zu haben. Hintergrund war hier ja, dass die WS2801-Chips eigentlich ein min. 4V Signal erwarten um den Schaltzustand 1 zu erkennen, der RaspPi aber bloß 3,3V an seinem GPIO ausgibt. Kann zu Problemen führen, muss aber nicht.
    ni3hg8vq1aq4.jpg 9xol8wraw23.jpg
    ft8msnd4zrv.jpg zfoavsra71qt.jpg
    Wer sich da wundert warum ich eine 2x12 Buchsenleiste verbaut habe, die 2x13 war bei Reichelt zum Zeitpunkt der Bestellung nicht verfügbar. Letztlich braucht man ja eh nur 3 Pins, aber wäre natürlich schöner gewesen. Auch habe ich wie man sieht den IC-Sockel nicht drauf, aber bevor man sich den IC schrottet, sollte man diesen lieber verbauen. Ich habe auch Blut und Wasser geschwitzt, als es nicht auf Anhieb geleuchtet hat und dachte schon, dass der IC hin war. Ich hatte aber Glück.

    Jetzt machen wir einen Sprung auf das fertige Projekt, vorher hatte ich die Streifen noch getestet, was ich gleich noch beschreibe. Wie immer hat man zu wenig Fotos gemacht, so auch hier. Die Leisten habe ich schon am TV befestigt. Diese habe ich zum einen teils gekürzt, teils verlängert und dann in den Deckel von einem 15x15 Kabelkanal geklipst. Diese Pakete dann mit tesa Klettband an den TV. Das hält wunderbar so, die Streifen sind nicht eingeklebt. Zum verlängern habe ich einfach die Streifen direkt verlötet,was schon ein bisschen Gefühl erfordert. Sonst wird das alles zu warm und ist dann hin ;) Die Anschlusskabel habe ich gekürzt und wieder angebracht.
    33hg913h4fm8.jpg u9wsc586ciah.jpg gsgx3anega47.jpg

    Das war der Hardwareteil, kommen wir nun zur Software :X


    Funktionstest:
    Getestet habe ich die LEDs auf einem anderen System um mich erstmal mit dem Thema vertraut zu machen. Also bevor ich mir die ganze XBIAN-Installation zerlege. Vorallem aber vor dem ganzen Kürzen und verlöten, damit ich Sicher bin, dass auch alle Pixel ordnungsgemäß funktionieren.

    LEDs ans Netzteil, Verstärker auf den Pi gesteckt und die LED-Streifen mittels Adapter verbunden.
    Ich habe per noobs ein Raspbian installiert. Danach habe ich in der Konsole direkt auf dem Pi gearbeitet.

    Diese Zeilen zur Vorbereitung

    Code
    sudo apt-get upgrade
    
    
    sudo apt-get install git
    Zitat


    Um nun das SPI-Device zu aktivieren muss folgendes geändert werden

    Code
    sudo nano /etc/modprobe.d/raspi-blacklist.conf

    und dort ein # vor der Zeile "blacklist spi-bcm2708" einfügen.
    wuub9a6qynep.png
    Mit [STRG]+[O] schreiben und den nano Editor mit [STRG]+[X] verlassen.

    Mit einem

    Code
    sudo reboot


    einen Neustart ausführen

    Jetz kontrollieren wir, ob das SPI-Device auch verfügbar gemacht worden ist:

    Code
    cd /dev/
    ls


    es sollte folgendes zu sehen sein:
    hffkxhr31svn.png


    Kommen wir nun zum eigentlichen
    Test:

    Zitat

    Zuerst muss das Script geladen und installiert werden.

    Code
    git clone git://github.com/
    scottjgibson/PixelPi.git

    Dann folgt die Python-Installation

    Code
    sudo aptitude install python-imaging-tk

    Leider hat Herr Gibson hier ein paar Fallstricke, die mich auch schier zur Verzweiflung getrieben haben.
    Der Befehl [font="Monaco, Consolas, Courier, monospace"]sudo python pixelpi.py --chip WS2801 --mode fade --refresh_rate 20[/font]
    führt nur zu einem Fehler "[font="Calibri"]Pixelpi.py: error: invalid choice: 'WS2801" ….. "[/font]

    Stattdessen muss man zum Test folgende Befehle eingeben:

    Code
    sudo python pixelpi.py fade --chip WS2801 --refresh_rate 20 --num_leds 32
    
    
    >>oder<<
    
    
    sudo python pixelpi.py chase --chip WS2801 --refresh_rate 20 --num_leds 32


    Die num_leds hängt hierbei von der Anzahl ab, wieviele LEDs man ansteuern möchte. Einfach durchzählen oder auch nur die ersten 10 Pixel ansteuern. Alles ist hier möglich.
    Läuft alles soweit zufriedenstellen und sind alle Pixel i.O., kann das große Löten losgehen und die Streifen können gekürzt werden. Bilder siehe oben;)


    XBIAN mit Hyperion:
    zuerst logge ich mich per SSH ein und lande nach xbian [Enter] und xbian [Enter] auf dieser Seite
    7hbf7ms9mzd1.png
    mit

    Code
    clear


    bekomme ich eine übersichtlichere Anzeige, muss aber auch nicht sein.

    Nun installieren wir uns Hyperion wie auf Github beschrieben. Die angekündigten Fehler blieben bei mir aus, sodass ich einfach weitermachen konnte. Das sudo-Passwort ist das gleiche (wenn nicht geändert) wie das user-Passwort. Also auch xbian

    Code
    sudo apt-get update
    sudo apt-get install libqtcore4 libqtgui4 libqt4-network libusb-1.0-0 libprotobuf7 ca-certificates

    mcb2ln9hcqww.png
    w9uodwsbrs21.png

    Damit sind wir fast fertig, es folgt noch die Config-Datei:

    5kbytmgipphh.png e9b4gihfdl.png
    Wie zu sehen habe ich Oben und Unten 28 LED-Pixel und Rechts/Links je 16 Pixel verbaut.
    Die HSV Value gain regelt im Ganzen die Helligkeit, was mir so eigentlich ausreichend ist. Zumindest, wenn man im Dunkeln schaut ist das sonst doch echt heftig. Hier sollte aber jeder ein bissen probieren, da es meiner Meinung nach auch Geschmackssache ist. Genauer wird das auch noch auf Github erklärt

    Zitat



    Diese Config müssen wir jetzt noch per FileZilla auf den Pi schieben (dann landet die Datei im home Verzeichnis und ich kann Sie dann gleich an die richtige Stelle schieben).

    fiijp7i2fxm5.png

    mit folgendem Befehl bekommen wir unsere Config nun an den richtigen Platz

    Code
    sudo cp my_config.json /opt/hyperion/config/hyperion.config.json

    Bei github ist wohl irgendwas falsch, sodass der Befehl zum Neustart von Hyperion (mit der neuen Config) folgendermaßen aussehen muss:

    Code
    sudo /sbin/initctl restart hyperion

    Das war es dann auch "schon" :bravo2:
    Ich habe noch ein paar kleinere Probleme mit flackernden LEDs, was wohl auf mein DLAN zurück geht oder sonst irgendwelche Störfrequenzen. Da muss ich definitiv noch mal dran.
    Hier aber noch ein paar Impressionen, wie sich das Ambi z.B. bei "Cars" einbringt. Die Farben kommen wie so häufig auf den Fotos nicht ganz so rüber wie sie wirklich sind.
    z1oejkaxr7y2.jpg sznurc1p7o8n.jpg syly3r2nkqf7.jpg

    Ich hoffe ich kann dem Einen oder Anderen helfen mit meinen Ausführungen.
    Vielen Dank fürs Durchlesen ;)

    Einmal editiert, zuletzt von coffeeseeker (2. Februar 2014 um 18:53)

  • Mich erreichte folgende Frage, die ich auch gern für alle beantworten will:

    Zitat von Schrammi


    Hi,
    [...]
    Also du hast Xbmc und Hyperion auf einem Pi am laufen?
    Nutzt du dann ebenfalls das Hdmi-Quellen unabhängige Ambilight oder ist das ein Plugin was du nutzt?

    [font="Tahoma, Verdana, Arial, sans-serif"]Ich habe auf dem Pi das XBMC unter der ROM XBIAN laufen. Hierbei ist das Hyperion quasi ein Plugin, was direkt das Bildmaterial auswertet. Ich gehe also vom Pi aus per HDMI an der TV-Eingang zum schauen und per selbstgebasteltem Kabel an die LED-Leisten fürs Ambi. Ob und wie ich das erweitere um das Ambi auch beim normalen Fernsehen zu nutzen weiß ich noch nicht. Weitere HDMI-Quellen habe ich aber keine (etwa Bluray-Player, XBox, etc)[/font]
    Also müsste man hier einen 2. Pi einsetzen oder ggf. ist das über diverse Scripte möglich. Genaues weiß ich dazu nicht, das Einfachste wäre aber denke ich der 2. Pi. Als Ambi-Steuerung mit Grabber müsste hier ja sicherlich ein Model A ausreichend sein.

    Wenn dazu jemand Ideen oder Infos hat, immer her damit. Daran wäre ich auch interessiert.


  • Steuert Hyperion das Lightpack von woodenshark über USB an?

    :huh::huh: sollte sich die Frage auf meinen Aufbau beziehen, so muss ich dir sagen, dass meine Ambilightlösung ein Eigenbau ist. Wie du sehen kannst, ist das eigentlich auch recht einfach. Das fertige Ambipack kann man vielleicht auch irgendwie ansteuern, aber dazu weiß ich leider nix. Aber da die Software von denen ja auch auf Linux läuft, sollte es eigentlich machbar sein.

  • Das Problem mit initctl hatte ich erst auch, weil auf der github-Seite ja lediglich "initctl restart hyperion" angegeben wird. Deswegen musste da der Pfad mit hin, also das sbin zwingend davor.
    Hast du mal in den Ordner geschaut, ob das initctl überhaupt im sbin-Ordner vorhanden ist?

  • Schöne Übersicht und Tut. Gefällt mir gut.
    Will ich auch noch schreiben.
    Hast du noch das Flackerproblem? Ich habe den Tipp von Lokutus2000 befolgt und einen 100nF Kondensator kurz vor die LEDs in die Stromversorgung gehangen. Läuft jetzt perfekt.

    Mal ne Frage zum Netzteil: Du hast ja das 10A von Meanwell. Ich habe da die 7A Version. Meines Pfeifft aber wie sau, wenn keine Last anliegt. Ist das bei dir auch so? Hab schon überlegt einen Verbraucher anzulegen, der dauernd eine künstliche Last erzeugt, damit das nicht so ist, aber das ist ja auhc nicht zweckdienlich.


  • nee, ist in /sbin nicht enthalten.
    Habe das hier im Forum angebotene 8 GB-Image (-ich glaub von Assispachtel gemacht).

    Miranda

    Okay, wie das Image von hier vorbereitet ist und welche Software darauf läuft, das weiß ich nicht. Ich habe damals XBIAN dafür hergenommen und alles selbst installiert. Mittlerweile setze ich Openelec ein und auch da läuft alles glatt.


    Schöne Übersicht und Tut. Gefällt mir gut.
    Will ich auch noch schreiben.
    Hast du noch das Flackerproblem? Ich habe den Tipp von Lokutus2000 befolgt und einen 100nF Kondensator kurz vor die LEDs in die Stromversorgung gehangen. Läuft jetzt perfekt.

    Mal ne Frage zum Netzteil: Du hast ja das 10A von Meanwell. Ich habe da die 7A Version. Meines Pfeifft aber wie sau, wenn keine Last anliegt. Ist das bei dir auch so? Hab schon überlegt einen Verbraucher anzulegen, der dauernd eine künstliche Last erzeugt, damit das nicht so ist, aber das ist ja auhc nicht zweckdienlich.

    Hi Mega,
    hab ich glatt vergessen, dass ich zum flackern noch nichts weiter geschrieben hatte :daumendreh2:
    Ich habe mittlerweile viel geändert und kann nicht mit Bestimmtheit sagen, was jetzt genau das Problem behoben hat.
    Maßnahmen waren aber:
    -Ferritkern/Buchse am Pi um Data und Clockgelegt
    -Ferritkern an Netzzuleitung vom Netzteil

    Ich habe auch das Zyxel DLAN gegen eines von AVM getauscht (wegen Kondensatorfiepen im Standby des Adapters), vielleicht spielt das da auch mit rein.

    Zum Thema Netzteil: Ja, meins pfeift auch wie wild. Sobald der Pi aber bootet is davon nichts mehr zu hören. Sehr sonderbar, aber da ich fast nur den TV anschalte wenn ich mit dem Pi was gucken will, ist mir das eher wurscht. Mal schauen, ob ich noch erweiter, dass ich Ambi auch beim TV-gucken habe, dann würde ja aber sowieso immer ein Verbraucher da sein (Pi mit Grabber, Splitter etc.). Da stellt sich dann schon fast wieder die Frage, ob ich mit 10A hinkomme :s

    Einmal editiert, zuletzt von coffeeseeker (25. Februar 2014 um 16:37)

  • Hey,

    Erstmal vielen Dank für deinen super Anleitung. Hat mir sehr gut geholfen.

    Was mir noch Probleme bereitet:
    Ich habe ein 60 Watt Netzteil mit 12 A genommen. Muss ich da auch die Sicherung austauschen? Bisher hattest du ja bei dem NT 2 A genommen.

    Der Querschnitt bei deinen Kabeln ist echt gewaltig. Aus dem PC-Netzteilen sind diese in der Regel 1 mm-2mm Querschnitt. Warum bei 5Volt so dicke Kabel?

    Zur Platine für Spannungsstabilisierung. Leider konnte ich aufgrund der Kabel nicht feststellen, wie der Keramik-Kondesator angeschlossen ist. Ich habe Ihn nun an 5V sowie an Ground angeklemmt. Ist das so korrekt?

    Weiterhin weiß ich nicht so wirklich, wo ich welchen Ferrit-Kern anklemmen soll.

    Um Data und Clock ist klar, aber Möglichst nahe am PI oder möglichst Nahe an dem LED_Strang?
    Wo wird der 2te Ferrit angebracht? einfach um das KaltgeräteKabel für die Stromversorgung des NT?

    Hast du den PI und die LEDs am selben Netzteil?

    Ich hatte irgendwo gelesen, das alle Verbraucher vom Netzteil auf den selben Ground gehen sollen. Ich habe alle auf die selbe Schelle verkabelt. Hoffe das passt so.

    Habt ihr eine Idee mit 100 LEDs, ob ich hier nur an einer Seite die Daten und Clock einspeise? Bei 100 LEDS WS2801 habe ich 2 mal 50 LEDs. Daher meine Frage nach dem Einspeisen.

    Ich bin mir mit der Sicherung nicht klar, ob diese Springt, wenn die 50 LEDs ja ca. 2-3 A ziehen, müsste die Sicherung doch rausfliegen, oder?

    PS: In der Anleitung bei der Reichelt-Bestellung fehlt wohl der 3 Pol Sockel für den Anschluss der LEDs an dem Spannungsverstärker.

    Wie sieht es mit der Wärmeentwicklung von deinem NT aus? Hast du es aktiv gekühlt mit einem Lüfter? Wie schaltest du den RPI an / aus?

    Ich poste meine Bilder sobald ich daheim bin und ergänze das ganze mal etwas. :)

    Vielen Dank für eure Ratschläge und ein Hoch auf den Autor!

  • Hallo Zusammen,

    Bei mir läuft nun alles wieder. Allerdings flacktern meine LEDs extrem startk.

    Die Spannungsmodulation für die GPIO Pins habe ich nicht hinbekommen.

    Die technische Zeichnung sowie meine Umsetzung davon waren ohne Erfolg.

    Kann mir wer nochmal bei dem PLatinenaufbau helfen?

    Vielen Dank und beste Grüße,
    Jaro22

Jetzt mitmachen!

Du hast noch kein Benutzerkonto auf unserer Seite? Registriere dich kostenlos und nimm an unserer Community teil!