LinuxLinus

Mac, Linux, Windows – und Gadgets

Raspberry Pi B+: WS2801 Boblight / Hyperion Anleitung mit OpenElec

| 35 Kommentare

An dieser Stelle eine Anleitung, wie ich auf einem Raspberry Pi B+ meine WS2801 Lichterkette betreibe.

Ich habe sowohl Boblight als auch Hyperion längere Zeit genutzt. Hyperion gefällt mir persönlich besser, gefühlt die die Performance auf dem schwachen Pi deutlich besser. Weiterhin die die Farbübergänge flüssiger und vor allem gibt es ein super Tool um die Konfiguration vorzunehmen. Dazu später mehr.

Wer keine Zeit oder Lust zum basteln hat kann sich das insanelight anschauen. Einen Testbericht von mir findet ihr auf meinem Blog!

Benötigte Teile

(folgende Komponenten nutze ich und kann ich daher auch empfehlen):

Weiterhin gebraucht werden

Eine Lötstation, ein Steckbrett, etwas Schrumpfschlauch, Lötzinn und Drahtbrücken erleichtern die Arbeit. Ich habe die Verlinkten Teile ebenfalls benutzt.

OpenElec installieren

Anleitungen finden sich im Wiki, ich habe die Beta 4.1.4 genutzt, da zum Zeitpunkt der Anleitung sonst der Pi B+ nicht komplett (alle USB-Ports) unterstützt wurden.

Die Lichterkette am Raspberry Pi anschließen

Das war der komplizierteste Teil für mich. Die Lichterkette ist aus China gekommen, eine Doku gab es nicht.

Bei mir war es wie folgt:

  • Rot: DC, 5V (Pluspol des Netzteils)
  • Gelb: GND (Minuspol des Netzteils und GND am PI, siehe Zeichnung)
  • Grün: Data (GPIO am Pi, siehe Zeichnung)
  • Blau: Clock (GPIO am Pi, siehe Zeichnung)

Wenn unklar ist wie die Kette angeschlossen wird einfach beim Lieferanten anfragen (Vorteil für denjenigen, der in DE bestellt 🙂 )

Schaltung

Schaltung

Weiterhin hatte meine Lichterkette an der Seite Pfeile angebracht. Die Pfeile zeigen zum Ende der Lichterkette, der Pi und das Netzteil müssen am Anfang angeschlossen werden.

Hyperion installieren

Das Wiki von Hyperion liegt auf gitup. Dort gibt es auch einen schönen Vergleich zwischen Hyperion und Boblight. Ein Besuch der Webseite ist aber nicht zwangsläufig erforderlich.

per SSH auf dem Raspberry verbinden

Windows Nutzer müssen sich Putty besorgen.

raspberry-putty

Mac oder Linux-Nutzer können das Terminal nutzen (ssh root@[IP VOM PI]).

Der Nutzername lautet root, das Passwort lautet openelec .

Anschließend folgende 2 Befehle ausführen:

curl -L --output install_hyperion.sh --get https://raw.githubusercontent.com/tvdzwan/hyperion/master/bin/install_hyperion.sh
sh ./install_hyperion.sh

Das ganze sollte dann wie folgt aussehen:

iXBMC:~ # curl -L --output install_hyperion.sh --get https://raw.githubusercontent.com/tvdzwan/hyperion/master/bin/install_hyperion.sh
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100  3684  100  3684    0     0   3242      0  0:00:01  0:00:01 --:--:--  3248
iXBMC:~ # sh ./install_hyperion.sh
Downloading hyperion
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 1268k  100 1268k    0     0   352k      0  0:00:03  0:00:03 --:--:--  352k
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 6857k  100 6857k    0     0   570k      0  0:00:12  0:00:12 --:--:-- 1001k
Adding Hyperion to autostart script
iXBMC:~ # 

 Hyperion konfigurieren

Um die Config zu erstellen gibt es ein kleine Java-Programm auf der Webseite von Hyperion: https://github.com/tvdzwan/hyperion/wiki/configuration. Es lässt ich anhand eines Demo-Fernsehers konfigurieren, wie die LEDs verteilt sind.

hyperion-config2hyperion Config

Tipp: Hyperion ist schnell, sehr schnell. Wenn aus dem Fernsehabend kein Discoabend werden soll lohnt es sich, die schaltzeiten leicht verzögert einzustellen. Smoothing macht das ganze zudem sehr smooth 🙂

Beim starten steuert Hyperion die LEDs rund um den Fernseher mit einem Regenbogeneffekt an. Hierzu muss der Pfad /storage/hyperion/effects unter Effect Engine eingetragen werden.

Die erstellte config muss nun auf den Pi kopiert werden. Hierzu kann die Netzwerkfreigabe (Samba) Configfiles benutzt werden:

smb://IP-ADRESSE/Configfiles , bzw: \\IP-ADRESSE\Configfiles

Wenn alles funktioniert hat solle das Ergebnis nach einem Neustart so aussehen:

Autor: Linus Stehr

Mein Name ist Linus. Im Berufsleben arbeite ich als IT-Mensch, privat zeige ich hier Outdoor-Artikel und ander Gadgets. Zu finden bin ich zudem auf Google+.

35 Kommentare

  1. Pingback: Raspberry Pi: WS2801 Boblight und Hyperion Anleitung mit OpenELEC | LinuxLinus

  2. Servus Linus, Danke für die schnelle Antwort. Ich komme leider immer noch nicht weiter, die LED’s ordentlich laufen zu bringen und bin auf deine Hilfe angewiesen 🙁

    Problem 1:
    Da ich kein Linux Erfahrung habe, komme ich an diese Stelle nicht mehr weiter: ‘Die erstellte config muss nun auf den Pi kopiert werden. Hierzu kann die Netzwerkfreigabe (Samba) Configfiles benutzt werden:
    smb://IP-ADRESSE/Configfiles , bzw: \\IP-ADRESSE\Configfiles’

    – habe aber die config-file über WINSCP in PI’s /etc Order kopiert, ist das auch Ok?

    Problem 2: ich verstehe nicht, wie ich Prüfen kann, ob die Verkabelungen korrekt sind. Rot = 5V ist klar, die anderen 3 kann ich hin und her tauschen und passiert immer irgendwas mit LED’S. 1x Leuchtet nur das erste LED weiß, 1x blinken die ersten 10 Led abwechselnd und unterschiedlichen Farben…

    Jedes Tutorial die ich lese, sieht super einfach aus, dennoch bekomme ich leider nicht hin die LED’s ordentlich zum laufen…..

    ich wäre die sehr Dankbar, wenn du mir paar Tips geben könntest.

    VG, Maxi

    • Hi,
      zu 1: Schau mal in den Einstellungen vom XMBC/Kodi. Dort solltest du, falls noch nicht passiert, Samba aktivieren. Nutzt zu Windows? Wenn ja einfach als Adresse im Explorer eingeben: Also \\192.168.x.x\ Dann solltest du die Freigabe sehen. Im Ordner etc ist es falsch.

      2: Sicher das die Reihenfolge passt? Bei mir leuchtete die letzte LED weiß, alle anderen waren aus. Dann war es richtig. Leider kann ich dir bzgl. des anschließen wenig Tipps geben, die Kabel können halt bei dem China-Kram alle möglich Farben haben.

      Beste Grüße

      • Hi,

        erstmal viele Dank für die Infos, mittlerweile habe ich es zum laufen bekommen.
        Das Problem war, wie du schon beschrieben hast, China-Produkt sind anders verkabelt, ich musste DATA und CLK umtauschen und die LED waren nicht RGB sondern GBR.

        ich habe leider immer noch ein keines Problem, die LED’s bekommen nicht genug Strom (*aktuell über usb 2,4 A zu Rasp. und 132 LEDs sind am GPIO verbunden) und damit geht Raspb. B+ bei vollem Kontrast aus/flackert. Also habe ich ein 10A Netzteil gekauft und getestet:

        Test 1: Netzteil wie du oben beschrieben hast an LED verbunden (für Rasp. mit USB Strom Versorger) -> Rasp. ist an und LED’s sind aus

        Test 2: Netzteil nur am GPIO direkt angeschlossen -> Rasp. ist an und LED’s sind aus

        Test 3: Netzteil an USB A Stecker gelötet und an micro USB von Rasp. angeschlossen -> Rasp. ist an und LED’s sind aus (zumindest dachte ich, dass diese Variante 100 %ig laufen sollte, da wie oben beschrieben mit 2,4 A bereits funktioniert)

        vielleicht hast du ja wieder ein TIP für mich. ^^
        Schönes Wochenende noch.

        Beste Grüße, Maxi

  3. Hi. Kannst du deine config mal bitte posten? Danke!

    • Klar:

      // Automatically generated configuration file for 'Hyperion daemon'
      // Generated by: HyperCon (The Hyperion deamon configuration file builder

      {
      /// Device configuration contains the following fields:
      /// * 'name' : The user friendly name of the device (only used for display purposes)
      /// * 'type' : The type of the device or leds (known types for now are 'ws2801', 'ldp8806',
      /// 'lpd6803', 'sedu', 'adalight', 'lightpack', 'test' and 'none')
      /// * 'output' : The output specification depends on selected device. This can for example be the
      /// device specifier, device serial number, or the output file name
      /// * 'rate' : The baudrate of the output to the device
      /// * 'colorOrder' : The order of the color bytes ('rgb', 'rbg', 'bgr', etc.).
      "device" :
      {
      "name" : "MyPi",
      "type" : "ws2801",
      "output" : "/dev/spidev0.0",
      "rate" : 250000,
      "colorOrder" : "rgb"
      },

      /// Color manipulation configuration used to tune the output colors to specific surroundings.
      /// The configuration contains a list of color-transforms. Each transform contains the
      /// following fields:
      /// * 'id' : The unique identifier of the color transformation (eg 'device_1') /// * 'leds' : The indices (or index ranges) of the leds to which this color transform applies
      /// (eg '0-5, 9, 11, 12-17'). The indices are zero based. /// * 'hsv' : The manipulation in the Hue-Saturation-Value color domain with the following
      /// tuning parameters:
      /// - 'saturationGain' The gain adjustement of the saturation
      /// - 'valueGain' The gain adjustement of the value
      /// * 'red'/'green'/'blue' : The manipulation in the Red-Green-Blue color domain with the
      /// following tuning parameters for each channel:
      /// - 'threshold' The minimum required input value for the channel to be on
      /// (else zero)
      /// - 'gamma' The gamma-curve correction factor
      /// - 'blacklevel' The lowest possible value (when the channel is black)
      /// - 'whitelevel' The highest possible value (when the channel is white)
      ///
      /// Next to the list with color transforms there is also a smoothing option.
      /// * 'smoothing' : Smoothing of the colors in the time-domain with the following tuning
      /// parameters:
      /// - 'type' The type of smoothing algorithm ('linear' or 'none')
      /// - 'time_ms' The time constant for smoothing algorithm in milliseconds
      /// - 'updateFrequency' The update frequency of the leds in Hz
      "color" :
      {
      "transform" :
      [
      {
      "id" : "default",
      "leds" : "*",
      "hsv" :
      {
      "saturationGain" : 1.0000,
      "valueGain" : 1.0000
      },
      "red" :
      {
      "threshold" : 0.0000,
      "gamma" : 1.0000,
      "blacklevel" : 0.0000,
      "whitelevel" : 1.0000
      },
      "green" :
      {
      "threshold" : 0.0000,
      "gamma" : 1.0000,
      "blacklevel" : 0.0000,
      "whitelevel" : 1.0000
      },
      "blue" :
      {
      "threshold" : 0.0000,
      "gamma" : 1.0000,
      "blacklevel" : 0.0000,
      "whitelevel" : 1.0000
      }
      }
      ],
      "smoothing" :
      {
      "type" : "linear",
      "time_ms" : 200,
      "updateFrequency" : 20.0000
      }
      },

      /// The configuration for each individual led. This contains the specification of the area
      /// averaged of an input image for each led to determine its color. Each item in the list
      /// contains the following fields:
      /// * index: The index of the led. This determines its location in the string of leds; zero
      /// being the first led.
      /// * hscan: The fractional part of the image along the horizontal used for the averaging
      /// (minimum and maximum inclusive)
      /// * vscan: The fractional part of the image along the vertical used for the averaging
      /// (minimum and maximum inclusive)
      "leds" :
      [
      {
      "index" : 0,
      "hscan" : { "minimum" : 0.5294, "maximum" : 0.5882 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 1,
      "hscan" : { "minimum" : 0.4706, "maximum" : 0.5294 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 2,
      "hscan" : { "minimum" : 0.4118, "maximum" : 0.4706 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 3,
      "hscan" : { "minimum" : 0.3529, "maximum" : 0.4118 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 4,
      "hscan" : { "minimum" : 0.2941, "maximum" : 0.3529 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 5,
      "hscan" : { "minimum" : 0.2353, "maximum" : 0.2941 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 6,
      "hscan" : { "minimum" : 0.1765, "maximum" : 0.2353 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 7,
      "hscan" : { "minimum" : 0.1176, "maximum" : 0.1765 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 8,
      "hscan" : { "minimum" : 0.0588, "maximum" : 0.1176 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 9,
      "hscan" : { "minimum" : 0.0000, "maximum" : 0.0588 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 10,
      "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
      "vscan" : { "minimum" : 0.8750, "maximum" : 1.0000 }
      },
      {
      "index" : 11,
      "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
      "vscan" : { "minimum" : 0.7500, "maximum" : 0.8750 }
      },
      {
      "index" : 12,
      "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
      "vscan" : { "minimum" : 0.6250, "maximum" : 0.7500 }
      },
      {
      "index" : 13,
      "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
      "vscan" : { "minimum" : 0.5000, "maximum" : 0.6250 }
      },
      {
      "index" : 14,
      "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
      "vscan" : { "minimum" : 0.3750, "maximum" : 0.5000 }
      },
      {
      "index" : 15,
      "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
      "vscan" : { "minimum" : 0.2500, "maximum" : 0.3750 }
      },
      {
      "index" : 16,
      "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
      "vscan" : { "minimum" : 0.1250, "maximum" : 0.2500 }
      },
      {
      "index" : 17,
      "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.1250 }
      },
      {
      "index" : 18,
      "hscan" : { "minimum" : 0.0000, "maximum" : 0.0588 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 19,
      "hscan" : { "minimum" : 0.0588, "maximum" : 0.1176 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 20,
      "hscan" : { "minimum" : 0.1176, "maximum" : 0.1765 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 21,
      "hscan" : { "minimum" : 0.1765, "maximum" : 0.2353 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 22,
      "hscan" : { "minimum" : 0.2353, "maximum" : 0.2941 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 23,
      "hscan" : { "minimum" : 0.2941, "maximum" : 0.3529 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 24,
      "hscan" : { "minimum" : 0.3529, "maximum" : 0.4118 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 25,
      "hscan" : { "minimum" : 0.4118, "maximum" : 0.4706 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 26,
      "hscan" : { "minimum" : 0.4706, "maximum" : 0.5294 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 27,
      "hscan" : { "minimum" : 0.5294, "maximum" : 0.5882 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 28,
      "hscan" : { "minimum" : 0.5882, "maximum" : 0.6471 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 29,
      "hscan" : { "minimum" : 0.6471, "maximum" : 0.7059 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 30,
      "hscan" : { "minimum" : 0.7059, "maximum" : 0.7647 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 31,
      "hscan" : { "minimum" : 0.7647, "maximum" : 0.8235 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 32,
      "hscan" : { "minimum" : 0.8235, "maximum" : 0.8824 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 33,
      "hscan" : { "minimum" : 0.8824, "maximum" : 0.9412 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 34,
      "hscan" : { "minimum" : 0.9412, "maximum" : 1.0000 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.0700 }
      },
      {
      "index" : 35,
      "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
      "vscan" : { "minimum" : 0.0000, "maximum" : 0.1250 }
      },
      {
      "index" : 36,
      "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
      "vscan" : { "minimum" : 0.1250, "maximum" : 0.2500 }
      },
      {
      "index" : 37,
      "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
      "vscan" : { "minimum" : 0.2500, "maximum" : 0.3750 }
      },
      {
      "index" : 38,
      "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
      "vscan" : { "minimum" : 0.3750, "maximum" : 0.5000 }
      },
      {
      "index" : 39,
      "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
      "vscan" : { "minimum" : 0.5000, "maximum" : 0.6250 }
      },
      {
      "index" : 40,
      "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
      "vscan" : { "minimum" : 0.6250, "maximum" : 0.7500 }
      },
      {
      "index" : 41,
      "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
      "vscan" : { "minimum" : 0.7500, "maximum" : 0.8750 }
      },
      {
      "index" : 42,
      "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
      "vscan" : { "minimum" : 0.8750, "maximum" : 1.0000 }
      },
      {
      "index" : 43,
      "hscan" : { "minimum" : 0.9412, "maximum" : 1.0000 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 44,
      "hscan" : { "minimum" : 0.8824, "maximum" : 0.9412 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 45,
      "hscan" : { "minimum" : 0.8235, "maximum" : 0.8824 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 46,
      "hscan" : { "minimum" : 0.7647, "maximum" : 0.8235 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 47,
      "hscan" : { "minimum" : 0.7059, "maximum" : 0.7647 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 48,
      "hscan" : { "minimum" : 0.6471, "maximum" : 0.7059 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      },
      {
      "index" : 49,
      "hscan" : { "minimum" : 0.5882, "maximum" : 0.6471 },
      "vscan" : { "minimum" : 0.9300, "maximum" : 1.0000 }
      }
      ],

      /// The black border configuration, contains the following items:
      /// * enable : true if the detector should be activated
      /// * threshold : Value below which a pixel is regarded as black (value between 0.0 and 1.0)
      "blackborderdetector" :
      {
      "enable" : true,
      "threshold" : 0.01
      },

      /// The configuration of the effect engine, contains the following items:
      /// * paths : An array with absolute location(s) of directories with effects
      /// * bootsequence : The effect selected as 'boot sequence'
      "effects" :
      {
      "paths" :
      [
      "/storage/hyperion/effects"
      ]
      },

      "bootsequence" :
      {
      "effect" : "Rainbow swirl fast",
      "duration_ms" : 8000
      },

      /// The configuration for the frame-grabber, contains the following items:
      /// * width : The width of the grabbed frames [pixels]
      /// * height : The height of the grabbed frames [pixels]
      /// * frequency_Hz : The frequency of the frame grab [Hz]
      "framegrabber" :
      {
      "width" : 64,
      "height" : 64,
      "frequency_Hz" : 10.0
      },

      /// The configuration of the XBMC connection used to enable and disable the frame-grabber. Contains the following fields:
      /// * xbmcAddress : The IP address of the XBMC-host
      /// * xbmcTcpPort : The TCP-port of the XBMC-server
      /// * grabVideo : Flag indicating that the frame-grabber is on(true) during video playback
      /// * grabPictures : Flag indicating that the frame-grabber is on(true) during picture show
      /// * grabAudio : Flag indicating that the frame-grabber is on(true) during audio playback
      /// * grabMenu : Flag indicating that the frame-grabber is on(true) in the XBMC menu
      /// * grabScreensaver : Flag indicating that the frame-grabber is on(true) when XBMC is on screensaver
      /// * enable3DDetection : Flag indicating that the frame-grabber should switch to a 3D compatible modus if a 3D video is playing
      "xbmcVideoChecker" :
      {
      "xbmcAddress" : "127.0.0.1",
      "xbmcTcpPort" : 9090,
      "grabVideo" : true,
      "grabPictures" : true,
      "grabAudio" : true,
      "grabMenu" : true,
      "grabScreensaver" : false,
      "enable3DDetection" : true
      },

      /// The configuration of the Json server which enables the json remote interface
      /// * port : Port at which the json server is started
      "jsonServer" :
      {
      "port" : 19444
      },

      /// The configuration of the Proto server which enables the protobuffer remote interface
      /// * port : Port at which the protobuffer server is started
      // "protoServer" :
      // {
      // "port" : 19445
      // },

      /// The configuration of the boblight server which enables the boblight remote interface
      /// * port : Port at which the boblight server is started
      // "boblightServer" :
      // {
      // "port" : 19333
      // },

      "endOfJson" : "endOfJson"
      }

  4. Danke! Du hast die standart config aktiv wenn ich das richtig sehe. Wie ist das Verhalten bei deinen LEDs bei schwarz und weiß werten? Danke!

  5. Hi,

    ich habe ein Problem und zwar kann ich mich mit Putty nicht mit meinem Pi verbinden, es wird immer angezeigt connection refused. Habe aber keine Ahnung warum, weißt du woran das liegen könnte?

  6. Hallo!
    Ich habe auch seit einem halben Jahr diese “Lichterkette” fernöstlicher Provinz hier liegen. Jetzt komme ich endlich dazu, das Ding in Betrieb zu nehmen und schon kommt die Ernüchterung. Es geht immer nur die erste/letzte LED auf weiss an. Tüddelt man an den Daten/Clock-Leitungen rum, blinkt das Ding wenigstens.
    Egal wie man es am Rasperry anschliesst, es tut sich gar nichts. Mist.
    Ich habe das hier gefunden: https://github.com/tvdzwan/hyperion/wiki/Hardware, braucht man evtl. diese Verstärkerschaltung mit Invertern um den LEDs das Leuchten beizubringen? Oder ein stärkeres Netzteil? Oder beides?

    • Die Schaltung habe ich nicht gebraucht.
      Einen genauen Fehler aus der Ferne festzustellen ist aber nicht so einfach. Ggf. die Leitungen vertauscht oder die LEDs am Ende und nicht am Anfang angeschlossen (bei mir gibt es Pfeile am Rand der LEDs, die zum Ende zeigen)? Auch das Netzteil kann das Problem sein.

      • Hi Linus,

        wenn keine Pfeile an den Rändern sind, woran könnte man noch feststellen, wie die LEDs korrekt angeschlossen werden?

        Ist z.B. der IC immer vor der LED in Signalrichtung, oder kann es auch sein, dass “der Hersteller” die ICs dahinter schaltet?

        Danke für Deine Rückmeldung!

        Beste Grüße
        Erni

  7. Hallo!
    Bisher tut sich bei mir leider nichts. Es leuchtet immer nur eine LED.

    Folgende Fehler habe ich bisher eliminiert:
    In meinem Raspberry-Linux fehlte das Modul für den spidev, das habe ich jetzt drin. Dann musste ich noch händisch das Device spidev erzeugen (mknod) und
    Mit dem Oszilloskop sehe ich auch irgendwelche Peaks auf dem PIN vom Raspberry.

    Ich habe mir jetzt mal ein anderes Netzteil bestellt und diese 74HCT00-Bausteine, vielleicht geht es damit besser.

    Drückt mir die Daumen.

    • Welches Linux nutzt du denn? Teste doch mal openElec.

    • Hi Peter
      wie genau hast du das gemacht? Das Problem tritt wohl beim Raspberry Pi 2 auf, bei dem man unter openElec auch spidev manuell integrieren muss (siehe hier: https://github.com/tvdzwan/hyperion/issues/251). Eine kurze Anleitung würde mir sehr helfen.
      So weit ich es in Erfahrung bringen konnte:
      In die config.txt gehört: device_tree_overlay=overlays/enable-spi-overlay.dtb
      enable-spi-overlay.dtb in /flash/overlays/ speichern – aber woher nehmen?

      Wie hast du das Device erzeugt: sudo mknod spidev c 0 0 (?)

      Dank Dir!
      Gruss
      Michael

  8. Ich habe ein normales Raspian drauf, OpenElec wäre natürlich ein Versuch wert. Muss mal eine andere SD-Karte suchen.
    Im Wohnzimmer wo das dann endgültig laufen soll ist ein Rasbmc im Gange.

  9. Hallo Linus,
    vielen Dank für den tollen Artikel. Ich habe Lust das nachzubauen. Was ich mich frage: Wie bekommst du das Bild auf die Lichterkette (bzw auf den Pi)? Und kann man mit der Methode auch zwei Lichterketten kaskadieren, um 100 LEDs zu erhalten?

    Viele Grüße, Jannis

  10. Puh!

    Jetzt gehts auf dem Labortisch! Ich habe das Signal mit einem 74HCT00 verstärkt.
    Ausserdem habe ich im Konfig-File erstmal den XBMC-Check abgestellt.
    Dann muss man genau drauf achten, an welchem Ende man das Signal einspeist. Und das die Kontakte richtig sitzen, ich hatte erst den interessanten Effekt dass die erste LED flackerte, alle anderen ganz normal das Programm mitmachten.
    Fazit: Bisher ging alles schief was schief gehen konnte, aber immerhin ist die “Lichterkette” nicht defekt.

    Vielleicht nützt mein Leidensweg ja dem ein oder anderen bei der Fehlersuche.

  11. Kann ich bei dem Schematic auch ein 12V WS2801 Strip verwenden oder funktioniert das nur bei 5V?

  12. Hi Linus
    Kann man auch mehr als 50 LEDS ansteuern, oder reichen diese auch für zB einen 48″ Fernseher ?

    Wenn ich es richtig verstehe werde nur die Inhalte die über den Raspberr gezeigt werden von Lichteffekte versehen ?

    Kann ich auch die normalen TV Sender die über unsere digitale Setupbox reinkommen mit diesen Lichteffekten versehen ?

  13. Servus Linus,

    Mein Problem ist, mit dem Pi von nem Freund (Model: B ) funktioniert alles einwandfrei, aber mit meinem eigenen (Model. B+) funktioniert es nicht
    wollte ich fragen ob du evtl. ne Idee hast woran es liegen könnte

  14. Hai all,

    Sieht ja super aus !
    Bevor ich anfange zu Basteln noch eine Frage:
    Wo bekommt der RasPi denn die Bilddaten her ? Ich vermute mal: HDMI…
    Dann fehlt in der “Stückliste” noch das HDMI-Kabel….

    Gruß
    Frank

  15. Hallo Linus,

    Tolles Project ! Habe es mir auch nachgebaut habe nur ein kleines Problem immoment. Es läuft soweit gut wenn ich ein RGB Test Bild abspiele sind auch alle Farben richtig.
    Starte ich Jetzt aber einen Film so ist der Himmel immer Blau auch wenn er eigentlich mehr Weiß ist. Genauso wie das wenn eine Rote leuchten im Hintergrund ist die LED´s sogut wie garnicht Rot werden. Bei Blauen/Gelb & Grünen Effekten ist alles Perfekt.
    Habe ich vieleicht eine Einstellung vergessen oder Falsch gemacht ?

  16. Hai all,

    so, di Lichtkette läuft erstmaal, das heißt, nach Boot läuft der “Rainbow swirl”.
    Danach leuchtet die Kette allerdings hellblau….
    Dann nochmal meine Frage von letzter Woche: ” wie bekommt der Raspi die Bilddaten ? Vom HDMI-Eingang?

    Wenn ich den Raspi über die Weboberfläche anspreche, meldet sich Kodi, ok.
    Allerdings sehe ich keine Konfig-Möglichkeit, Dateien sehe in im Tab “Movies” auch nicht, obwohl ich über FTP einige in “Videos” gespeichert habe.

    Weiß irgendwer Rat ?

    Es läuft OpenElec und Hyperion…

    Danke
    Frank

  17. Hallo!

    Ich habe ein Ambilight clone von Insaneware gekauft (Insanelight), weil ich an eine plug&play Lösung glaubte.

    Nun schafft es der Herr Robert Nowak nicht einem Kunden – der ja immerhin über 300€ hingelegt hat zu erklären wie man die Farben korrigiert.

    Weiß ist Hellblau (zu hoher Blauanteil), Gelb/Braun ist Grün und insgesamt ist alles zu hell für mich und zu unruhig (ein höherer Wert bei smoothing hilft wohl!?)

    Da ich allerdings das ganze schon fertig gekauft habe weiß ich nicht wie man etwas einstellen oder verstellen kann.

    Rein theoretisch kann ich die gewünschten Änderungen über die Hyperion App durchführen, aber ich komme nicht zu der passenden IP des Raspberry’s.

    Wie finde ich diese heraus? Das beigestellte Programm SuperScanner3.0 kann leider nur meine eigene IP finden. Da ich mir dachte, dass es wohl an einer fehlenden Anbindung an mein Netzwerk liegt habe ich den Raspberry mal per Netzwerkkabel an meinen Router angeschlossen, der SuperScanner findet trotzdem nichts.

    Ich weiß nicht wieso mir der Herr Nowak nicht erklären kann/möchte wie ich die Config anpassen kann. Ich weiß ja nichtmal wo man an den Raspberry einen Monitor oder eine Tastatur anschließt.

    Danke schonmal vorab!

  18. Hallo,

    danke für die gute Anleitung. Habe mit der Anleitung fast erfolgreich mein Ambileight gebaut. Leider habe ich ein Problem mit dem ansprechen der LEDS. Ich habe 96 Leds verbaut. Diese funktionieren z.B. auch mit hyperion unter rasbian. Ich würde das gerne aber mit openelec betreiben. Leider funktionieren unter openelec nur 50 LEDs. Die in der config von hyperion wurden auch 96 LEDs eingetragen.

    Kann mir vielleicht jemand helfen und erklären, wo das Problem ist und wie ich es behebe?

    Danke und Grüße

    Martin

  19. Super “how to”, danke.
    Soweit läuft es bei mir mit Raspi2, Arduino Uno, WS2812b, allerdings nur im SD mode dh. wenn ich das TV mit dem Video Ausgang des Raspi verbinde. Wenn ich den HDMI Ausgang nutze bleibt Boblight dunkel, selbst wenn ich die Auflösung auf “Desktop” einstelle.
    Nur die von mir eingestellte Hintergrund Farbe wir angezeigt wenn ich im Menu bin, aber beim Film nichts, bei Musik nichts, bei LiveTv nichts.
    Irgend eine Idee woran das liegen mag?

  20. Hallo zusammen!

    danke erstmal für diesen Tutorial. Zwar ich alles in diesem Tutorial befolgt habe, kann aber die LEDs nicht richtig zum leuchten bringen. Wenn ich die im Strom habe, mal leuchtet nur das Lezte LED mal irgendeinen in der Kette. Mit Openelec sehe ich keine Änderung in der Kette egal ob beim neustart oder im Film. Die Kette hat volgende Kabeln – Rot (V+), Blau (COM), Grün (DAT?), Weis (CLK?). Ich habe auch die Clock und DAT Verbindung getauscht, ohne Erfolg.

    Hyperion scheint im Openelec zu laufen, da ich über den cmdline Befehl-
    hyperion-remote.sh –priority 50 –color red –duration 5000

    zwar mit dem host verbinden kann, wird aber keine Änderung in der Lichter-kette ausgegeben. Langsam zweifle ich, dass die Openelec Version kein SPI Befehl unterstützt. Diese Zeile habe ich noch in dem config.txt drin: dtparam=spi=on

    Mein Hardware-Kofig sieht so aus:
    LEDs mit WS2801 – 50er Kette
    Rpi B+ mit Openelec 5.0.8
    5V-5A Stromversorgung für die Kette

    Kennt jemand eine Lösung oder ein möglichen Lösungsweg?

  21. Hallo,

    mich würde interessieren, ob man auch eine GRB codierte 12V Lichterkette mit Hyperion steuern könnte. Dort ist die Codierung wie folgt: 12V Anschluss und die Farben werden über Masse gesteuert. Ich habe das erfolgreich nachgebaut wie in diesem Tutorial beschrieben: h**p://popoklopsi.github.io/RaspberryPi-LedStrip/#/

    Hat vielleicht schon mal jemand von euch damit experimentiert und kann mir auf die Sprünge helfen, eventuell finden sich dazu Tutorials im Web und ich habe nur noch keine gefunden.

    Martin

Schreibe einen Kommentar

Pflichtfelder sind mit * markiert.


 

Durch die weitere Nutzung der Seite stimmst du der Verwendung von Cookies zu. Weitere Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen