Aprovecha tu Raspberry Pi
Móntate un Media Center
con software Libre
Miguel Telleria de Esteban
[email protected]
Nota sobre los derechos de autor
Aprovecha tu Raspberry Pi
Este documento, Aprovecha tu Raspberry Pi con autoría de
Miguel Telleria está bajo licencia Creative-Commons
Reconocimiento Compartir – igual 3.0 (a).
(a) http://creativecommons.org/licenses/by-sa/3.0/legalcode
● Esto significa (groso-modo, detalles en http://creativecommons.org/licenses/by-sa/3.0/deed.es_ES )
●
Eres libre de:
– Compartir, copiar, distribuir y transmitir esta obra, entera o parcialmente
– Reorganizar, adaptar la obra (incluso para propósitos comerciales)
● Bajo las condiciones siguientes:
– Atribución: Debes dar reconocimiento o citación del autor original de la obra.
– Compartir bajo la misma licencia: Si altera o transforma esta obra o genera una obra derivada, sólo puede transmitir la
obra generada bajo una licencia igual o compatible con esta.
● Cualquiera de las condiciones anteriores pueden no aplicarse si se obtiene el permiso de los titulares de derechos
de autor.
● Si has recibido esta obra en formato PDF, el fichero original editable (en formato .odp) debería
estar disponible por la misma fuente donde se obtuvo. La URL web inicial se podrá encontrar en
http://mtelleria.com/ o en http://fablabsantander.org
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 2 de 44
Como me he planteado la charla
Aprovecha tu Raspberry Pi
Para los que no me conozcáis…
● Apasionado durante 14 años con el software
libre, a nivel personal y profesional.
● Participado en Linuca y asistido a
conferencias (FOSDEM, Debconf…).
● Actualmente en ITEISA como administrador
de sistemas “sysadmin”.
● Persona de software, manazas con
hardware.
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 4 de 44
Tenía unas Raspis en casa...
Aprovecha tu Raspberry Pi
….que languidecían desde hace unos años…
… me han llamado del Fablab para que hablase de Software
Libre…
¡¡¡ qué mejor momento rescatarlas y hacer una charla / taller !!!
Objetivo: Aprender y divertirse
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 5 de 44
Contenido
Aprovecha tu Raspberry Pi
● Single Board Computers (SBC)
● Raspberry Pi y sus GNU/Linux
● Media Center con OpenElec y Kodi
● Conclusiones
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 6 de 44
Single Board Computers (SBC)
De EEtimes
¿Qué es lo que entendemos por “placas
computadoras” (SBC)?
Aprovecha tu Raspberry Pi
Un único chip, SoC (System on Chip) aglutina toda un placa base.
Placa base de Pentium IV (Enigma Hw Gallery)
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 8 de 44
AllWinner A20 SoC
Procesadores ARM, SoC’s y SBC’s
Aprovecha tu Raspberry Pi
● Los chips se diseñan en base a lenguajes
HDL (Hardware Description Language)
● ARM vende código de HDL que se traduce
en partes de circuitos integrados.
● Esta parte del código se une a otros
componentes (GPU’s, controladores, memoria,
etc) para hacer el SoC
● El fabricante de la BSC fabrica la tarjeta
ensamblando el SoC con otros componentes
pasivos.
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 9 de 44
Estructura de una BSC
Aprovecha tu Raspberry Pi
SBC
SoC
Mem
ARM
GPU
Conn1
Conn2
Conn3
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 10 de 44
Generaciones y modelos de procesadores ARM
(A nivel orientativo)
Aprovecha tu Raspberry Pi
Generación Ej de ARM
Novedades
Ejemplo SoC
Ejemplo BSC
ARMv6
(2009)
ARMv7
(2011)
ARMv8
(2014)
ARM 1176JZF-S
Cortex A-8
Cortex A-53
- Cache
- SIMD
- Floating point
- Multicore
- big.LITTLE
- 64 bits
BCM 2835
Raspberry Pi B
AllWinner A-10 CubieBoard 1
BCM 2837
Raspberry Pi 3
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 11 de 44
Aprovecha tu Raspberry Pi
Características de las SBC’s
● Características hardware fijas
● SoC: No se puede añadir memoria, cambiar la tarjeta gráfica, etc.
● Se pueden acoplar extensiones hardware.
● Carácter de electrodoméstico
● On-Off rápido
● Bajo consumo eléctrico
● No se calientan
● No necesitan ventiladores
● No dejan de ser ordenadores complejos
● Requieren OS, almacenamiento, teclado, ratón, etc.
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 12 de 44
SBC’s (ej Raspberry) vs uControladores (Arduino)
● La SBC es un ordenador completo
Aprovecha tu Raspberry Pi
● Procesador uso general, protección de memoria, coma flotante.
● GPU gráfica, Red Internet, salida de vídeo, audio, teclado, ratón.
● Requiere de un sistema operativo, almacenamiento.
● Suelen tener “algo” de conectividad industrial (GPIO,SPI, I2C…).
● Su manejo consiste en integrar programas en sistemas.
● El microcontrolador (Arduino) es un dispositivo conectable
● Procesador sencillo para una tarea específica.
● Periféricos industriales: sensores, actuadores.
● Extensibilidad por software.
● Su manejo consiste en integrar librerías en programas.
● Ambos enfoques son complementarios.
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 13 de 44
SBC vs SmartPhone
● Ambos se basan en el concepto de SoC
Aprovecha tu Raspberry Pi
Raspberry Pi B (2013): ARMv6-7
700 Mhz, 512 Mb de RAM
Iphone 3 (2009): ARMv7a
a 600 Mhz
256 Mb de RAM
● Los Smartphones siempre van más adelantados y tienen un
software más integrado.
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 14 de 44
Muestra del mercado de SBC
Aprovecha tu Raspberry Pi
BeagleBoard: 100-150 $
ARMv7 dual+DSP
1 Gb de RAM
PandaBoard: 180$
ARMv7+DSP
1 Gb de RAM
Raspberry Pi 3: 35$
ARMv8 64 bits Quad-Core
1 Gb de RAM
Banana Pi: 66$
ARMv7 OctaCore
2 Gb de RAM
Cubieboard 5: 100$
ARMv7 OctaCore
2 Gb de RAM
Orange Pi 2+ 50$
ARMv7 Quad Core
2 Gb de RAM
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 15 de 44
Si tuviera que comprarme yo una...
Aprovecha tu Raspberry Pi
Banana Pi es más
amigable con el
Software Libre. Su GPU
está más estudiada.
Banana Pi
Raspberry Pi 3i
De los 80 – 100 euros no bajamos
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 16 de 44
Raspberry Pi y sus GNU/Linux
Familia Raspberry Pi
Aprovecha tu Raspberry Pi
Familia Comentarios
Pi 1
Obsoleta
+ = mejoras en
conectores.
La + vendida
Model
Pi A
Pi A+
Pi B
Pi B+
Salida
Feb 2013
Nov 2014
Jun 2012
Pi 2
Feb 2015
Pi 3
Feb 2016
Compute
Module
Pi Zero
Abr 2014
Nov 2015
Características
ARMv6 + coprocesador
256 Mb de RAM
SoC BCM2834
ARMv6 + coprocesador
512 Mb de RAM
SoC BCM2835
ARMv7, Quad-Core
1 Gb de RAM
SoC BCM2836
ARMv8, 64 bits Quad-Core
1 Gb de RAM
SoC BCM2837
ARMv6 + coprocesador
512 Mb de RAM
ARMv6 + coprocesador
Pi 1
Pi 2
Pi 3
Pi 1
Pi 1
Para ser conectarse
como PCI
Minimo tamaña
regalado con revista
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 18 de 44
0
.
2
B
S
U
x
2
s
'
D
E
L
s
u
t
a
t
S
s
p
b
M
0
0
1
0
1
/
t
e
n
r
e
h
E
t
+
B
S
U
x
4
t
e
n
r
e
h
t
E
r
e
l
l
o
r
t
n
o
c
4
1
5
9
N
A
L
U
P
G
/
U
P
C
m
o
c
d
a
o
r
B
5
3
8
2
M
C
B
M
A
R
D
S
B
M
2
1
5
i
P
y
r
r
e
b
p
s
a
R
2
1
.
1
1
0
2
)
c
(
V
3
3
.
l
r
o
t
a
u
g
e
r
V
8
1
.
l
r
o
t
a
u
g
e
r
k
c
a
l
j
s
e
o
p
3
A
C
R
t
u
o
m
m
5
.
3
o
i
d
u
a
o
e
r
e
t
S
e
t
i
s
o
p
m
o
C
t
u
o
o
e
d
i
V
T
R
A
U
,
I
P
S
,
C
2
I
,
I
O
P
G
x
1
2
:
s
n
p
4
3
i
Aprovecha tu Raspberry Pi
Raspberry Pi B
● SoC BCM2835
t
u
o
I
M
D
H
● GPU VideoCore IV 250 Mhz
● ARM 1176JZF-S armv6 a 700 MHz
● 512 Mb de RAM compartida
● Output HDMI varias resoluciones
● Output video RCA
● 2 puertos USB
● Ethernet
● Video input MPI
● Audio Jack de salida
● Slot para SD
● GPIO: UART, SPI, i2s
● Alimentación de smartphone 5 V
1
1
r
e
w
o
P
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 19 de 44
Aprovecha tu Raspberry Pi
Proceso de arranque de la Raspberry Pi
● Primero la ROM activa la GPU VideoCore IV
● El procesador ARM está parado en modo reset
● La GPU busca en la SD la primera etapa: bootcode.bin
● Espera un particionamiento tipo MSDOS y una partición FAT16 o FAT32
● El código de bootcode.bin es privativo. No sabemos lo que hace exactamente.
● Este código mira y ajusta los parámetros del fichero config.txt (licencia de
Codecs, reparto de memoria, resoluciónes de vídeo de salida…).
● Posteriormente la GPU busca el código start.elf
● Se despierta el ARM
● Se le entrega el kernel de Linux (por defecto kernel.img) y el initrd inicial si
existe. A este kernel se le pueden pasar opciones extras en cmdline.txt
● Este código también es privativo. No sabemos lo que hace exactamente.
● Linux arranca con su RAM disk inicial (initrd), partición raiz, init, etc.
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 20 de 44
Aprovecha tu Raspberry Pi
Codecs de pago en la Raspberry Pi
● La GPU no está habilitada de serie para MPEG2 y VC1.
● Razones oscuras de acuerdos con MPEG-LA (autoridad de MPEG).
● Se usan en los DVD y flujos de TDT entre otros.
● Precio (una vez): ~3,5 Euros a la tienda raspberrypi.com para usarlos.
● La tienda de raspberrypi.com pide el número de serie.
$ cat /proc/cpuinfo
[...]
Serial
: 00000000fed21cb2
● En un plazo de 72 horas envían por email las siguientes líneas
a añadir a config.txt
decode_MPG2=0xc4f0f1b7
decode_WVC1=0x92df5ada
Espacio Espiral 17 Abril 2015
Miguel Tellería de Esteban
Página 21 de 44
Software disponible para Raspberry Pi
● Raspberry Pi 1
● Cualquier distribución de GNU/Linux para ARMv6
● Distribuciones ARMv6+coma flotante, derivadas de las generales:
Aprovecha tu Raspberry Pi
– Genéricas: Raspbian, Pidora, PyArch, Xbian…
– Propósito específico: OpenElec, OSMC, RetroPie
– BSD: FreeBSD, NetBSD
– RiscOS
– Android 2.3
● Raspberry Pi 2, Pi 3:
todas las distribuciones anteriores
Comentarios de: Aprovecha tu Raspberry Pi (0)
No hay comentarios