Este apunte lo empecé a principios del 2015 pero lo he ido actualizando con el tiempo. En aquel entonces andaba yo buscando un Media Center casero de siguiente generación conectado a mi TV, un “pata negra” que no sea demasiado caro, que pueda conectarse por cable ethernet a un “mundo” de múltiples fuentes que incluya música, fotos, videos familiares o películas o series (tanto SD o HD) y que sea capaz de reproducir TV en tiempo real (SD o HD), que soporte bitrates altos (~40Mbps) independiente de cual sea la fuente (antena, satélite, internet).
El ganador fue (y sigue siendo) la Raspberry Pi con el software OpenELEC. Han pasado por mi mano la Pi1, Pi2 y Pi3, mismos precios y a cada cual más moderna y potente, así que a pesar de que dejo documentadas cosas sobre las antiguas te recomiendo irte por supuesto a la última. Para la Pi1 probé hasta la versión “OpenElec 4.0.5”, con la Pi2 y Pi3 las versiones «OpenElec 6.0.3 -> Kodi v15 Isengard» y «OpenElec 7.0B2 -> Kodi v16 Jarvis». También proble «OSMC» aunque me he quedé con OpenElec (principalmente por el Skin, no me convence el de OSMC).
En abril del 2017 nació LibreElec, una bifurcación (fork) de OpenElec y desde entonces me he mantenido en ella (LibreElec).
Nota1: ¿porqué no hablo de Wifi?: Pues porque busco el mejor rendimiento y eliminar posibles puntos de fallo o empeoramiento de las condiciones de ancho de banda. Una vez que pruebes y re-pruebes todo y estés convencido de que va «PERFECTO», entonces es cuando deberías añadir la «variable» Wifi y por supuesto probar de nuevo.
Nota2: En casa sigo sin usar WiFi pero he probado recientemente con la Wifi embebida en la Pi3 y funciona bien con streams HD, eso sí, siempre que esté cerca del punto de acceso y no haya muros ni interferencias cercanas…
La lista de la compra:
El Hardware
Depende de cual compres, Pi1,2,3; aquí tienes la lista de sus especificaciones:
- Raspberry Pi Model B+ 1.2 (versión 1)
- Broadcom BCM2835 System on a Chip (SoC)
- CPU: ARM1176JZF-S 700 MHz
- GPU: VideoCore IV
- Memoria: 512 MB
- Raspberry Pi 2 Model B v1.1 (versión 2)
- Broadcom BCM2836 System on a Chip (SoC)
- CPU: ARM Cortex-A7 quad-core 900MHz (~6x versión 1)
- GPU: VideoCore IV (no cambia)
- Memoria: 1GB LPDDR2 SDRAM (2x versión 1)
- Compatibilidad total con la Raspberry Pi 1
- Raspberry Pi 3 Model B v1.1 (versión 2)
- SoC: Broadcom BCM2837
- CPU: 4× ARM Cortex-A53, 1.2GHz
- GPU: Broadcom VideoCore IV
- RAM: 1GB LPDDR2 (900 MHz)
- Red: 10/100 Ethernet, 2.4GHz 802.11n wireless
- Bluetooth: Bluetooth 4.1 Classic, Bluetooth Low Energy
Comunes:
«Cosas» que tienes que comprar adicionales
- Transformador de 5.25V y 2.5A
- Cable USB para el transformador
- Caja VESA transparente con ventilación
- Juego de disipadores. Solo hacen falta 2 disipadores:
- 1 Disipador para el SoC (CPU) de 13x13x5mm
- 1 Disipador para la LAN de 10x10x5mm
- Tarjeta Micro-SD (mínimo 8GB Clase 10)
Pensé en usar un microventilador pero me ha ido muy bien con solo los disipadores, así que al final no los he instalado. Incluso con la Pi3 no instalo ni los disipadores, porque para Kodi y el uso que le doy va sobrada… En cualquier caso, si necesitas ventilador, ve a por uno de estos: 15x15x4,5mm, Voltaje: 3.3v-5v, Potencia (Amps): 0.06A, Velocidad: 1300 rpm, Airflow (CFM): 0.42, Max presión del aire: 15.7Pa. He leído por ahí que es posible instalar un sensor de temperatura y bajo demanda activar el ventilador desde un script en phyton.
El Software
Todos los paquetes de software que se ejecutan en la Raspberry son de software libre y hay múltiples distribuciones. En el área de Media Center tenemos dos: raspbmc (ahora OSMC), openelec y ahora LibreElec. Tras múltiples pruebas y pasar por OpenElec, ahora utilizo LibreElec.
- Proyecto LibreElec
- Proyecto OpenELEC y enlace a la raíz del proyecto OpenELEC en GitHub y en particular a OpenElec.tv
- Wiki de OpenELEC y documentación para compilar desde los fuentes (por si quieres trastear y cross-compilar directamente desde GitHub, interesante aprendizaje :-)).
Formatear la tarjeta SD
Necesitas una tarjeta SD, recomiendo que sea al menos de 8GB y Clase 10 o superior. Formatear (quick format) con el programa SDFormatter. (que es el que yo uso para Mac)
Raspberry Pi Versión 1: «OpenElec 4.0.5» desde NOOBS
Esta opción usa la instalación desde NOOBS, un paquete preparado por la gente de Raspberry directamente y dejará instalada la versión 4.0.5 de «openelec» que incluye XBMC 13.1 «Ghotam». Es la versión que mejor me ha funcionado en la Raspberry Pi Model B+ 1.2 (Versión 1). Estos son los pasos realizados en mi Mac:
- Descargar el ZIP de la versión 1.3.12 de NOOBs. Nota: para la nueva Raspberry Pi versión 2 necesitas que sea versión 1.3.12 o superior. Por otro lado, te recomiendo descargar y usar el torrent.
Descomprimir el archivo NOOBS_v1_3_12.zip
Arrastrar y copiar todo el contenido dentro del directorio hacia la raíz de la tarjeta SD
Desmonta el volumen de la Micro SD, ya está lista para usarse en la Raspberry
Insertar la Micro SD en la Raspberry Pi B+, recomiendo que conectes un «teclado y ratón USBs» para ejecutar NOOBS. Conectar el cable de potencia, HDMI, etc.. y arránca el equipo.
Primer boot NOOBS
Aparecerá una ventana con un listado de los sistemas operativos que puedes instalar, seleccionar «openelec» y clic en «install». Automáticamente se reformatea/instala en la misma SD la versión de Openelec.
Raspberry Pi Versión 2 o 3: Ejemplo con «OpenElec 5.0.8» desde OpenELEC
Para esta opción vamos a descargar la imagen directamente desde OpenElec, describo cómo instalé esta versión concreta, pero el proceso es el mismo para futuras versiones:
Nota: Con Pi 2 o 3 se soportan bitrates >40Mbps con muchísimo menor consumo de CPU, ahora bien, de ahí (40-45Mbps) no pasa sin sufrir microcortes y es debido a que el chip ethernet LAN9154 emplea el bus USB. En mi caso 99.99% de mi contenido va sobrado con dicho rendimiento (TV 1080 y videos en 1080).
- Descargar la imagen OpenELEC 5.0.8 (arm) Diskimage desde la sección RaspberryPi-2 Builds en el sitio de OpenELEC.
Descomprimir: gunzip OpenELEC-RPi2.arm-5.0.8.img.gz
Insertar la tarjeta que se montará como “NO NAME”.
Averiguar device (resultó ser /dev/disk5): df -h
Desmontar el volumen: sudo diskutil unmount /dev/disk5s1
Grabar: sudo dd if=OpenELEC-RPi2.arm-5.0.8.img of=/dev/rdisk5 bs=4194304
Raspberry Pi Versión 3: Ejemplo con «LibreElec»
- Descargo el LibreElec SD USB Creator
- Ejecutar el programa y seguir cuatro sencillos pasos
Boot del Media Center «casero»
Una vez que hemos «quemado» la memoria la colocamos en la Raspberry Pi y hacemos Boot. Al arrancar realiza un proceso automático (que incluye un reboot) donde se redimensiona la partición de la Micro-SD y se ejecuta un asistente para la configuración básica de XBMC/KODI. En la Raspberry versión 1 notarás que el interfaz es lento, es normal, tendrás que activar el overclocking más adelante.
Parámetros mínimos que configuro en mi caso. Debido a los diferentes Skins indico el lugar donde puedes encontrarlo…
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | : Parámetros regionales: Spanish Nombre del equipo: TV-Dormitorio Dirección IP: En mi caso la recibe vía DHCP Servicios: En mi caso activo ambos: SAMBA y SSH : Sistema Openelec/LibreElec Sistema: Teclado, Disposición de teclas: es Red: Servidor de hora (NTP): 192.168.1.1 Ajustes Apariencia: Skin: Activar noticias RSS: ( ) Internacional: Región: España 24h País del uso horario: Spain, Europe/Madrid Sistema Hardware de video Resolución: Máxima soportada por mi monitor Calibración de video: Uso Overscan para calibrar perfectamente la pantalla Servicios General Nombre del dispositivo: TV-Dormitorio (lo hago coincidir con el nombre del equipo) Control remoto: Permitir que los programas de este equipo controlen XBMC: (x) Permitir que los programas de otro equipo controlen XBMC: (x) : |
Instalación de licencias MPEG-2 y VC1
La Raspberry cuenta con soporte para codecs MPEG2 y VC1, pero están deshabilitados por defecto, si los necesitas (como en mi caso para ver los streams SD de la TV, o para reproducir .vob’s extraídos de DVD’s o videos familiares en ese formato) puedes adquirir las licencias a través de su tienda. Nota: Si no lo haces e intentas reproducir esas fuentes entonces solo tendrás el audio.
Para adquirir la licencia, conecta vía SSH con tu raspberry como root, averigua el número de serie de la cpu, adquire la licencia para luego instalarla en el fichero config.txt
1 2 3 4 5 6 7 | bolica ~ $ ssh -l root rasp-dormitorio.parchis.org : TV-Dormitorio:~ # cat /proc/cpuinfo : Serial : 000000005771f8a3 |
Cuando pases por la tienda para comprar la licencia y tengas el número podrás instalarla dentro del fichero config.txt, mira un ejemplo donde indico el número de licencia para Mpeg-2
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | bolica ~ $ ssh -l root rasp-dormitorio.parchis.org : TV-Dormitorio:~ # TV-Dormitorio:~ # mount -o remount,rw /flash TV-Dormitorio:~ # cd /flash TV-Dormitorio:/flash # nano config.txt : # decode_MPG2=0x00000000 decode_MPG2=0x12345678 # decode_WVC1=0x00000000 # decode_DTS=0x00000000 # decode_DDP=0x00000000 ---------------------------<<< Salvamos con CTRL-O, CTRL-X y rearrancamos TV-Dormitorio:~ # reboot |
Configuración de XBMC/KODI y sus fuentes
Este paso es muy personal, porque cada uno tendrá distintas fuentes con distintos protocolos de acceso. Describo a continuación las que utilizo en mi caso:
NAS con videos, fotos y música
En mi caso tengo una NAS QNAP en la dirección 192.168.1.2 y comparto la raiz de mi contenido multimedia usando el protocolo NFS. Aunque se configura vía web, ésta es la línea en el /etc/exports:
"/share/MD0_DATA/Multimedia" *(ro,async,no_root_squash,insecure)
La razón de usar NFS es que consume menos en la raspberry y es más rápido. Desde XBMC/KODI y las áreas de video, música e imágenes añadir los directorios con el recurso «Network Filesystem (NFS)»
- Nota: Cuando seleccionas el recurso «Network Filesystem (NFS)» lo normal es que aparezca la dirección IP de tu servidor NFS dado que XBMC/KODI envía un broadcast en UDP intentando «descubrir» los servidores NFS activos en tu red. Si no aparece el tuyo la razón está en la configuración de tú servidor NFS. Si te ocurre, puedes configurar la URL a mano.
1 2 3 4 | : Configuración: Sistema, Videos Colección Obtener automáticamente las miniaturas de actor: ( ) |
Después desde Videos, Archivos:
1 2 3 4 5 6 7 8 9 10 11 12 13 | : Archivos Añadir Videos (uso NFS hasta mi NAS y configuro) : Repito para cada directorio fuente con videos, series, videos familiares. : Música Archivos Añado mi colección de música vía NFS : Imágenes Añadir imágenes Añado raiz de mis colecciones de Fotografía (Positivos) principales |
Una de mis aficiones es comprar (o que me regalen) series de TV completas, las ripeo en Inglés con subtítulos en Inglés para seguir «estudiando» el idioma, la integración dentro del Media Center es perfecta:
Sintonizador externo VU+ Ultimo
Si te has hecho con un receptor con sintonizadores de TDT o Satélite, como los VU+ Ultimo o Enigma, puedes activar el Add-On «VU+ / Enigma Client» (fuentes en GitHub) que viene incluido y se activa con:
1 2 3 4 5 6 7 8 9 10 11 | : Add-ons: Add-Ons Desactivados VU+/Enigma2 Client Configurar: IP, usuario, contraseña Activar TV en directo Activado : |
Sintonizar Movistar TV con un plugin
He descubierto un plugin que tiene muy buena pinta, no he tenido tiempo de probarlo, pero si lo único que quieres es ver los canales de Movistar TV en múltiples TV’s aquí tienes una solución que promete: https://xbmcimagenio.codeplex.com/
Sintonizar Movistar TV con Tvheadend
Si te has hecho con un equipo externo (como el MOI+ o MOI Pro que incluye el programa Tvheadend) o tienes un servidor dedicado con Tvheadend y quieres ver los canales de Movistar TV, puedes echar un vistazo a diferentes apuntes que he realizado al respecto. Fuí investigando poco a poco y los tienes a continuación, en orden de más antiguo a más moderno:
- Soluciones con un servidor dedicado o semidedicado:
- Movistar Fusión TV. Conseguirlo no es tan directo como configurar un Add-on. Echa un ojo a estos apuntes: 1) integración de Movistar TV en mi media center (2015), 2) integración de Movistar TV en mi media center (2015) y 3) WebGrab+Plus con TVHeadEnd en Linux.
- TVheadend y Movistar TV (2016)
- Ojo porque en mi caso he cambiado el router que te entregan por un Linux + un Switch, documentado aquí: Movistar Fusión con router Linux.
- Solución con un equipo externo
- Servidor de streaming IPTV casero es un MOI Pro funcionando de maravilla con Tvheadend si además de agregar IPTV quieres agregar otras fuentes.
Control remoto
CEC
Una vez que lo tengas todo configurado y funcionando te recomiendo que utilices el «mando de la TV» activando CEC (Consumer Electronics Control), una funcionalidad que permite a la TV reenviar las órdenes del mando por el cable HDMI a tu raspberry y por lo tanto a XBMC/KODI. Así podrás reducir el número de mandos. Tienes muchas más alternativas como usar un teclado (usb y/o bluetooth) o bien mandos remotos específicos, o mejor todavía, una aplicación para tu smartphone (aquí tienes un ejempo, la oficial de XBMC/KODI)
Remoto vía USB
Otra opción es hacerte con un mando remoto que funciona por el puerto USB, tienes muchas opciones en el mercado. Una que a mi me ha gustado mucho y funciona nada más sacarlo de la caja es el HP MCE remote. Aquí tienes una buena comparativa.
Mejorar tu instalación de Kodi
En esta sección explico cómo conseguir algunas «mejoras» a tu instalación de Kodi:
- Que el Servicio de TV se apague de forma automática a la hora y media sin interactuar con el mando remoto.
- Se consigue con dos plugins (Kodi Callbaks, Sleep Timer) y dos scripts (
screen_off.sh, screen_on.sh
)
- Se consigue con dos plugins (Kodi Callbaks, Sleep Timer) y dos scripts (
- Que Kodi detecte cuando se ha añadido algo nuevo (Pelis, Series, Audio, …) y auto-reconstruya sus Librerías.
- Se consigue con un plugin (Watchdog)
- Que el botón ON/OFF del mando remoto ponga en standby a Kodi (Off) o lo despierte (On), en vez de «Apagarlo».
- Se consigue con el script «
powerButton.py
» y tocando la configuración.
- Se consigue con el script «
Scripts de apoyo
Antes de nada crea tres scripts de apoyo en tu equipo Openelec/LIbreelec. Conecta vía SSH, cambia al directorio /storage y crea tres scripts (a continuación tienes un ejemplo). Haz que los tres sean ejecutables (chmod):
- Conecta vía SSH
1 2 | $ ssh -l root -p 22 tv-despacho.parchis.org password: openelec <=== Por defecto |
- Crea el fichero
.kodi/userdata/keymaps/keyPower.xml
1 2 3 4 5 6 7 | <keymap> <global> <remote> <power>XBMC.RunScript(/storage/powerButton.py)</power> </remote> </global> </keymap> |
- Crea el fichero
/storage/powerButton.py
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | #!/usr/bin/python # # Change remote's power button behaviour, by LuisPa, 2016 # # Python script called from KODI in order to have an alterntive # to the power button. I want remote's power button to trigger # the following: If HDMI is On, then stop playing and power off # the HDMI. If HDMI is OFF, then power it on and restart Kodi # # Imports # import os import xbmc #import xbmcgui import sys import subprocess # Check HDMI Status # #ret = subprocess.call(["/storage/screen_status.sh"], shell=True) ret = subprocess.call(["/usr/bin/tvservice -s | grep -v off > /dev/null 2>&1"], shell=True) if ret == 0: # HDMI is On, so I assume user wants to power it off # xbmcgui.Dialog().ok("HDMI Status","HDMI is On, I'll switch it Off") # Stop anything that is being played xbmc.executebuiltin('PlayerControl(Stop)') # Activate Screen Saver xbmc.executebuiltin('ActivateScreensaver') print("powerButton.py: Screen Saver has been activated") # Power off HDMI #subprocess.call(["/usr/bin/tvservice -o"], shell=True) # In case someone is looking at the log files #print("powerButton.py: HDMI has been powered off") else: # HDMI is Off, so I assume user wants mi to power it On # Power on HDMI subprocess.call(["/usr/bin/tvservice -p"], shell=True) subprocess.call(["/bin/killall -9 kodi.bin"], shell=True) # In case someone is looking at the log files print("powerButton.py: HDMI has been powered on") |
- Crea el fichero
/storage/screen_off.sh
1 2 | #!/bin/sh tvservice -o |
- Crea el fichero
/storage/screen_on.sh
1 2 3 | #!/bin/sh tvservice -p killall -9 kodi.bin |
- Cambia el permiso de los tres scripts a «ejecutable».
1 | TV-Despacho:~ # chmod 755 screen_off.sh screen_on.sh powerButton.py |
Instalación de Plugins
En mi caso siempre me instalo también las Network Tools (para poder cotillear qué está pasando con la red). Las tienes en Ajustes->Add-ons->Instalar desde Repositorio->Todos los Repositorios->Add-ons de Programas
- Network Tools
Continuamos con los tres recomendados. Instálalos a través de Ajustes->Add-ons->Instalar desde Repositorio->Todos los repositorios->Servicios
- Kodi Callbacks
- Sleep Timer
- Watchdog
Configuración de los Plugins
Una vez instalados entramos a configurarlos:
Kodi Callbacks
Entramos en la configuración de Kodi Callbacks, definimos como TASK #1
el script /storage/screen_off.sh
y como TASK #2
el script /storage/screen_on.sh
Definimos dos eventos, el EVENTO #1 «on Screensaver Activated
» que ejecute el TASK #1 (script /storage/screen_off.sh
) y el EVENTO #2 «on Screensaver Deactivated
» que ejecute el TASK #2 (script /storage/screen_on.sh
)
El resto lo dejamos por defecto
Sleep Timer
Entramos en la configuración,
Configuramos primero GENERAL, cómo iniciar el Sleep Timer
Después configuramos AUDIO/VIDEO SUPERVISIÓN, donde indicamos «cuando» queremos que se active el Timer.
En este ejemplo vemos que a los 90 minutos de inactividad (no iteración con Kodi) se hará un trigger del Timer y cuando venza el timeout del diálogo (nos da 45seg para abortar) se activará el «Screensaver», y ya vimos qué pasa cuando se activa el screensaver en el otro plugin (Kodi Callbacks), te lo recuerdo: el EVENTO #1 «on Screensaver Activated
» ejecuta el TASK #1 (script /storage/screen_off.sh
). Traducido significa que a la hora y media de no tocar el mando remoto muestra una caja de diálogo para abortar y si no lo hacemos en 45 segundos pues se apaga Kodi (se pone a dormir, NO apaga la raspberry).
Watchdog
El objetivo es que cada vez que xxxxx relea la libería. Activamos el plugin y entramos en su configuración para dejarla como ves a continuación.
Reprogramar el boton ON/OFF del Remote
Por último, veamos cómo reprogramar el botón de apagado/encendido del mando para despertar/dormir a Kodi, cerrando el círculo. Entra en tu equipo vía SSH y edita el siguiente fichero.
keyPower.xml
bajo.kodi/userdata/keymaps
1 2 3 4 5 6 7 8 9 10 11 | $ ssh -l root -p 22 tv-despacho.parchis.org password: openelec <=== Por defecto TV-Despacho:~/.kodi/userdata/keymaps # cat keyPower.xml <keymap> <global> <remote> <power>XBMC.RunScript(/storage/powerButton.py)</power> </remote> </global> </keymap> |
- Rearranca el equipo y cuando pulses el botón de Power (Apagado/Encendido) del mando remoto que a su vez ejecutará el script powerButton.py, que «dormirá» o «despertará» a Kodi, en vez de apagar el sistema operativo.
Nota: El consumo de energía (eléctrica) de una Raspberry donde KODI está durmiendo es mínimo.
Cliente OpenVPN
Si necesitas acceder desde un sitio remoto a tu instalación casera te recomiendo utilizar OpenVPN. Si es tu caso y tienes un servidor OpenVPN en un linux o similar puedes instalar un gestor de cliente OpenVPN que funciona muy bien en KODI, se trata de VPN Manager for OpenVPN
- Proyecto VPN Manager for OpenVPN en GitHub
- Wiki con instrucciones para realizar una instalación «personalizada»
Si conoces OpenVPN resumo el proceso:
- Descarga el fichero service.vpn.manager-X.X.X.zip del link anterior y prepara tu fichero micliente-openvpn.ovpn
- Envía ambos a la raspberry.
- Instala service.vpn.manager-X.X.X.zip desde Add-Ons->Instalar desde un archivo .zip
- Copia miclient-openvpn.ovpn a /storage/.kodi/userdata/addon_data/service.vpn.manager/UserDefined
- Nota. En mi caso uso un único fichero .ovpn que tiene dentro todo lo necesario (Si conoces OpenVPN sabes de qué hablo)
- Configura el AddOn:
- VPN Povider: User Defined
- El resto de parámetros los debes poner tú que conoces bin tu instalación de OpenVPN.
Parametrizar Openelec
Monitorizar
Durante la instalación y puesta en marcha me han venido bien una serie de herramientas, empiezo por la de monitorización. Para poder monitorizar la Raspberry recomiendo descargar el script bcmstat.sh desde aquí.
- Lanzar la monitorización: ./bcmstat.sh cgxd10
Mejorar el rendimiento
Lo que describo a continuación NO lo hago en la Raspberry PI 3.
- Overclocking en Raspberry Pi Model B+ 1.2 (versión 1)
Para modificar el overclocking conecta con tu raspberry (usa SSH, usuario root, password «openelec»). La configuración siguiente pone a «tope» la CPU cuando lo necesita, irá conmutando entre 700-1000 Mhz bajo demada. Una vez más, es MUY importante instalar al menos disipadores (y quizá necesites micro ventilador si la temperatura ambiente es alta).
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | bolica ~ $ ssh -l root rasp-dormitorio.parchis.org : TV-Dormitorio:~ # TV-Dormitorio:~ # mount -o remount,rw /flash TV-Dormitorio:~ # cd /flash TV-Dormitorio:/flash # nano config.txt : arm_freq=1000 core_freq=500 sdram_freq=500 over_voltage=6 force_turbo=0 ---------------------------<<< Salvamos con CTRL-O, CTRL-X y rearrancamos TV-Dormitorio:~ # reboot |
- Overclocking en Raspberry Pi 2 Model B v1.1 (versión 2)
En el caso de la Pi2 he decidido usar la opción «High» y sin turbo, de hecho el monitor «High» demuestra que pocas veces necesita subir los MHz.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | ~ $ ssh -l root rasp-dormitorio.parchis.org : TV-Dormitorio:~ # TV-Dormitorio:~ # mount -o remount,rw /flash TV-Dormitorio:~ # cd /flash TV-Dormitorio:/flash # nano config.txt : arm_freq=950 core_freq=450 sdram_freq=450 over_voltage=6 force_turbo=0 ---------------------------<<< Salvamos con CTRL-O, CTRL-X y rearrancamos TV-Dormitorio:~ # reboot |
NOTA: Recomiendo tener una fuente de alimentación de 5.25V y 2.5A o podrías ver un cuadrado de colores en la parte superior derecha avisando de bajo voltaje. Si estás seguro que tu fuente es la correcta siempre puedes quitarlo con avoid_warnings=(1 o 2) en /flash/config.txt.
El significado de esta opción es el siguiente: avoid_warnings=1 elimina el recuadro de colores que avisa de voltaje bajo. Por otro lado, avoid_warnings=2 además permite activar el turbo incluso en condiciones de bajo voltaje.
- Cambiar el swapping
Un script que cambia el swapping y alguna cosa más, lo bajo de internet y lo ejecuto. Dejo una copia de todas formas aquí:
1 2 3 | # wget http://www.nmacleod.com/public/oebuild/configrpi256.sh -P /storage && chmod +x /storage/configrpi256.sh |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 | : #!/bin/bash #Enable swap [ -f /storage/.config/swap.conf ] || cp /etc/swap.conf /storage/.config sed -i 's/SWAP_ENABLED="no"/SWAP_ENABLED="yes"/' /storage/.config/swap.conf #Increase swappiness [ -f /storage/.config/autostart.sh ] || echo "#!/bin/sh" > /storage/.config/autostart.sh if ! grep vm.swappiness /storage/.config/autostart.sh >/dev/null; then echo "sysctl -qw vm.swappiness=20" >>/storage/.config/autostart.sh fi #Set correct gpu_mem_256 mount -o remount,rw /flash [ -f /flash/config.txt ] || touch /flash/config.txt if ! grep "^[ ]*gpu_mem_256" /flash/config.txt >/dev/null; then echo "gpu_mem_256=112" >> /flash/config.txt else sed -i 's/gpu_mem_256.*/gpu_mem_256=112/' /flash/config.txt fi mount -o remount,ro /flash sync echo "Please reboot for changes to take effect" |
- Opciones avanzadas
Puedes parametrizar las opciones avanzadas en el fichero advancesettings.xml.
- Buffering
Si quieres «jugar» con el buffering puedes activar la opción que más te apetezca. Aquí tienes la documentación con ejempos.
- Otras opciones
Si buscas en internet encontrarás un montón de documentación para «mejorar» el rendimieto de tu raspberry, te recomiendo que eches un ojo porque puede beneficiarte. En mi caso no he tenido que hacer nada más diferente a lo anterior.
Backup y Clonar
Por último veamos cómo resuelvo el hacer un bakcup o clonado de la Raspberry. El caso de uso es simple: para evitar pérdidas de datos o simplemente para ahorrarte a configurar todo de nuevo cuando quieras instalar tu segunda Raspberry.
Clonar (backup) la Micro-SD hacia un «fichero imagen»
El siguiente proceso clona la Micro-SD, es deicr, hace una copia exacta y lo guarda en un fichero (que llamamos «imagen») en el disco duro de mi iMac. Uso la versión raw del device (notar la «r») en el nombre del dispositivo para que vaya más rápido (acceso a disco en modo raw en vez de en modo bloque), aún así hablamos de «minutos» para copiar una SD de 8GB (es un proceso lento).
- No te olvides: asegurate de comprobar cual es el nombre del disco identificado para tu Micro-SD, equivocarte aquí podría ser fatal, dado que el comando «dd» no pide permiso, simplemente ejecuta. En el ejemplos siguiente se detecta que se ha asignado disk3 a la Micro-SD al conectarla.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | : obelix:Desktop luis$ sudo df -h : /dev/disk3s1 803Mi 728Mi 75Mi 91% 0 0 100% /Volumes/RECOVERY /dev/disk3s5 158Mi 110Mi 48Mi 70% 0 0 100% /Volumes/SYSTEM obelix:Desktop luis$ sudo diskutil unmount /Volumes/RECOVERY/ Volume RECOVERY on disk3s1 unmounted obelix:Desktop luis$ sudo diskutil unmount /Volumes/SYSTEM/ Volume SYSTEM on disk3s5 unmounted obelix:Desktop luis$ sudo dd if=/dev/rdisk3 bs=1m | gzip > rasp-openelec-luispa.img.gz : (ESTE PROCESO PUEDE TARDAR VARIOS MINUTOS) : 7580+0 records in 7580+0 records out 7948206080 bytes transferred in 222.251993 secs (35762136 bytes/sec) : |
Clonar (restaurar) la imagen hacia una Micro-SD
El proceso contrario, cuando quieras crear una nueva Micro-SD con una copia exacta de la fuente (la original), simplemente clonas la imagen anterior hacia la Micro-SD.
No es necesario pero te recomiendo formatearla antes la Micro-SD destino con SDFormatter, usando formato rápido, así te aseguras que se reconoce bien en el sistema operativo. Una vez formateada el Mac la montará, por lo que podemos de nuevo comprobar qué nombre de «device» le ha sido asignado, a continuación ejecutamos el comando «dd» pero al revés. RECUERDA: FIJATE MUY BIEN porque «dd» no avisa y podrías cargarte tu disco principal si te equivocas.
- Clonamos desde la imagen a la Micro-SD
1 2 3 4 5 6 7 8 9 10 11 12 13 | : obelix:Desktop luis$ sudo df -h : /dev/disk3s1 7.2Gi 2.3Mi 7.2Gi 1% 0 0 100% /Volumes/NO NAME : obelix:Desktop luis$ gzip -dc rasp-openelec-luispa.img.gz | sudo dd of=/dev/rdisk3 bs=1m : (ESTE PROCESO PUEDE TARDAR VARIOS MINUTOS) : 0+121280 records in 0+121280 records out 7948206080 bytes transferred in 652.344831 secs (12184056 bytes/sec) : |
Durante el proceso de copia verás simplemente un cursor parpadeando durante varios minutos, una vez que termina mostrará el número de bytes escritos. A partir de aquí hacemos boot con la nueva tarjeta. Recomiendo cambiarle el nombre a este segundo sistema y además borrar la configuración de SSH para que no use los mismos certificados que el antiguo (el fuente desde el cual partimos)
- Cambia el nombre de tu nuevo media center, hay que hacerlo en dos sitios, puedes usar el mismo para ambos o que sean diferentes, mira un ejemplo
El primero «Nombre del Dispositivo» (en SISTEMA -> Ajustes -> Servicios ->General) es el que se usa para anunciar servicios como UPnP, web, control remoto, zeroconf o AirPlay.
El Segundo es el «Nombre del Sistema» (SISTEMA -> OpenELEC -> Sistema) y se trata del hostname de linux, así que será el que veamos por ejemplo anunciado con el servicio Samba (compartición de ficheros).
- Limpiamos la configuración SSH borrando los certificados y rearrancamos el equipo.
1 2 3 4 5 6 | : $ ssh -l root nuevo-sistema-raspberry : # rm -f /storage/.cache/ssh/ssh_host* # reboot : |
Al arrancar el daemon de ssh se regenerarán los certificados y la próxima vez que conectes observarás que ha cambiado el nombre del Host.
- No olvides de poner la licencia específica de MPEG-2 y/o VC1 para tu raspberry.
Capturar pantallazos
Si quieres hacer una captura de lo que estás viendo en pantalla (screenshot, screencapture) puedes usar el comando siguiente desde tu Raspberry. Dejará el resultado en el directorio /storage/screenshots y podrás enviarlo a tu ordenador vía scp por ejemplo.
1 2 | : # kodi-send --host=localhost --port=9777 --action="TakeScreenshot" |
Hola. Tengo una rpi2 con openelec 5.0.6, y mi mayor problema es que no consigo configurar correctamente el teclado para que salga y pueda escribir las ñ, acentos y otros caracteres españoles. Tengo conectada a la raspberry un teclado usb normal español.
¿Alguna idea? Gracias.
(*edito con más detalle*)… Con la nueva Pi2 probé openelec 5.0.1, pero no era perfecto… (microcortes, inestabilidad). Me pasé a probar OSMC con la versión Alpha (mejor, pero lo mismo, inestable) y recientemente con OSMC versión Release Candidate (mucho mejor pero con paradas esporádicas en la reproducción de video). Tengo pendiente Openelec 5.0.6, en cuanto me meta con esa versión veo lo del teclado…
Gracias. La opción de español en la configuración inicial está puesta. También en los ajustes tengo puesta la configuración «es». En los caracteres tengo la opción south europe (iso), aunque he probado otras y nada. Y el tipo de teclado el cp105. Ya no sé que más puedo cambiar para que pueda escribir eñes y tildes.
Voy a intentar probar hoy la 5.0.6 con Pi2. Si no es hoy, será pronto, tengo ganas de probarla, con la Pi2+OSMC no me va bien, ni siquiera la Release Candidate, se corta (congela la imagen y se para, un cambio de canal lo arregla). Lo dicho, en breve actualizo…
Gracias. Estaré atento a tu actualización del artículo con Openelec 5.0.6.
Hola Alberto, instalé la 5.0.6, el uso que doy a Openelec no requiere que escriba nada en él (lo controlo con el mando de la TV). Dime un ejemplo de dónde necesitas escribir caractéres de ese tipo para intentar reproducirlo y ver si veo algo…
Gracias Luis. Por ejemplo cuando añades una ruta de archivos a la colección. Te da la opción de escribir cómo se ha de llamar la carpeta. Si quiero llamar a una «Año 2014» no podría por no poder escribir la «ñ».
Efectivamente, yo tampoco puedo. Sí puedo añadir un directorio (al que accedo vía NFS) que se llame «Año 2015» y automáticamente lo titula igual, pero no puedo, dentro del editor del nombre del título, usar caracteres especiales…
Saludos,, muy buena la informacion!! tengo una duda… en la RPiv1 en open elec puedo ajustar la resolucion de pantalla aparte de DESKTOP en 1080*720p (muestra resoluciones de HD), en cambio en la version de openelec para la RPiv2 me muestra la resolucion como las del pc 1.27*768p 800*600p etc… como lo configuro para que me funcione en resolucion de HD 1080*720p?? tengo un monitor HD samsung que esta automaticamente configurado en DESKTOP a 1920*1080p con 60HZ.. gracias por tu ayuda.. necesito tener una configuracion relativa a 1080*720p (HD) ya que al correr los jueguitos de Retropie no me ocupa… Read more »
Hola. En todas las pruebas que he hecho siempre me ha permitido poner la resolución máxima soportada por el monitor, pero no añadir una no soportada. El cómo detecta qué soporta el monitor lo desconozco, pero creo que van por ahí los tiros. Si en tu caso no lista la que quieres la verdad no se cómo se hace, es un tema de XBMC/Kodi, busca en sus foros, igual hay alguna forma desde línea de comandos.
Buenas estado leyendo y tengo una duda haber si me podeis ayudar, tengo un nas synology y ahora me comprado una raspberry pi 2 para hacerme un media center y el problema que lo tengo todo conectado, formateo la SD hago la instalacion OSMC RC2 y de momento bien, busco la ubicacion de las peliculas en el nas con el directorio en la television en OSMC. Y me deja acceder a ella y ver las peliculas y series que tengo en el discoduro del nas, pero me aparece en forma de lista y no con su portada y sipnosis,etc… sabeis… Read more »
Te digo cómo hago en mi caso con «Confluence (skin)»: pulso tecla derecha y sale una opción donde puedes cambiar la forma en la que ves el listado de pelis: lista, lista grande, miniatura, flujo de póster, Fanart, etc… En el caso de OSMC no recuerdo cómo se hacia.
Muy interesante el tutorial. Lo tendré en cuenta para cuando monte mi mediacenter casero. Me queda una gran duda: ¿ahora mismo cual es mejor sitio para comprar la raspy2 y los accesorios? He mirado en rs-online y sale por 35€ pero luego habría que añadir, caja, alimentador de corriente, disipadores, etc etc. ¿Qué me recomiendas? Gracias.
Hola, pues la verdad que aunque llama mucho la atención el precio «base» de la Pi, en realidad hay que añadir todo lo que tu dices y se pone en aprox. el doble de lo que dices (depende del sitio supongo). Lo que sí te recomiendo es que la fuente sea buena, sobre todo si la vas a tener «siempre» encendida. Ah!, y que entrege los amperios que comento. Respecto al sitio, últimamente estoy comprando en pccomponentes.com, buen servicio post-venta cuando lo he necesitado y rápido el servicio de atención al cliente. Elegir el sitio supongo que va por gustos… Read more »
¡Gracias! He estado sacando unas cuentas comparando rs-online y pccomponentes y sale precio parecido.
La raspy 2 + caja + alimentador oficial Raspy me sale por unos 67€ + 4€ =73€
🙂
Buenas tardes alguien me podria ayudar a configurar mi rapberry pi2 para poder conectarlo via wifi a mi imac?
Gracias de antemano.
Hola Jesús, este no es un foro, sino apuntes técnicos, mejor busca en internet foros sobre la Pi.
Hola!
Recién instalé kodi en una Raspberry Pi2 B con Raspbian, todo bien, firmas y demás, a la hora de arrancar mediante la terminal. «kodi», se tilda la pantalla y se queda pensando…. ….alguna sugerencia para poder arrancar de otra forma?? gracias.
Luis excelente documentación.
A mi me funciona la Raspberry en mi red local perfectamente.
Estoy tratando de que me funciones llevandola a casa de un amigo utilizando Internet (DDNS y ports forwarding) sin exito (EPG si funciona los videos no).
¿te has planteado esta configuración o dispones de información?
Gracias de antemano por tu ayuda
No entiendo bien el problema. Solo presumo si será esto: desde otra ubicación (casa amigo) ejecutas con la Pi, pero consume (se conecta) fuentes remotas vía internet. Si es eso la verdad es que no (todavía) lo he probado ni tengo planes (quizá algún día me de por ahí), pero sí es perfecgtamente posible, lo único que tienes que pegarte es con el routing/NAT/firewall de forma adecuada. Si algún día lo hago lo documentaré (como todo para no olvidarme :-)), pero no prometo nada porque ando fatal de tiempo…
mira quiero saber si con el OSMC en un RBpi puedo reproducir video straming de un site
udp://@xxx.xxx.xxx.xxx:xxxx
no se si con algun addons puedo realizarlo.
Siempre que el stream te llegue yo creo que sí, pero no lo he probado.
Hola a todos, quiero que mi raspberry con SO openelec se reinicie cada cierto tiempo, cree un script en la siguiente ruta /storage/.config/shutdown.sh, y dentro de shutdown.sh coloqué shutdown -r +2 (que se reinicie luego de dos minutos) pero no pasa absolutamente nada. Mi pregunta es, dónde y como crear el script para que mi raspberry se reinicie sola
PD: la carpeta init.d no está dentro de los archivos es mejor crear la carpeta y dejar el script ahí?
Busca en los foros de openELEC sobre cómo hacerlo con crontab, investigaría por ahí.
Hola, estoy un poco desesperado, el problema es que de vez en cuando openelec borra algunas de las películas que tengo en mi disco duro formateado en Exfat, tengo desmarcado la opción de permitir borrado y renombrado de archivos y yo no le doy a nada porque son varias veces las que me ha pasado, ¿que puede ser? tengo la raspberry pi 1.
La verdad que no puedo decirte más que pruebes las últimas versiones siempre y que si puedes evoluciones a la Pi2, pero eso NO arreglará el problema.
Hola:
Tengo una Pi3 con OpenElec 6.0.3. Está configurada y todo me funciona bien, excepto Movistar TV. Me permite configurar un PVR de prueba y se ve la TV perfectamente. Pero el plugin de Movistar no se activa. He intentado con distintas versiones Jarvis, Isengard, Gothan, Helix. El resultado es el mismo: no se activa el PVR. ¿me puedes indicar cual es el correcto y cual puede ser la solución?
Dicho plugin te refieres a la sección «Movistar TV con Plugin»? si es así lo conozco poco. Sí lo instalé y probé pero volví a Tvheadend. http://www.luispa.com/?p=4571
Holaaa, has conseguido tener el pvr de imagenio y el Vu+ a la vez ??
Gracias
Sí, TVHClient + VU+ ambos a la vez, aunque hace tiempo que quité el de VU+ porque ya no lo uso (solo uso Movistar), durante una temporada tenía ambos. Está soportado, funciona, etc; pero… la gestión de la numeración de los canales no está muy lograda (en Kodi en aquel momento).