Hacking de un mini altavoz


En este sencillo post intentaremos darle una nueva oportunidad  a los famosos mini altavoces de bajo coste  que cada vez estan presentes en cualquier parte  reciclando la electronica asociada     para  añadir  conectividad  Bluetooth a cualquier  equipo de audio   que disponga de  entrada de  audio  y no disponga de conectividad inalmbrica y de este modo actualizamos equipos antiguos  y reciclamos estos altavoces que probablemente ya no use  quizas  por la mala calidad de su bateria ( suelen estropearse muy rápido)

 

La  entrada Phono

Phono es la abreviatura de fonógrafo. Un fonógrafo era esencialmente solo un dispositivo mecánico para el sonido de grabación y reproducción, lo cual como todos sabemos evoluciono a productos como el gramófono, el tocadiscos ,  el giradiscos o por ejemplo el plato.

El funcionamiento de estos dispositivos es completamente analógico de modo que cuando esta reproduciendo un  tema, una  pequeña aguja  sigue la ranura a lo largo de un disco grabado, causando vibraciones mínimas, las cuales son  amplificadas  aún más mediante una electronica  muy especial : el previo RIAA, antes de ser enviadas a la entrada de audio del amplificador de BF  del tocadiscos.

Esta señal es pues de muy bajo voltaje, por lo que para que  fuese factible trabajar con ella, los equipos estéreo antiguos solian incluir  una  entrada PHONO a la que se conecta un  amplificador dedicado por separado (pevio RIAA) para aumentar la señal a un voltaje  adecuado con el que puede funcionar el circuito del amplificador principal.

Esta es la razón por la cual si accidentalmente (o experimentalmente) si  ha intentado introducir una señal de audio desde la entrada phono, se  oirá  mucho más fuerte (posiblemente distorsionado)  que si hubiera usado la entrada apropiada, de  modo que normalmente esta entrada  no es muy útil para aplicaciones como la descrita pues esta pensada para conectar una señal de muy bajo nivel, de modo que lo ideal es usar la entrada AUX  .

 

 Desmontaje del  minialtavoz

Para añadir conectividad inalambrica vamos a usar un  barato minialtavoz, los cuales  en su mayoría incluyen conectividad Bluetooth  .

Lo primero que tenemos que hacer es tirar del cono superior  con fuerza   con lo quedara libre el  cilindro interior que contiene el altavoz en la parte superior  y abajo aislado su electrónica con la minibateria.

En la parte trasera suelen llevar los tornillos que sujetan la placa . Como en muchos elementos de electrónica ,estos tornillos están  ocultos  , en muchos caso de manera muy profunda, por lo que hay dos opciones: partir los topes o eliminar los embellecedores  y descubrir los tornillos para  poder acceder a la electrónica y la batería
La  electrónica contenida  es muy básica, pues se limita al chip de bluetooth con reproductor mp3( incluso algunos  modelos con radio FM)  ,  mas un pequeño amplificador de audio   basado en el CI  8002,y por  supuesto los conectores de la micro-sd o usb ,los interruptores y el jack miniusb de carga

Como vemos ,   desmontarlo es sencillo pues se limita a quitar unos tornillos y un poco de pegamento caliente y ya se tiene  acceso completo.

Respcto a la placa conel bluetooth y el audio es muy básica, con cconexiones externas solo para el cargador USB, la batería y el altavoz .

En realidad, no hay ningún peligro a tener en cuenta al desmontar algo tan pequeño, debido al bajo voltaje de funcionamiento. El mayor daño que probablemente podría hacer es cortocircuitar la batería   ( las cuales suelen ser de muy mala calidad), y aún así, hacer esto no causaría daños a largo plazo, siempre y cuando la ruta del cortocircuito se elimine rápidamente (es decir, si simplemente pincha ambas terminales con un destornillador, no debería formar  puente de soldadura a través de las terminales).

 

 

 Sección de audio

El chip  de audio usado en casi estos minialtavoces es  el  8002 , un amplificador de potencia de audio Clase-AB. Es capaz de entregar 2.0 vatios de potencia promedio continua a una carga de 4Ω BTL con menos del 10% de distorsión (THD + N) alimentado con  5VDC, o una potencia promedio continua de 1.5 vatios a una carga de 8 Ω BTL con menos de 1% de distorsión.
Este chip está diseñado específicamente para proporcionar una potencia de salida de “alta calidad” con un mínimo componentes externos pues no requiere condensadores de acoplamiento de salida o bootstrap  ,por lo que es ideal para altavoces de audio y otras aplicaciones de bajo voltaje.
Con un circuito eliminador de pop-click especial, el 8002 proporciona una característica perfecta de clic y clic durante las transiciones de encendido y apagado.
Asimismo el 8002 tiene estabilidad de ganancia unitaria y se puede configurar mediante resistencias de ajuste de ganancia externas.

A continuación detallamos la descripción de los pines:

Pin Description
No. Pin Name I/O Description
1 SHD I Shut-down Logical Control, ‘1’ is active.
2 BP I/O Analog ground for inner OPAs. It’s about a half of VDD.
3 INP I Positive Input
4 INN I Negative Input
5 Vout1 O Negative BTL Output
6 VDD I/O Power Supply (2.2 – 5.5 V)
7 GND I/O Ground
8 Vout2 O Positive BTL Outp

 

 

 

Sección de control

En cuanto la  placa Bluetooth nos interesan 3 conexiones:

  • ALTAVOZ ( + y – )
  • BATERÍA ( + y – )
  • CARGA ( + y – )

Para que el módulo Bluetooth funcione, necesita 5 V para funcionar. Si lo va a conectar a un equipo de audio puede tratar de encontrar un regulador de 5V cerca de la sección de suministro de energía, pero probablemente  encontrara tensiones mayores  ( por ejemplo una saluda de 15V) asi que  puede  agregar un divisor de voltaje para obtener los  5V DC.

La fórmula para un divisor de voltaje es:   V (salida) / V (entrada) = R (2) / (R (1) + R (2))

Puede  conectar  los cables desde el divisor de voltaje a los terminales del cargador de la placa Bluetooth, pere esto significa que cada vez que se encienda el estéreo (y por lo tanto el regulador), la batería se cargará constantemente ( NOTA: si aplica energía de manera constante a la batería durante un período prolongado, la capacidad máxima de carga se deteriorará con el tiempo).

Un consejo importante   es que NO  trate de operar la placa Bluetooth solo  alimentando a  5V y  eliminando la bateria ( aunque este agotada ) , pues  esto normalmente no  funcionará  y puede  quemar el chip principal ,  así que dejé la batería conectada ya que ademas no ocupa mucho espacio.

 

En resumen pues  , las  conexiones  necesarias se limitan a soldar dos cables desde los terminales del altavoz del minialtavoz  a los conectores de entrada de audio  AUX  y  otros dos cables de alimentación  procedentes de  5V DC  obtenidos del propio equipo  hacia la entrada de 5V del conector minisub de la placa del minialtavoz.

 

 

 

 

Anuncios

Conectar un viejo monitor a un pc con salida DVI


El estándar VGA  caracterizado por el conector de  15 pines  ,está cayendo en desuso (aunque aún lo respetan algunos fabricantes de monitores ),  básicamente porque este estaba concebido para monitores basados en CRT , hasta tal punto que de hecho las gráficas actuales no llevan ya conector VGA , de modo que si va a comprar un monitor, asegúrese antes de qué conexión tiene para evitar incidencias porque un monitor que sólo lleve conector VGA tal vez no se pueda conectar a su ordenador.

En efecto , el veterano VGA es un interfaz analógico  puesto que la fuente varía su tensión de salida con cada línea que emite para representar el brillo deseado,l o cual era así porque en las antiguas pantallas de CRT se usaba para asignar al rayo la intensidad adecuada mientras éste se iba desplazando por la pantalla durante el barrido del haz de rayos catdicos.

En las actuales monitores  LCD o TFT´, como este rayo ya no está presente,  pierde su sentido, pues  en su lugar hay una matriz de píxeles, y se debe asignar un valor de brillo a cada uno de ellos, tarea  realizada  por  el decodificador  que  toma muestras del voltaje de entrada a intervalos regulares,  lo cual puede provocar distorsión si las muestras no se toman en el centro de cada píxel, y, en general, el grado de ruido entre píxeles adyacentes es elevado.

Precisamente para superar las limitaciones de la conexiones VGA, surge el interfaz DVI , el cual adopta un enfoque distinto en tanto que el brillo de los píxeles se transmite en forma de lista de números binarios de modo que cuando la pantalla está establecida a su resolución nativa, solamente tiene que leer cada número y aplicar ese brillo al píxel apropiado  y de esta forma, cada píxel del buffer de salida de la fuente se corresponde directamente con un píxel en la pantalla (mientras que como hemos visto con una señal VGA el aspecto de cada píxel puede verse afectado por sus píxeles adyacentes, así como por el ruido eléctrico y otras formas de distorsión analógica)

El conector DVI normalmente posee pines para transmitir las señales digitales nativas de DVI pero  también puede tener pines para transmitir las señales analógicas del estándar VGA. Esta característica se incluyó para dar un carácter universal a DVI: los conectores que la implementan admiten monitores de ambos tipos (analógico o digital).

Los conectores DVI se clasifican en tres tipos en función de qué señales admiten:

  • DVI-D (solamente digital): Dispone de 24 pines. Los adaptadores DVI -> VGA no encajan físicamente con este conector y la conversión no es posible.
  • DVI-A (solamente analógica): no esta muy extendido  y existen conversores
  • DVI-I (digital y analógica): es una conexión doble, que emite señal digital a la vez que señal analógica. Dispone de los 24 pines estándar más otros 4 en uno de los lados. Esos 4 pines son los que emiten señal analógica
  • A veces se denomina DVI-DL a los conectores que admiten dos enlaces.

Aunque el interfaz de video mas reciente es el Display Port  , algunas  tarjetas gráficas todavia actuales pueden llevar uno o dos conectores DVI  provocando dos casuisticas diferentes:

  • Si lleva un solo conector  DVI , será DVI-D , que como hemos visto, al ser completamente digital ,no se podrá usar un adaptador a VGA
  • Si lleva dos conectores DVI , uno será de cada tipo(DVI-D y DVI-A) y entonces sí se podrá usar un adaptador DVI a VGA.

Adaptadores DVI a VGA

Según lo comentado   existe la posibilidad de convertir la señal  de la tarjeta gráfica de un ordenador de un puerto DVI (conector blanco o negro de 24 pines) si es del tipo DVI-A  o DVI-I a   una  conexión VGA (conector azul de 15 pines)  mediante un simple adaptador

Este tipo de adaptadores DVI a VGA llevan una conector DVI tipo 24+5 macho en un extremo y VGA HDB15 hembra en el otro , lo cual permite utilizarlos para convertir un puerto DVI a puerto SVGA hembra para poder conectar un cable SVGA con conector macho hacia  un monitor o TV con conexión analogica.

Como hemos visto , esta posibilidad  tiene que ver con que la señal DVI es digital y la VGA es analógica, pero sin embargo los fabricantes gracias  a los diferentes  tipos de conexión DVI  permiten aun  que sea  compatibles sus trajetas graficas  con el veterano estándar VGA simplemente usando un cable  o un simple adaptador   que  cuestan unos 2€

adpatador

Adaptadores HDMI a DVI

Gracias a su compatibilidad inversa con la señales DVI-D y DVI-I, se  puede emplear este tipo de  cables adaptadores para conectar un ordenador o dispositivo con puerto DVI a un televisor o una pantalla con puerto HDMI.

Una aplicación típica de estos adaptadores es  ver vídeos desde un ordenador hacia un televisor HD de pantalla grande, o al revés. Estos  cables conectan incluso los dispositivos con puerto HDMI como Blu-Ray, PlayStation 3 o Xbox 360 a un monitor o un televisor con puerto DVI.

Un aspecto muy interesante es que al  ser compatibles con la señal de audio, el cable adaptador de HDMI a DVI funciona igual que un cable HDMI de alta velocidad, permitiendo disfrutar de videojuegos, sistemas de cine en casa, etc.

hdmi.png

Conversion HDMI a VGA

Es posible encontrar conversores desde HDMI a VGA con y sin sonido, pero debe saber si elige uno con sonido, tenga en cuenta que la conexión VGA sólo lleva imagen, de modo que  el audio saldrá por un conector Jack de 3,5 mm que deberá conectar a unos altavoces externos con amplificador, si es que el monitor no los incluye( suelen llevar una hembra de 3,5mm de audio IN) .

La conversión desde la señal digital HDMI hacia la analógica VGA se hace mediante un proceso llamado modulación ,  por lo que la conversión desde HDMI a VGA es unidireccional: es decir el adaptador a emplear sólo soportara HDMI a VGA, conectando un ordenador o Laptop con salida  HDMI a un proyector,pantalla,TV y monitor con interfaz VGA

Este  tipo de conversores  llegan hasta una resolución 1080P, gracias  a que  convierten la señal digital HDMI a la analógica VGA por medio  de un chip IC integrado, soportando una resolución máxima de salida VGA de hasta 1920×[email protected]Hz     y suelen alimentarse  con alimentación adicional mediante cable Micro USB .

adaptador.png

Por cierto, la compatibilidad del puerto HDMI esta asegurada para Laptop, Macbook, Rasberry Pi, etc   y  el puerto VGA hembra puede ser conectado a un proyector, HDTV, monitores y etc.

El precio de  uno de estos adaptadores suele rondar los 10€ en Amazon

Conversion VGA a HDMI

Si lo que necesita es proyectar una imagen desde  su ordenador , y este solo cuenta con una salida  VGA y  necesita llevar ésta a  un televisor que sólo cuente con  entrada HDMI, también puede encontrar adaptadores  que , aunque son algo más complejos lo permiten.

La complejidad  de la electronica de estos conversores es debida a que estos hacen un muestreo de señal, es decir realizan  el proceso complementario al de de la modulación.

vga a hdmi

Normalmente los adaptadores de  entrada VGA a salidad HDMI  incorporan un chipset que soporta sincronización de vídeo y audio a través de un cable con resoluciones de  1600×1200 1080P 60Hz para convertir la señal analógica VGA a señal digital HDMI para conectar PCs, Laptops a proyectores, monitores o HDTV

Estos adaptadores son  uni-direccionales, es decir , sólo soportan el  transformar  desde VGA a HDMI mediante un puerto VGA macho que conectaremos al pc   a un HDMI hembra que mediante un cable hdmi-hdmi llevaremos a nuestro TV

Ademas estos convertidores  cuentan con un puerto de alimentación USB que permiten  transmitir la señal de audio y vídeo  y alimentar  al dispositivo via los 5V de la ocnexion usb  no  requiriendo adaptador de energía adicional

En cuanto al precio suelen rondar el doble de los adaptadores hdmi-vga ( uno 20€ en Amazon)

Conversion   mini HDMI a  HDMI

Por  ultimo decir que hay posibilidad de conectar  algunas tabletas y otros aparatos que solo cuenta con conexion minihdmi  a  un tv convencional con entrada hdmi

En este caso solo debmo comprar  adaptadores HDMI a miniHDMI  , es decir  HDMI tipo C macho a tipo A hembra

minihdmi

Por ultimo ,hay que citar que la conexión mini-hdmi  no debe confundirse con la conexión OTG que  muchas tabletas o smartphone cuentan para vía un cable especial poder enviar audio y video a un TV

 

Construcción de un centro multimedia Android para nuestro coche


Mediante una placa Arduino Mega  Aykut Çelik, ha cambiado  de una forma muy elegante  la vieja radio integrada de serie de su Volkswagen Polo de 2014 que  solo cuenta con radio con lector de cd  y no tienen ninguna conectividad bluetooth con teléfonos inteligentes y  tampoco ninguna aplicación de navegación GPS.,  pero es manejada por mandos especiales  en el volante

El  cambo es radical pues la propuesta es reemplazar la radio original  ,por una potente  tableta  con  Android   , con todo lo que se puede instalar en una tableta de ese tipo como  Google Maps, Spotify, Yandex, radio FM o cualquier  aplicación de Android  que se puede imaginar   pero además  manteniendo  los controles de volumen o  de otras funciones del coche colocados en el volante para controlar el volumen de su tableta o otras funciones.

Las partes que se necesitan son:

 

  • Un amplificador a 12V, Aunque  la radio de un coche incluye un amplificador , esta ocupa el  espacio reservada  a la tableta  y  si queremos usar solo el amplificador al no conocer habría que modificarla así que lo mejor es optar por un amplificador de audio  de calidad  ya construido, pues ademas los modernos  cuentan con mando a distancia  para regular sus diferentes as funciones 

amplificador

  • Un escudo del canbus es necesario para  poder leer comandos de la línea del canbus pues algunas de las informaciones del coche. Utiliza  este escudo para detectar los comandos del botón de rueda como los botones Subir volumen, Mute y Bajar volumen. Detrás de la radio hay dos cables de bus. Uno de ellos es Canbus – HIGH y el otro es Canbus-LOW:estos cables deben estar conectados a enchufes verdes en el escudo del canbus SeeedStudioescudo canbus
  • Un Arduino Mega  pues es responsable de analizar los datos canbus y enviarlos a la tableta Android. El envío de datos a la tableta Android es un trabajo realmente complicado, porque al principio el autor decidío utilizar un escudo de host USB y de hecho  funcionaba  arduino megapero resulta que el escudo de USB Host y el escudo de Canbus no pueden funcionar al mismo tiempo via SPI para comunicarse con el Arduino sobre el mismo pin.                                                
  • Modulo  bluetooth ; El autor  intentó cambiar el pin que estaba utilizando por el escudo del anfitrión del USB pero no funciono, asi que entonces quito el escudo host usb y  utilizo un módulo del bluetooth para comunicar la tableta Android .
  • Un adaptador del panel preparado para cada  modelo de coche. Hay personas que optan por fabricárselo a medida  con una impresora 3D  , pero también están accesibles  en tiendas online  de modo que soportan una tableta android de unos 7″ en este adaptador  quedando  muy bien estéticamente y completamente integrada en el salpicadero del automóvil.(incluso en algunos modelos se puede sacar  esta)

 

adaptador de panel

  • Convertidor 12v /2v DC de al menos 1 amp  pues serviría  para alimentar la tableta  y el modulo de  Arduino

 

Después de reunir estos elementos el sistema final es así:

Sistema completo

Este sistema parece no complicado a nivel  eléctrico ( a nivel hardware  ),  pero como vamos  a ver, si lo a nivel de sw  que debe usarse para procesar la señales del volante y enviarla a la tableta

En el siguiente vídeo, podemos  ver  como funciona el reproductor multimedia.

 

 

Vamos a continuar con la parte de programación, donde  a mi juicio es  quizás la parte mas complicada.

Usando el escudo del canbus Seeed se puede recoger  los datos del canbus del coche. Can Bus es un sistema de comunicación que cada paquete tiene un id y su carga útil. Puede ser difícil encontrar la identificación relacionada con los clics del botón de la rueda por lo que lo norma es utilizar un analizador de com serie, pero el autor tubo suerte pues después de un par de intentos encontró  los ids necesarios relacionados con los clicks  de botón de rueda que era “0xbf”.

A continuación podemos ver una parte del código arduino para identificar clics de botón:

 

witch ( buf [ 0 ] ) {
                 case 16 :
                     buttonState = VolUp ;
                     break ;
                 case 17 :
                     buttonState = VolDown ;
                     break ;
                 case 22 :
                     buttonState = Back ;
                     break ;
                 case 21 :
                     buttonState = Forward ;
                     break ;
                 case 32 :
                     buttonState = Mute ;
                     break ;
                 case 25 :
                     buttonState = Voice ;
                     break ;
                 case 28 :
                     buttonState = Phone ;
                     break ;
                 case 7 :
                     buttonState = OK ;
                     break ;
                 case 4 :
                     buttonState = Up ;
                 case 5 :
                     buttonState = Down ;
                     break ;
                 default :
                     buttonState = Nothing ;
                     break ;
             }
Como vemos  con el codigo adjunto se pueden recoger al menos 11  eventos; Volumen ,Mute, ok, atras, ariba , abajo  , voz y teleefono
Puede encontrar el proyecto Arduino en github: https://github.com/clkasd/vwcardasharduino
La información que se obtiene de canbus transferido a Android tablet vía bluetooth por lo que  finalmente en la tableta Android hay una pequeña aplicación que se encarga, por ejemplo, de reducir el volumen cuando se hace clic en el botón de la rueda ( es decir recoger las ordenes por bluetooth   y procesarla en Androi).
Ademas la app cuenta con una actividad del menú para abrir otras aplicaciones.
Puede encontrar el proyecto Android desde aquí: https: // github. com / clkasd / vwCarDashAndroid

 

Es sin duda  un excelente trabajo  muy interesante para  incluso adaptarlo a cualquier otro tipo de vehículo pues ademas el autor ha compartido el código  fuente tanto de la aplicación de captura de códigos como el de la tableta para que los pueda recoger   y hacer que cumplan su cometido

Más información en su web.

Montaje de un módulo de cámara de Raspberry Pi a un telescopio


Es sorprendente la cantidad de cosas que se pueden hace con una raspberry pi, tanto que de hecho día que pasa  aparecen nuevos usos que nos sorprenden . Como ejemplo  vamos a  ver  cómo conectar una cámara  de Raspberry Pi  a un viejo telescopio de mas de 10 años

Para  poder hacer esta mejora  necesitamos los siguientes componentes:

  • Raspberry Pi3  o en su defecto una Rasberry Pi 2
  • Camara para Raspberry Pi  de 5MP Webcam Video 1080p 720p, (la del enlace es una de las mas económicas dado que deberemos quitar la lente original  ).En el video  el módulo de la cámara de Raspberry Pi es un  NoIR V2 .,
  • Fuente de  5v  de al menos 700mA
  • Adaptador M12 para telescopio( CCTV M12  o   S-mount) :puede ser que sea la parte más difícil de encontrar. Tiene que encajar perfectamente  con su telescopio.
  •  Telescopio: en el ejemplo se usa un pequeño telescopio de 10 años de edad (Bosma D = 90mm / f = 1200mm f / 13.3)

Comenzamos con la  cámara Haiword  es una de las mas económicas para la Raspberry Pi(unos 15€ en Amazon) .El sensor de resolución nativo es de 5 megapíxeles capaz de 2592 x 1944 píxeles de imágenes estáticas.Soporta vídeo 1080p30, 720p60 y 640x480p60 / 90. La cámara es compatible con la última versión de Raspbian, el sistema operativo preferido de Raspberry Pi
El bus CSI es capaz de velocidades de datos extremadamente altas, y lleva exclusivamente datos de píxeles razón por la que esta cámara  utiliza la interfaz dedicada de CSI, que fue diseñada especialmente para la interfaz a las cámaras .

Para empezar a usar la cámara simplemente conectaremos el cable de cinta de la cámara al interfaz CSI de nuestra Rasberry Pi. Debemos tener mucho cuidado de enrasar muy bien el cable antes de fijarlo al conector  y después bajarle el tope para que no se suelte

Como paso previo, tal y  como se adelantaba ,   tenemos que  retirar la lente por lo que  se anulará la garantía del módulo de la cámara.

Normalmente, la distancia de centro a centro de los orificios de montaje es de 20 mm o 22 mm, no se puede instalar directamente en el módulo de cámara Frambuesa Pi  así que una solución es instalarlo con un tornillo en un agujero, y fijarlo con un lazo de cable en el otro agujero.

De la carcasa CCTV M12 (o S-mount) que es  de tipo de plástico, tiene que cortar un poco como se muestra en el vídeo

Por ultimo una vez montado , solo  hay que colocarlo en el telescopio

En el  siguiente vídeo podemos  ver mas detalles precisos de como acoplarlo a tu telescopio con un vídeo de muestra de la Luna al final del video.

Por cierto, estos módulos CSI de cámaras digitales para Raspberry Pi , no sólo pueden usados para acoplarlos a un telelescopio, sino por ejemplo para usarla en aplicaciones de seguridad ,para construir un espejo inteligente,  para seguimiento de objetos , o incluso para realizar una cámara casera digital con nuestra Raspberry Pi..

Ajustes efecto Ambilight con Raspberry Pi


En un post anterior   vimos como  emular un sistema “ambiligt”  usando únicamente una Raspberry Pi 2  o 3  equipada con una distribución compatible ( Openelec)   y el software de control de  leds Hyperion, con el que podemos conseguir todo hecho  gracias a la distribución Lightberry. 
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 con ftth.

 La propuesta se completa  con 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 .

 

Por desgracia a veces la respuesta del Hypercon que  produce en la tira de leds ws2801 no se corresponde  con la imagen capturada , señal que el el fichero obtenido por el asistente (hypercon.config.son ) deberíamos mejorarlo ¿pero cómo?
Pues gracias al programa en java  HyperCon   podemos indicar  la posición exacta de nuestros leds en el caso de que la configuración realizada desde el menu de Hyperion Config Creator   no haya  ofrecido un resultado esperado .

Este software permite entre otras cosas establecer el número de leds que hay que controlar, la posición del primer led, la orientación, el chipset, etc…permitiendo un ajuste muy preciso del comportamiento de cada led de forma individual

Antes de seguir, quiero aclarar para que HyperCon.jar funcione, es necesario tener instalada la ultima version de  Java ,asi que si no la tiene  instalada puede descargarlo aquí

Recordamos que con el menu basico de  Hyperion Config Creator   podemos  definir la instalación de nuestra  Lightberry en nuestra TV   definiendo simplemente 5 parámetros:
  • 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

Puede ocurrir que aunque  veamos el arco iris con la configuración obtenida  no se correspondan los colores de los leds con los de la imagen , indicio de que debemos ajustar la configuración manualmente  de forma mas  precisa  por medio del archivo hyperion.config.json  generado por el asistente  de un modo mas exhaustivo usando  el programa en java  HyperCon  o bien de forma manual.

Obviammente para ejecutar dicha aplicacion, como se ha mencionado ,debemos tener instalado en nuestro equipo java

Una vez descomprimido el  pquete de Hypercon , simplemente ejecutaremos el archivo HyperCon_Sssj.jar  ( este fichero estará por ejemplo  en la ruta C:\Users\xx\Downloads\hypercon-master\hypercon-master\debug\)

hypercon

Una vez lanzado el hypercon veremos el interfaz  gráfica con una configuración por defecto que debemos personalizar   con respecto a nuestra instalación.

Debe recodar donde puso el primer led (el que está al lado del conector hembra con los jumpwires).

pantalla

En este ejemplo personal ,el primer led   ha quedado en la esquina inferior derecha cuando se mira la TV de frente ( o a la izquierda abajo si ve por atras), así que el recorrido de los leds va desde la esquina inferior  derecha hasta la izquierda (sentido horario).

Configuramos de este modo:

  •  Direction: clockwise
  •  Led top corner: false
  •  Led bottom corner: false
  •  Horizontal #: 28
  •  Vertical #: 14
  •  Bottom Gap: 0
  •  1st Led offset: -42

En nuestro caso tiene que salir un Led count = 84 (o el número de leds que haya instalado).

Si en su configuración  empezó  por la otra esquina, cambie el desplegable  direction.

En el caso del ejemplo  no se han situado leds en las esquinas, así que hay que especificar  top/bottom a false.

En bottom gap hay que poner el mismo numero de leds que en la parte superior, así lo puede dejar “vacío”.

Muy importante : en  el desplegable  1st Led offset hay que ir aumentando o disminuyendo hasta que el led número 0 quede en la esquina inicial (en este ejemplo en la esquina inferior derecha).

pantalla.png

Una vez configurado según los leds que tenga, vaya a la pestaña External y en el apartado Effects Engine Directory  escriba lo siguiente: /storage/hyperion/effects lo cual  hará que hyperion encuentre el directorio de los efectos.

Asimismo puede ajustar el tiempo en ms que permanezca el efecto al arrancar  en Length ( por defetco 9000ms)

rain

Una vez configurado haz clic en el botón Create Hyperion Configuration para crear el fichero de configuración hyperion.config.json que hay que copiar  en la Raspberry PI en el directorio /storage/.config     (   no confundir  con  la ruta /storage/hyperion/configuration/)

hyperion .

Una vez copiado el fichero  hyperion.config.json en storage/.config reinicie la RPI y si todo ha ido bien deberías ver un efecto de arcoiris.

Configuracion inicial

La configuración del dispositivo contiene los siguientes campos:

  •  ‘name’: El nombre de usuario del dispositivo (sólo se utiliza para fines de visualización)
  •  ‘type’: El tipo del dispositivo o leds (los tipos conocidos por ahora son ‘ws2801’, ‘ldp8806’, ‘ ‘lpd6803’, ‘sedu’, ‘adalight’, ‘lightpack’, ‘test’ y ‘none’)
  • output : La especificación de salida depende del dispositivo seleccionado. Esto puede ser, por ejemplo, el especificador de dispositivo, número de serie del dispositivo o el nombre del archivo de salida
  • rate’: El baudrate de la salida al dispositivo
  • colorOrder’: El orden de los bytes de color (‘rgb’, ‘rbg’, ‘bgr’, etc.).Es muy  importante destacar que si no ajustamos este valor  se pueden cambiar el borde de los colores .Por ejemplo muchas tiran son del t tipo BGR, lo cual significa que si dejamos marcado por defecto en RGB  cambiará en todas las visualizaciones el rojo por el azul y biceversa

Ejemplo de configuración  de la sección  device correspondiente al post anterior  :

“device”: {
“colorOrder”: “bgr”,
“rate”: 500000,
“type”: “ws2801”,
“name”: “MyPi”,
“output”: “/dev/spidev0.0”
},

Color

Podemos manipular la  configuración de manipulación de color utilizada para ajustar los colores de salida a un entorno específico.
La configuración contiene una lista de transformaciones de color. Cada transformación contiene  los  siguientes campos:

  •  ‘id’: El identificador único de la transformación de color (p. Ej. ‘Device_1’)
  • ‘leds’: Los índices (o índices) de los leds a los que se aplica esta transformación de color  (por ejemplo, ‘0-5, 9, 11, 12-17’). Los índices son basados ​​en cero.
  •  ‘hsv’: La manipulación en el dominio de colores Valor-Saturación-Valor con lo siguiente  parámetros de ajuste:
    •  ‘saturationGain’ El ajuste de ganancia de la saturación
    • ‘valueGain’ El ajuste de ganancia del valor
  • ‘rojo’ / ‘verde’ / ‘azul’: La manipulación en el dominio de color Rojo-Verde-Azul con los  siguientes parámetros de sintonización para cada canal:
    •  ‘umbral’ El valor de entrada mínimo requerido para que el canal esté encendido
      (más cero)
    •  ‘gamma’ El factor de corrección de la curva gamma
    •  ‘blacklevel’ El valor más bajo posible (cuando el canal es negro)
    •  ‘whitelevel’ El valor más alto posible (cuando el canal es blanco)

Al lado de la lista con transformaciones de color también hay una opción de suavizado.
‘Suavizado’: Suavizado de los colores en el dominio del tiempo con la siguiente sintonización  parámetros:

  • ‘type’ El tipo de algoritmo de suavizado (‘linear’ o ‘none’)
  •  ‘time_ms’ La constante de tiempo para el algoritmo de suavizado en milisegundos
  •  ‘updateFrequency’ La frecuencia de actualización de los leds en Hz

Ejemplo de configuración  de la seccion color  correspondiente al post anterior  

“color”: {
“transform”: [
{
“blue”: {
“threshold”: 0.050000000000000003,
“blacklevel”: 0.0,
“whitelevel”: 0.84999999999999998,
“gamma”: 2.0
},
“leds”: “0-81”,
“hsv”: {
“saturationGain”: 1.0,
“valueGain”: 1.0
},
“green”: {
“threshold”: 0.050000000000000003,
“blacklevel”: 0.0,
“whitelevel”: 0.84999999999999998,
“gamma”: 2.0
},
“id”: “leds”,
“red”: {
“threshold”: 0.050000000000000003,
“blacklevel”: 0.0,
“whitelevel”: 1.0,
“gamma”: 2.0
}
},
{
“blue”: {
“threshold”: 0.050000000000000003,
“blacklevel”: 0,
“whitelevel”: 0,
“gamma”: 2.0
},
“leds”: “82-149”,
“hsv”: {
“saturationGain”: 0,
“valueGain”: 0
},
“green”: {
“threshold”: 0.050000000000000003,
“blacklevel”: 0,
“whitelevel”: 0,
“gamma”: 2.0
},
“id”: “ledsOff”,
“red”: {
“threshold”: 0.050000000000000003,
“blacklevel”: 0,
“whitelevel”: 0,
“gamma”: 2.2000000000000002
}
}
],

Leds

La configuración para cada led individual. Contiene la especificación del área  promediado de una imagen de entrada para cada led para determinar su color. Cada elemento de la lista  contiene los siguientes campos:

  •  index: El índice del led. Esto determina su ubicación en la cadena de leds; cero
    Siendo el primer led.
  •  hscan: La parte fraccional de la imagen a lo largo de la horizontal utilizada para el promedio  (mínimo y máximo inclusive)
  •  vscan: La parte fraccional de la imagen a lo largo de la vertical utilizada para el promedio  (mínimo y máximo inclusive)
  •  ‘updateFrequency’ La frecuencia de actualización de los leds en Hz


“leds” :
[
{
“index” : 0,
“hscan” : { “minimum” : 0.0000, “maximum” : 0.0500 },
“vscan” : { “minimum” : 0.0000, “maximum” : 0.0800 }
},
{
“index” : 1,
“hscan” : { “minimum” : 0.0000, “maximum” : 0.0357 },
“vscan” : { “minimum” : 0.0000, “maximum” : 0.0800 }
},

…………………..

{
“index” : 87,
“hscan” : { “minimum” : 0.0000, “maximum” : 0.0500 },
“vscan” : { “minimum” : 0.0000, “maximum” : 0.0714 }
}
],

Configuracion Bordes

La configuración de borde negro, contiene los siguientes elementos:

  •  enable: true si el detector debe ser activado
  •  Umbral: valor por debajo del cual un píxel se considera negro (valor entre 0,0 y 1,0)
    “Blackborderdetector”:

Ejemplo de configuración  de la seccion blackborderdetector correspondiente al post anterior  

“blackborderdetector”: {
“threshold”: 0.10000000000000001,
“enable”: true
},

EFECTOS

La configuración del motor de efectos, contiene los siguientes elementos:

  • paths: Una matriz con ubicaciones absolutas de directorios con efectos
  • bootsequence: El efecto seleccionado como ‘secuencia de arranque’. Es importante cambiar a su valor en OpenElec  “/storage/hyperion/effects”

Ejemplo de configuración sección  effects correspondiente al post anterior  :

“effects”: {
“paths”: [
“/storage/hyperion/effects”
]
},

CAPTURADORA

La configuración del captador de tramas, contiene los siguientes elementos:

  •  width: El ancho de los marcos grabados [pixels]
  •  height: La altura de los marcos grabados [pixels]
  • frequency_Hz: La frecuencia de la toma de marco [Hz]

La configuración de la conexión XBMC utilizada para habilitar y deshabilitar el captador de tramas. Contiene los siguientes campos:

  •  xbmcAddress: La dirección IP del host XBMC
  •  xbmcTcpPort: El puerto TCP del servidor XBMC
  • grabVideo: Flag  que indica que el captador de fotogramas está activado (true) durante la reproducción de vídeo
  •  grabPictures: Flag que indica que el captador de fotogramas está activado (true) durante la presentación de imágenes
  •  grabAudio: Flag que indica que el captador de fotogramas está activado (true) durante la reproducción de audio
  •  grabMenu: Flag que indica que el captador de fotogramas está activado (true) en el menú XBMC
  •  grabScreensaver: Flag que indica que el captador de fotogramas está activado (true) cuando XBMC está en el salvapantallas
  •  enable3DDetection: Indicador que indica que el captador de fotogramas debe cambiar a un modulo compatible con 3D si se está reproduciendo un video en 3D

Ejemplo de configuración sección  effects correspondiente al post anterior  :

 “framegrabber”: {
“width”: 64,
“frequency_Hz”: 10.0,
“height”: 64
},
“xbmcVideoChecker”: {
“grabVideo”: true,
“grabPictures”: true,
“xbmcTcpPort”: 9090,
“grabAudio”: true,
“grabMenu”: false,
“enable3DDetection”: true,
“xbmcAddress”: “127.0.0.1”,
“grabScreensaver”: true

NOTAS

Si no quiere reiniciar lar RPI cada vez que modifique el fichero de configuración hyperion.config.json, puede reiniciar sólo el servicio con los siguientes comandos:

killall hyperiond
/storage/hyperion/bin/hyperiond.sh /storage/.config/hyperion.config.json /dev/null 2>&1 &

Hay que añadir la siguiente línea dtparam=spi=on al archivo config.txt  editando el fichero o bien a través con los siguientes comandos:

mount -o remount,rw /flash
nano /flash/config.txt (se abrirá el archivo, añadimos la línea y guardamos con Ctrl+X)

reboot

Pruebas

Para comprobar el correcto funcionamiento del sistema para Android existe una app que te permite controlar los leds estableciendo un color o aplicando efectos bastante vistosos. La puede descargar aquí

hype

Otra forma de probar es ejecutando el siguiente comando que hará que todos los leds se iluminen en rojo durante 5 segundos, puedes probar varios colores, green, blue entre otros.

/storage/hyperion/bin/hyperion-remote.sh –priority 50 –color red –duration 5000

O este otro que mostrará un efecto de arcoiris

/storage/hyperion/bin/hyperion-remote.sh  –effect “Rainbow swirl fast” –duration 3000

Por ultuio en youtube puede encontrar vídeos de test para probar que los colores se corresponden con la imagen.

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/

Renacer del mitico ZX Spectrum


El Sinclair ZX Spectrum  fabricado por la compañía británica Sinclair Research y lanzado al mercado el 23 de abril de 1982 fue  uno de los primeros  ordenadores más populares de los años 80  gracias  a su optimizado y compacto diseño que hizo las delicias de miles de aficionados a la informática y los videojuegos.

Su CPU  no podía ser mas modesta pues albergaba  un procesador de 8 bits basado en el microprocesador : el Zilog Z80A, con dos configuraciones de RAM con 16 kB ó 48 kB  y 16 kB de ROM  (así, la memoria total de ambos modelos era realmente de 32 y 64 kB estando esta ultima en el límite del direccionamiento de 16 bits en 64 kB) un sistema de almacenamiento en cinta casete de audio común , salida de video compuesto  y un Teclado de caucho integrado en el propio ordenador .

En los sorprendentes 16 kB de ROM se incluían un intérprete del lenguaje BASIC SINCLAIR desarrollado por la compañía Nine Tiles Ltd. para Sinclair y que era una evolución del que ya desarrollaran para dos anteriores máquinas comerciales de la marca, el ZX80 y el ZX81, de las que el  ZX  Spectrum era su evolución. En la misma zona de memoria también estaba el juego de caracteres ASCII que utilizaba la máquina por defecto (aunque se podía apuntar a otras zonas de memoria y definir caracteres alternativos) y una zona reservada justo antes de la memoria de pantalla, ideal para EPROMs que se podían conectar en el slot trasero.

En Europa, el Sinclair ZX Spectrum fue uno de los microordenadores domésticos  tanto es así que aún hoy perduran miles de fans del Spectrum que siguen jugando a sus juegos (con emuladores que cargan sus ficheros volcados de cintas) y compartiendo  en sitios especializados como Speccy.org, que es uno de los grupos de fans del Spectrum en español, y a World of Spectrum, el sitio del Spectrum. Además hay un mercado de coleccionismo tanto de cintas de juegos originales como de los propios Spectrum.

La nostalgia de este mítico ordenador  de no tiene  paragón   y coincidiendo que ha cumplido recientemente los 35años  desde que inundo esta maquina en todos los hogares ha surgido en kickstarter   una campaña par volverlo a fabricar asegurando la compatibilidad  100% con la version original pero obviamente actualizado a los nuevos tiempos

Sus especificaciones técnicas son en algunos aspectos bastante distintas  por ejemplo en el teclado de mas calida ,salida de vídeo VGA o HDMI y conectores para joystick y ratón –tradicionales, no USB–(incluso puede llevar wifi de forma opcional) pero la esencia perdurar pues el procesador sigue siendo un Z80 que puede correr a 3,5 o 7 MHz e incluyendo  512 KB de RAM (ampliables 1 o 2 MB más).

 

Usted puede jugar cualquier juegos, demos, usar hardware original, lo que sea. Y también funciona el nuevo software creado más recientemente para hacer uso del hardware ampliado, incluyendo nuevos modos gráficos y velocidades de procesador más rápidos.

El nuevo spectrun  viene completamente implementada  tecnología FPGA, asegurando poderse actualizado y mejorar  permaneciendo verdaderamente compatible con el hardware original mediante el uso de chips de memoria especial y diseño inteligente.

Este es el detalle de hardware  que integra  la nueva máquina:

  • Procesador: Z80 Mhz 3,5 y 7Mhz modos
  • Memoria: 512Kb RAM (expandible a 1.5MB internamente y externamente de 2,5 Mb)
  • Video: Sprites del Hardware, modo de 256 colores, modo de Timex 8 x 1 etcetera.
  • Salida de vídeo: RGB, VGA, HDMI
  • Almacenamiento: Ranura tarjeta SD, con protocolo compatible con DivMMC
  • Audio: 3 x AY-3-8912 chips de audio con salida estéreo + sonido FM
  • Joystick: DB9 compatible con Cursor y Kempston 2 interfaz de protocolos (seleccionables)
  • Puerto PS/2: ratón con Kempston modo emulación y un teclado externo
  • Especial: Funcionalidad Multiface para acceso a memoria, partidas guardadas, trucos etcetera.
  • Soporte de cinta: puertos Mic y Ear para la cinta de carga y ahorro
  • Expansión: Puerto de expansión de bus externa Original y puerto de expansión de acelerador
  • Tablero de acelerador (opcional): GPU / CPU de 1Ghz / 512Mb RAM
  • Red (opcional): módulo de Wi Fi
  • Extras: reloj de tiempo Real (opcional), altavoz interno (opcional)

Esta versión  está dirigida a cualquier Retrogamer y entusiastas de Spectrum que prefieres sus juegos, demos y aplicaciones en emuladores de hardware en lugar de software, pero quieren una experiencia sencilla y sin problemas dentro de un diseño increíble.

Esta maquina  es mucho más que un viaje renovado : hay un mundo de nuevos software que requiere actualizar hardware para ejecutar, desde juegos de música y reproductores de vídeo, desde sistemas operativos hasta demos ultra–cosas que ha hecho específico ampliaron hardware que la mayoría de los amantes de la ZX Spectrum nunca probados antes y pueden ser bastante difícil de encontrar o instalar.

Demos and games captured as they run on the Next
Demos y juegos capturados mientras corren en la siguiente

También puede convertirse en el nuevo estándar para el desarrollo de la ZX Spectrum, permitiendo a los desarrolladores crear contenido sabiendo donde será experimentado. Y esto hace toda la diferencia: es un nuevo futuro para el Speccy!

Y mientras que estamos mirando el futuro con esta nueva versión , no olvida sus raíces: tiene pleno apoyo a la clásica cinta de carga con audio incluido (¿quiere escuchar ese juego como cargar?), funcionando  con viejos monitores CRT y VGA (manteniendo también una moderna salida HDMI) y es compatible con expansiones de hardware original.

 

De momento lleva buen ritmo porque ya ha superado la meta de financiación que se había planteado en Kickstarter 306.960 £de la meta de 250.000 £ con 1.395

patrocinadores  y ya hay una fecha aproximada de entrega : julio de 2018,