/ tech

Ambilight

Ca faisait un moment que j'avais envie de mettre en place ce type de dispositif.
La période de confinement a été propice de ce point de vue là, petit tour de cette solution qui permet une meilleure immersion dans les films (notamment) :)

Préambule

Il faut tout d'abord voir que plusieurs solutions s'offre à nous en terme d'implémentation.

Pour ma part j'ai décidé de partir sur un grabber video (il est possible d'installer sur des box android un grabber logiciel qui autra quelques limitations dues notamment à l'utilsation de DRM par Netflix ou Youtube par exemple), plus souple à l'utilisation et compatible avec toutes sortes de sources.

Beaucoup de tuto explique une installation à base de Rapsberry sur lequel on plug la Strip LED (bande de led) sur un GIPO précis.
D'autre passent par un Arduino pour controller la bande LED.

De mon coté j'ai préféré l'utilisation d'un ESP8266, couplé avec un Raspberry qui "forwaredera" (je sais c'est moche :)) à l'ESP les couleurs/luminosité à afficher pour chacune des LED et ce via une communication WIFI (en UDP).

Le matériel

moi j'ai 176leds derriere ma tele (42") j'ai utilisé une alimentation de 5V 10A ca suffit pour tout alimenter (ESP + LED)
https://www.amazon.fr/gp/product/B07YVBHH6K/ref=ppx_yo_dt_b_asin_title_o01_s00?ie=UTF8&psc=1

pour plugguer l'alim au reste il faudra :
https://fr.aliexpress.com/item/33026879485.html?spm=a2g0s.9042311.0.0.1ede6c37TlvK9K

NodeMCU (ESP8266) :
https://fr.aliexpress.com/item/32802874451.html?spm=a2g0s.9042311.0.0.1ec66c37odUeY0

pour la LED Strip j'ai pris la version 5m 60led IP30
https://fr.aliexpress.com/item/32966375934.html?spm=a2g0s.9042311.0.0.1ec66c37pFiEMU

Splitter HDMI
https://fr.aliexpress.com/item/32802583533.html?spm=a2g0s.9042311.0.0.1ec66c37V4rjF5

pour éviter les soudures on doit prendre des jonctions de bandeau LED (prendre les 10 mm 3 pin L)
https://fr.aliexpress.com/item/32792233905.html?spm=a2g0s.9042311.0.0.1ec66c37V4rjF5

et pour le grabber il faut ca :
https://fr.aliexpress.com/item/33014883582.html?spm=a2g0s.9042311.0.0.1ec66c37V4rjF5
https://fr.aliexpress.com/item/762318328.html?spm=a2g0s.9042311.0.0.36ec6c372pLc7B

Installation du Raspberry

  • on recupére la version raspbian buster
  • on configure dans la carte SD /boot/ le fichier wpa_supplicant.conf et on crée le fichier ssh (pour éviter de devoir connecter un écran)
  • on se connecte en ssh une fois le RPI connecté au wifi
  • ensuite on fait son apt-get update et apt-get dist-upgrade
  • puis on recupére la derniere version d'hyperion (à l'ecriture de ce tuto la version 2.0.0-alpha.7 d'hyperion NG)
  • wget https://github.com/hyperion-project/hyperion.ng/releases/download/2.0.0-alpha.7/Hyperion-2.0.0-alpha.7-Linux-armv7l.deb
  • sudo dpkg -i /Hyperion-2.0.0-alpha.7-Linux-armv7l.deb
  • Enfin avant de reboot :
  • sudo systemctl disable --now hyperiond@pi
  • sudo systemctl enable --now hyperiond@root
  • puis on reboot

Installation du Node MCU (ESP8266)

tout d'abord on va recupérer le soft pour flasher le NodeMCU :
https://github.com/marcelstoer/nodemcu-pyflasher/releases

ainsi que le firmware contenant WLED en version 0.10.0 : https://github.com/Aircoookie/WLED/releases/download/v0.10.0/WLED_0.10.0_ESP8266.bin

On flash notre ESP.

Suivre cette vidéo pour un complément d'information :
https://www.youtube.com/watch?v=g1vpOLGk-gs

Une fois l'ESP demarré on devrait pouvoir acceder à l'ESP en mode AP (access point du nom de WLED-AP) en gros il va créer un reseau wifi sur lequel on se connecte.

On peut alors modifier sa configuration WIFI pour l'intégrer à notre réseau domestique.

Branchement WS2812b sur ESP

!!! A faire avec l'alimentation déconnectée du secteur !!!
ESP
De mon coté je n'ai pas ajouté de resistance sur la pin DATA.

Attention églement au sens des fleches sur la Strip LED.

Une fois l'ESP connecté au secteur la bande LED devrait s'allumer immédiatement en orange.

Configuration WLED

On peut alors se rendre sur l'IHM WLED sur notre réseau wifi

http://[IP_ESP]

WLED_IHM

on peut tester de changer la couleur affihcer et meme lancer des effets.
WLED comprend énormément d'effet, certains sont d'ailleurs très réussis.

on va maintenant configuré la partie Synchronisation utilisé par Hyperion.

Pour cela on va sur WLED en haut de l'IHM on clique sur CONFIG puis SYNC INTERFACE

et dans WLED Broadcat on met le port UDP 19448 et on vérifié que l'option dans Realtime -> Receive UDP realtime est bien cochéeet on sauvegarde

Pendant que l'on y est on va aussi configuré la bande LED.

Dans CONFIG puis LED PREFERENCES

on saisit le nombre de LED utilisés pour le projet pour moi 179.
et on sauvegarde.

Branchement Raspberry

on branche comme ceci :

  • La source (pour moi la Freebox Delta) se branche sur le Splitter HDMI en source
  • La tele est branchée en HDMI sur une des sorties.
  • Sur l'autre sortie on branche un cable HMDI vers le convertisseur HDMI2AV.
  • On branche sur la sortie RCA du convertisseur HDMI2AV les cables RCA (jaune, rouge et blanc) attention cable non fourni avec le convertiseur dans certains cas.
  • Les cables RCA sont alors branchés sur le grabber que l'on plug sur le Raspberry sur un port USB2.0
  • On allume (ou on redemarre) le Raspberry pour prendre en compte le grabber usb

Configuration Hyperion

On se rend sur l'adresse suivante pour accéder à l'IHM Hyperion :
http://[IP_RASPBERRY]:8090/

dans configuration :
General : rien à faire
LED Hardware :

  • on choisit controller type udpraw
  • RGB pour le RGB Byte order (à modifier si vous voyez des couleurs mal interpétées genre du bleu au lieu du vert ...)
  • Target IP : on met l'ip de l'ESP
  • Port : 19446 (attention ne pas mettre le meme port que celui configuré sur WLED)
    et dans l'onglet LED Layout :
  • Top : le nombre de led sur le haut de la tele pour moi 56
  • Bottom : le nombre de led sur le bas de la tele pour moi 58
  • Left : le nombre de led sur le coté gauche de la tele pour moi 33
  • Right : le nombre de led sur le droit de la tele pour moi 32
  • Input position : la premiere led on peut vérifier sur le LED Layout preview en bas de la page si c'est conforme à ce que l'on a. pour ma part j'ai collé la strip led du bas gauche de la tele pour faire le tour de la tele avec la bande led (dans le sens des aiguilles d'une montre) la valeur pour moi est donc 146.

Capturing Hardware :

  • on coche le enable USB Capture
  • normallement les autres parametages ne sont pas necessaires.

Image Processing :

  • Smoothing activate coché
  • Time 50ms
  • Update Frequency 25Hz
  • Update delay 0ms
  • Continous output coché

BlackBar detector :

  • on coche activate
  • Threshold 20%
  • Mode default

On sauvegarde et on redemarre le RPI.

Normallement on devrait voir apparaitre sur l'interface WLED un panneau nous indiquant que l'on recoit les données provenant d'hyperion.

Pour desactiver l'ambilight on clique sur overide once et on peut recontroller la bande led manuellement.

Pour réactiver l'ambilight il suffira de cliquer sur l'etoile :)

Demos

https://www.youtube.com/watch?v=QIW81bfFMb4
https://www.youtube.com/watch?v=sWV2RjIEzdo
https://www.youtube.com/watch?v=JkJGvqYDTRc&t=30s

Ambilight
Share this