Centro Multimedia Kodi ODROID-C2: Monta tu Propio Sistema de Entretenimiento con una Carcasa LED Personalizada

Soy una persona a la que le gusta ver películas, y también me gustar mecaniquear y montar cosas, así que he unido las dos para conseguir de un modo fácil reproducir todo lo que incluye mi colección de películas/música. Tenía que ser fácil de usar, fiable y que también se viese bien. Mi colección de películas/música está almacenada en un disco NAS, lo cual me permite guardar los originales en un sito aparte. De modo que, pensé que iba a ser algo muy simple puesto que todo lo que tenía que hacer era reproducir Blu-Ray ISO, DVD VideoTS / VOB, CD MP3 y archivos FLAC.

Desde hace años, lo he intentado con muchos clientes multimedia en diversas plataformas, pero a menudo me encontraba con un audio deficiente y una reproducción de video poco fiable. No parecía que estuviese proporcionado con el coste ya que he ido gastado bastante en PCs centro multimedia dedicados a lo largo de los años. Incluso he comprado soluciones ya montadas. Sin embargo, siempre terminaba volviendo a Kodi, anteriormente conocido como XBMC.

Luego vino la Raspberry Pi, repleta de promesas, con precios muy atractivos y con una gran cantidad de programación dedicada de la comunidad Kodi. Por dinero, es increíble lo que se puede hacer. Sin embargo, para un uso cotidiano me resultaba algo lenta, incluso con mis estándares de video tan básicos, en muchos casos se apreciaban saltos de imagen y el sonido se entrecortaba.

Instalación de Kodi

Cualquiera que haya usado Kodi sabrá que existen una gran cantidad de versiones y variantes que soportan una gran variedad de hardware. Después de soportar tantos problemas para mantener activo el sistema con Windows, sabía que tenía que dejarlo a un lado y buscar una compilación llamada LibreELEC que me proporcionase un sistema operativo Linux básico que dedicará todo el potencial del dispositivo al objetivo principal de ejecutar Kodi. Tras investigar un poco y buscar plataformas compatibles con LibreELEC, me encontré con el ODROID-C2 de Hardkernel. Similar a la RPi en tamaño y en coste. ¡Con el que tuve una plataforma Kodi lista y funcional en cuestión de minutos! Tanto es así que la placa tal cual se encuentra encima del decodificador de mi salón desde hace mucho tiempo. Prácticamente me he olvidado de ella, simplemente me acomodo y me pongo a ver películas. La instalación es simple:

Una nota para el lector: no estoy seguro si esto ha sido solucionado, pero descubrí que la Rev0.2 20130402 del lector resulta algo complicada de utilizar y parece funcionar solo con ciertas ranuras o adaptadores SD. Creo que se debe a las tolerancias mecánicas de la PCB.

Buscando un sitio para el ODROID-C2

Justo cuando me llego mi reluciente televisor OLED 4K, decidí hacer balance de todo mi hardware pensando que ya iba siendo hora de encontrarle al ODROID-C2 una ubicación adecuada. La mayoría de las unidades/carcasas que envuelven la PCB, terminan con muchos cables que salen de la carcasa desde prácticamente todos los ángulos, yo quería que fuera más bien como un decodificador. Llevé a cabo una búsqueda rápida y descubrí un bonito chasis de aluminio de DoukAudio disponible en eBay.

Figure 1 - DoukAudio Chassis
Figura 1 - Chasis DoukAudio

Sin embargo, todavía tenía que lograr ubicar todas las conexiones que necesitaba en la parte posterior del chasis, incluidos la alimentación, LAN, USB y HDMI. Una vez más, una búsqueda en eBay dio como resultado un pequeño adaptador HDMI viable.

Figure 2 – HDMI Adapter
Figura 2 - Adaptador HDMI

PSU

Desde mi implicación en la RPi, sabía que una buena PSU también es algo fundamental, así que monté mi propia fuente interna de 5V 2A cableada directamente al J8 de la PCB C2 y seguí el consejo de eliminar el puente J1 deshabilitando la entrada USB OTG.

Por supuesto, puedes comprar un módulo montado listo para utilizar, si no se siente seguro con la red eléctrica o simplemente alimentarlo como normalmente se hace utilizando el puerto micro USB o la toma DC.

Disipador de calor

Teniendo en cuenta que tenía una bonita carcasa de aluminio, me pareció sensato disipar el calor del C2 a través de la carcasa en lugar de hacer agujeros y/o usar aire forzado. Retiré el disipador térmico original y utilicé un bloque de aluminio para reconducir el calor del procesador hacia la carcasa.

Figure 3 – Heatsink
Figura 3 - Disipador de calor

Overclocking

Con un procesador tan genial, tenía algo de espacio para el overclocking. Se hace imprescindible disponer de un buen suministro de energía. Sugiero hacer overclocking paso a paso. En primer lugar, sigue los pasos de overclocking del artículo del foro: (https://forum.odroid.com/viewtopic.php?t=30078&p=214852). En mi caso simplemente cargue la tarjeta eMMC en un PC y edité el archivo boot.ini para comprobar qué funcionaba. Una frecuencia de CPU de 1.752GHz me proporciono buenos resultados. Esta fue la línea que añadí al archivo boot.ini:

 setenv max_freq “1752”
Si hay otras líneas que empiecen por setenv max_freq, simplemente coméntelas colocando delante el signo "#", por ejemplo: #setenv max_freq "1536". Vuelve a colocar la tarjeta en el C2, reinicia y prueba. A continuación, haremos overclock del chip gráfico hasta los 792 Mhz (https://goo.gl/TgGqVx). Para ello, necesitas conectarte a tu placa mientras se inicia. Primero debe conocer la dirección IP, puedes localizarla en Kodi dentro de Configuración/Información del sistema/Red. A continuación, utilice un cliente Telnet como PuTTy (https://www.chiark.greenend.org.uk/~sgtatham/putty), selecciona la casilla SSH e inicia sesión como root utilizando la contraseña libreelec. En la línea de comandos, ejecuta lo siguiente, luego reinicia:
 $ echo "echo 5 > /sys/class/mpgpu/cur_freq" >> /storage/.config/autostart.sh
El último overclock que puedes aplicar es a la RAM (http://odroid.com/dokuwiki/doku.php?id=en:c2_adjust_ddrclk). Nuevamente, conectarte por SSH a la placa e introduce lo siguiente:
 $ wget https://dn.odroid.com/S905/BootLoader/ODROID-C2/c2_update_ddrclk.sh
 $ chmod +x ./c2_update_ddrclk.sh
 $ ./c2_update_ddrclk.sh 1104
 $ reboot
Ten en cuenta que el overclocking es un proceso de prueba y error, no todos los sistemas funcionarán de la misma forma debido a factores como la tolerancia de los componentes, aunque no está de más probarlo. Puedes hacer overclock con la memoria RAM, los gráficos y el procesador y aun así mantener un sistema Kodi muy estable, aunque siempre es mejor que simplemente usar y navegar.

Control remoto

Una desventaja de montar el C2 de esta forma era que el control remoto IR no funcionaría con la tapa puesta y éste era necesario para ENCENDER/APAGAR la placa. Hay algunas opciones para conectar un receptor IR a través de los pines GPIO, pero me resultó más sencillo quitar el receptor IR y extenderlo, de modo que lo ubique en uno de los agujeros LED de 3 mm existentes en la parte frontal del chasis. Agrandé ese agujero hasta los 5 mm. La navegación y control se hacía súper sensible al usar el adaptador Bluetooth USB (https://goo.gl/zYPdkc), que fue ubicado en el panel posterior de la carcasa.

Figure 4 - ODROID-C2 Wiring
Figura 4 - Cableado del ODROID-C2

LED de encendido del panel frontal

Una cosa que me quedaba por hacer: colocar un LED en el frontal para saber si el sistema estaba o no encendido. Actualmente el C2 ya cuenta con algunos LED (rojo y azul) montados en la PCB. El LED rojo está conectado al riel de 5V y siempre permanece encendido mientras que la placa reciba energía incluso si el sistema operativo se encuentre suspendido. El LED Blue parpadea continuamente en consonancia con la actividad y como puede llegar a distraer bastante, se ha decidido desactivar en las compilaciones más recientes de LibreELEC.

Necesitaba otra forma y lo más obvio era recurrir a los pines GPIO (https://goo.gl/GzKcVY) pins. En la actualidad, no soy programador y ya me había hecho la idea de que iba a ser difícil de implementar y tendría que pedir ayuda en los foros (https://forum.odroid.com/viewtopic.php?f=144&t=30505). Mientras tanto, investigué un poco y resultó que el acceso a los pines es algo relativamente fácil (https://wiki.odroid.com/odroid-c2/application_note/gpio/enhancement_40pins) gracias a Hardkernel.

El LED es de 3mm, que ajusta muy bien en uno de los orificios pre-taladrados del panel frontal. Al ser un LED blanco de alta eficiencia, no necesita mucha energía para iluminarse. Además, no quería que la luz iluminara toda la habitación. De modo que, elegí una resistencia limitadora de corriente de alto valor de 47k ohm cableada en serie con el LED. Existe un límite de 3.3V @ 3mA en el pin. Podría haber recurrido a la ley de Ohm para calcular el valor, pero simplemente fui haciendo pruebas hasta lograr la intensidad de la luz deseada.

Luego lo conecté entre 0V y el pin GPIO 249 (Pasadores 7 y 9) del cabezal J2. Puedes usar los pines que quieras. Yo utilicé estos porque estaban uno al lado del otro y podía usar un conector pre-cableado que tenía.

Figure 5 – ODROID-C2 & LED
Figure 5 – ODROID-C2 y LED

Con algunas simples inclusiones en los scripts de inicio y cierre, ahora tengo mi LED. Edité los archivos mediante SSH, primero edité el archivo autostart.sh:

 $ nano /storage/.config/autostart.sh
Luego agregué las siguientes líneas:
 $ echo 249 > /sys/class/gpio/export
 $ echo out > /sys/class/gpio/gpio249/direction
 $ echo 1 > /sys/class/gpio/gpio249/value
Para el procedimiento de cierre, edité el archivo shutdown.sh:
 $ nano /storage/.config/shutdown.sh
Luego añadí las siguientes líneas:
 $ echo 0 > /sys/class/gpio/gpio249/value
No estoy seguro de si esta es la mejor forma, pero a mí me funciona. Junto con un control remoto Logitech Elite para gestionar mi sistema AV, ahora dispongo de un centro multimedia ideal para la familia.

Figure 6 - Chassis Front
Figura 6 - Frontal del chasis

Figure 7 - Chassis Rear
Figura 7 – Parte trasera del Chasis

Figure 8 - Chassis Internals
Figura 8 - Componentes internos del chasis

Para comentarios, preguntas y sugerencias, visita el post original del foro en https://forum.odroid.com/viewtopic.php?f=144&t=30505.

Be the first to comment

Leave a Reply