Introducción

La necesidad de tener un decodificador o receptor satélite surgió hace muchos años, no es precisamente algo moderno, pero ya que cada vez es más difícil tener contenido gratuito en la televisión normal, especialmente en cuanto a fútbol, fórmula 1 o motos, esta necesidad se ha vuelto más pronunciada, por no hablar de los desorbitados precios que nos oferta la M verde y la necesidad de contratar fibra y móvil con ellos para poder ver la tele.

Teniendo este panorama vamos a optar por comprar un receptor que sea capaz de decodificar la señal satélite, ya sea de manera gratuita o pagando. En este artículo pretendo solucionar algunas dudas en torno a este mundillo y ver cómo instalar y configurar un decodificador para poder ver todos los canales de Movistar+ y algunos más.

Elección del decodificador

La elección del decodificador es lo más complicado de todo ya que hay muchas marcas y cada una tiene muchos modelos: Qviart, Iris, Engel, MVision, DoomBox, Vu+, Nanoxx…

Yo me he decidido por Qviart ya que, hasta donde yo sé, es la única marca que te garantiza más de 2 años de decodificación gratuita de la señal satélite, de hecho, no tiene límite. Casi todas las marcas a los 2 años dejan de servirte IKS (Internet Key Sharing) que es el método por el cual tu receptor es capaz de decodificar la señal satélite. En teoría lo hacen así para no saturar los servidores IKS. En todo caso, en 2 años está más que rentabilizado el decodificador y podrías comprar otro o utilizar otros sistemas como CCCam o Newcam, que funcionan tanto gratuitamente como pagando. Las gratuitas duran bastante poco y las tienes que ir buscando y cambiando manualmente y las de pago suelen ser más estables. En cualquier caso, o mucho trabajo o pagar, aunque siempre muchísimo menos que con las operadoras.

Una vez optado por Qviart, me decanto por el Qviart Mini ya que, además de ser el más barato, es el más pequeño, que siempre viene bien para ocultarlo en el salón. Su hermano mayor, el Qviart Unic, es idéntico en prestaciones pero más grande en tamaño por lo que se calienta menos. Además tiene display digital y un botón físico de apagado/encendido. La diferencia de precio es de unos 20-25 euros y todo lo que cuento aquí sirve para ambos decos.

Qviart Mini

Acciones previas

Con el Qviart Mini en casa necesitamos algunas cosas que no vienen en la caja: un cable ethernet o antena wifi USB compatible, un cable HDMI para conectarlo a la TV y un cable de antena tipo F de rosca en el extremo que se conecta al decodificador (como el de la imagen de abajo). Éste será el cable que vaya a la toma de satélite de la pared. Si tu comunidad tiene antena parabólica comunitaria probablemente conectándolo a la toma de televisión en el agujero que no es para la TV normal será suficiente, seguramente ponga Radio, FM o SAT. Si tu comunidad no tiene parabólica o vives en una vivienda unifamiliar tendrás que comprar una, instalarla y orientarla. Pero esa parte no es objetivo de este artículo (aunque es muy fácil de hacer).

Conector F

Educar el Qviart Mini

Lo primero es modificar el firmware original del decodificador para que sea capaz de conectarse a los servidores IKS, CCCam, Newcam, etc. En nuestro caso vamos a instalar Prometheus, pero, muy importante, antes hay que comprobar que el firmware original es el 4.00* o 5.00. Si es de reciente compra lo será seguro, si no, habría que actualizar primero el firmware original para poder instalar Prometheus encima.

Nada más arrancar el Qviart Mini nos aparecerán varios iconos en la parte inferior sobre fondo completamente negro, probablemente esté todo en inglés así que con el mando vamos a Settings > Language y en la primera opción elegimos Español. Ahora nos vamos a Configuración > Acerca de STB y comprobamos que efectivamente donde pone “Versión de Software” pone 4.00* o 5.00.

Backup del firmware original

Antes de tocar nada es conveniente hacer un backup del firmware original que trae el decodificador. No es muy crítico porque está en varios foros, pero no está de más tenerlo guardado en algún sitio por casa.

Inserta un pendrive en uno de los puertos USB y ve a:

Menú > Expansión > USB > Botón amarillo (Cargar) > Cargar todo en USB > Nombre usb_boot_upgrade > OK

Ahora mete ese pendrive en un PC y guarda los ficheros que te ha creado.

Instalar firmware

El proceso para instalar el firmware es válido tanto para poner el 5.00 del original como para meter Prometheus, que a día de hoy goza de la versión 1.08. Lo primero es descargar el firmware correspondiente, yo los he conseguido en ForoKeys, descomprimirlo y meter el fichero resultante en un pendrive, puedes meter ambos firmware si vas a tener que instalar los dos. Conecta ese pendrive en el deco y ve a:

Menú > Expansión > USB > Selecciona el firmware que quieres instalar > OK > ¿Quiere actualizar la base de datos? > SI > OK

Aparecerá una barra de carga y al terminar se reiniciará el decodificar automáticamente.

Instalar Prometheus

Activar IKS

Una vez que tenemos el firmware Prometheus instalado vamos a comprobar que está funcionando, vamos a:

Menú > Expansión

Donde ahora habrá varias opciones más, la última es la que nos dice si Prometheus está conectado o desconectado. Si es la segunda, pulsamos sobre esa opción para conectarlo, apagamos y volvemos a encender el decodificador. A partir de ahora debería conectarse automáticamente cada vez que arranque.

Comprobar luz Prometheus

Sintonizar canales o instalarlos

Ya tenemos todo listo para poder ver la señal satélite gratuitamente en nuestra televisión. Lo único que hay que hacer es sintonizar los canales como haríamos en una TV normal. Pero es un proceso bastante largo como puedes intuir. Así que podemos instalar directamente los canales que alguna buena persona haya exportado desde su decodificador.

Canales Qviart Mini

Para poder instalar la lista de canales de otro usuario hay que descargarla, descomprimirla y meterla en el pendrive, después ve a:

Menú > Expansión > USB > Selecciona la lista de canales > OK > ¿Quiere actualizar la base de datos? > SI > OK

Esto no sólo tarda un segundo, si no que, además, te deja los canales ordenados como los tuviera el usuario original, lo que nos ahorra un gran trabajo también. La única precaución que hay que tener es que sea un listado de canales de una antena que apunte al mismo satélite al que apunta nuestra parabólica. Habitualmente es Astra1 (19.2E).

Sintonizar canales Qviart Mini

En todo caso, si no encuentras una lista de canales que te guste, o tu antena apunta a otro satélite, o prefieres experimentar la emoción de ver como se van detectando los canales, entonces ve a:

Menú > Instalación > Configuración de antena

Aquí deberemos elegir el satélite al que apunta nuestra parabólica. Si no sabes cual es puedes ir cambiando el satélite hasta que en la barra superior donde pone Q aparezca algo mayor de 0%. Aunque insisto, lo normal es que sea Astra1 (19.2E). Después tienes que seleccionar la opción “Empezar la búsqueda” y ponerte cómodo, además de tardar bastante tendrás todos los canales descolocados, y no son precisamente pocos, más de 300 encontrará seguro.

Qviart Mini Movistar F1 HD

Instalar canales IPTV o Netlink

Si no tenemos suficiente con los cientos de canales que nos sintoniza el decodificador, podemos instalar otro buen puñado de canales streaming. Yo por ejemplo tengo instaladas las autonómicas españolas.

Como con todo lo anterior, hay que buscar en algún foro un listado de canales IPTV, descargar, descomprimir y meter en el pendrive, después, como siempre, ir a:

Menú > Expansión > USB > Selecciona la lista de canales > OK > ¿Quiere actualizar la base de datos? > SI > OK

Para ver estos canales hay que ir a:

Aplicaciones de red > Netlink

Extras

Además de todo esto, que no es poco, el decodificador tiene algunas funciones más como juegos, DLNA, Timeshift, grabador vía EPG o con horario manual, CCCam, etc. Pero son cosas que ya os dejo para investigar vosotros, a no ser que haya mucha demanda de información y entonces podré explicar algo concreto por aquí.

Pros y contras

Por último, voy a valorar, bajo mi experiencia, lo bueno y lo malo que tienen los decos en general y este Qviart Mini en particular.

Pros: poder ver todo lo que se emite por satélite de manera gratuita por una inversión inicial de 90€ como pago único, utilizar servidores IKS para no tener que andar buscando claves: una vez instalado Prometheus no hay que volver a tocar el decodificador nunca más (a no ser que quieras actualizar la versión), grabar programas con el decodificador en standby, poder pausar un canal en directo y seguir por donde lo pausaste, no dependes de la calidad de tu conexión a Internet ya que la señal viene directamente del satélite (sólo se usa la red para actualizar automáticamente las claves)…

Contras: los servidores IKS a veces se saturan o se caen (pero normalmente cambiando de canal todo vuelve a funcionar), los menús son bastante arcaicos, no existe ninguna garantía de que todos los canales funcionen siempre, los CCCam de pago son muy estables pero no son gratis a pesar de ser bastante asequibles, los CCCam gratuitos duran bastante poco y es tedioso ir cambiándolos…

Canales satélite gratis

Conclusión

Hay mucho texto porque me gusta explicarme bien pero en definitiva tardas 5 minutos en tener el deco listo. Si quieres ver todo el fútbol, la fórmula 1, las motos, las películas de estreno, las series, los canales infantiles, el golf y en definitiva todo lo que ofrece Movistar+ y algunas cosas más, especialmente extranjeras, sin duda merece la pena la inversión, a fin de cuentas es lo que te cobra Movistar por 1 mes de su servicio. Falla, es verdad, pero muy poco, de hecho a mi sólo me ha fallado en algunos partidos de fútbol y cambiando de canal se soluciona, en el resto de canales va prácticamente siempre perfecto. Además puedes compartir por streaming en red local y ver lo que reproduzca el deco en cualquier dispositivo de casa.

actualizacion de software ubuntu

Ubuntu te lanza una Actualización de software pero en mitad del proceso se queda colgado (sí, Linux también se cuelga), la única manera de terminar es cerrando la ventana y forzando el cierre. No hay mensaje de error ni pistas para solucionarlo. Sin embargo, los más intrépidos habréis intentado ejecutar la actualización por consola, y ahí sí, recibimos algo parecido a esto:

E: No se pudo bloquear /var/lib/apt/lists/lock - open (11: Recurso no disponible temporalmente)
E: No se pudo bloquear el directorio /var/lib/apt/lists/

La ruta concreta es lo de menos porque puede pasar con varias diferentes, por suerte el problema es siempre el mismo: algún proceso se ha quedado enganchado al fichero y no deja que nadie más lo utilice. La solución también es única:

sudo fuser -vki /var/lib/apt/lists/lock

Donde la ruta es la que nos dio el primer error, fuser es un comando que nos lista los ficheros abiertos y las opciones del mismo son:

  • v: verbose, es decir, ver de forma más extensa lo que se va a ejecutar
  • k: kill, mata los procesos que tengan el fichero ocupado
  • i: interactive, pide confirmación para matar cada proceso

Y nada más, una vez muertos los procesos que tenían ocupado el fichero podemos actualizar sin problemas. En cualquier caso, siempre es positivo reparar paquetes rotos y eliminar los que ya no sirvan, por si acaso alguno ha producido este inconveniente:

sudo dpkg --configure -a

sudo apt-get autoremove

Si además queremos aprovechar que tenemos la consola abierta para hacer la actualización ejecutamos:

sudo apt-get update && sudo apt-get upgrade

Que es exactamente lo que hace visualmente Actualización de software.

Raspberry Pi Centro Multimedia

Introducción

Ya he explicado muy detalladamente cada paso necesario para montar un centro multimedia con la Raspberry Pi. Lo que pretendo con este artículo es juntarlo todo, y hacer un resumen rápido tanto para los que ya son usuarios avanzados, como para los que ya han seguido los pasos alguna vez y no necesitan tanta palabrería para poner en marcha una nueva RasPi. Por supuesto, todos los pasos a seguir desde el PC son en Linux.

Paso 1: Instalar Raspbian

Descargar la última versión de Raspbian y descomprimir el .zip para obtener un fichero .img:

http://www.raspberrypi.org/downloads/

Insertar la tarjeta microSD en el PC y detectar donde está montada:

df -h

Desmontar todas las particiones de la tarjeta microSD (si hubiera más de una):

umount /dev/sdc1
umount /dev/sdc2

Instalar la imagen descargada en la microSD:

dd if=/ruta/descarga/zip/2015-01-31-wheezy-raspbian.img of=/dev/sdc bs=1M

Explicación extendida: Raspberry Pi. Paso 1: Instalar Raspbian

Paso 2: Primer arranque (raspi-config)

Inserta la microSD en la Raspberry Pi y conecta un teclado USB para poder moverte por las opciones, las más importantes son:

  1. Expand Filesystem: extiende el espacio utilizable por el sistema a toda la capacidad de la microSD.
  2. Change User Password: si no lo cambias, el usuario es pi y la contraseña es raspberry.
  3. Advanced Options > Memory Split: es la memoria que le asignamos a la GPU (procesador de gráficos), para que Kodi (XBMC) funcione perfectamente es aconsejable darle la mitad de la RAM, en la Raspberry Pi 2 tenemos 1 GB y en las demás 512 MB, así que pon 256 MB si tienes una RPi antigua o 512 MB si tienes la RasPi 2.
  4. Advanced Options > SSH: es fundamental activarlo para poder acceder a la RPi por red sin necesidad de teclado ni ratón.

El resto de opciones no son importantes para el funcionamiento o son cambios muy personales.

Lo que sí es importante es configurar una IP estática en la Raspberry Pi para poder acceder a ella siempre de la misma manera, así que edita el siguiente fichero:

sudo nano /etc/network/interfaces

Sustituye esta línea:

iface eth0 inet dhcp

Por todas estas:

auto eth0
iface eth0 inet static
address 192.168.1.10
netmask 255.255.255.0
gateway 192.168.1.1

Donde address es la IP estática que quieres que tenga tu Raspberry Pi y gateway la IP de tu router. Cierra y guarda el fichero con Ctrl+X, Y, Intro. Carga la nueva configuración y reinicia el servicio de red:

sudo ifup eth0
sudo service networking restart

Explicación extendida: Raspberry Pi. Paso 2: Primer arranque (raspi-config)

Paso 3: Instalar Kodi

Ya puedes acceder a la RPi por consola con un teclado USB o por SSH, la segunda opción es la más cómoda. En ambos casos edita el fichero de repositorios:

sudo nano /etc/apt/sources.list

Agrega la siguiente línea al final:

deb http://archive.mene.za.net/raspbian wheezy contrib

Cierra y guarda el fichero con Ctrl+X, Y, Intro. Agrega la firma para el nuevo repositorio:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED

Actualiza la lista de paquetes e instala Kodi:

sudo apt-get update
sudo apt-get install kodi

Edita la configuración básica de Kodi:

sudo nano /etc/default/kodi

Pon ENABLED=1, USER=pi y NICE=-10 para que Kodi se inicie automáticamente en cada arranque.

Explicación extendida: Raspberry Pi. Paso 3: Instalar Kodi o XBMC

Paso 4: Montar disco duro USB

Saber la ruta del disco duro en nuestra Raspberry Pi:

sudo fdisk -l

Si el disco duro no está formateado como ext3 o ext4 (al gusto), hazlo con:

sudo mkfs.ext3 /dev/sda1

Crea un directorio donde montar el disco duro:

sudo mkdir /media/discousb

Haz que tu usuario sea el propietario del nuevo directorio:

sudo chown pi /media/discousb

Edita el siguiente fichero para que el disco duro se monte en ese directorio cada vez que arranca el sistema:

sudo nano /etc/fstab

Agrega al final la siguiente línea:

/dev/sda1      /media/discousb      ext3      defaults      0      0

Cierra y guarda el fichero con Ctrl+X, Y, Intro. Monta el disco duro sin necesidad de reiniciar con:

sudo mount -a

Explicación extendida: Raspberry Pi. Paso 4: Montar disco duro USB

Paso 5: Instalar y configurar Transmission (descarga de torrents)

Instala Transmission:

sudo apt-get install transmission-daemon

Detén el servicio para poder modificar la configuración:

sudo service transmission-daemon stop

Crea un directorio para almacenar las descargas y otro para los torrents en proceso de descarga:

sudo mkdir /media/discousb/torrents
sudo mkdir /media/discousb/torrents/tmp

Modifica los permisos de las carpetas:

sudo chown -R pi:debian-transmission /media/discousb/torrents
sudo chmod -R 777 /media/discousb/torrents

Edita el fichero de configuración de Transmission:

sudo nano /etc/transmission-daemon/settings.json

Son muchas cosas, casi todas muy intuitivas así que voy a poner aquí lo básico:

"download-dir": "/media/discousb/torrents",

"incomplete-dir": "/media/discousb/torrents/tmp",

"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "j72x6kxx1fnpjkz9difeu1harx0v0oudwxsfzwuo8j0r8",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "pi",
"rpc-whitelist": "0.0.0.0",
"rpc-whitelist-enabled": false,

Si no cambias el rpc-password por defecto es transmission. El resto está pensado para que puedas acceder a la interfaz del Transmission desde cualquier lugar del mundo por el puerto 9091, y desde ahí poder cambiar el resto de parámetros gráficamente.

Inicia el servicio de nuevo:

sudo service transmission-daemon start

Explicación extendida: Raspberry Pi. Paso 5: Descargar torrents con Transmission

A partir de aquí, el resto de pasos son para facilitarnos la vida, la funcionalidades básicas ya están instaladas.

Paso 6: Acceso remoto con ddclient y DNSdynamic

Regístrate en DNSdynamic:

https://www.dnsdynamic.org/signup.php

Haz login con tu email y tu contraseña y ve a “Add a new domain”. Escribe tu subdominio y elige un dominio, todo junto será tu DNS dinámico. Ahora vamos a la Raspberry Pi a instalar el cliente:

sudo apt-get install ddclient

El asistente que aparece te lo puedes saltar entero porque no sirve para nada. Cuando termines edita el fichero de configuración del ddclient:

sudo nano /etc/ddclient.conf

Elimina todo lo que haya y pon esto:

daemon=300
protocol=dyndns2
use=web, web=myip.dnsdynamic.com
server=www.dnsdynamic.org
login=TU@EMAIL.COM
password='TUCONTRASEÑA'
server=www.dnsdynamic.org, \
protocol=dyndns2 \
TUURL

Cambiando únicamente login poniendo tu email, password poniendo tu contraseña y TUURL poniendo el DNS dinámico que elegiste en la web. Cierra y guarda el fichero con Ctrl+X, Y, Intro.

Explicación extendida: Raspberry Pi. Paso 6: Acceso remoto con ddclient y DNSdynamic

Paso 8: Compartir ficheros con samba

Vamos a convertir la Raspberry Pi en un servidor de ficheros tipo NAS. Instala samba escribiendo:

sudo apt-get install samba samba-common-bin

Edita el fichero de configuración:

sudo nano /etc/samba/smb.conf

Hay muchos parámetros, muy bien explicados, vamos a tocar lo básico para que funcione:

workgroup = WORKGROUP

wins support = yes

El parámetro wins support viene comentado, simplemente elimina la almohadilla (#) del principio de la línea. Además vamos a compartir una carpeta poniendo las siguientes líneas al final del fichero:

[DiscoUSB]
comment=Disco USB en la RPi
path=/media/discousb
browseable=yes
writeable=yes
create mask=0775
directory mask=0775
only guest=no

Ponle una contraseña al usuario de samba, no necesariamente la misma que la del sistema:

sudo smbpasswd -a pi

Reinicia el servicio para que coja la nueva configuración:

sudo service samba restart

Explicación extendida: Raspberry Pi. Paso 8: Compartir ficheros con samba

Paso final: Abrir puertos en el router

Tienes que redireccionar todos los puertos del router que estés utilizando en la Raspberry Pi para que apunten a la IP estática de la misma, para así poder acceder a los servicios desde fuera de tu red local. Los puertos típicos son:

  • 22 para el SSH y el SFTP
  • 9091 para el Transmission

Otros pasos

Aquí iré agregando el resto de pasos que voy explicando que no son fundamentales para crear un centro multimedia:

Introducción

La comodidad de tener grandes cantidades de información en varios sitios a la vez es algo que se ha vuelto casi fundamental últimamente. Servicios como Dropbox, Google Drive o Mega son grandes soluciones, pero todos ellos tienen 2 problemas fundamentales: seguridad y capacidad.

Teóricamente son empresas muy potentes que ofrecen una seguridad muy alta, pero es un arma de doble filo, los hackers siempre van a ir a por los grandes. Robos de contraseñas están a la orden del día y, aunque habitualmente nuestros datos no suelen ser relevantes para nadie más, el hecho de tenerlo todo en servidores de terceros siempre es sinónimo de falta de control.

Pero todavía más claro es el inconveniente de la capacidad. Y el problema ya no es que te ofrezcan 10, 25 o 50 GB gratis, sino que a día de hoy, con los teléfonos grabando vídeos FullHD, e incluso 4K, ocupando 150 MB por minuto, y fotos de más de 20 mpx, en un par de años te ves con 100 GB sólo en contenido de la cámara del móvil.

Así que necesitamos algo que no dependa de terceros pero, sobre todo, que sea lo más ilimitado posible. Y ahí es donde entra en juego nuestra Raspberry Pi, disponible las 24 horas del día y con toda la capacidad que quieras enchufarle por USB, yo por ejemplo la tengo con 3 TB. Genial, tenemos el hardware necesario, ahora necesitamos el software: BitTorrent Sync. Es mi elección preferida porque:

  1. No alojas ningún fichero en ningún servidor externo
  2. Sincronizas dispositivos directamente entre ellos por P2P
  3. Al utilizar dicho protocolo, cuantos más dispositivos tengas conectados, más rápidas serán las sincronizaciones (y no al revés como pasa con los demás)
  4. El límite de velocidad no lo pone nadie, lo pone tu línea, tanto de subida como de bajada, pero siempre pudiendo sumar al tener más dispositivos conectados a la vez
  5. La capacidad máxima de almacenamiento la pones tú con el disco duro que elijas
  6. Los programas de escritorio y apps para móviles son todos gratuitos
  7. Sin límite de tamaño de carpeta ni de fichero, un vídeo de 1 TB está perfectamente permitido
  8. Multiplataforma: Linux, Windows, Mac, móviles, tablets, NAS, ARM, Power PC, Free BSD…

Creo que son razones más que suficientes para optar por esta solución así que vamos a ver como la ponemos en marcha.

Instalar BitTorrent Sync

Vamos a agregar un nuevo repositorio para descargar e instalar BitTorrent Sync en nuestra Raspberry Pi:

sudo nano /etc/apt/sources.list.d/btsync.list

Se abrirá un documento vacío en el que escribiremos:

deb http://debian.yeasoft.net/btsync wheezy main contrib non-free
deb-src http://debian.yeasoft.net/btsync wheezy main contrib non-free

Lo guardamos y salimos con Ctrl+O, Intro, Ctrl+X. Ahora le decimos al sistema que lea los nuevos repositorios:

sudo apt-get update

Normalmente no hay problemas con este comando, pero esta vez nos devolverá un error de GPG parecido a éste:

W: Error de GPG: http://debian.yeasoft.net wheezy Release: Las firmas siguientes no se pudieron verificar porque su llave pública no está disponible: NO_PUBKEY 40FC0CD26BF18B15

No pasa nada, simplemente hay que instalar la llave pública para poder utilizar el repositorio:

sudo apt-key adv --keyserver keys.gnupg.net --recv-keys 6BF18B15

Nótese que los últimos 8 caracteres del comando anterior son los últimos 8 del mensaje de error. Y ahora sí, cuando nos diga que ha conseguido importar 1 clave pública, vamos a instalar BitTorrent Sync:

sudo apt-get install btsync

No importa que diga que no se han podido autenticar los paquetes, los instalamos igualmente.

Configuración de BitTorrent Sync

Cuando termine de instalarse aparecerá una interfaz para configurar los parámetros del BitTorrent Sync. Voy a poner aquí la secuencia en imágenes de lo básico, el resto es cuestión de cada uno modificarlo a su gusto, es todo bastante intuitivo y está muy bien explicado.

Primero nos pregunta si queremos elegir el usuario que va a leer y escribir los directorios de BitTorrent Sync, obviamente sí queremos, pero no debemos elegir root sino el que usamos habitualmente que es pi, y como grupo vamos a dejar el de por defecto.

btsync1

btsync2

btsync3

Los siguientes parámetros por los que nos pregunta son la amabilidad, la IP desde la cual permitimos el acceso a la interfaz web y el puerto por el que mostrar dicha interfaz. En los 3 casos se pueden dejar las opciones por defecto, especialmente importante que la IP sea la 0.0.0.0 ya que, como vimos en el paso 6, gracias a ddclient vamos a poder conectarnos a la interfaz del BitTorrent Sync desde cualquier lugar del mundo. El puerto no debe coincidir con otro que ya estés utilizando, eso sí, recuérdalo bien porque tendrás que redireccionarlo en tu router como ya hiciéramos con los puertos del Transmission y del SSH.

btsync4

btsync5

btsync6

Por último nos pregunta si queremos limitar las conexiones web por SSL. Si tienes un certificado de este tipo en tu Raspberry Pi y quieres utilizarlo para ésto, adelante, pero lo normal es que respondas que no.

btsync7

Después terminará de instalar lo que falta e iniciará el btsync automáticamente.

Utilizar BitTorrent Sync

Desde este preciso momento puedes acceder al BitTorrent Sync desde cualquier navegador web escribiendo la IP de tu RPi seguido del puerto que elegimos antes, por ejemplo:

http://192.168.1.10:8888

La primera vez que lo haces te pide que escribas un usuario y una contraseña. No tiene que ser el mismo que utilizas para entrar a tu Raspberry Pi, de hecho, por seguridad no debería serlo, aunque por comodidad sí que puedes poner el mismo.

Una vez dentro tendremos una pantalla vacía con 5 iconos arriba a la derecha:

btsync10

  1. Campana: Cada vez que tengas una notificación aparecerá ahí, suelen ser peticiones de compartición de carpetas desde tus otros dispositivos
  2. Carpeta: Sirve para agregar un directorio a la sincronización, puedes mantener varias carpetas sincronizadas con diferentes dispositivos
  3. Enlace: Cuando compartes una carpeta se genera un enlace, poniéndolo aquí haces que se cree la sincronización, aunque el otro dispositivo ha de aceptarla
  4. Reloj: Muestra el historial de movimientos en las sincronizaciones
  5. Rueda: El típico menú de preferencias

Dentro de las preferencias vamos a poder pausar la sincronización, elegir las columnas que queremos ver en el lista de directorios compartidos, elegir el idioma de la web o limitar las velocidades de subida y bajada, entre otras cosas.

En cada línea de cada carpeta compartida, a la derecha del todo, aparecerá el botón de compartir, con el que podremos generar un enlace para que el resto de dispositivos se sincronicen con el directorio en concreto. Puedes elegir si quieres que el resto de dispositivos sólo puedan leer, o si prefieres que puedan además modificar y eliminar los ficheros contenidos.

btsync9

Fin

Creo que el resto se puede deducir sin problemas y es fácil de usar. Yo básicamente tengo la app instalada en el móvil con la que comparto la carpeta de la cámara con una carpeta específica en mi Raspberry Pi (modo sólo lectura, para que la sincronización sea unidireccional, es decir, si borro fotos de la cámara no se borran en la RPi y si agrego fotos en la RPi no se ponen en el móvil).

Y además tengo una carpeta en la RasPi que utilizo de “nube”, en modo lectura y escritura, que comparto con el resto de mis ordenadores para poder trabajar con los datos allí almacenados bidireccionalmente, es decir, actualizando en todos los dispositivos, incluida la RPi, lo que modifico en cualquiera de ellos. Que cada cual se lo monte como mejor se adapte a sus necesidades.

También es posible compartir una carpeta concreta con varios amigos donde poner las fotos de un viaje o un evento, documentos de trabajo conjunto, prácticas de la universidad, música… todo lo que alcance la imaginación.

samba

Introducción

Antes de tener la Raspberry Pi probablemente tuvieras un ordenador donde almacenabas todo tu contenido multimedia. Ahora lo ideal sería transferir todo ese material al disco duro USB conectado a la RPi. Ya que tenemos SSH podríamos utilizar el protocolo SFTP para transferir los ficheros, pero también podemos tener una carpeta compartida en la red mediante samba y así transformar nuestra RasPi en un servidor NAS.

Instalar samba

Lo primero es instalar los dos paquetes necesarios para lo que queremos:

sudo apt-get install samba samba-common-bin

El primero es el samba en sí mismo y el segundo nos sirve para poder asignar una contraseña a nuestro usuario de samba. Hasta aquí fácil. Ahora viene lo más crítico, que es configurarlo apropiadamente. El 90% de los fallos vienen de aquí.

Configurar samba

Vamos a tocar lo básico, el fichero de configuración está muy bien comentado y explicado, por si te apetece toquetear y adaptarlo a tus necesidades, pero para el común de los mortales habrá que cambiar muy pocas cosas.

sudo nano /etc/samba/smb.conf

Toda línea que empiece por # (almohadilla) es un comentario y no tiene efecto en la configuración del samba. Nosotros nos tenemos que fijar en 2 parámetros fundamentalmente:

workgroup = WORKGROUP

wins support = yes

El primero es workgroup y da nombre al grupo de trabajo de tu red, por defecto viene el que le pone Windows de serie a sus redes. Normalmente no es necesario cambiarlo. El segundo, wins support, aparecerá comentado, con una almohadilla delante. Es muy importante que descomentes esa línea (quita la #). Da igual si vas a utilizarlo o no, eso ya lo decides tú poniendo yes o no, pero la configuración del samba debe leer ese parámetro para que todo funcione correctamente.

Compartir carpetas

Una vez puestos correctamente esos 2 parámetros del principio del fichero nos iremos al final del todo y en líneas nuevas escribiremos esto:

[DiscoUSB]
comment=Disco USB en la RPi
path=/media/discousb
browseable=yes
writeable=yes
create mask=0775
directory mask=0775
only guest=no

Donde la primera línea define el nombre que tendrá nuestra carpeta compartida en la red, en mi caso DiscoUSB. comment puede ser cualquier cosa que quieras que defina a la carpeta. path es la ruta de la carpeta que quieres compartir, como yo comparto todo el disco duro USB especifico dónde está montado. browseable para que se pueda navegar por los subdirectorios. writeable para poder leer y escribir. create mask y directory mask definen los permisos que se aplican a los ficheros y directorios nuevos. only guest permite acceder como usuario anónimo o no.

No creo que sea difícil de entender. Si quieres compartir más carpetas, debajo de estas líneas pondrías otras similares para cada carpeta, por ejemplo:

[MusicaRPi]
comment=Musica en la RPi
path=/media/discousb/musica
browseable=yes
writeable=yes
create mask=0775
directory mask=0775
only guest=no

[Torrents]
comment=Torrents para Transmission
path=/media/discousb/torrents
browseable=yes
writeable=yes
create mask=0775
directory mask=0775
only guest=no

Y así con todas y cada una de las carpetas que desees compartir en tu red. Yo prefiero compartir directamente el directorio donde está montado el disco duro USB y así tengo acceso a todo, pero cada uno que se lo monte como le convenga. Ahora guardamos y cerramos el fichero de configuración: Ctrl+O, Intro, Ctrl+X.

Establecer contraseña

Por último, vamos a darle una contraseña a nuestro usuario pi, la lógica diría que es la misma que para acceder al sistema, pero no, samba tiene su propia gestión de contraseñas así que hay asignarle una a cada usuario, puedes utilizar la misma para no liarte u otra diferente por seguridad:

sudo smbpasswd -a pi

Nos pide que pongamos una contraseña dos veces y fin. Esa será la contraseña que debemos poner cuando queramos acceder a alguna de las carpetas compartidas que definimos antes en el fichero de configuración.

Para terminar vamos a reiniciar el servicio para que todos los cambios surtan efecto:

sudo service samba restart

Fin

Ya podemos compartir ficheros entre la Raspberry Pi y cualquier otro dispositivo que tengamos en casa sin necesidad de utilizar un software de FTP, ya sea un PC con Windows o con Linux, un Mac o un dispositivo móvil. En Android yo utilizo ES File Explorer para acceder a mis carpetas compartidas por LAN. Cojo cosas de la RasPi y pongo cosas en ella sin problemas.

Y mañana explicaré como montar tu propia nube privada (algo para sustituir a Dropbox) de forma segura, con capacidad ilimitada y sin servidores de terceros gracias a la RPi y BitTorrent Sync (ownCloud lo dejaremos para más adelante).

Raspberry Pi. Paso 7: Backup de la microSD

Backup Raspberry Pi

Introducción

Ahora que tenemos nuestra Raspberry Pi perfectamente preparada para ser el centro multimedia total, lo que menos nos gustaría sería perder todo eso y tener que reinstalarlo y configurarlo desde cero. Por eso es muy importante hacer un backup completo cada vez que instalamos, actualizamos o modificamos algo y hemos comprobado que funciona correctamente, así, cuando queramos instalar o cambiar otra cosa, aunque lo hagamos mal, siempre podremos volver a estado anterior.

Es muy simple, pero no se puede hacer en caliente, es decir, hay que apagar la Raspberry Pi, sacar la tarjeta microSD y meterla en un ordenador. Después, es tan simple como seguir el paso 1 al revés: en vez de meter Raspbian en la microSD vamos a sacarlo. Como siempre, yo voy a explicar el proceso para un PC con Linux, si tienes Windows puedes utilizar Win32DiskImager.

Identificar la microSD en el sistema

Al igual que cuando instalamos Raspbian, vamos a ejecutar el comando:

df -h

Gracias a él veremos un listado de todos los dispositivos conectados al ordenador. Para identificar nuestra microSD podemos comparar el tamaño o, si no somos capaces con ésto, podemos ejecutar el comando con la tarjeta sacada y con ella metida, por diferencia sacamos la que queremos.

Como la tarjeta se particiona al instalar Raspbian veremos 2 particiones del mismo dispositivo, una de unos 56 MB y la otra del resto hasta el tamaño de nuestra tarjeta, deberías identificarlas como algo de este tipo:

/dev/sdc1
/dev/sdc2

Desmontar la tarjeta microSD

Una vez identificadas las particiones que componen nuestra microSD, tenemos que desmontarlas:

umount /dev/sdc1
umount /dev/sdc2

Copiar contenido de la microSD al PC

Por último, vamos a hacer una copia exacta de la microSD en nuestro PC, así cuando queramos recuperar el sistema a este punto, o instalarlo en otra tarjeta, podremos simplemente pasar la imagen que vamos a crear ahora a la microSD (tal y como lo hicimos en el paso 1, pero en vez de con la imagen original de Raspbian, con la nuestra) y todo funcionaría exactamente igual.

sudo dd if=/dev/sdc of=/ruta/2015-02-23-miraspbian.img bs=1M

Donde if es la ruta de nuestra microSD previamente desmontada, of es la ruta donde vamos a guardar la imagen exacta de nuestro Raspbian modificado (yo le pongo la fecha delante para ir almacenando los backups históricamente) y bs es el tamaño de los bloques a copiar. Como ya expliqué, con 4M suele funcionar, pero cuanto más pequeños sean los bloques menos errores se producen, a cambio, eso sí, de que tarde más en realizar la copia.

Repitiéndome de nuevo, este proceso puede tardar bastante y además el comando dd no muestra absolutamente ningún tipo de dato, ni barra de progreso, ni nada que nos invite a pensar que está funcionando, pero funciona. Tras varios minutos (unos 15 para 8 GB) aparecerá un mensaje de éxito con la cantidad de datos y la velocidad a la que los ha copiado.

Fin

Si la microSD es de 8 GB, piensa que el proceso tiene que copiar todo ese volumen de la tarjeta al PC, obviamente es un proceso largo y dependerá de la velocidad de la tarjeta, hay que tener paciencia, además, el fichero resultante también será de 8 GB, incluso aunque sólo estés utilizando 4 GB, por lo que es muy aconsejable comprimirlo tras finalizar la copia. Cada uno que utilice el software de compresión que más le guste, en Linux bastaría con ejecutar:

tar -czvf 2015-02-23-miraspbian.tar.gz /ruta/2015-02-23-miraspbian.img

Lo que comprimiría una tarjeta de 8 GB en poco más de giga y medio, eso sí, con este comando tampoco hay barra de progreso y el proceso tarda bastante, tendrás que esperar al menos otros 5 minutos con la consola totalmente inerte. Al menos para comprimir hay decenas de programas con intefaz gráfica que sí muestran los tiempos.

Hacer un backup de la microSD sería muy aconsejable cada vez que vayamos a modificar cualquier cosa, por ejemplo, al instalar Kodi, Transmission, ddclient, etc. Es difícil meter la pata pero más vale prevenir que empezar de cero. Además, a partir de ahora, todo lo que explique sobre la Raspberry Pi serán filigranas que a la mayoría no les interesará pero que, en caso de querer probarlas, habría que hacer siempre antes un backup para poder volver al estado de “centro multimedia” si el resultado de lo que vayamos a instalar no es el deseado (o nos cansamos de él).

DNS

Introducción

Si estás contento con tu Raspberry Pi pudiendo reproducir todo tipo de películas y series, descargando tus torrents sin descanso y compartiendo todo ello con cualquier dispositivo de tu red, vas a llorar de alegría cuando sepas que todo eso lo vas a poder gestionar desde fuera de tu casa como si tuvieras la RPi delante.

Simplemente poder conectarte vía SSH a tu RasPi ya te otorga control total sobre ella: instalar, actualizar, configurar o modificar cualquier cosa. Transferir ficheros por FTP. Conectarte al Transmission estés donde estés y poder poner a descargar torrents que se descargarán en casa. Las posibilidades son enormes.

La manera de poder conectarnos a nuestra Raspberry Pi desde cualquier lugar del mundo es teniendo una dirección fija a la que apuntar. Como en el 99% de los casos tenemos IP dinámica en casa, necesitamos un servicio que nos otorgue una URL que siempre esté apuntando a nuestra IP, aunque ésta cambie. ¡Brujería! No, simplemente una web nos proporciona la URL y un protocolo para que nuestra máquina le vaya diciendo cada X tiempo la IP que tiene en ese momento, así la URL siempre está apuntando a nuestra IP real.

Registrarse en DNSdynamic

Hay varias webs que nos proporcionan una dirección fija, yo utilizo DNSdynamic principalmente porque es de las pocas totalmente gratuitas y que funciona correctamente. Sin más palabrería regístrate en:

https://www.dnsdynamic.org/signup.php

Sólo hay que proporcionar un email (no mandan absolutamente nada de spam) y una contraseña, que serán tus datos de acceso. Una vez registrado haces login y verás dos opciones: “Edit existing domain” y “Add a new domain”. Como supondrás pulsamos sobre “Add”. Ahora vamos a elegir un subdominio (lo que va antes del punto) y un dominio. Recomiendo que pongas algo que recuerdes bien porque va a ser la URL de tu Raspberry Pi. Imaginemos que registramos: mclarenx.wow64.net.

A partir de este momento, no hace falta volver a entrar en la web nunca más para absolutamente nada.

Instalar ddclient

Tan fácil como siempre:

sudo apt-get install ddclient

Tras la instalación te sale el típico configurador para ir metiendo los datos para el programa. Ni caso, si lo quieres rellenar vale, pero luego hay que modificar el fichero de configuración a mano.

Configurar ddclient

Abrimos el fichero de configuración:

sudo nano /etc/ddclient.conf

Y debemos dejarlo tal que así:

daemon=300
protocol=dyndns2
use=web, web=myip.dnsdynamic.com
server=www.dnsdynamic.org
login=TU@EMAIL.COM
password='TUCONTRASEÑA'
server=www.dnsdynamic.org, \
protocol=dyndns2 \
TUURL

Donde las mayúsculas son tus datos de DNSdynamic: login (tu email), password y la URL que elegiste, en el ejemplo dijimos que sería mclarenx.wow64.net. Lo único que además puedes cambiar es el valor de daemon, es cada cuántos segundos le dices a DNSdynamic la IP pública que tienes. No es necesario que sea cada poco tiempo porque las IPs dinámicas cambian cada mucho, 300 incluso es poco pero a mi me funciona perfectamente así.

Salvamos el fichero y lo cerramos con Ctrl+O, Intro, Ctrl+X. Sería bueno reiniciar la Raspberry Pi también.

Fin

A partir de este momento tienes acceso a tu RasPi desde cualquier lugar del mundo como si la tuvieras delante. Pero para poder acceder a los servicios de la misma: SSH, Transmission, etc., debes redirigir los puertos de tu router hacia su IP interna, que como dijimos en el paso 2 sería 192.168.1.10. Aquí dejo una lista de los puertos principales que sería bueno que tuvieras apuntando a la Raspberry Pi en tu router:

  • 22: para poder acceder por SSH y SFTP
  • 9091: el puerto que le pusimos al Transmission en el paso 5

No voy a explicar cómo redirigir los puertos en cada marca y modelo de router del mercado, así que eso os lo dejo como tarea para investigar cada uno el suyo, aunque es realmente fácil de hacer.

Con este paso ya tendríamos todo instalado y configurado para tener la Raspberry Pi con lo necesario para ser el centro multimedia perfecto, así que mañana voy a explicar cómo hacer un backup de la microSD por si se nos rompe algo poder volver al estado actual en el que todo funciona a la perfección y tenemos todo lo que necesitamos.

transmission

Introducción

Si ya hemos instalado Kodi (o XBMC) y tenemos montado nuestro disco duro USB en el Raspbian que hemos instalado en nuestra Raspberry Pi, lo que nos falta para sacarle el máximo provecho a nuestra pequeña placa es poder descargar el contenido multimedia directamente desde la propia RasPi y así poder prescindir de cualquier otro aparato encendido. Hay dos formas fundamentales para hacerlo: descarga directa o torrents. Lo primero se haría con pyLoad, del que quizá haga una entrada en el futuro, pero hoy vamos a tratar el segundo grupo, los famosos torrents. Y elegimos Transmission para ello porque es de código abierto, gratuito y especialmente liviano, que para una Raspberry Pi siempre es de agradecer.

Instalar Transmission

Con un solo comando ya tenemos Transmission instalado:

sudo apt-get install transmission-daemon

Configurar Transmission

Lo primero es parar el servicio:

sudo service transmission-daemon stop

Antes de configurar Transmission vamos a crear el directorio donde se guardarán las descargas:

sudo mkdir /media/discousb/torrents

Además a mi me gusta guardar las descargas incompletas o en proceso de completarse en una carpeta aparte, así minimizo la probabilidad de eliminar o mover las descargas en curso, lo que haría que dejaran de funcionar:

sudo mkdir /media/discousb/torrents/tmp

Damos permisos a las carpetas para que el Transmission pueda leer y escribir en ellas sin problemas:

sudo chown -R pi:debian-transmission /media/discousb/torrents
sudo chmod -R 777 /media/discousb/torrents

Y ahora abrimos el fichero de configuración:

sudo nano /etc/transmission-daemon/settings.json

Al ver tal cantidad de parámetros podemos asustarnos un poco, pero no pasa nada, casi todos definen bien lo que hacen y, sobre todo, hay muchos gestores externos que nos ayudan visualmente a modificar casi todos los parámetros, o al menos los más importantes. Así que aquí vamos a tratar lo básico para poder acceder externamente a la configuración y poder afinarlo visualmente que siempre es más cómodo.

Con estas dos líneas le indicamos al Transmission dónde queremos que guarde lo que descarguemos y las descargas en curso.

"download-dir": "/media/discousb/torrents",

"incomplete-dir": "/media/discousb/torrents/tmp",

Y con estas líneas configuramos el acceso remoto:

"rpc-authentication-required": true,
"rpc-bind-address": "0.0.0.0",
"rpc-enabled": true,
"rpc-password": "j72x6kxx1fnpjkz9difeu1harx0v0oudwxsfzwuo8j0r8",
"rpc-port": 9091,
"rpc-url": "/transmission/",
"rpc-username": "pi",
"rpc-whitelist": "0.0.0.0",
"rpc-whitelist-enabled": false,

RPC es el protocolo que nos permite conectarnos al Transmission desde fuera (vía web o vía app). Casi todo es bastante intuitivo, pero básicamente hay que dejarlo como yo lo tengo haciendo especial mención al rpc-password, que viene codificado, pero por defecto es transmission, si lo cambias puedes poner lo que quieras sin codificar. Del resto es importante poner a false el rpc-whitelist-enabled para poder conectarte desde cualquier IP en la que te encuentres.

Con esto es suficiente. Si además quieres modificar las velocidades de subida y bajada, el modo “lento” o la cola de descargas (que yo tengo deshabilitada), no creo que tengas problemas en detectar cuales son los parámetros que debes cambiar, pero como ya he dicho, todo eso se puede hacer visualmente vía web o vía app.

Finalmente vamos a iniciar el servicio que paramos antes:

sudo service transmission-daemon start

Desde este momento podremos acceder al Transmission desde cualquier dispositivo conectado a la misma red donde esté la Raspberry Pi (de momento, cuando instalemos ddclient podremos acceder desde cualquier lugar del mundo). Para ello, lo más fácil es abrir un navegador y escribir:

http://192.168.1.10:9091

Donde 192.168.1.10 es la IP fija que le pusimos a la RasPi al final del paso 2 y 9091 es el puerto que pusimos en rpc-port del settings.json aquí arriba. Nada más acceder te pide usuario y contraseña, lo pones, y aparece una web muy simple desde la cual puedes manejar casi cualquier cosa del Transmission. Es todo muy intuitivo, pero si no sabes para que sirve algún botón con dejar el ratón por encima sale una pequeña descripción.

Lo importante: de la parte de arriba, el icono de la carpeta sirve para añadir torrents. De la parte de abajo, con la rueda dentada cambias puntualmente los límites de velocidad de subida y bajada pero con la llave inglesa configuras las velocidades a nivel global, además de la mayoría de parámetros extra como la ruta donde se descargan los torrents, las velocidades alternativas (para cuando quieres que el Transmission no te chupe toda la conexión), o el puerto de escucha que sería bueno que tuvieras abierto en el router. Además el icono de la tortuga cambia entre la velocidad normal y la lenta.

La versión web de Transmission no da para mucho más y, en general, es suficiente. Si quieres otras características ya tendrás que instalar un software en el ordenador, o una app en tu dispositivo móvil. Como software yo aconsejo Transmission Remote GUI, que tiene versiones para Linux, Windows y Mac y es muy completo además de gratuito. Como app para Android yo utilizo Remote Transmission, que es probablemente la menos vistosa pero a mi es la que mejores sensaciones me ha dejado. En iOS, Windows Phone, etc. habrá también apps para el mismo efecto.

Fin

No he explicado nada de configuraciones de routers, ni velocidades óptimas de funcionamiento, ni nada directamente relacionado con las descargas. Eso ya iría en otro tutorial. Lo importante es que Transmission ya funciona como lo haría en cualquier otro dispositivo y tenemos acceso a él gráficamente para ir toqueteando la configuración hasta que todo funcione como más nos convenga en cada caso.

Mañana vamos a instalar ddclient para poder acceder a la Raspberry Pi desde cualquier lugar el mundo, no sólo desde la misma red de la propia RasPi, y así otorgarle la excelencia a este proyecto. Poder instalar, modificar y configurar cualquier cosa de la RPi sin estar en casa. Poder poner torrents a descargar, hacer copias de seguridad… y todo desde cualquier lugar como si tuviéramos la Raspberry Pi delante.

Raspberry Pi. Paso 4: Montar disco duro USB

Introducción

Partiendo de la base de que queremos la Raspberry Pi como centro multimedia, es evidente que con una tarjeta microSD no vamos a tener suficiente, por muy grande que sea. A día de hoy, cualquier película FullHD con sonido DTS 5.1 que se precie, viene ocupando unos 10-15 GB, así que nos va a hacer falta casi con total seguridad un disco duro USB de, mínimo, 500 GB. Habrá quien se pueda apañar con 128 GB, pero este tutorial sirve igual para discos duros como para pendrives de cualquier tamaño.

Elegir el tipo de disco duro USB

Es uno de los puntos más complicados porque todo tiene sus pros y sus contras. Podríamos catalogar las posibilidades en 3 grandes grupos: pendrive, disco duro USB de 2.5″ y disco duro USB de 3.5″. Dependiendo de dónde vayas a colocar todo el invento, te será de mayor o menor prioridad el tamaño físico del disco. Pero más allá de eso, que siempre puede ir detrás de la tele sin que se vea mucho, la clave es elegir entre alimentación externa (red eléctrica) o no (alimentado por el propio USB).

Un pendrive, por grande que sea, no consume tanta energía como para que la Raspberry Pi no pueda con él, así que es la opción más minimalista si la capacidad no es un problema (que lo acabará siendo). Sin embargo, si nos vamos a discos duros de más de 256 GB, nos empezamos a meter en el peligroso umbral de la autoalimentación. Generalmente un disco duro USB de 2.5″ no trae alimentación externa, coge la energía necesaria del ordenador al que está conectado. El problema es que la Raspberry Pi no es capaz de alimentarse a sí misma y a un disco duro de 500 GB con el cargador de 2A. La solución para este caso es comprar un HUB USB con alimentación externa. Con esto ganamos más puertos USB y además alimentación extra para dispositivos que la RPi no es capaz de mover con su propia energía.

Pero ya puestos a ocupar un enchufe más, yo prefiero un disco duro USB de 3.5″ con alimentación externa. Son más fiables, más duraderos y, normalmente, más baratos en igualdad de capacidad. La pega es que es bastante más grande (unas 4 veces la propia RasPi) y quizá en algún salón es realmente un estorbo. Además el HUB USB me parece excesivo ya que disponemos de 4 puertos USB de serie que, en general, son más que suficientes.

Elegir el sistema de ficheros

Sea cual sea tu elección, que es absolutamente personal y dependerá totalmente de las circunstancias de cada uno, sin que haya una única elección perfecta, el sistema de ficheros es la siguiente elección que has de hacer. Y recuerda que es reversible, pero con cada cambio de sistema de ficheros hay que formatear eliminando todo lo que haya.

Hay más, pero básicamente las opciones más lógicas que tienes son 3: FAT32, NTFS, ext3/4. De entrada descartaría FAT32, es el que suele venir por defecto en los pendrives pero tiene un defecto insalvable: no admite ficheros de más de 4 GB. Como ya dije antes, a día de hoy las películas en calidad decente ya ocupan más que eso así que no merece mucho la pena en nuestro caso.

Luego tenemos NTFS, es el sistema de ficheros por defecto de Windows y el que viene en casi todos los discos duros USB. Sólo lo aconsejaría si tenemos un PC con Windows al que pretendemos mover el disco duro más o menos habitualmente para transferir ficheros, aunque esto no debería pasar porque la Raspberry Pi debería ser el centro de todo sin necesidad de un ordenador externo para nada, además siempre podemos transferir los ficheros por la red. Y no lo aconsejo, sobre todo, porque como cualquier otro Linux, Raspbian no tiene soporte nativo para NTFS. Esto implica que tengamos que utilizar software adicional para leer y escribir en el disco (ntfs-3g), y no sería un problema si no fuera porque es un proceso que recarga bastante la Raspberry Pi tanto computacionalmente como a nivel de temperatura.

Y por último tenemos ext3/4. Vale, son dos opciones en realidad: ext3 y ext4, pero los pongo juntos porque la explicación para elegirlos es la misma: son los nativos de Linux. Más allá de que la fragmentación es menor que en NTFS o que la velocidad de lectura y escritura pueden ser mayores, la razón principal para elegir uno de los dos es que hace trabajar menos a la Raspberry Pi. Así que puestos a optimizar los recursos, mejor que sea ext3, que no se ha demostrado realmente que sea mucho peor que ext4 y encima consume menos, además tampoco vamos a notar especialmente la diferencia en los procesos que vamos a ejecutar en la RasPi.

Como ya he dicho para el tipo de disco, el sistema de ficheros también depende mucho de la situación de cada uno y no hay una elección perfecta en todos los casos.

Montar el disco duro USB

Vamos a lo importante, que todo lo anterior es palabrería que probablemente no necesites. Lo primero es ver el nombre que Raspbian le ha dado a nuestro dispositivo USB, ya sea un pendrive o un disco duro. Doy por hecho que tienes Raspbian, aunque realmente este proceso funciona igual en casi cualquier Linux que hayas puesto en la miscroSD. Para ello ejecutamos:

sudo fdisk -l

Obtenemos un listado de todos los discos y sus particiones. Primero aparecerá la microSD con sus dos particiones, y después los dispositivos USB que tengamos conectados. Es fácil detectar cuál es el que queremos montar porque da mucha información del mismo, pero lo definitivo son la capacidad y el sistema de ficheros. Tendrás un resultado parecido a esto:

fdisk

Como puedes ver, /dev/mmcblk0 es mi microSD de 8 GB, con sus dos particiones, y /dev/sda es mi disco duro USB de 3 TB con una única partición: /dev/sda1.

Ahora podemos formatear el disco para darle el sistema de ficheros que queramos si no lo hicimos antes de conectarlo a la Raspberry Pi. Recuerda que se perderán todos los datos:

sudo mkfs.ext3 /dev/sda1

Esto formatea completamente la partición que le hayamos indicado con el sistema de ficheros ext3, si prefieres ext4 sólo tienes que utilizar mkfs.ext4.

Para acceder a nuestro disco duro USB necesitamos crear un directorio donde montarlo. Puedes elegir casi cualquier sitio para crearlo, pero lo típico y recomendable es hacerlo en media:

sudo mkdir /media/discousb

Donde discousb es el nombre que yo le he puesto al directorio donde voy a montar mi disco duro USB, soy muy original, pero tú puedes poner lo que más te guste. Y ahora tendríamos que montar el disco en el nuevo directorio con el comando mount, pero en vez de eso, vamos a modificar la configuración inicial para que cada vez que se arranque la Raspbery Pi se monte automáticamente:

sudo nano /etc/fstab

Al final de este fichero vayamos a añadir la siguiente línea:

/dev/sda1      /media/discousb      ext3      defaults      0      0

Lo primero es la partición de tu disco duro USB, lo segundo es dónde vamos a montarlo, lo tercero es el sistema de ficheros del disco (puede ser ext3, ext4, ntfs o vfat para FAT32) y el resto son las opciones por defecto para el montaje. Guardamos y cerramos el fichero con Ctrl+O, Intro, Ctrl+X.

Ahora cada vez que se inicie Raspbian tendremos el disco duro USB montado y listo para acceder a él. Si lo quieres empezar a utilizar ahora mismo sin tener que reiniciar puedes ejecutar:

sudo mount -a

Que monta todas la particiones que estén indicadas en el fichero /etc/fstab que acabamos de modificar.

Fin

Lo lógico es utilizar la tarjeta microSD para instalar los programas que vayamos a necesitar y utilizar el disco duro USB para almacenar todo el multimedia. Por eso yo, he organizado mi disco creando carpetas dentro de /media/discousb como Peliculas, Series, Musica, etc. Para poder tener acceso sin problemas tanto al disco como a todas las subcarpetas que queramos crear, lo mejor es poner que el propietario es el usuario pi, es decir, nosotros:

sudo chown pi /media/discousb

Eso es todo, mañana explicaré cómo instalar y configurar Transmission, un software para descargar torrents.

Raspberry Pi. Paso 3: Instalar Kodi o XBMC

kodi logo

Introducción

Kodi no es más que el nuevo nombre que tiene lo que antes era XBMC, en resumen, un centro multimedia. Es una forma gráfica de organizar tus películas, series, fotos, música y en general cualquier contenido multimedia. Además incluye todo lo necesario para no tener problemas de codecs de vídeo o audio. Y por último, obtiene de Internet todos los datos, carátulas, portadas, pósters, trailers, etc. y te muestra cada contenido bien organizado, bonito y fácilmente accesible. Yo no conozco ningún otro software mejor que haga más. Por eso es el punto más importante del tutorial y lo que hace que aprovechemos realmente la Raspberry Pi.

La manera de instalar Kodi es por consola, y para acceder a la consola de la RasPi puedes hacer dos cosas:

  1. Encenderla y esperar a que te pida usuario y contraseña (necesitas un teclado USB)
  2. Acceder por IP mediante un cliente SSH (con la RPi encendida, claro)

Lo normal es hacerlo mediante el segundo método aprovechando que tenemos la RPi con IP fija como vimos en el Paso 2 de este tutorial, porque además es más cómodo y no necesitamos estar delante de la televisión. Como ya dije las formas más típicas son escribiendo en una consola de Linux:

ssh pi@192.168.1.10

Con Putty desde Windows, con JuiceSSH desde Android o con cualquier otro cliente SSH desde Mac o iOS. Obviamente siempre estando conectados al mismo router que la RPi. De momento, más adelante veremos como instalar, actualizar o modificar cosas de la Raspberry Pi desde una red externa mediante ddclient.

Instalar Kodi

Necesitamos agregar un repositorio externo porque en los oficiales no están todas las dependencias que necesitamos para que Kodi funcione perfectamente. Es muy fácil, vamos a editar el fichero de repositorios:

sudo nano /etc/apt/sources.list

Agregamos la siguiente línea al final:

deb http://archive.mene.za.net/raspbian wheezy contrib

Guardamos y cerramos el fichero con Ctrl+O y Ctrl+X. Ahora vamos a agregar las firmas que nos permitan acceder al nuevo repositorio:

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key 5243CDED

Ya sólo nos queda actualizar la lista de paquetes que vamos a poder instalar desde los repositorios que tenemos configurados:

sudo apt-get update

Y por último, vamos a instalar Kodi:

sudo apt-get install kodi

Nos aparecerán un montón de paquetes que se van a instalar además de kodi, son las dependencias de las que hablábamos antes, así que decimos que sí, que lo instale todo, y esperamos a que termine.

Si por tu propia experiencia, porque te gusta más o porque te apetece, prefieres seguir utilizando la versión antigua de XBMC, la manera de instalarlo es exactamente la misma pero cambiando la palabra kodi por la palabra xbmc. Todo lo que viene ahora vale para ambos también sustituyendo una palabra por la otra.

Puesto que, como ya he dicho antes, Kodi va a ser el punto más importante de nuestra Raspberry Pi, vamos a hacer que se inicie automáticamente en cada arranque. Para ello debemos modificar el siguiente fichero:

sudo nano /etc/default/kodi

Y poner esto:

# Set this to 1 to enable startup
ENABLED=1

# The user to run Kodi as
USER=pi

# Adjust niceness of Kodi (decrease for higher priority)
NICE=-10

Donde ENABLED=1 indica que Kodi se iniciará al arrancar. USER=pi le dice que ejecute Kodi con nuestro usuario. NICE es la prioridad que tiene Kodi frente a otros programas, no es muy importante porque tampoco vamos a tener muchas cosas, así que como viene esta bien. Guardamos y cerramos el fichero con Ctrl+O y Ctrl+X.

Manejar Kodi

A partir de ahora cada vez que encendamos la Raspberry Pi, y tras un montón de comprobaciones en consola, se iniciará automáticamente Kodi que tendrá este aspecto:

kodi

Lo bueno es que puedes modificar absolutamente toda la interfaz así como la organización de todo. No es algo que quepa en este mismo tutorial así que ya haré otro al respecto, pero ya es algo muy personal de cada uno y bastante intuitivo de cambiar. Entra en Ajustes y toquetea.

Respecto a cómo moverte por Kodi hay 3 opciones:

  1. Teclado/ratón USB (los hay inalámbricos)
  2. App móvil: XBMC remote control o Yatse (entre otras)
  3. Mando a distancia de TV compatible con HDMI CEC

Sin lugar a dudas lo más cómodo es el mando a distancia, pero tu televisión debe ser compatible con HDMI CEC, prácticamente todas las SmartTV lo son, y muchas de las anteriores también. Si no, con el móvil conectado a la misma red que la Raspberry Pi puedes utilizar cualquiera de las apps que hacen de mando a distancia. La opción del teclado/ratón sin duda es la peor, sobre todo porque implica tener un aparato más en el salón.

Mañana iba a explicar como se instala Transmission para descargar torrents, pero mejor voy a contar como se monta un disco duro externo y las particularidades de los diferentes tipos que hay, así como cual sería el sistema de ficheros que deberíamos elegir.