Benutzeravatar
Chris/si
Neuling

Beiträge:17
Registriert:8. Jul 2016

Modi: Ambilight / normales Licht

8. Jul 2016, 22:57

Hallo liebe Ambilight Fans,

ich werde hoffentlich in wenigen Tagen alle meine bestellten Komponenten für mein eigenes Ambilight-System erhalten.

Mein Wunsch ist es folgende Funktionen mit diesem umzusetzen:
1. Ambilight (Ja klar, wieso söllte ich mir das auch sonst bauen :P ),
2. normales Licht, bei dem ich die Farben und all das Drum und Dran von meinem Smartphone aus, evtl. mit der Hyperion-App(?), kontrollieren kann.

Meine Vorstellung ist es nun, dass wenn ich den Raspi starte, er automatisch im Modus für "normales Licht" startet und ich mit meinem Smartphone aus die Lichtfarbe, Intensität oder evtl. auch ein Farben-Fade-Modus steuern kann. Genauso gut würde ich aber auch gerne von meinem Smartphone aus in den Modus "Ambilight" wechseln können und von dort aus wieder zur normalen Beleuchtung. Diesbezüglich wäre auch parallel zum "Software-Switching" ein Hardware-Taster zum Umschalten der Modi am Raspi selbst eine coole Sache. :)

Insofern möglich, werde ich, da ich kein Kodi benötige (ich werde ein externes HDMI-Gerät nutzen) die Distribution Rasbian Lite nutzen. Ich habe an anderer Stelle gelesen, dass sich damit quasi ein Hyperion-Standalone-Betrieb ohne Schnickschnack, welchen ich nicht brauche, realisieren ließe.
Btw., ich nutze Android als OS auf meinem Smartphone. ;)

Ist dieses Vorhaben mit Raspian Lite möglich/sinnvoll?
Hat jemand schon Erfahrungen hingehend meiner Vorstellungen zu der ganzen Thematik der Steuerung und kann mich diesbezüglich bei der Umsetzung ein wenig guiden? :)

- Chris/si

b2un0
Moderator

Beiträge:1819
Registriert:16. Nov 2015
Wohnort:Hamburg
Beruf:Softwareentwickler

Modi: Ambilight / normales Licht

11. Jul 2016, 07:49

Mit Raspbian ist das Möglich ja.

Zur App, Du kannst damit nicht alles machen was du dir vorstellst, aber das meiste.
Guck dir doch einfach die App an - wenn du den RPI schon hast, kannst du den schon komplett vorbereiten, Hyperion installieren & auch mit der App zu Hyperion verbinden und dir das alles Demoartig angucken - ob die Stripes nun dran hängen oder nicht ist Hyperion egal.
Kein Support per PM!

Chris/si
Neuling

Beiträge:17
Registriert:8. Jul 2016

Modi: Ambilight / normales Licht

17. Jul 2016, 14:06

Es ist soweit nun am laufen, und schaut schon fantastisch aus. Allerdings habe ich noch das Problem, dass der Blackborder-Detector nicht richtig zu funktionieren scheint. Wenn ich auf meinem PC (der PC ist die "einzige" HDMI-Quelle des Ambilights) einen Film mit schwarzen Rändern oben und unten starte, bleibt es oben und unten ebenfalls dunkel.
Muss ich diesbezüglich für externe HDMI-Gerätschaften den Blackborder-Detector anders konfigurieren?

b2un0
Moderator

Beiträge:1819
Registriert:16. Nov 2015
Wohnort:Hamburg
Beruf:Softwareentwickler

Modi: Ambilight / normales Licht

18. Jul 2016, 07:17

Jain, Hier Beitrag #2 den Screenshot anfertigen
viewtopic.php?f=8&t=836

Und deine Konfiguration posten.
Kein Support per PM!

Chris/si
Neuling

Beiträge:17
Registriert:8. Jul 2016

Modi: Ambilight / normales Licht

18. Jul 2016, 20:34

So hier nun die Fotos und die Konfigurationsdatei. In der Konfigurationsdatei habe ich nachträglich noch ein paar Änderungen vorgenommen, allerdings bestand das Problem mit dem Blackborder-Detector schon bevor ich dort noch Veränderungen vorgenommen habe. Ich hoffe die Fotos und die Config geben ein Aufschluss über den Verursacher. :)


- Ich nutze Raspbian
- meine Config liegt unter /etc/hyperion
- Ambilight funktioniert top, bis auf den Blackborder-Detector
LEDs: WS2801


Meine boot/config.txt

Code: Alles auswählen

# For more options and information see
# http://www.raspberrypi.org/documentation/configuration/config-txt.md
# Some settings may impact device functionality. See link above for details

# uncomment if you get no picture on HDMI for a default "safe" mode
#hdmi_safe=1

# uncomment this if your display has a black border of unused pixels visible
# and your display can output without overscan
#disable_overscan=1

# uncomment the following to adjust overscan. Use positive numbers if console
# goes off screen, and negative if there is too much border
#overscan_left=16
#overscan_right=16
#overscan_top=16
#overscan_bottom=16

# uncomment to force a console size. By default it will be display's size minus
# overscan.
#framebuffer_width=1280
#framebuffer_height=720

# uncomment if hdmi display is not detected and composite is being output
#hdmi_force_hotplug=1

# uncomment to force a specific HDMI mode (this will force VGA)
#hdmi_group=1
#hdmi_mode=1

# uncomment to force a HDMI mode rather than DVI. This can make audio work in
# DMT (computer monitor) modes
#hdmi_drive=2

# uncomment to increase signal to HDMI, if you have interference, blanking, or
# no display
#config_hdmi_boost=4

# uncomment for composite PAL
#sdtv_mode=2

#uncomment to overclock the arm. 700 MHz is the default.
#arm_freq=800

# Uncomment some or all of these to enable the optional hardware interfaces
#dtparam=i2c_arm=on
#dtparam=i2s=on
dtparam=spi=on

# Uncomment this to enable the lirc-rpi module
#dtoverlay=lirc-rpi

# Additional overlays and parameters are documented /boot/overlays/README

# Enable audio (loads snd_bcm2835)
dtparam=audio=on

# NOOBS Auto-generated Settings:
hdmi_force_hotplug=1


Die Hyperion-Config:

Code: Alles auswählen

// Automatically generated configuration file for Hyperion ambilight daemon
// Notice: All values are explained with comments at our wiki: wiki.hyperion-project.org (config area)
// Generated by: HyperCon (The Hyperion deamon configuration file builder)
// Created with HyperCon V1.03.1 (11.06.2016)

{
   // DEVICE CONFIGURATION
   "device" :
   {
      "name"       : "MyHyperionConfig",
      "type"       : "ws2801",
      "output"     : "/dev/spidev0.0",
      "rate"     : 1000000,
      "colorOrder" : "rgb"
   },

   // COLOR CALIBRATION CONFIG
   "color" :
   {
      "channelAdjustment" :
      [
         {
            "id"   : "default",
            "leds" : "*",
            "pureRed" :
            {
               "redChannel"      : 255,
               "greenChannel"      : 0,
               "blueChannel"      : 0
            },
            "pureGreen" :
            {
               "redChannel"      : 0,
               "greenChannel"      : 255,
               "blueChannel"      : 0
            },
            "pureBlue" :
            {
               "redChannel"      : 0,
               "greenChannel"      : 0,
               "blueChannel"      : 255
            }
         }
      ],
      "temperature" :
      [
         {
            "id"   : "default",
            "leds" : "*",
            "correctionValues" :
            {
               "red"    : 255,
               "green"   : 255,
               "blue"    : 128
            }
         }
      ],
      "transform" :
      [
         {
            "id"   : "default",
            "leds" : "*",
            "hsl" :
            {
               "saturationGain"   : 1.0000,
               "luminanceGain"      : 1.0000,
               "luminanceMinimum"      : 0.0000
            },
            "red" :
            {
               "threshold"    : 0.1900,
               "gamma"        : 2.9000
            },
            "green" :
            {
               "threshold"    : 0.1900,
               "gamma"        : 2.9000
            },
            "blue" :
            {
               "threshold"    : 0.1900,
               "gamma"        : 2.9000,
               "whitelevel"   : 0.7500   
            }
         }
      ],
   // SMOOTHING CONFIG
      "smoothing" :
      {
         "type"            : "linear",
         "time_ms"         : 200,
         "updateFrequency" : 60.0000,
         "updateDelay"     : 0
      }
   },

   // V4L2 GRABBER CONFIG
   "grabber-v4l2" :
   {
      "device" : "/dev/video0",
      "input" : 0,
      "standard" : "NTSC",
      "width" : -1,
      "height" : -1,
      "frameDecimation" : 2,
      "sizeDecimation" : 4,
      "priority" : 800,
      "mode" : "2D",
      "cropLeft" : 6,
      "cropRight" : 6,
      "cropTop" : 2,
      "cropBottom" : 2,
      "redSignalThreshold" : 0.1,
      "greenSignalThreshold" : 0.1,
      "blueSignalThreshold" : 0.1
   },

   // BLACKBORDER CONFIG
   "blackborderdetector" :
   {
      "enable" : true,
      "threshold" : 0.14,
      "unknownFrameCnt" : 600,
      "borderFrameCnt" : 50,
      "maxInconsistentCnt" : 10,
      "blurRemoveCnt" : 1,
      "mode" : "default"
   },

   // BOOTEFFECT CONFIG
   "bootsequence" :
   {
      "color" : [0,0,0],
      "effect" : "Rainbow swirl fast",
      "duration_ms" : 3000,
      "priority" : 700
   },

   // JSON SERVER CONFIG
   "jsonServer" :
   {
      "port" : 19444
   },

   // PROTO SERVER CONFIG
   "protoServer" :
   {
      "port" : 19445
   },

   // EFFECT PATH
   "effects" :
   {
      "paths" :
      [
         "/storage/hyperion/effects",
         "/usr/share/hyperion/effects"
      ]
   },

   // NO FRAME GRABBER CONFIG
   // NO KODI CHECK CONFIG
   // NO BOBLIGHT SERVER CONFIG
   // NO JSON/PROTO FORWARD CONFIG

   // LED CONFIGURATION
   "leds" :
   [
      {
         "index" : 0,
         "hscan" : { "minimum" : 0.4118, "maximum" : 0.4706 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 1,
         "hscan" : { "minimum" : 0.5294, "maximum" : 0.5882 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 2,
         "hscan" : { "minimum" : 0.5882, "maximum" : 0.6471 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 3,
         "hscan" : { "minimum" : 0.6471, "maximum" : 0.7059 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 4,
         "hscan" : { "minimum" : 0.7059, "maximum" : 0.7647 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 5,
         "hscan" : { "minimum" : 0.7647, "maximum" : 0.8235 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 6,
         "hscan" : { "minimum" : 0.8235, "maximum" : 0.8824 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 7,
         "hscan" : { "minimum" : 0.8824, "maximum" : 0.9412 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 8,
         "hscan" : { "minimum" : 0.9412, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 9,
         "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 10,
         "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.8889, "maximum" : 1.0000 }
      },
      {
         "index" : 11,
         "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.7778, "maximum" : 0.8889 }
      },
      {
         "index" : 12,
         "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.6667, "maximum" : 0.7778 }
      },
      {
         "index" : 13,
         "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.5556, "maximum" : 0.6667 }
      },
      {
         "index" : 14,
         "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.4444, "maximum" : 0.5556 }
      },
      {
         "index" : 15,
         "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.3333, "maximum" : 0.4444 }
      },
      {
         "index" : 16,
         "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.2222, "maximum" : 0.3333 }
      },
      {
         "index" : 17,
         "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.1111, "maximum" : 0.2222 }
      },
      {
         "index" : 18,
         "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.1111 }
      },
      {
         "index" : 19,
         "hscan" : { "minimum" : 0.9500, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 20,
         "hscan" : { "minimum" : 0.9412, "maximum" : 1.0000 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 21,
         "hscan" : { "minimum" : 0.8824, "maximum" : 0.9412 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 22,
         "hscan" : { "minimum" : 0.8235, "maximum" : 0.8824 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 23,
         "hscan" : { "minimum" : 0.7647, "maximum" : 0.8235 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 24,
         "hscan" : { "minimum" : 0.7059, "maximum" : 0.7647 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 25,
         "hscan" : { "minimum" : 0.6471, "maximum" : 0.7059 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 26,
         "hscan" : { "minimum" : 0.5882, "maximum" : 0.6471 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 27,
         "hscan" : { "minimum" : 0.5294, "maximum" : 0.5882 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 28,
         "hscan" : { "minimum" : 0.4706, "maximum" : 0.5294 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 29,
         "hscan" : { "minimum" : 0.4118, "maximum" : 0.4706 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 30,
         "hscan" : { "minimum" : 0.3529, "maximum" : 0.4118 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 31,
         "hscan" : { "minimum" : 0.2941, "maximum" : 0.3529 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 32,
         "hscan" : { "minimum" : 0.2353, "maximum" : 0.2941 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 33,
         "hscan" : { "minimum" : 0.1765, "maximum" : 0.2353 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 34,
         "hscan" : { "minimum" : 0.1176, "maximum" : 0.1765 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 35,
         "hscan" : { "minimum" : 0.0588, "maximum" : 0.1176 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 36,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0588 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 37,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.0800 }
      },
      {
         "index" : 38,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
         "vscan" : { "minimum" : 0.0000, "maximum" : 0.1111 }
      },
      {
         "index" : 39,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
         "vscan" : { "minimum" : 0.1111, "maximum" : 0.2222 }
      },
      {
         "index" : 40,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
         "vscan" : { "minimum" : 0.2222, "maximum" : 0.3333 }
      },
      {
         "index" : 41,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
         "vscan" : { "minimum" : 0.3333, "maximum" : 0.4444 }
      },
      {
         "index" : 42,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
         "vscan" : { "minimum" : 0.4444, "maximum" : 0.5556 }
      },
      {
         "index" : 43,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
         "vscan" : { "minimum" : 0.5556, "maximum" : 0.6667 }
      },
      {
         "index" : 44,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
         "vscan" : { "minimum" : 0.6667, "maximum" : 0.7778 }
      },
      {
         "index" : 45,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
         "vscan" : { "minimum" : 0.7778, "maximum" : 0.8889 }
      },
      {
         "index" : 46,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
         "vscan" : { "minimum" : 0.8889, "maximum" : 1.0000 }
      },
      {
         "index" : 47,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0500 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 48,
         "hscan" : { "minimum" : 0.0000, "maximum" : 0.0588 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 49,
         "hscan" : { "minimum" : 0.0588, "maximum" : 0.1176 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 50,
         "hscan" : { "minimum" : 0.1176, "maximum" : 0.1765 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 51,
         "hscan" : { "minimum" : 0.1765, "maximum" : 0.2353 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 52,
         "hscan" : { "minimum" : 0.2353, "maximum" : 0.2941 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 53,
         "hscan" : { "minimum" : 0.2941, "maximum" : 0.3529 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      },
      {
         "index" : 54,
         "hscan" : { "minimum" : 0.3529, "maximum" : 0.4118 },
         "vscan" : { "minimum" : 0.9200, "maximum" : 1.0000 }
      }
   ],

   "endOfJson" : "endOfJson"
}


Bild
Bild
Bild
Bild
Bild

b2un0
Moderator

Beiträge:1819
Registriert:16. Nov 2015
Wohnort:Hamburg
Beruf:Softwareentwickler

Modi: Ambilight / normales Licht

19. Jul 2016, 07:17

Sieht gut aus, aber wir brauchen aus Beitrag #2 von meinen verlinkten Thread den Screenshot welchen du mit dem Befehl am Grabber machst um zu sehen ob deine NTSC/PAL und Cropwerte einfach nur fehlerhaft hast :)
Kein Support per PM!

Chris/si
Neuling

Beiträge:17
Registriert:8. Jul 2016

Modi: Ambilight / normales Licht

20. Jul 2016, 19:24

Ich hoffe das waren die richtigen drei Befehle, jedoch findet er bei mir immer zu nichts. Auch wenn ich die Befehle als root-user im root-verzeichnis ausführe :/
Dateianhänge
Unbenannt.PNG
Unbenannt.PNG (11.02 KiB) 5678 mal betrachtet

b2un0
Moderator

Beiträge:1819
Registriert:16. Nov 2015
Wohnort:Hamburg
Beruf:Softwareentwickler

Modi: Ambilight / normales Licht

20. Jul 2016, 22:30

ah, du bist ja mit raspbian unterwegs statt openELEC

die Befehle sind für openeELEC :D

kp mehr wie die unter raspbian sind.. solltest du aber selber herausfinden können, wenn man raspbian verwendet hat man ja n paar Grundkenntnisse von Linux (hoffe ich).
Kein Support per PM!

Chris/si
Neuling

Beiträge:17
Registriert:8. Jul 2016

Modi: Ambilight / normales Licht

23. Jul 2016, 13:32

Ich habe herausfinden können, dass das ganze bei mir ungefähr so aussehen muss.

Code: Alles auswählen

sudo hyperion-v412 -d /dev/video0 -f 2 -s 1 --screenshot


Problem nun ist, dass ich nun "Kommando nicht gefunden" entgegen geworfen kriege und ich nicht mehr wirklich weiß wo ich noch suchen soll. :oops: :?

Chris/si
Neuling

Beiträge:17
Registriert:8. Jul 2016

Modi: Ambilight / normales Licht

27. Jul 2016, 20:10

sooo o :D

ich bin fündig geworden. Folgendes wird mir ausgegeben:

Code: Alles auswählen

hyperion-v4l2:
 version   : V1.03.2 (brindosch-99d9396/d3713a8-1469452981
 build time: Jul 25 2016 06:54:40
V4L2GRABBER INFO: width=720 height=480
V4L2GRABBER INFO: pixel format=YUYV
VIDIOC_REQBUFS ERROR 16, Device or resource busy



Lässt sich hieraus ein eventueller Grund für das nicht-Funktionieren des Blackborder-Detectors erkennen? :)

Zurück zu „Allgemein“