Móntate la mejor Smart TV + centro de descargas + servidor con la Raspberry Pi
¿Cómo te gusta ver las pelis y las series en casa?. ¿Eres de verlas en sitios online o de descargarlas?. Si eres de los segundos, y tienes unos mínimos conocimientos de cacharreo con terminales Linux, este es tu artículo.
Controlarás tus descargas al máximo, desde cualquier sitio y en cualquier momento, con un coste energético mínimo y sin ruido. Y sin tener que hacer nada, copiar nada ni tener que arrancar nada más, encenderás tu tele y tendrás tu catálogo completo navegable con información completa y la portada de cada peli, y podrás elegir la que quieras ver manejando todo con el propio mando de la tele.
¿Preparado?
NOTA: Por supuesto, estoy hablando siempre de descargas legales. Si usas este sistema para descargar algo que no sea gratuito o sobre lo que no tengas derechos, este blog y su autor no se responsabilizan en absoluto.
Introducción
Si no teníamos suficiente inteligencia en el mundo con los smartphones, ahora vienen las teles a hacerles la competencia, y cada vez se oye más el nuevo término molón: las Smart TV.Lo que está claro es que la tele ya no es lo que era. Hace ya mucho tiempo que eso de que sean las emisoras las que deciden lo que puedes ver es cada vez más cosa del pasado… El caso es que la tele está en un importante momento de cambio. Contratos del pasado y miedos del presente hacen que servicios online como Netflix no existan en España, y que los que existen, como Filmin o Waki.tv no tengan, en mi opinión, un precio ni un catálogo comparable (y el precio y el catálogo, amigos, es lo principal de todo esto). Eso merma mucho las posibilidades online actuales en nuestro país, aunque poco a poco el panorama está mejorando mucho. También hay sitios online de pirateo, pero tienen sus limitaciones (de muchos tipos). Mientras los servicios online acaban de estabilizarse, tenemos la interesante opción de las descargas.En este artículo os voy a contar cómo os podéis montar la mejor Smart TV al menor precio posible. Existen otras opciones, cada vez más, sobre todo basadas en Android, y ahí están Google TV y Apple TV con el revólver desenfundado. Nosotros usaremos un ordenador barato, la Raspberry pi, perfecta para este uso. Como software principal del centro multimedia le pondremos uno de los más populares actualmente, y que es la leche: XBMC. No contentos con ello, aprovecharemos que tenemos un peazo de Linux con todas sus posibilidades, y lo convertiremos también en un centro de descargas y a la vez en un servidor.
La Raspberry Pi
La Raspberry Pi es un mini-ordenadorcillo poco potente y barato, que viene con lo mínimo minimísimo para poder llamarlo ordenador. No trae ni un solo periférico, es decir, no lleva pantalla (tiene una conexión HDMI y otra de vídeo compuesto RCA), ni teclado, ratón, etc. (tiene dos conectores USB), ni discos duros (tiene una ranura para tarjetas SD, donde se puede instalar el sistema operativo), ni siquiera fuente de alimentación (se alimenta por micro-USB). Por no tener no tiene ni caja. O sea, lo que podéis ver en la foto.
Se ha puesto un poco de moda en el mundillo geek por eso de que es un juguetito «teóricamente» barato, aunque eso ha llevado a que mucha gente no sepa qué hacer con ella pasadas las semanas. Lo cierto es que, precio aparte, le veo al cacharrillo algunas ventajas importantes para ciertos usos, que son los que voy a explorar en este artículo.
Cuidadín, aviso que la instalación de la Raspberry y sus aplicaciones no es para todo el mundo. Conviene tener un mínimo de conocimientos de Linux para ponerla en marcha, sobre todo por la parte de instalación de aplicaciones como servidor. Casi todas las instrucciones van por consola y es fácil que en algunos momentos tengamos que salirnos de lo que te cuentan e instalar algún paquete adicional para que todo funcione, y aparte de eso tendremos que ir pegándonos con el router para abrir puertos, asignar direcciones IP estáticas, etc. Si no te ves capaz, siempre puedes simplemente instalar XBMC y ya está, que eso sí es fácil y sale prácticamente solo.
La lista de la compra
- La Raspberry Pi modelo B con 512 MB de RAM. Tanto ella como varios de los complementos los compré directamente en una tienda física de Madrid, ya que me pillaba muy cerca y no tardaba nada en comprarla: Electrónica Embajadores. Por Internet y comprando en el extranjero se pueden conseguir precios mejores, aunque sin pasarse. 44 euros.
- Una caja donde meterla, para que no se quede con la melena al aire, que da penica. Hay cientos de tipos y diseños de cajas distintos, algunos con bastante gracia, de hecho ni siquiera tienes por qué comprártela, te puedes hacer una con Lego. Yo no me compliqué la vida y me compré una caja transparente, que también tiene su aquel. 11 euros.
- Un cargador de corriente USB y un cable de USB a micro-USB. Esta será la alimentación de la Raspberry. Puede valer el cargador de un móvil, aunque… ¿entonces cómo cargamos el móvil?. Si tenéis alguno de sobra, os valdrá. Lo más importante es mirar los amperios del alimentador. Como poco deberían ser 700 mA. Puede valer con menos, pero hay que tener en cuenta que lo que conectemos a los USB del cacharro también chupa potencia. Para poder poner dispositivos a troche y moche sin miedo, recomiendo que tenga más potencia aún. Yo me compré uno de 2100 mA, pa que no nos falte de ná (en la misma tienda). 13 euros.
- Una tarjeta SD de clase 10. El tamaño no es tan importante, 8 GB por ejemplo está bien, pero la velocidad de la tarjeta sí tiene importancia. Tened en cuenta que en ella va a estar el sistema operativo, así que para algunas aplicaciones nos convendrá que vaya rapidito. Si tenemos una sobrante de clase 4 ó 6 podemos probar también con ellas, que puede que nos valga. Yo compré una microSD clase 10 de 8 GB (recomendable que sea microSD porque nos valdrá para otros cacharrillos) por 12 euros.
- Puede que te hagan falta otros cables si por lo que sea no los tienes, básicamente necesitarás un cable Ethernet y otro HDMI (también puede valer un cable de vídeo compuesto)… bueno, ¡y una tele, claro!
- Un disco duro externo USB. Para no cagarla al final, lo suyo es que no tenga ventilador ni soniquetes «raca-raca». Si tienes ya uno, fenomenal, en mi caso me compré uno de 1TB de esos pequeñines sin alimentación ni ventilador. Ojo, si no tiene alimentación propia seguramente tengas que conectarlo a un hub USB enchufado a la corriente (yo lo he hecho). A mi me el disco me costó 70 euros.
- Adaptador Wifi USB. Entre que nuestro cacharro vamos a ponerlo a descargar como loco y que queremos que consuma lo mínimo posible, lo suyo es conectarlo al router directamente mediante un cable de red. Pero puede que eso físicamente no sea posible, en cuyo caso nos haría falta uno de estos.
- Teclado y ratón: en general, lo cierto es que no hacen demasiada falta. En cuanto puedas acceder a un terminal en remoto, podrás manejar todo desde un ordenador, digamos, «normal». Si no tienes ordenador normal, siempre puedes ponerle unos inalámbricos. Ojo, si conectas más de dos dispositivos necesitarás también un hub USB. Si es para hacer cosillas de forma ocasional, siempre podemos comprar un mini-tecladito-touchpad
- Mando remoto para manejar las «pelis». Otro que no hace demasiada falta, como veremos más adelante. Hay otras opciones muy buenas. En cualquier caso, si hace falta, existen
XBMC: espectacular centro multimedia
Instalar XBMC en la Raspberry es realmente fácil. Existen varias distribuciones que lo llevan ya de serie, pero yo recomiendo seguir estas instrucciones para instalar Raspbmc. Para poder usarlo luego de servidor, es importante ponerle una IP fija. Esto se puede hacer desde el propio instalador, si se instala desde Windows.
Ahora conecta la Raspberry, con la tele encendida. ¿Por qué con la tele encendida?. Porque si tienes una tele compatible con CEC (y la mayor parte de las teles actuales lo son), vas a poder controlar XBMC con el mando de la tele, sin tener que poner ningún receptor de infrarrojos en la Rasp (la señal se transmite de la tele al cacharro por el cable HDMI). Por lo menos en mi caso, para que esto funcione la tele tiene que estar encendida cuando conectas la Raspberry (simplemente encendida, da igual en qué canal esté).
Si no te funciona, o si reiniciaste la Raspberry con la tele apagada, tienes otra opción sencilla: usar el móvil como mando. En Android tienes aplicaciones como la oficial de XBMC ó Yatse que cumplen este papel a la perfección, además de permitirte otras cosas como por ejemplo explorar tu catálogo de películas, series y música. Pruébalas conectando por wifi. Y si no… siempre puedes conectarle un teclado o un ratón a la Raspberry. Otra ventaja de tener estas aplicaciones en el móvil es que te permiten consultar tu catálogo, así que si quieres por ejemplo puedes elegir qué película vas a ver mientras vas a casa en el metro.
XBMC es una gozada. Le dices el directorio donde tienes las películas y las series, y él solito se pone a pensar un rato y te hace un catálogo completo con todas ellas: portadas, ficha técnica, argumento, información sobre el tipo de fichero… en fin, lo mejor es mirar las capturas de pantalla. ¡Todo eso sale solo!. Y por muy baratera que sea la Raspberry, reproduce vídeos HD de 1080p sin ningún problema.
XBMC tiene muchas más posibilidades. Por ejemplo, tiene un administrador de ficheros que nos puede venir muy bien para colocar ficheros recién descargados, tiene distintos skins… y sobre todo, también existen add-ons para acceder a múltiples servicios online.
Mini servidor «full time»
Ya tenemos nuestro centro multimedia «estándar». Pero… ¿por qué conformarse con eso?. La Raspberry puede ser también un gran servidor, porque:
- Tiene un consumo energético ridículamente bajo.
- Es silenciosa. No tiene ventilador, ni disco duro haciendo raca-raca… no que haga poco ruido… absolutamente silenciosa
- Centro de descargas: torrents, descargas directas, eMule…
- Servidor web HTTP + PHP
- Servidor de almacenamiento en la nube, al estilo de Dropbox, Drive, Box, etc.
Preparando el terreno
Por lo pronto, de serie ya trae instalado un servidor SSH. Gracias a él, podemos conectarnos con cualquier otro ordenador e instalar lo que queramos (Raspbmc es una distribución basada en Debian). No sólo eso, también podemos acceder al sistema de ficheros cómodamente con cualquier cliente FTP (como por ejemplo Filezilla) a través de SFTP.
sudo usermod -a -G ntfs pi
sudo usermod -a -G ntfs root
Instalando servidores
Para empezar a darle caña, podemos poner un cliente bittorrent con estas instrucciones para instalar Transmission, y poder descargar lo que queráis al disco duro externo. Como podéis ver, Transmission incluye un interfaz web, así que si abrimos el puerto (por defecto 9091) podremos gestionar nuestras descargas desde cualquier sitio. Ojo con la password en ese caso, claro.
Añadimos el usuario debian-transmission al grupo ntfs, cambiamos la configuración para que se descarguen las cosas al disco externo, y todo debería ir como la seda. Como los torrents tienen muchísimo peligro de colapsar la conexión, es importante limitar también la velocidad de subida. En esta dirección podéis calcular qué límite de velocidad es adecuado para vuestra conexión.
Para que cualquier sitio sea cualquier sitio, también podéis controlar vuestras descargas con una aplicación móvil. Para Android por ejemplo tenéis Remote Transmission. Y… también podéis acceder desde el propio XBMC, con lo cual si estáis pegados a la tele no necesitáis despegaros del mando. Basta conque instaléis desde el mismo XBMC el correspondiente add-on.
Pero no sólo de torrents vive el hombre… también tenemos las descargas directas de la web o a través de servidores de descargas. ¿JDownloader? No… mejor instalar pyLoad, un programa que es mucho más ligero, tiene interfaz web y funciona muy bien en nuestra Raspberry. Podéis seguir estas instrucciones, aunque ojo, yo he tenido que instalar muchos más paquetes que faltaban, así que el punto 1 de la instalación a mi me quedó así:
sudo wget -O pyload-cli.deb http://get.pyload.org/get/ubuntu-cli
Por si te lo estabas preguntando, sí, pyLoad también tiene una aplicación Android para gestionar tus descargas con el móvil.
Aprovechando que tenemos un cacharrillo propio constantemente encendido, también podemos aprovechar para instalarle un servidor HTTP. Seguro que en algún momento le podemos dar uso. Por ejemplo, puedes instalar el servidor ligero lighttpd, con soporte de PHP. Ponle también soporte para SSL.
Aunque tenemos un servicio sFTP, nos va a venir bien tener también acceso al sistema de ficheros con un interfaz web. Así que podemos instalar Ajaxplorer simplemente descomprimiéndolo en el directorio /var/www y dando permisos de escritura en el subdirectorio data.
sudo apt-get install unzip
wget -O ajaxplorer.zip http://sourceforge.net/projects/ajaxplorer/files/latest/download?source=files
sudo unzip ajaxplorer.zip -d /var/www
sudo mv /var/www/ajaxplorer* /var/www/ajaxplorer
rm ajaxplorer.zip
sudo apt-get install php5-cli php5-gd php5-mcrypt
sudo chmod 776 /var/www/ajaxplorer/data
(al arrancarlo aparecerán avisos varios, cada uno tiene más o menos instrucciones de cómo resolverlo; en cualquier caso, debería funcionar ya)
Ajaxplorer tiene varias cosas que están bastante bien. Permite streaming, como poco de ficheros MP3 (no sé si también será capaz de hacer streaming de vídeo). También tiene herramientas para sincronizar automáticamente un directorio local con un directorio del servidor, al estilo de Dropbox, como esta y esta. Y también permite crear usuarios y roles, por lo que podemos crear carpetas públicas, o invitar a gente a subir ficheros a una carpeta. Y si no te acaba de convencer, siempre puedes probar Owncloud (no tengo muy claro cuál de las dos es mejor o más ligera, la verdad).
¿Más cosas?. Todas las que quieras. Puedes instalar un cliente para descargas de la red de eMule, poner un sistema de administración por web, un servidor Samba, configurar rsync para hacer backups, poner un proceso que reinicie la máquina cuando estén caída, o incluso probar a instalar un servidor J2EE ligero como TJWS… en fin, todo lo que vayas necesitando. ¡Por este artículo creo que es más que suficiente!
Configuración final XBMC
Ahora vamos a cambiar algunas cosillas de la configuración de XBMC para evitar problemas. Si tenemos la Raspberry conectada a la tele por HDMI, la configuración por defecto tiene un inconveniente para nuestro servidor: si al encender la Raspberry el televisor está apagado, no detectará el HDMI y automáticamente mandará la señal de vídeo por el RCA, con lo cual no veremos nada. Esto se puede deshabilitar siguiendo estas instrucciones. Aun así, al menos en mi caso es conveniente conectar o resetear la Raspberry con la tele encendida, porque como comenté antes, parece que si no el mando no funciona. Aunque por lo menos nos aseguramos de que podemos ver lo que estamos haciendo y usar el móvil como mando.Además, XBMC trae instalado un firewall. Para que podamos usar nuestra maquinilla por Internet, lo podemos deshabilitar. Esto se puede hacer directamente desde la pantalla de configuración de Raspbmc, en Programas > Raspbmc settings > System configuration. Esto me ha estado funcionando durante un tiempo, pero en la última actualización creo que han introducido un bug que hace que no funcione. Si estás en el mismo caso, edita el fichero /etc/network/if-up.d/secure-rmc y al final pon:sudo /sbin/iptables –flush
¡Listo!
¿Ya lo tienes todo funcionando?. Pues ahora… revisa la agenda, llama a todos tus amigos frikis, y… ¡¡¡presume de Smart TV!!!