Ambilight para Imagenio


Ambilight es una tecnología diseñada para mejorar la experiencia visual  analizando una señal de video  entrante y produciendo una  luz lateral ambiental adecuada al contenido que se está visualizando en la pantalla  con  un resultado bastante atractivo , el cual  además de la sensación de estar viendo una pantalla aun mayor.
Hasta hace muy poco este efecto solo se podía conseguir si comprábamos una TV que contara con ese sistema y no había otra opción, pero recientemente  han aparecido software para emularlo  a través una placa Arduino UNO (o incluso Arduino nano), un ordenador,y una tira de 50 leds(  suficientes  para iluminar una televisión de 47 pulgadas)  .  Aunque  la solución usando Arduino es  eficiente   podemos llegar aun mas lejos para  emularlo incluso en la  propia TV de nuestro salón   gracias  a la potencia de la Raspberry Pi  2 o 3   y  una capturadora  de vídeo  y por supuesto , una tira de 50 leds WS2801 (como vamos a  ver ).
En este  post  vamos a ver como es posible emular un sistema “ambiligt”  donde el hardware que controlará  todo el sistema sera únicamente una Raspberry Pi 2  o 3  equipada con una distribución compatible ( Openelec)   y el software de control de  leds Hyperion. Además de controlar los leds, la combinación de la Raspberry Pi junto con Kodi constituye un excelente Media Center capaz de reproducir todo tipo de contenidos de audio, vídeo e imagen, de reproducir nuestra colección multimedia almacenada en el PC o en un disco externo, e incluso de reproducir directamente contenidos on-line si se posee  las  subscripción en el hogar  y por supuesto cuenta con la conexión  de suficiente ancho de banda como por ejemplo ftth.
Es importante ademas resaltar  que será posible disfrutar de la emulación de  ambilight con fuentes de vídeo externas a la Pi  usando una económica  capturadora  de vídeo  que permitirá  que la emulación no solo funcione con el contenido multimedia que reproducimos desde la Raspberry Pi  , también  responderá a la señal de video externa que le introduciremos  procedente de una fuente externa de video como por ejemplo puede ser la señal de video procedente de un descodificador de Imagenio .
Para concretar  un poco  mas  en este montaje  necesitaremos los siguientes componentes:
  • Una Raspberry Pi 2 o 3
  • Un tarjeta microsd  de l amenos 2GB   donde instalamos  el sw para la Raspeberry Pi
  • Fuente con salida microusb  para la Raspberry Pi (5V/1Amp)
  • Tira de leds con el chip WS2801
  • Fuente dimensionada para alimentar la tira de leds (5v /2amp deberia bastar)
  •  Convertidor  de niveles (Opcional)
  • Capturadora de video usb USBTV007 o compatible
  • Caja para albergar la Raspberry-Pi 2

TIRA DE LEDS y ALIMENTACION

Antes de empezar  con el montaje ,  la tira de  leds   RGB   direccionable es muy importante que ésta esté basada en el chip  ws2801 (LEDs WS2801). Existen tiras basadas en el chip WS2801   en formato “luces de navidad”, pero lo mas habitual es adquirirla en forma de cinta autoadhesiva pues es mucho mas sencillo instalarlas detrás de nuestro TV  pues  se pueden pegar directamente en la parte de atrás del tv  y no necesitan un engorroso cableado   y ademas  no nos  dará  ningún tipo de problemas  con la Raspberry Pi

Un ejemplo de tira  compatible con WS2801 es  esta  que puede comprarse en Amazon por menos de 27€

tira de leds.png

Una peculiaridad  de esta tiras ,es que ademas de que se pueden cortarse según la longitud que se requieran ( siempre por la linea de corte que separa cada bloque  chip+led rgb del siguiente) .Otro aspecto muy interesante  es que ,  también es posible ampliarlas gracias a  los conectores que llevan en cada extremo, pudiendo  unirse  entre ellas fácilmente sin soldar nada hasta completar la longitud total que  se necesite ( la cual normalmente sera el perímetro interior de su TV).

No debemos olvidar que esta tiras tienen una flecha que indican el sentido de la conexión de las tiras que debe respetarse escrupulosamente  sobre todo a la hora de conectar varias tiras entre si : es decir siempre empezaremos por la izquierda de la flecha con la conexión a la raspberry y seguiremos el orden de la flecha para interconectar las tiras que se precisen

conector.png

Un aspecto importante que no debemos  olvidar  es que parara alimentar dicha tira de leds  WS2801 ,  necesitaremos aparte  una fuente de alimentación  dimensionada para el número de leds que vayamos a adquirir , (lo normal seria  una fuente de  5v y 2A para  unos 50 leds)

Este tipo de tiras de leds  tienen que alimentarse  con una fuente de alimentación externa así que si pensaba alimentarlos con la propia Raspberry olvídese, ya que no va a tener los suficiente intensidad para ello  Para saber que fuente de alimentación necesita , tendría  que conocer el consumo .Dado que el voltaje de alimentación es de 5V  y el consumo viene indicado en vatios por metro, por ejemplo 8.64 watts por metro puede calcular la  intensidad necesaria  aplicando   la siguiente formula:

I (Amp) =P (Watts) / V (voltaje) ->  8.64/5 = 1.728 amperios. por tanto necesita una fuente de alimentación de 5V y 1.728 amperios (mejor 2 amperios para que vaya holgada)

Si se quiere ahorrar los cálculos visite http://www.rapidtables.com/calc/electric/Watt_to_Amp_Calculator.htm

Como regla aproximada  para 50 LEDs se necesitan 2 amperios ,para 100 leds 4 amperios, etc.

ADAPTADOR DE NIVELES

Hay  un pequeño problema con los niveles de tensión que admiten las tiras de led WS2801   (niveles TTL de 0/5v )  y los niveles de tensión que maneja una Raspberry Pi (0/3.0v) . El nivel mínimo de tensión que teóricamente admiten los WS2801  para considerar una señal de entrada un “1” lógico debe ser de 0.8 x 5 = 4V. Sin embargo, tanto la Raspberry Pi 2 como   la Raspberry Pi 3,ambas   trabajan con lógica a 3.3V, por lo que un “1” lógico en el GPIO alcanzará como máximo un nivel de tensión de 3.3V, lo que parece  alejado del mínimo aceptado de 4V de los chips WS2801, razón por la cual  muchos recomiendan  instalar  un  convertidor  de niveles que realizara la función de adaptar las señales lógicas de 3.3V del GPIO de la Pi hasta los 5V de la lógica empleada en los chips WS2801 que controlan los leds.
Generalmente estos convertidores  son de muy  bajo coste (unos 2€) y se conectan de un modo muy sencillo:  tienen un lado de baja tensión (marcado como LV)  que funciona a  niveles de 3.3V  y un lado de ‘alta tensión’ que conectaremos  a la Raspverry Pi 2 o 3 , y otro  marcado como HV que trabaja a 5V  que conectaremos  a los pines de entrada de la tira de leds
Ademas no debemos olvidar los pines de GND del lado de baja (LV) y del de alta (HV)  que deben conectarse entre ellos si no lo están en la propia plaquita.
convertidor.png
Es importante mencionar que la línea de +5V para el lado HV(de “alta” tensión) debe provenir de la misma alimentación de 5V proporcionada a los leds (si usáramos una única fuente de alimentación para los leds y la Raspberry Pi 2 o 3  lo cual se desaconseja por completo , en ese casi si podríamos usar uno de los pines de +5V del GPIO para conectarlo al lado de HV), asi como  que también debe proporcionarse al circuito para el lado LV (“baja” tensión)   la  alimentación de 3.3V  , la cual la obtendremos de la propia Raspberry Pi 2 o 3
El buffer de línea (adaptador de niveles de 3.3V a 5V) irá entre los pines GPIO de la RB Pi y la tira de leds WS2801   usando tan solo dos circuitos(  para CK y DS )   de los cuatro circuitos disponibles  en el adaptador.  Usaremos  por ejemplo un  hilo verde del pin MOSI (19) desde la Raspbery  hacia el adaptador  y de este a  la tira de leds(SD)    y otro hilo de color   azul el pin 23(SCLK)    hacia el adaptador y de este al CLOCK  de  la tira de leds .

Asimismo conectaremos  un  hilo de color negro de “tierra” (ground), desde el GDN del adaptador al pin 9  hacia el GND de  la Raspberry  y alimentaremos ambas partes del circuito con 5V (HV)  procedente de la fuente de alimentación para los leds   y 3.3V (LV) procedente del pin 1 de la Raspebrry pi.

En el siguiente esquema mostramos como quedaría el montaje final:

 

 

esquema-ambilight

 

 

 

Enchufaremos por ultimo la fuente de  5V y 2A (pueden ser más Amperios, pero no menos!) y encenderemos nuestra  Raspberry. Es posible que algunos leds se enciendan y se apaguen (es normal) ,pero también es posible que ningún led se encienda, !no se preocupe pues deberíamos  configurar aun  el software!

 

ESQUEMA FINAL

Desde el punto de vista técnico el conversor de niveles es lo correcto , pero es posible que muchas tiras de leds WS2801  a pesar de ser compatibles con niveles TTL , también sean tolerantes a 3.3V  y por tanto para conectar estas a la Rasepberry Pi  2  o 3  no sea necesario por tanto este conversor 

Los LEDs tienen 4 cables

  • alimentación positiva
  • alimentación negativa
  • data
  • clock

Los cables de alimentación van conectados a la fuente de alimentación  aparter de  50 al menos 2amperior   y los cables de datos (data y clock) se conectan a los puertos GPIO de la raspberry. Concretamente el cable data se tiene que conectar al pin MOSI y el cable clock se conecta al pin SCLK. . El negativo además de conectarse al cable de alimentación negativa de los leds debe conectarse a un pin  GND.

 
 

INSTALACIÓN FINAL DE LOS LEDS EN LA TV

Los LEDs cableados formato “luces de navidad ”  también los hay  con el chip ws2801   teniendo la ventaja que se pueden adaptarlos a cualquier tamaño de pantalla ya que se pueden separar o  juntar según  se necesiten, pero por otro lado, el principal inconveniente  es que son bastante voluminosos (12mm) siendo la instalación s más complicada ya que se tiene que idear una manera de montarlos en la TV (por ejemplo, hay gente que se hace una plantilla de cartón, otra opción es pegarlos con bridas autoadesivas).

 

Realmente lo mas sencillo es por optar por tiras adhesivas  WS2801 pues tienen la ventaja que la instalación es más discreta y queda mucho mejor. La desventaja es que seguramente tenga que cortar la tira  para  poder abarcar todo el perímetro de la televisión, lo cual  implica que una vez que haya cortado y pegado cada trozo, tendrá que soldar un conector a ambos lados para volver a unir los contactos de la tira  (aunque  si no quiere soldar la tira esta la opción de comprar tantos metros de leds en formato continuo y pegar esta por todo el perímetro de la TV doblándolas en las esquinas.

En todo caso , la distribución   mas  normal de montaje de la tira de leds  es pegar la tira horizontal mas grande  en la parte abajo   y seguir  hacia la derecha hasta continuar el perímetro de la TV como se ve en la foto siguiente:

 

SOFTWARE

OpenELEC se construye desde cero específicamente para una tarea, para ejecutar Kodi. Otros sistemas operativos están diseñados para ser multiuso, por lo que incluyen todo tipo de software para ejecutar servicios y programas que probablemente nuca  se utilizarán. OpenELEC, sin embargo, sólo incluye el software necesario para ejecutar Kodi. Debido a que es pequeño (aproximadamente 150 MB), se instala literalmente en minutos, y, puede arrancar muy rápidamente en 5-20 segundos, dependiendo del tipo de hardware utilizado.A diferencia de otras soluciones de Kodi, OpenELEC no se basa en Ubuntu. De hecho, no se basa en ninguna distribución de Linux dado que es una distribución mínima de Linux complilada par Kodi  por lo que ha sido construido desde cero específicamente para actuar como un centro de medios. Eso significa que no incluye controladores para cosas que simplemente no se utilizarán como tarjetas 3G y tabletas gráficas, por ejemplo.

Además, OpenELEC está diseñado para ser gestionado como un dispositivo: puede actualizarse automáticamente y puede gestionarse completamente desde la interfaz gráfica. Aunque funciona en Linux, nunca necesitará ver una consola de administración, un terminal de comandos o tener conocimientos de Linux para usarlo.

Para que nuestra Raspberry Pi funcione como un potente Media Center necesitamos una distribución de Kodi (antes XBMC), y adicionalmente,  el software que nos
permita controlar la tira de LEDs. En cuanto al software para el control de los leds el ideal por prestaciones es el  Hyperion pues consume muchos menos recursos que Boblight  y por tanto es el mas utilizado.
Como la clave es el sw de Hyperion ,este  puede instalarse por  ssh a partir de una imagen de OSMC o bien Openelec ,  pero otra forma mas sencilla y cómoda es  descargarnos alguna de las distribuciones ya existentes al efecto con el sw de Hyperior  ya preinstalado como puede ser la imagen de Lighberry basada en Raspbmc.

Opcion  instalación manual

 Quien prefiera disponer de la última versión de Openelec podrá descargarla en http://openelec.tv   , y después posteriormente instalar de forma manual Hyperion (y muy probablemente realizar algunos retoques en la configuración para hacerla funcionar).
opnenelec
Como  referencia si se decide instalar la imagen de openelec directamente , una vez creada la imagen  tendremos que seguir los siguientes pasos:Instalar hyperiond e hyperion-remote (por defecto se instalarán en ‘/usr/bin’).
  • Preparar el fichero de configuración hyperion daemon (por defecto será ‘/etc/hyperion.config.json’).
  • Añadir hyperiond a los servicios del SO (añadir hyperion.conf a ‘/etc/init’).
  •  Iniciar el servicio de hyperion mediante el comando ‘initctl start hyperion’
  • También en vez de hacer todos estos pasos  de forma manual, es posible ejecutar un  script que nos instalará Hyperion más cómodamente.:https://github.com/tvdzwan/hyperion/wiki/Installation-on-OpenELEC

 

Como ejemplo ,con estos comandos  se  instala Hyperion sobre OpenELEC:

curl -L --output install_hyperion.sh --get [url]https://raw.githubusercontent.com/tvdzwan/hyperion/master/bin/install_hyperion.sh[/url]
chmod +x install_hyperion.sh
sh ./install_hyperion.sh

 

Opcion rápida

En este post  vamos a usar la versión de  Openelec más actualizada de las disponibles en la web de Lightberry (actualmente, la versión 6.0.3). No suele ser la versión de Openelec más reciente, pero en contrapartida ya  trae Hyperion preinstalado, el driver para la capturadora   y  por tanto  casi todo esta hecho.
En el caso de  disponer de una Raspberry Pi 2 o 3 descargaremos   OpenELEC 7 beta3 for RPi2 / RPi3

lightberry

Una vez descargada descomprimiremos el zip  recuperando la imagen que debería tener el formato   8gbsmallnew0518v2.img.   
Descargaremos e instalaremos  ( en caso de no tener instalado) el sw  SDFormatter con objeto de formatear a bajo nivel la tarjeta microsd.
sdfor
Asimismo, necesitamos  también la utilidad Win 32 Disk Imager que nos va a  permitir grabar de forma sencilla cualquier imagen en la tarjeta microSD:
win32
Tanto en el primer programa, como en este, es obvio que tendremos que cuidar en extremo  la unidad o  drive  /destino  que seleccionemos ,pues podríamos borrar el contenido de nuestra unidad flash usb , un disco externo, etc  , así que como recomendación, al ejecutar estas aplicaciones lo mejor  es extraer de forma segura todas las unidades removibles antes de usar ambos programas.
Una vez terminada de  generar la imagen extraeremos la SD de nuestro PC  y la introduciremos en nuestra Raspberry Pi .
Una vez arrancada la Raspberry   lo primero es configurar Kodi para que se muestre en español. Para ello debe acceder a
SYSTEM > Settings > Appearance >International > Language , configurar el idioma en español de España y de esta forma ya veremos todos los textos y ayudas en español

Tambien se pueden configurar add-ons, los skins, etc pero sobre todo puede ser interesante conocer  la direccion IP de la Raspberry Pi para conectarnos a esta  via ssh ,para lo cual nos iremos a Sistema–>Información del sistema  y tomaremos nota de la dirección IP ( por ejemplo la ip 192.168.1.54 ). Esta no servirá  para  conectarnos rro ssh ( por ejemplo con el programa putty)    con los siguientes datos:

Una vez que ya hayamos configurado Kodi a nuestro gusto y comprobado que accedemos sin problemas a nuestros contenidos multimedia vía red o directamente conectados a uno de los puertos USB de la Pi, pasaremos a personalizar la configuración del Hyperion para  introducir la configuración de LEDS de nuestra instalación de Lightberry.
Para ello tenemos varias opciones,pero la más sencilla y rápida es, con la  Raspberry conectada a internet,  desplazarnos hacia el menú PROGRAMS/PROGRAMAS y ejecutaremos  la aplicación pre-instalada, Hyperion Config Creator  la cual nos permitirá configurar paso a paso la instalación de nuestra  Lightberry en nuestra TV   donde iremos definiendo:
  • Tipo de tira de leds: en nuestro casi   podemos elegir  Lightberry HD for Rasperry pi (ws2801)
  • Numero de leds horizontales ( deben ser idéntico numero de leds  en ambos lados)
  • Numero de leds  verticales   ( deben ser idéntico numero de leds  en ambos lados)
  • Donde comienza el primer led (Right/button corner and goes up)
  • Confirmación  de  que tenemos un capturadora de TV conectada

Una vez terminado el asistente de hyperion confi creator deberíamos ver el arco iris  asi como la prueba de colores  , con lo  que deberiamos  haber  terminado de  configurar nuestra instalación , pero ¿como comprobamos si esta funcionando la capturadora?  
Pues usaremos simplemente el segundo menú disponible en  PROGRAMS/PROGRAMAS y ejecutaremos  la aplicación pre-instalada Hyperion  Grabber Screenshot.
Al ejecutar  esta  appp ,  simplemente nos preguntara sobre el tipo de señal de video (en nuestro caso PAL) y en el caso de que tengamos conectada sobre la entrada de video de la capturadora cualquier señal de video ( por ejemplo procedente de un descodificador de imagenio ) entones  si la imagen presentada no es negra  , es indicativo que esta funcionando la capturadora ,  con lo cual  en cuanto reinicie el servicio Hyperion    ya debería ver como cambian las luces en función de la imagen de la fuente de video  externa  ( en nuestro caso desde un descodificador )  ,

 

 

CAPTURADORA

En el mercado existen multitud de capturadoras USB, siendo en general conocidas bajo la marca o  denominación de Easycap. A día de hoy, sólo dos tipos de chipsets son compatibles con el ambilight, por eso es importante seleccionar una capturadora de este tipo que internamente use uno de los siguientes chipsets:
  • STK1160 (el más antiguo)
  • USBTV007 (el más reciente).Se recomiendo adquirir el USBTV007 (también reconocido por Fushicai) porque funciona muchísimo mejor que el obsoleto STK1160.
Las últimas imágenes de OpenELEC son compatibles con ambos chipsets, pero deberemos certificarnos que efectivamente la imagen que tenemos en la Pi soporta el chipset de la capturadora conectada.
easycap.png
Acertar en la compra de la capturadora es el quid del éxito. Hay multitud de variantes, todas ellas conocidas genéricamente por EasyCap, pero no todas nos van a servir. La opción de ir por lo seguro es por ejemplo  adquirir la capturadora en la propia tienda de Lightberry (acertará al 100% porque ellos ya han seleccionado las que efectivamente valen para el ambilight , de hecho actualmente solo comercializan las USBTV007).
Analizando con detalle la información de algunos vendedores, es posible comprar en eBay,Aliexpress y sitios similares capturadoras que, en principio, funcionarán, y a precios generalmente más asequibles.No podemos confiar al 100% en lo que el vendedor publicita. Muchas veces el vendedor no sabe/no entiende de lo que vende, y otras muchas te dirá que sí, que tiene exactamente lo que Ambilight
En este punto es importante hacer un inciso:el consumo de corriente de este tipo de capturadoras por lo que deberemos dimensionar adecuadamente la fuente que alimente al conjunto ( y ademas podría superar la capacidad del puerto USB de la RB Pi en el caso de que usase os primeros modelos de RB Pi).
Hyperion APP

Para terminar  para la plataforma  Android existe una app que  permite controlar los leds que tengamos instalados  estableciendo un color  fijo   o  incluso aplicando efectos bastante vistosos. La puede descargar aquí: https://play.google.com/store/apps/details?id=nl.hyperion.hyperionfree&hl=es

hype.png

Fuentes:

https://github.com/tvdzwan/hyperion/wiki

http://lightberry.eu/

Anuncios

Un comentario el “Ambilight para Imagenio

  1. […] a previous post saw how to emulate a system “ambiligt” using only a 2 or 3 Raspberry Pi equipped with […]

    Me gusta

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s