logo raspberry pi

Guía de Raspberry Pi 2 y Raspberry Pi 3

cc

Esta guía de Raspberry Pi 2 y Raspberry Pi 3 y las imágenes con marca de agua están bajo una licencia de Creative Commons Reconocimiento-NoComercial-CompartirIgual 3.0 Unported.

Alejandro Cobo López (cc) 2013 – 2016


Rev 2.0 (20151127)

correo dplinux

Esta guía es válida para todos los modelos de Raspberry Pi 2 y Raspberry Pi 3. Para localizar ciertos términos, puedes usar la función de búsqueda de tu navegador (normalmente ctrl+f)

NUEVO: Ahora puedes preguntar tus dudas y dejar tus comentarios en nuestro foro.

Índice de contenido

1. Hardware

1.1. Componentes de Raspberry Pi

1.1.1. SoC

1.1.2. Tarjeta de red

1.1.3. Conexiones

1.2. ¿Qué necesitamos?

2. Conceptos previos

2.1. Cuestiones básicas

2.5.1. Consola y comandos de interés

2.5.2. Redirección de puertos en el router

2.2. Editor de textos

2.3. Instalar programas

2.4. Iniciar el servidor gráfico

2.5. Dejar iniciada una sesión SSH con ‘screen’

2.6. Actualizar firmware y software

3. Instalación y configuración de Raspberry Pi

3.1. Instalación del sistema operativo

3.1.1. Desde Windows

3.1.2. Desde Linux

3.2. Configuración del hardware de Raspberry Pi

3.2.1. Salida HDMI

3.2.2. Conexión de pantalla con entrada VGA

3.2.3. Salida de video analógico

3.2.4. Salida de audio

3.2.5. Configuración de la memoria

3.2.6. Overclocking

3.2.7. Desactivar limitación de la corriente del bus USB

3.2.8. Cámara

3.3. Configuración de Raspbian

3.3.1. Expand Filesystem (usar toda la tarjeta SD)

3.3.2. Internationalisation options (opciones de idioma)

3.3.3. Change password for ‘pi’ user (cambiar contraseña)

3.3.4. Configurar la pila TCP/IP manualmente

4. Raspberry Pi como ordenador de escritorio

4.1. Instalación y configuración de Ubuntu Mate

4.2. Suite ofimática (LibreOffice)

4.3. Navegación web (Firefox)

4.4. Visualizar videos HD

4.5. Edición de fotografías (GIMP)

5. Virtualización de una máquina x86 con QEMU

5.1. MS-DOS 6.22 y Windows 3.11

5.2. Windows 98

5.3. Windows XP

6. Virtualización de una máquina x86 con Exagear

6.1. Instalación y configuración de Exagear

6.2. Bancos de pruebas

6.3. Steam y Counter Strike

6.4. Age of Empires 2 y StarCraft

6.5. Microsoft Office

7. Entornos de escritorio

7.1. KDE 4

7.2. Plasma 5

7.3. Gnome

7.4. Cinnamon

7.5. Mate

7.6. Maynard (Wayland)

7.7. Otros entornos de escritorio

8. Sistemas operativos para Raspberry Pi

8.1. Pidora

8.2. OpenSUSE

8.3. Kali Linux

8.4. Otras distribuciones

9. Raspberry Pi como HTPC

9.1. OSMC (ex RaspBMC)

9.2. OpenELEC

10. Raspberry Pi como servidor

10.1. Servidor web

10.2. Servidor ftp

10.3. Almacenamiento en la nube

11. Raspberry Pi como servidor de descargas

11.1. Redes ED2K y Kademlia

11.2. Red Bittorrent

12. Raspberry Pi como placa de prototipos electrónicos

12.1. Control mediante la consola

12.2. Control mediante web

13. Control remoto de Raspberry Pi desde SSH

13.1. Consola desde SSH

13.2. Ejecución remota de programas gráficos

13.3. Gestión remota de archivos

14. ¿Qué más puedo hacer con Raspberry Pi?

15. Referencias


1. Hardware

raspberry pi 1 vs 2
Raspberry Pi modelo B (izquierda) y Raspberry Pi 2 (derecha)
raspberry pi 1 vs 2 conectores
Conectores USB y red en Raspberry Pi 1 vs Raspberry Pi 2

1.1. De qué está hecha la Raspberry Pi

Un SoC (system on chip) es un integrado que incorpora todos los componentes del sistema. En el caso de la Raspberry Pi modelo B, lleva un Broadcom BCM2835 que incluye: el procesador (ARM1176JZF-S), la tarjeta gráfica con aceleración gráfica 3D y de video en alta definición, 512 Mb de RAM, tarjeta de sonido estéreo y bus USB.

La Raspberry Pi 2 tiene una configuración similar, duplicando la memoria RAM y cuadriplicando el número de núcleos del procesador. Por otra parte, la frecuencia de funcionamiento de la CPU ha aumentado de 700MHz a 900Mhz

Además tenemos a nuestra disposición un conector RJ-45 conectado a un integrado lan9512 -jzx de SMSC que nos proporciona conectividad a 10/100 Mbps además de buses USB 2.0. La red será fundamental para instalar programas y gestionar la placa remotamente como veremos a continuación.

En cuanto a la conexiones, disponemos de:
· Dos/cuatro buses USB (Rpi1/Rpi2).
· Puerto ethernet RJ-45.
· Salida analógica de audio estereo por jack de 3.5 mm.
· Salida digital de video + audio HDMI.
· Salida analógica de video compuesto.
· Pines de entrada y salida de propósito general.

1.2. ¿Qué necesitamos?

Raspberry Pi se anuncia como una placa económica de tan solo 40€. Pero para dejarla en funcionamiento no solo hace falta la placa sino también una serie de accesorios que no van incluidos en el precio de la misma.

En total para tener lo más básico funcionando, necesitamos lo siguiente:
· Placa Raspberry Pi/Raspberry Pi 2
· Tarjeta SD (Rpi 1) o microSD (Rpi 2) de al menos 4 Gb.
· Adaptador de alimentación USB que ofrezca al menos 1A. Es muy recomendable que sea capaz de ofrecer 2A. Si se va a conectar un disco duro externo de 2.5″ (alimentado por USB), la corriente disponible deberá ser de 3A. Es importante que no racanees con la alimentación: una fuente insuficiente producirá corrupción de datos e incluso podrá dejar inutilizable la tarjeta SD.
· Cable micro-USB para conexión de alimentación.

Para instalar el sistema operativo además necesitamos:
· Ordenador.
· Lector de tarjetas SD.

Para poder conectar dispositivos USB (discos duros, teclado, ratón) y nos quedamos cortos de conectores, deberemos tener:
· Hub USB. Si tenemos una fuente justa, es recomendable que el hub esté autoalimentado incluso si se van a conectar periféricos de poco consumo como un teclado y un ratón.

Para poder conectar la placa a una pantalla hace falta:
· Cable HDMI o bien adaptador activo de HDMI a VGA. Un adaptador activo es aquel que incluye electrónica de acondicionamiento que convierte la señal digital HDMI a una señal analógica VGA. Un convertidor pasivo (como el que se incluyen en muchas tarjetas gráficas) no funcionará porque a diferencia de ciertas tarjetas gráficas, la salida HDMI de Raspberry Pi tan solo ofrece una señal digital sin componente analógica.

2. Conceptos previos

Esta sección sólo servirá como consulta para realizar alguno de los pasos que vienen más adelante. Es recomendable echarle un vistazo rápido antes de ir a la sección que te interese ya que es posible que se haga referencia a algún concepto explicado aquí.

2.1. Cuestiones básicas

2.1.1. Consola y comandos de interés

Es un espacio donde se envían órdenes al sistema. Estas órdenes pueden ser de cualquier tipo: desde crear una carpeta hasta ejecutar un programa pasando por reiniciar o apagar el sistema. Si la consola es remonta (SSH), se pueden enviar órdenes a una máquina sin necesidad de estar físicamente delante de ella.

Las órdenes que te pueden resultar útiles en la consola son:

· ls -> lista de archivos y carpetas en el directorio actual
· cd carpeta -> acceder a carpeta
· cd .. -> bajar de directorio
· mkdir -> crear directorio
· rm archivo -> borrar archivo
· rm -rf directorio -> borrar directorio
· df -h -> Espacio libre disponible en los distintos dispositivos de almacenamiento
· uname -a -> Versión e información del sistema
· sudo -> Ejecución de comando como super usuario (root)
· reboot -> Reiniciar el sistema
· halt -> Apagar el sistema

Para conocer más comandos, puedes echarle un vistazo a nuestra lista de comandos para Linux.

2.1.2. Redirección de puertos en el router

Si queremos poder acceder a los servicios que Raspberry Pi está ejecutando desde Internet (un ordenador conectado a Internet fuera de la red local en la que está conectada la Raspi), es necesario redireccionar los puertos del router. En Internet existen multitud de guías explicativas para casi todos los modelos de router. Los puertos de interés, sin los cuales no puede acceder a sus servicios son:

· SSH: 22
· HTTP (web): 80
· FTP: 21
· Cliente remoto de aMule: 4712
·Cliente remoto de Transmission: 9091

2.2. Editor de textos

En Raspbian resulta imprescindible realizar configuraciones de sus distintos programas. Unas veces existen configuradores como rasp-config, pero otras es necesario editar un archivo de texto donde se almacenan los valores de los distintos parámetros de turno.

Para editar textos se va a emplear un programa llamado ‘nano’. Un editor de texto es necesario para modificar los archivos de configuración donde se almacenan los parámetros de configuración más elementales del sistema como la resolución de la pantalla, la configuración de la red, etc.

Para abrir un archivo de texto escribimos

sudo nano /ruta/nombredelarchivo

Para movernos por el texto usamos los cursores. Podemos borrar y escribir donde y como quedamos.

Para guardar las modificaciones se pulsa ctrl+o y luego intro. Para salir se pulsa ctrl+x. En general el uso es similar al de cualquier editor de texto gráfico.

2.3. Instalar programas

Raspbian está basada en Debian, una de las distribuciones de Linux más completas que existen. Gracias a ello, encontraremos la mayoría de los programas empaquetados en los repositorios oficiales.

Si quieres saber lo que es un repositorio, un paquete y quieres aprender algo más sobre los conceptos básicos de Linux, puedes echarle una ojeada a la guía para migrar de Windows a Linux donde explicamos estos conceptos para que sean comprendido con una mentalidad Windows.

Antes de empezar a usar el gestor de paquetes de Raspbian, hay que actualizar la base de datos de paquetes tecleando esto:

sudo apt-get update

Con este comando, el gestor de paquetes se pone en contacto con las réplicas (mirrors) de donde descarga metainformación de los paquetes. Una vez actualizada la base de datos, el sistema dispondrá de toda la información necesaria para instalar los paquetes deseados en su última versión disponible junto a sus dependencias.

Para instalar un programa en Raspbian, Ubuntu o cualquier otra distribución basada en Debian tan solo tenemos que escribir en consola esto:

sudo apt-get install nombredelprograma

En ‘nombredelprograma’ deberá ir el nombre del paquete que queremos instalar (por ejemplo qemu).

Si queremos instalar programas desde un entorno gráfico, tendremos que recurrir a la Pi Store. En el escritorio tenemos un acceso directo. Es necesario el registro (gratuito) y resulta realmente fácil de usar.

2.4. Iniciar el servidor gráfico

Esta sección sólo tiene sentido si usas versiones antiguas de Raspbian o si por alguna razón has deshabilitado el inicio automático del servidor gráfico. Raspbian basada en Jessie inicia el servidor gráfico automáticamente en el arranque. Para saber qué otros cambios vienen con Raspbian Jessie, puedes visitar esta entrada que dedicamos a Debian Jessie.

El entorno de escritorio que viene por defecto en Raspbian Jessie es Openbox, un gestor de ventanas ligero que resulta apropiado dada la limitada potencia de la placa. Si quieres saber qué es un entorno de escritorio o te interesa descubrir cuáles existen, sus características, funciones, aspecto físico, etc, puedes visitar nuestra lista de entornos de escritorio. La mayoría de ellos se pueden instalar de forma sencilla en Raspbian.

Para iniciar el servidor gráfico, teclea en consola:

startx
escritorio raspbian
Escritorio de Raspbian Jessie con Openbox

2.5. Dejar iniciada una sesión SSH con ‘screen’

Cuando accedemos al sistema mediante SSH, se abre una sesión en la que podemos hacer casi cualquier cosa. Cuando cerramos la sesión SSH en el cliente, también se cierra en Raspbian y eso significa que si había un programa en ejecución, no podremos volver a acceder a él. Eso se manifiesta en forma de que al abrir una nueva sesión de SSH aparecerá la consola en blanco, como si no hubiéramos ejecutado ningún programa aun cuando podría haber programas ejecutándose de sesiones anteriores.

Para poder cerrar el cliente de SSH y poder reconectarnos a una sesión anterior, se usa una utilidad llamada ‘screen’. Para instalarla tenemos que poner en consola:

sudo apt-get install screen

En unos segundos estará instalada. Para crear una sesión que no se cierre al cerrar el terminal cliente de SSH tecleamos:

screen bash

Entonces podemos usar la consola con normalidad. Si cerramos el cliente de SSH y volvemos a acceder a nuestra Raspberry Pi, vemos que aparece una consola en blanco. Pero no te asustes porque screen está haciendo su trabajo en segundo plano. Podemos regresar a la sesión ya iniciada con anterioridad tecleando:

screen -r

Si resulta que tenemos varias sesiones iniciadas simultáneamente, podemos ver la lista escribiendo:

screen -list
screen en raspberry pi
Sesiones abiertas con ‘screen’

Tener varias sesiones simultaneas puede resultar interesante si queremos ejecutar múltiples scripts o programas que deban mantenerse en funcionamiento.

Para conectarnos, por ejemplo a la primera sesión de la imagen, escribimos:

screen -r 8006.pts-0.raspberrypi

Y vemos cómo la consola permanece tal y como la dejamos la última vez que accedimos a ella.

2.6. Actualizar firmware y software

Existen dos grandes componentes de software en la mayoría de sistemas operativos para Raspberry Pi:
· El firmware que es el núcleo del sistema que se encarga de comunicar a los programas con el hardware.
· Software: consistente en todos los programas instalados.

La actualización del firmware traerá mejoras de rendimiento, compatibilidad y estabilidad. Para su actualización ejecutamos lo siguiente en consola:

sudo apt-get install ca-certificates git-core binutils
sudo wget https://raw.github.com/Hexxeh/rpi-update/master/rpi-update
sudo cp rpi-update /usr/local/bin/rpi-update
sudo chmod +x /usr/local/bin/rpi-update
sudo rpi-update

Después de esto habrá que reiniciar. Una vez seguidos todos estos pasos, la próxima vez que queramos actualizar el firmware tan solo habrá que ejecutar la última instrucción.

La actualización del software traen consigo el arreglo de fallos, nuevas características y, a veces, mejoras del rendimiento. Para actualizar tan solo hay que escribir en consola:

sudo apt-get update
sudo apt-get upgrade

Cuando termine, reiniciamos bien desde el entorno gráfico o bien desde la consola con:

sudo apt-get upgrade

3. Instalación y configuración de Raspberry Pi

3.1. Instalación del sistema operativo

Para la instalación del sistema operativo a la tarjeta SD de nuestra Raspberry Pi se puede usar Windows o Linux. Para este ejemplo se va a usar Raspbian, una de las distribuciones más extendidas y con mejor soporte. No se va a tratar de una instalación al uso, sino que se va a introducir una imagen de Raspbian preinstalado en la tarjeta de memoria. Una instalación convencional puede llevar más de 10 horas si queremos disponer de un entorno de escritorio, por lo que no se usará este método.

Primero nos vamos a la web de descargas de Raspberry Pi y descargamos una imagen del sistema operativo.

raspbian descarga 2015
Ediciones de Raspbian basadas en Jessie y Wheezy

En el momento de la redacción de esta guía había dos ediciones: Jessie y Wheezy. Jessie es la última versión estable de Debian y es la edición recomendada. Wheezy sólo es recomendable si tienes que ejecutar software legacy o quieres acceder a alguna versión antigua de algún paquete que no esté disponible en Jessie. Si quieres saber más sobre Debian Jessie y los cambios que trae con respecto a Wheezy, puedes echarle un vistazo a la entrada que le dedicamos.

El archivo pesa en torno a 1.2Gb. Una vez descargado, extraemos su contenido (un archivo .img) a cualquier carpeta.

3.1.1. Desde Windows

raspbian
Imágenes descomprimidas en Windows

Ahora nos descargamos Win32 Disk Imager, una utilidad que nos permitirá meter la imagen de Raspbian en nuestra tarjeta SD. Cuando hayamos instalado el programa, lo abrimos, introducimos nuestra tarjeta SD en el lector de tarjetas del ordenador, seleccionamos la imagen que hemos extraído anteriormente y hacemos clic en “Write”.

winimager
Escribiendo imagen a tarjeta SD con Win32 Disk Imager

Una vez copiada la imagen, introducimos la tarjeta SD en nuestra Raspberry.

Rasbperry Pi reverso
Raspberry Pi modelo B con tarjeta SD

Y ya podemos conectarla.

3.1.2. Desde Linux

Podemos usar cualquier herramienta gráfica como Flash Image Writer o ImageWriter de Ubuntu. En este caso se va a usar la herramienta ‘dd’ disponible en todas las distribuciones Linux.

Antes de nada hay que extraer la imagen del archivo que nos hemos descargado:

raspbian linux
Imagen de Raspbian para su instalación desde Linux

Para pasar la imagen a una tarjeta SD, primero tenemos que localizar la tarjeta SD con este comando (como root):

fdisk -l

Es fundamental que no nos equivoquemos. Si introducimos una ruta de la unidad equivocada y esa ruta corresponde a una unidad de almacenamiento, esta se borrará por completo. La linea que debemos escribir es:

dd if=/dev/sdX of=/ruta/raspbian.img

La ‘X’ la debemos cambiar por la letra de nuestra tarjeta SD.

3.2. Configuración del hardware de Raspberry Pi

Para realizar las la mayoría de las configuraciones del hardware, se va a recurrir al archivo ‘config.txt’.

sudo nano /boot/config.txt

Ese archivo, dependiendo de la distribución que estemos usando, podrá tener un contenido u otro. Puede incluso estar completamente vacío. Sea cual sea el caso, podemos aplicar las distintas configuraciones buscando si el parámetro está en uso y escribiendo su valor. Si el parámetro no está en uso, lo escribimos al final del archivo.

Si el parámetro está precedido por almohadilla (#) significa que está comentado y se ignora lo que hay en esa linea (como si no estuviera escrito). En ese caso tenemos posibilidad de, o bien quitar la almohadilla y modificar su valor o bien volverlo a escribir sin almohadilla.

En la imagen vemos recuadrados dos parámetros comentados. Si les quitamos el comentario (#), se activarán los parámetros ‘hdmi_group’ y ‘hdmi_mode’ ambos con un valor ‘1’.

configuración hdmi raspberry pi
Parámetro comentado hdmi_group con valor 1 y parámetro comentado hdmi_mode con valor 1

Podemos ver un ejemplo práctico en el apartado 3.2.1. Configuración de la salida HDMI.

Si cuando está todo conectado, no tenemos video (no aparece nada en la pantalla), deberemos seguir estos pasos:

· Cuando enciendas la Raspberry Pi y el led rojo se ilumine, mantén pulsada la tecla shift hasta que el led verde deje de parpadear.

· Si sigues sin ver nada en la pantalla, prueba pulsando las teclas 1, 2, 3 o 4 una a una. Cada número representa un modo de video: el 1 es la salida HDMI normal, el 2 es la salida HDMI en modo seguro, el 3 es la salida analógica (video compuesto) en modo PAL y el 4 es la salida analógica en modo NTSC.

3.2.1. Configuración de la salida HDMI

Es posible que la resolución que nos ofrece de primeras Raspbian no sea la nativa de nuestro monitor o televisión. Para cambiar la resolución de la salida HDMI de Raspberry Pi, tenemos que editar el archivo config.txt. Escribimos en consola esto:

sudo nano /boot/config.txt

Buscamos la linea donde viene esto:

configuración hdmi raspberry pi
Configuración de la salida HDMI

Y quitamos las almohadillas (#) de ambas lineas. Guardamos, cerramos el editor y reiniciamos escribiendo

sudo reboot

Con esto se habrá configurado con la resolución más compatible (VGA) pero seguramente sea insuficiente para la mayoría de las operaciones. Para aumentar la resolución podemos usar los distintos códigos para hdmi_mode que vemos a continuación.

Con hdmi_group=1 tenemos las resoluciones normalizadas principalmente para televisiones y con hdmi_group=2 tenemos estas resoluciones normalizadas para pantallas de ordenador:

hdmi_group=1 hdmi_group=2
hdmi_mode=1 VGA
hdmi_mode=2 480p 60Hz
hdmi_mode=3 480p 60Hz
hdmi_mode=4 720p 60Hz
hdmi_mode=5 1080i 60Hz
hdmi_mode=6 480i 60Hz
hdmi_mode=7 480i 60Hz
hdmi_mode=8 240p 60Hz
hdmi_mode=9 240p 60Hz
hdmi_mode=10 480i 60Hz
hdmi_mode=11 480i 60Hz
hdmi_mode=12 240p 60Hz
hdmi_mode=13 240p 60Hz
hdmi_mode=14 480p 60Hz
hdmi_mode=15 480p 60Hz
hdmi_mode=16 1080p 60Hz
hdmi_mode=17 576p 50Hz
hdmi_mode=18 576p 50Hz
hdmi_mode=19 720p 50Hz
hdmi_mode=20 1080i 50Hz
hdmi_mode=21 576i 50Hz
hdmi_mode=22 576i 50Hz
hdmi_mode=23 288p 50Hz
hdmi_mode=24 288p 50Hz
hdmi_mode=25 576i 50Hz
hdmi_mode=26 576i 50Hz
hdmi_mode=27 288p 50Hz
hdmi_mode=28 288p 50Hz
hdmi_mode=29 576p 50Hz
hdmi_mode=30 576p 50Hz
hdmi_mode=31 1080p 50Hz
hdmi_mode=32 1080p 24Hz
hdmi_mode=33 1080p 25Hz
hdmi_mode=34 1080p 30Hz
hdmi_mode=35 480p 60Hz
hdmi_mode=36 480p 60Hz
hdmi_mode=37 576p 50Hz
hdmi_mode=38 576p 50Hz
hdmi_mode=39 1080i 50Hz
hdmi_mode=40 1080i 100Hz
hdmi_mode=41 720p 100Hz
hdmi_mode=42 576p 100Hz
hdmi_mode=43 576p 100Hz
hdmi_mode=44 576i 100Hz
hdmi_mode=45 576i 100Hz
hdmi_mode=46 1080i 120Hz
hdmi_mode=47 720p 120Hz
hdmi_mode=48 480p 120Hz
hdmi_mode=49 480p 120Hz
hdmi_mode=50 480i 120Hz
hdmi_mode=51 480i 120Hz
hdmi_mode=52 576p 200Hz
hdmi_mode=53 576p 200Hz
hdmi_mode=54 576i 200Hz
hdmi_mode=55 576i 200Hz
hdmi_mode=56 480p 240Hz
hdmi_mode=57 480p 240Hz
hdmi_mode=58 480i 240Hz
hdmi_mode=59 480i 240Hz
hdmi_mode=1 640×350 85 Hz
hdmi_mode=2 640×400 85 Hz
hdmi_mode=3 720×400 85 Hz
hdmi_mode=4 640×480 60 Hz
hdmi_mode=5 640×480 72 Hz
hdmi_mode=6 640×480 75 Hz
hdmi_mode=7 640×480 85 Hz
hdmi_mode=8 800×600 56 Hz
hdmi_mode=9 800×600 60 Hz
hdmi_mode=10 800×600 72 Hz
hdmi_mode=11 800×600 75 Hz
hdmi_mode=12 800×600 85 Hz
hdmi_mode=13 800×600 120 Hz
hdmi_mode=14 848×480 60 Hz
hdmi_mode=15 1024×768 43 Hz
hdmi_mode=16 1024×768 60 Hz
hdmi_mode=17 1024×768 70 Hz
hdmi_mode=18 1024×768 75 Hz
hdmi_mode=19 1024×768 85 Hz
hdmi_mode=20 1024×768 120 Hz
hdmi_mode=21 1152×864 75 Hz
hdmi_mode=22 1280×768
hdmi_mode=23 1280×768 60 Hz
hdmi_mode=24 1280×768 75 Hz
hdmi_mode=25 1280×768 85 Hz
hdmi_mode=26 1280×768 120 Hz
hdmi_mode=27 1280×800
hdmi_mode=28 1280×800 60 Hz
hdmi_mode=29 1280×800 75 Hz
hdmi_mode=30 1280×800 85 Hz
hdmi_mode=31 1280×800 120 Hz
hdmi_mode=32 1280×960 60 Hz
hdmi_mode=33 1280×960 85 Hz
hdmi_mode=34 1280×960 120 Hz
hdmi_mode=35 1280×1024 60 Hz
hdmi_mode=36 1280×1024 75 Hz
hdmi_mode=37 1280×1024 85 Hz
hdmi_mode=38 1280×1024 120 Hz
hdmi_mode=39 1360×768 60 Hz
hdmi_mode=40 1360×768 120 Hz
hdmi_mode=41 1400×1050
hdmi_mode=42 1400×1050 60 Hz
hdmi_mode=43 1400×1050 75 Hz
hdmi_mode=44 1400×1050 85 Hz
hdmi_mode=45 1400×1050 120 Hz
hdmi_mode=46 1440×900
hdmi_mode=47 1440×900 60 Hz
hdmi_mode=48 1440×900 75 Hz
hdmi_mode=49 1440×900 85 Hz
hdmi_mode=50 1440×900 120 Hz
hdmi_mode=51 1600×1200 60 Hz
hdmi_mode=52 1600×1200 65 Hz
hdmi_mode=53 1600×1200 70 Hz
hdmi_mode=54 1600×1200 75 Hz
hdmi_mode=55 1600×1200 85 Hz
hdmi_mode=56 1600×1200 120 Hz
hdmi_mode=57 1680×1050
hdmi_mode=58 1680×1050 60 Hz
hdmi_mode=59 1680×1050 75 Hz
hdmi_mode=60 1680×1050 85 Hz
hdmi_mode=61 1680×1050 120 Hz
hdmi_mode=62 1792×1344 60 Hz
hdmi_mode=63 1792×1344 75 Hz
hdmi_mode=64 1792×1344 120 Hz
hdmi_mode=65 1856×1392 60 Hz
hdmi_mode=66 1856×1392 75 Hz
hdmi_mode=67 1856×1392 120 Hz
hdmi_mode=68 1920×1200
hdmi_mode=69 1920×1200 60 Hz
hdmi_mode=70 1920×1200 75 Hz
hdmi_mode=71 1920×1200 85 Hz
hdmi_mode=72 1920×1200 120 Hz
hdmi_mode=73 1920×1440 60 Hz
hdmi_mode=74 1920×1440 75 Hz
hdmi_mode=75 1920×1440 120 Hz
hdmi_mode=76 2560×1600
hdmi_mode=77 2560×1600 60 Hz
hdmi_mode=78 2560×1600 75 Hz
hdmi_mode=79 2560×1600 85 Hz
hdmi_mode=80 2560×1600 120 Hz
hdmi_mode=81 1366×768 60 Hz
hdmi_mode=82 1080p 60 Hz
hdmi_mode=83 1600×900
hdmi_mode=84 2048×1152
hdmi_mode=85 720p 60 Hz
hdmi_mode=86 1366×768

Recuerda no elegir una resolución ni frecuencia de refresco superior a la soportada por tu pantalla. De lo contrario no aparecerá imagen.

Si queremos que se ignore la señal de conexión en caliente (cuando se conecta la salida HDMI una vez que la placa está encendida), se usa el parámetro “hdmi_hotplug”. Con valor 0 de desactiva y funciona con normalidad. Se si usa el parámetro 1 se habilitará la salida de video analógica incluso si se ha detectado una pantalla conectada a HDMI.

Si por el contrario queremos que se active la salida HDMI incluso cuando no hay una pantalla conectada, se usa el parámetro “hdmi_force_hotplug“. Con valor 0 de desactiva y con valor 1 se activa la salida HDMI haya o no haya una pantalla conectada.

Para conectar una pantalla DVI usando un adaptador HDMI-DVI, se usa el parámetro “hdmi_mode”. Con el valor 1 se pone en modo DVI (sin sonido) y con valor 2 se pone en modo normal (con sonido si está habilitado).

En el caso de que no se detecte nuestra pantalla automáticamente, podemos usar el modo seguro con el parámetro “hdmi_safe”. Si está en 0 significa que está en modo de operación normal. En 1 se habilitan una serie de parámetros que ofrecen máxima compatibilidad.

A veces puede pasar que usemos un cable muy largo y necesitemos amplificar la señal HDMI. Existe un parámetro llamado “config_hdmi_boost” para este propósito. El valor va en una escala de 0 a 7. En 0 está en modo normal. A partir de 4 (inclusive), la intensidad de la seña empieza a aumentar hasta llegar al máximo con el valor 7.

Por último, se puede rotar la salida de video con el parámetro “display_rotate”. Los valores son 0 para dejarlo normal, 1 para rotar la imagen 90º, 2 para rotarla 180º, 3 para rotarla 270º, 0x100000 para darle la vuelta horizontalmente y 0x200000 para darle la vuelta verticalmente.

3.2.2. Conexión de pantalla con entrada VGA

Si por el contrario queremos usar una pantalla VGA, deberemos adquirir un conversor activo que pase la señal desde HDMI a VGA (ojo porque los cables adaptadores y los adaptadores pasivos no funcionarán debido a que por la salida HDMI de la Raspberry Pi no hay componente analógica alguna). Desafortunadamente, esta forma podría presentar algunas complicaciones.

guía raspberry pi
Adaptador activo HDMI-VGA

El primer problema reside en que algunos modelos de adaptadores no cumplen la normativa aplicable a los conectores HDMI y consumen una corriente superior a la establecida. Esto sucede principalmente con adaptadores que no incluyen alimentación externa. De esa forma, si no se modifica el adaptador convenientemente, acabarán quemándose componentes de la placa y dejemos la salida HDMI inservible. Hay dos opciones para evitar esto: cambiar los componentes implicados de Raspberry Pi lo que supondría desoldar y volver a soldar un transistor de la Raspi para sustituirlo por otro que admita mayor intensidad o alimentar el adaptador con una fuente externa.

Aquí se va a tratar la segunda opción. Lo primero que hay que hacer es abrir el adaptador y con un polímetro localizar un punto de alimentación dentro del circuito del mismo. Para saber el pin del conector HDMI que tenemos que usar, nos guiamos con el esquema de este

guía raspberry pi
Pines en conector HDMI. Fuente: Wikipedia

Vemos que en el pin 18 tenemos la alimentación a +5 V. Una vez que hayamos localizado un punto de la placa donde alimentar, soldamos un cable. En la siguiente imagen se puede ver dónde está localizado dicho punto en el modelo que yo he usado

adaptador hdmi modificado
Alimentación externa de adaptador activo HDMI-VGA

Ese cable deberá ir conectado a una fuente de 5 V como es cualquier salida USB (¡no uses la salida USB de la Raspberry Pi!). Por otra parte habrá que conectar la parte externa (dorada) de la clavija HDMI al GND de nuestra fuente. En mi caso, para ser rápido y debido a que mi placa no la voy a usar conectada un monitor permanentemente, he optado por alimentarla con una placa Arduino UNO

montaje arduino adaptador hdmi
Asistencia en la alimentación del adaptador

Una vez arreglado esto nos encontramos con el segundo problema de este tipo de conectores: la compatibilidad con sólo algunas resoluciones. Eso hace que con la configuración que trae Raspbian por defecto algunos modelos de estos adaptadores no funcione. Para ello tenemos que conectarnos mediante SSH a la placa (véase apartado 10.1.1.).

3.2.3. Configuración de la salida de video analógica

Si queremos conectar una televisión sin entrada VGA ni HDMI, la única opción que nos queda es usar la salida de video compuesto de Raspberry Pi. En principio debería funcionar automáticamente pero si queremos forzar la salida de video compuesto, debemos editar el archivo config.txt:

sudo nano /boot/config.txt

Ahí debemos buscar el parámetro “sdtv_mode“. Le quitamos la almohadilla y seleccionamos el modo de video analógico:

sdtv_mode=0 para NTSC normal
sdtv_mode=1 para Versión japonesa de NTSC
sdtv_mode=2 para PAL normal (formato de España)
sdtv_mode=3 para Versión brasileña de PAL.

Existen otras configuraciones para la salida analógica. Con el parámetro “sdtv_aspect” se puede definir la proporción de la pantalla con los siguientes valores:

sdtv_aspect=1 para 4:3
sdtv_aspect=2 para 14:9
sdtv_aspect=3 para 16:9

También existe un parámetro para conseguir una imagen más nítida a costa de perder el color: “sdtv_disable_colourburst”. Con sdtv_disable_colourburst=1 tenemos una imagen más nítida pero en blanco y negro. Si el valor lo cambiamos a 0, volveremos al color.

3.2.4. Configuración de la salida de audio

Raspberry Pi tiene dos salidas de audio: una analógica a través del jack de auriculares y otra digital a través de la salida HDMI. Si nos encontramos con que no funciona la salida de audio deseada, debemos activar la salida manualmente. Para eso en consola escribimos esto:

amixer cset numid=3 X

Donde ‘X’ vale 0 cuando está en modo automático, 1 cuando se quiere activar la salida analógica y 2 si se quiere activar la salida digital a través de HDMI.

3.2.5. Configuración de la memoria

Existen varios parámetros para establecer la cantidad de memoria de ciertos dispositivos y realizar otras configuraciones relacionadas con la memoria del sistema de Raspberry Pi.

Si por alguna razón queremos desactivar la caché de nivel 2, podemos usar el parámetro “disable_l2cache”. Con valor 0 se mantiene activada y con valor 1 se desactiva. Para que este cambio surta efecto, hay que usar un kernel con la caché desactivada.

En cuanto a la memoria gráfica, Raspberry Pi asigna 64Mb por defecto para la GPU. Esta memoria es compartida con la RAM por lo que si queremos usar más RAM o necesitamos más memoria gráfica, tendremos que cambiar la asignación de memoria con el parámetro “gpu_mem”. Los valores dados indican la cantidad en megabytes que se reservan de la RAM para el procesador gráfico.

Por último, si queremos desactivar el ajuste automático del refresco de la memoria, se puede desactivar la medición de temperatura de la misma con el parámetro “disable_pvt”. El valor 1 mantiene la tasa de refresco constante y el valor 0 modifica la tasa cada 500ms.

3.2.6. Overclocking

El overclocking consiste en aumentar la frecuencia de funcionamiento de un dispositivo para que vaya más rápido de lo que va de fábrica. Con un aumento de la frecuencia conseguiremos un aumento de rendimiento, pero también un aumento de consumo, de temperatura y si no tenemos cuidado, una pérdida de estabilidad e incluso la destrucción de algún componente de la Raspberry Pi (con la consiguiente pérdida de la garantía).

Raspberry Pi dispone de tres relojes: uno para el procesador, otro para la memoria y otro para la GPU. Dependiendo de la versión de la placa que tengamos, las frecuencias por defecto serán diferentes. En Raspberry Pi 1 el procesador va a 700Mhz mientras en la 2 va a 900Mhz. En ambas versiones la GPU funciona a 250MHz y la memoria RAM a 400MHz.

Por otra parte, se puede modificar la tensión de alimentación. La subida de tensión redunda en una mejora de la estabilidad pero en un aumento de la temperatura.

Adema cabe destacar que existen mecanismos de protección térmica que también son configurables.

Por último existe la posibilidad contraria: disminuir la frecuencia de funcionamiento (underclocking). Esta disminución de la frecuencia hace que Raspberry Pi consuma menos potencia. Esto puede ser una opción interesante en sistemas alimentados por baterías siempre que la disminución de rendimiento sea compatible con la aplicación que se le esté dando.

Existe un perfil llamado Turbo que pone al procesador a 1000Mhz, a la GPU a 500MHz y a la memoria RAM a 500MHz con un factor de aumento de tensión de 6 (de esto se hablará más adelante). Es posible habilitar el modo Turbo en los primeros segundos del encendido. Esto es útil para acelerar el arranque aprovechando que está fría. Para eso se usa el parámetro “initial_turbo”. El valor que se le da es el tiempo en segundos que está en modo Turbo desde que se enciende. El tiempo máximo son 60 segundos.

Para modificar la frecuencia del procesador, se usa el parámetro “arm_freq” seguido del valor en Mhz de la frecuencia.

Raspberry Pi modifica la frecuencia de sus distintos componentes de forma dinámica para el ahorro de energía. Para establecer una frecuencia mínima de funcionamiento, se usa el parámetro “arm_freq_min” que inicialmente tiene el mismo valor de la frecuencia por defecto.

La frecuencia de la GPU se modifica con el parámetro “gpu_freq”. Al igual que la CPU, el procesador gráfico tiene una frecuencia dinámica en función de la carga. La frecuencia mínima se establece con el parámetro “core_freq_min” y su valor por defecto es el mismo que el valor inicial de la frecuencia de la GPU (250MHz).

Para modificar la frecuencia de la memoria RAM se usa el parámetro “sdram_freq” y para la frecuencia mínima del cambio dinámico se usa “sdram_freq_min” cuyo valor por defecto son los 400MHz iniciales.

Si queremos que todos los valores de frecuencia se mantengan constantes (sin cambios dinámicos), se puede usar el parámetro “force_turbo”. En valor 1 se mantienen todas las frecuencias constantes. En valor 0 se hace caso a los parámetros *_min que hayamos establecido (o sus valores por defecto).

Sobre la modificación de la tensión del procesador, esta se realiza con el parámetro “over_voltage”. Los valores se adjuntan en la siguiente tabla:

Valor

Tensión

Valor

Tensión

-16
-15
-14
-13
-12
-11
-10
-9
-8
-7
-6
-5

0.8 V
0.825 V
0.85 V
0.875 V
0.9 V
0.925 V
0.95 V
0.975 V
1.0 V
1.025 V
1.05 V
1.075 V

-4
-3
-2
-1
0
1
2
3
4
5
6
7
8

1.1 V
1.125 V
1.15 V
1.175 V
1.2 V
1.225 V
1.25 V
1.275 V
1.3 V
1.325 V
1.35 V
1.375 V
1.4 V

La tensión por defecto son los 1.2V. Para activar los valores 7 y 8 hay que haber activado previamente el parámetro “force_turbo” o “current_limit_override”.

El parámetro “current_limit_override” sirve para desactivar la protección de límite de corriente. Con esto se lleva al extremo a los componentes del SoC en caso de que no consigamos una estabilidad adecuada. Su activación supone la pérdida de la garantía y se hace usando el valor 0x5A000020.

Al igual que con la frecuencia, es posible establecer valores dinámicos de tensión que se ajustan en función de la frecuencia. El parámetro se llama “over_voltaje_min” y los valores son los mismos que los expuestos en la tabla para el parámetro “over_voltaje”.

Para variar la tensión de la memoria RAM se usa el parámetro “over_voltaje_sdram” con los mismos valores de la tabla anterior. Y para modificar la tensión del controlador de memoria, el parámetro es “over_voltage_sdram_c”.

Si queremos algo de seguridad a la hora de realizar overclocking, podemos establecer temperaturas máximas de funcionamiento. Con el parámetro “temp_limit” se limita la temperatura con un valor en grados Celsius. Cuando se alcanza dicho valor, las frecuencias vuelven a los valores por defecto.

3.2.7. Desactivar limitación de la corriente del bus USB

Es posible que necesitemos alimentar ciertos dispositivos a través del bus USB. Si conectamos un disco duro externo de 2.5”, comprobaremos que de primeras no funciona debido a que le “falta potencia”. Eso es debido a que la intensidad está limitada a 600mA y ciertos periféricos (como los discos duros) necesitan una intensidad mayor, al menos para arrancar.

Ramberry Pi 2 puede entregar hasta 1200mA a través de los buses USB. Para desatar toda la corriente, se recurre al parámetro “max_usb_current”. Si está en 0 la intesidad se limita a 600mA. Si está en 1 la intensidad se limita a 1200mA.

La intensidad proporcionada es la suma de todos los buses USB. Este parámetro sólo es aplicable a Raspberry Pi 2.

Como se indicó en el apartado 1.2. ¿Qué necesitamos?, si vas a conectar dispositivos pesados, es fundamental que dispongas de una fuente de alimentación acorde.

3.2.8. Cámara

Para poder usar la cámara de Raspberry Pi es necesario definir el parámetro “start_x”. Con el valor 1 se activa el módulo de cámara y con el valor 0 se desactiva.

Para poder usar la cámara es necesario haber especificado una memoria gráfica con “gpu_mem” de al menos 128 Mb (ver apartado 3.2.5. Configuración de la memoria).

Por otra parte es posible desactivar el led de la cámara que se ilumina cuando se está grabando video o se están tomando imágenes fijas. Para ello se recurre el parámetro “disable_camera_led”. El valor 1 desactiva el led y el valor 0 lo activa.

3.3. Configuración de Raspbian

Una vez que hemos conseguido acceso a nuestra placa hay que configurar algunas cosas. En la ventana principal podemos ver varias opciones de configuración de las que veremos las más útiles.

raspi-config
Sesión iniciada en Raspbian a través de SSH en Linux

Tecleamos:

sudo raspi-config

y pulsamos intro. Nos aparecerá la siguiente pantalla.

Raspi-config en modo texto

También se incluye un configurador gráfico al que se puede acceder a través del menú preferencias.

Raspberry Pi Configuration en modo gráfico

3.3.1. Expand Filesystem (usar toda la tarjeta SD)

Todavía no te habrás dado cuenta, pero si tienes una tarjeta SD de más de 4 gb, la partición del sistema ocupa tan solo 4 gb y esa es la capacidad que puedes usar. Para solucionar esto hay que expandir dicha partición para tener la posibilidad de usar toda la memoria disponible. Pulsamos esa opción y nos aparece este mensaje

configuración de raspbian

Ahora ya tenemos a nuestra disposición toda la capacidad de la tarjeta SD.

3.3.2. Internationalisation options (opciones de idioma)

Aquí se configura todo lo relacionado con los sistmeas de medición (moneda, caracter para decimales, esquema del teclado, etc )

internationalisation options
Opciones de internacionalización de raspi-config en modo texto

En la pestaña ‘Localisation’ del configurador gráfico además se puede establecer el idioma del teclado:

Configuración del teclado con la herramienta gráfica

En ‘Set locale’ y ‘Set timezone’ se configura el sistema con el idioma y el juego de caracteres español además de nuestra zona horaria.

configuración local raspbian
Idioma y juego de caracteres de rasp-config en modo texto

Elegimos es_ES UTF-8 o el idioma/país que queramos.

Para la zona horaria elegimos la capital que represente nuestro huso horario.

configuración de zona horaria raspbian

En el caso del configurador gráfico, las opciones son las mismas:

Idioma y país en el configurador gráfico
Zona horaria en el GUI

Cuando tengamos todo configurado, al reiniciar Raspbian veremos que la interfaz se pone en español.

3.3.3. Change password for ‘pi’ user (cambiar contraseña)

Una opción de vital importancia si queremos acceder a nuestro sistema desde Internet.

guía raspberry pi

Una vez cambiada, tendremos que usar la nueva contraseña en vez de ‘raspberry’ para acceder mediante SSH.

3.3.4. Configurar la pila TCP/IP manualmente

Aunque no sea una de las opciones del configurador, puede resultar importante poder asignar una IP y otros parámetros del red a nuestra Raspi de forma manual. Para asignar estos valores, ponemos esto en consola:

 sudo nano /etc/network/interfaces

Borramos la linea “iface eth0 inet dhcp” y en la última linea, con los valores deseados, ponemos lo siguiente:

auto eth0
 iface eth0 inet static
 address 192.168.0.18
 netmask 255.255.255.0
 gateway 192.168.0.1

Nos quedará algo así

configuración manual de ip en raspberry pi
Configuración manual de la red en Raspberry Pi

Una vez realizadas todas las configuraciones nos salimos del programa de configuración y reiniciamos tecleando:

sudo reboot

4. Raspberry Pi como PC de escritorio con Ubuntu

En la actualidad, la mayoría de los ordenadores están infrautilizados dado que ofrecen una potencia que rara vez se aprovecha. Eso supone una ineficiencia importante, tanto en el mantenimiento del equipo como desde el punto de vista energético. Sería interesante comprobar si Raspberry Pi 2, que consume menos de 5W, es capaz de hacer las mayoría de tareas a las que estamos acostumbrados en nuestros PCs que en el mejor de los casos consumen varias decenas de watios y en el peor incluso cientos.

Vamos a probar Ubuntu Mate para ver si Raspberry Pi podría desempeñar las funciones más básicas de un ordenador de escritorio. Si quieres saber más de la distro, puedes visitar nuestra sección dedicada a Ubuntu. Recuerda que con cada nueva versión de Ubuntu, aparece una nueva versión de Ubuntu Mate para Raspberry Pi con casi idénticas características.

ubuntu mate escritorio
Escritorio de Ubuntu Mate en Raspberry Pi 2

Las tareas que se han considerado básicas han sido las siguientes:
· Navegar por la web: visitar sitios, ver videos en streaming.
· Trabajar con una suite ofimática.
· Reproducir video.
· Editar imágenes con GIMP

4.1. Instalación y configuración de Ubuntu Mate

Primero hay que instalar y configurar Ubuntu Mate para Raspberry Pi. La imagen se puede descargar desde su página. Una vez que tenemos la imagen, podemos proceder a copiarla en la tarjeta SD siguiendo los pasos descritos en la sección 3.1. Instalación del sistema operativo.

Cuando arrancamos Ubuntu Mate por primera vez, se ejecuta un asistente de instalación.

ubuntu mate idioma
Elección de idioma en Ubuntu Mate para Raspberry Pi 2

Elegimos el idioma y vamos siguiendo los pasos. A continuación nos pide indicar la zona horaria y por último un nombre de usuario con su contraseña que será con la que iniciaremos sesión. Después de introducir esta información, comienza la instalación:

ubuntu mate instalacion
Proceso de instalación de Ubuntu Mate para Raspberry Pi 2

Cuando haya finalizado la instalación, lo primero que hay que hacer es redimensionar la partición del sistema para poder usar toda la tarjeta SD. Ubuntu Mate no tiene ninguna herramienta de configuración específica para Raspberry Pi, por lo que hay que hacerlo manualmente. El procedimiento consiste en escribir esto en consola:

sudo fdisk /dev/mmcblk0

Pulsamos ‘2’ y luego ‘d’. A continuación pulsamos ‘n’, luego ‘p’, después ‘2’ y por último dos veces intro. Para terminar pulsamos ‘w’ para salir de la herramienta y reiniciamos Raspberry Pi. Cuando estemos otra vez en el escritorio, nos vamos de nuevo a la consola y ponemos esto:

sudo resize2fs /dev/mmcblk0p2

A partir de ahora ya está disponible todo el tamaño de la tarjeta SD.

Ahora toca revisar algunas configuraciones. La primera son las fuentes de software. Para ello abrimos el centro de control.

centro de control ubuntu mate
Centro de control de Ubuntu Mate en Raspberry Pi 2

Ahí hacemos clic en “Software & Updates”. Debemos asegurarnos de que están marcados todos los repositorios tal y como se muestra en la imagen:

fuentes de software ubuntu mate
Activación de repositorios en Ubuntu Mate para Raspberry Pi 2

En la pestaña ‘Updates’ también hay que revisar que los repositorios para actualizaciones están activados de esta forma:

updates ubuntu mate
Repositorios para actualizaciones de Ubuntu Mate para Raspberry Pi 2

Cuando cerremos la ventana, comenzará un proceso que durará unos minutos.

Si vemos que ciertas herramientas y programas (como Firefox) están en inglés, hay que instalar los paquetes de idioma español. Para eso nos vamos a “Languaje support” en el Centro de Control. Entonces debería aparecer el siguiente mensaje:

ubuntu mate español
Instalación de los paquetes de idiomas en Ubuntu Mate para Raspberry Pi 2

Hacemos clic en “Instalar” y esperamos un rato. Cuando haya finalizado nos queda el último paso: actualizar el sistema. Tan solo tenemos que hacer clic en “Software Updater”. Nos aparecerá una ventana similar a esta:

ubuntu mate software updater
Actualización de Ubuntu Mate para Raspberry Pi 2

Una vez terminado, reiniciamos y ya tenemos listo el sistema para trabajar.

Para instalar programas en Ubuntu Mate para Raspberry Pi, se sigue el procedimiento indicado en el apartado 2.3. Instalar programas.

4.2. Suite ofimática (LibreOffice)

Ubuntu Mate viene con LibreOffice preinstalado, por lo que su uso es tan simple como ejecutar el programa que necesitemos.

Se puede comprobar una respuesta completamente fluida, equiparable a la que ofrece un PC actual. Es posible que si manejamos tablas de Excel muy pesadas o documentos muy recargados de imágenes, el sistema se resienta. Pero aun así, si usar una suite ofimática es una de las tareas que hacemos habitualmente, Raspberry Pi 2 cumple de con esa función.

4.3. Navegación web (Firefox)

Ubuntu Mate también viene con Firefox preinstalado. La navegación web se antoja algo más complicada ya que el abanico de posibilidades es mucho más amplio. Nos obstante, comprobemos qué tal se le da.

Vemos que la navegación en general es bastante fluida. El tiempo de respuesta es relativamente bajo y el desplazamiento vertical es aceptablemente suave (aunque no completamente).

El problema viene con la reproducción de videos. En la muestra se aprecia la reproducción de un video con resolución 360p desde Youtube en modo HTML5. La carencia de decodificación de video por hardware hace estragos al rendimiento: el video no va fluido y el tiempo de respuesta de la interfaz es demasiado largo.

Así pues, mientras no se vayan a ver videos, el rendimiento es aceptable (similar al de un PC pero quizás no tan bueno para los más exigentes). Para visualización de videos no es práctico para nada.

4.4. Visualizar videos en alta definición

Para esta prueba se va a usar omxplayer, un reproductor que se lanza desde la consola. Se ha probado con varios videos 1080p y se han reproducido con total fluidez. El resultado es similar al mostrado en la reproducción en los apartados 9.1. OSMC y 9.2. OpenELEC.

Para reproducir videos hay que escribir en consola esto:

omxplayer video.mp4

Para controlar la reproducción se usan las siguientes teclas:

1 -> Incrementar velocidad
2 -> Decrementar velocidad
i -> Capítulo anterior
o -> Capítulo posterior
j -> Pista de audio anterior
k -> Pista de audio posterior
Tecla espacio -> Pausa/Play
q -> Salir

4.5. Edición de fotografías (GIMP)

Otra tarea relativamente exigente puede ser la edición de imágenes. En este caso GIMP no viene instalado por lo que habrá que hacerlo. En consola escribimos esto:

sudo apt-get update
sudo apt-get install gimp

Aceptamos las dependencias y esperamos unos minutos. Cuando esté instalado, podemos empezar a usarlo:

La imagen empleada es relativamente grande. Al aplicar ciertos filtros, se aprecia que el proceso lleva unos segundos. Quitando ese detalle, la respuesta de la interfaz es completamente fluida pero es probable que en proyecto de mayor tamaño (imágenes mayores, múltiples capas, etc), el rendimiento acabe resintiéndose.

De todas formas para hacer trabajos sencillos, Rapsberry Pi 2 hace el desempeño adecuadamente.

5. Virtualización de una máquina x86 con QEMU

La arquitectura x86 es la que emplean los procesadores de los ordenadores normales (sobremesa y portátiles). Raspberry Pi no usa esa arquitectura sino otra llamada ARM. Eso significa que los programas compilados para x86 no pueden ejecutarse en un procesador ARM ya que este no comprende las instrucciones de dichos programas. Por otra parte Raspbian es Linux, lo que significa que no sería posible usar programas para Windows aunque compartieran arquitectura.

Existe una herramienta para Linux llamada Wine que permite ejecutar programas de Windows en Linux. Este programa acabaría con uno de los problemas: que el programa esté compilado para Windows. Pero no soluciona el problema de la arquitectura ya que Wine (que significa Wine is not an emulator o Wine no es un emulador), efectivamente no es un emulador sino una colección de bibliotecas y rutinas que hacen aparentar a Linux ser Windows de cara al software que se ejecuta sobre la herramienta.

Por lo tanto, la única forma de ejecutar un programa compilado para Windows es conseguir que un procesador ARM sea capaz de comprender las instrucciones x86. Para ello se usa un software llamada emulador (o máquina virtual). Un emulador básicamente lo que hace es traducir un juego de instrucciones en otro diferente, aunque no siempre se tiene por qué usar en arquitecturas diferentes (es muy habitual usar emuladores de x86 en ordenadores x86), pero ese es otro tema.

La emulación tiene un gran problema y es que el procesador anfitrión (en este caso el SoC de nuestra Raspberry Pi) tiene que hacer un doble esfuerzo: por una parte tiene que traducir las instrucciones y por otra las tiene que ejecutar. Eso hace que el rendimiento de una máquina virtual sea muy inferior al del procesador donde se ejecuta (y más cuando usan arquitecturas diferentes como es nuestro caso). Si tenemos en cuenta que Raspberry Pi 2 tiene una potencia limitada de por sí, no resulta difícil imaginarse que cuando tenga que abordar todo el trabajo que le suponga ejecutar software x86, el rendimiento no va a ser precisamente óptimo.

Para Raspberry Pi existe un emulador de x86 compilado para ARM llamado QEMU. Este programa emula todo hardware de un ordenador x86. En el caso de QEMU, se emula un procesador Pentium II, una tarjeta gráfica Cirrus Logic, un teclado, un ratón, dispositivos de almacenamiento, etc.

Existen opciones para elegir qué hardware se va a emular: podemos cambiar el procesador, la tarjeta gráfica o elegir entre varias tarjetas de sonido en función de la compatibilidad que busquemos.

En primer lugar, hay que instalar QEMU. Se sigue el procedimiento habitual:

sudo apt-get update
sudo apt-get install qemu

El proceso de instalación de un sistema operativo sobre QEMU consiste en crear un disco duro virtual del tamaño que queramos (10 Gb en el ejemplo):

qemu-img create -f qcow disco.qcow 10G

Después hay que ejecutar la máquina virtual x86 indicando los parámetros para el arranque de un disquete o CDROM incluyendo el uso de un disco duro virtual y otros dispositivos:

qemu-system-i386 -m 64M -fda Disk1.img -hda disco.qcow -cdrom imagen.iso -boot d

Los parámetros empleados son los siguientes:
qemu-system-i386: se va a emular un procesador x86 de 32 bits.
-m 64M: la máquina virtual tendrá 64Mb de RAM.
-fda Disk1.img: indica el nombre de la imagen de un disquete.
-hda disco.qcow: indica el nombre de la imagen de nuestro disco duro virtual.
-cdrom imagen.iso: en el caso de querer tener un CDROM, debemos indicar la imagen iso que queremos abrir.
-boot c: arranca desde el disco duro. Si queremos arrancar desde el CD, hay que cambiar ‘c’ por ‘d’. Y si queremos arrancar desde el disquete, hay que cambiar ‘c’ por ‘a’.
-soundhw sb16: emula una tarjeta de sonido Sound Blaster 16. No recomendado: no siempre funciona correctamente.
-smp 2: indica que se usarán dos núcleos del procesador.

Una vez que QEMU esté funcionando, podemos realizar ciertos cambios en la configuración, como cambiar las imágenes de los dispositivos de almacenamiento virtual. Esto resulta útil para cambiar de disquete o cdrom sin tener que reiniciar la máquina. Para cambiar de imagen, pulsamos ctrl+alt+2. Entonces se abre la consola de QEMU:

consola qemu
Consola de QEMU

Ahí escribimos

info block
info block
Dispositivos de almacenamiento disponibles en QEMU

Si por ejemplo queremos insertar un disquete o cambiar el que hay, escribimos lo siguiente:

change floppy0 Disk2.img

Si lo que queremos es cambiar un cdrom, será esto:

change ide1-cd0 cdrom.img

El proceso de instalación de Windows no se va a explicar ya que esta guía no se centra en esos aspectos. Si tienes cualquier duda, puedes dejar un comentario.

En Raspberry Pi 1 modelo B no fue posible instalar Windows XP (ver apartado 5.3. Windows XP). Con Raspberry Pi 2 vamos a probar un enfoque diferente. Esta vez el sistema operativo se instalará en un PC a través de QEMU y más tarde se pasará la imagen con el sistema instalado a Raspberry Pi 2.

5.1. MS-DOS 6.22 y Windows 3.11

Debido al incremento de potencia de la placa, es posible que algunas versiones antiguas de Windows sí sean operativas. Por curiosidad y para ir incrementando la exigencias poco a poco vamos a empezar por Windows 3.11, después Windows 98 SE y por último Windows XP.

El interés de probar diferentes versiones de Windows en Raspberry Pi 2 no es sólo por pura curiosidad sino también para comprobar si la placa pudiera servir para ejecutar software antiguo que sólo esté disponible para Windows. Es el caso de una buena cantidad de juegos, por poner un ejemplo.

Ejecutar Windows 3.11 en una Raspberry Pi 2 no debería ser demasiado costoso para la placa. Se trata de un “sistema operativo” que salió al mercado en 1992 cuyos requisitos de hardware son realmente bajos:
· Procesador 386SX
· 3Mb de RAM
· 6.2MB libres de disco duro

Windows 3.x funcionaba sobre el auténtico sistema operativo: DOS. En este caso se ha elegido MS-DOS 6.22 y lo primero que hay que hacer es instalarlo.

msdos 622 ver
MS-DOS 6.22 en Raspberry Pi 2

Una vez instalado el sistema operativo, se proceden con la instalación de Windows 3.11.

instalación windows 311
Instalación de Windows 3.11 en QEMU

Para probar un programa relativamente pesado para la época, también se ha instalado Microsoft Office 4.2 (que como curiosidad, venía en 28 disquetes por lo que ha sido un poco engorroso de instalar):

instalación office42
Instalación de Microsoft Office 4.2 sobre Windows 3.11 en QEMU

Cuando está todo instalado en la imagen, se procede a copiarla en cualquier medio de almacenamiento USB (un pendrive por ejemplo) para pasarla a la Raspberry Pi 2. Una vez ahí, podemos echar a andar nuestro Windows 3.11:

Arranque de Windows 3.11 en Raspberry Pi 2

El tiempo de arranque es bajo pero no instantáneo como cabría esperar. Cuando termina de iniciar, aparece el administrador de programas:

Windows 3.11 en Raspberry Pi 2

La ejecución de Microsoft Word 4.2 también se realiza sin novedades:

office 42
Microsoft Office 4.2 en Raspberry Pi 2

Se puede comprobar que el rendimiento no es demasiado bueno, lo que nos puede hacer una idea de cómo funcionarán versiones más recientes de Windows. No obstante, Windows 3.11 y Microsoft Office 4.2 funcionan lo suficientemente fluidos en una Raspberry Pi 2 como para poder usarlos.

5.2. Windows 98 SE

Nos encontramos con una nueva generación de Windows, muy diferente a la versión 3.x cuya interfaz (estrenada por Windows 95) puso las bases para los escritorios Windows modernos.

En esta ocasión no es necesario instalar DOS previamente ya que está incluido dentro de Windows 98. Los requisitos de hardware han aumentado ligeramiente aunque hay que decir que las exigencias de Windows 98 SE en la vida real son bastante mayores de los expuestos por Microsoft:
· Procesador 486DX a 66MHz
· 16Mb de RAM.
· 355MB de disco duro

Además de una imagen del CDROM de instalación de Windows, necesitaremos la imagen de un disquete de arranque con soporte de CDROM para iniciar la instalación. Cuando lo tengamos todo, podemos ejecutar la máquina con algo así como esto:

qemu-system-i386 -m 256M -hda w98.qcow -cdrom win98se_2222.es.iso -fda "Windows98_SE boot.img" -boot a

Es decir, una máquina x86 de 32 bits con 256 Mb de RAM, un disco duro virtual, una unidad de cdrom y un disquete de arranque.

El proceso de instalación es el típico de cualquier programa actual para Windows.

instalación win98
Instalación de Windows 98 en QEMU

Una vez instalado, al igual que antes, se pasa la imagen a nuestra Raspberry Pi 2 y vemos qué tal se ejecuta.

Inicio de Windows 98 en una Raspberry Pi 2

El tiempo de arranque es relativamente alto hasta que aparece un escritorio “usable”.

Windows 98 en Raspberry Pi 2

En el siguiente video se puede ver el arranque y respuesta de Windows 98 en una Raspberry Pi 2:

La fluidez empieza a dejar que desear y no resulta cómodo su uso.

Esta vez el repertorio de software ha aumentado. Además de Microsoft Office 97, se ha instalado Sisoft Sandra 2003, Half Life, Counter Strike y Age of Empires 2.

office 97 windows 98
Microsoft Office 97 en Raspberry Pi 2

Se observa que Microsoft Word 97 muestra algunos fallos gráficos que hacen molesto su uso y aunque la fluidez no es óptima, parece usable.

Con Sandra 2003 ha sido posible pasar un banco de pruebas para comparar a qué procesador x86 comercial corresponde el rendimiento de un micro x86 emulado en una Raspberry Pi 2:

sandra 2003 windows 98
Sandra 2003 sobre Windows 98 en Raspberry Pi 2

Si comparamos el resultado con una tabla, vemos a qué procesador se acerca la Raspi.

comparativa sandra 2003
Comparativa de procesadores. Fuente: Tom’s Hardware

Si tenemos en cuenta que nuestros resultados han sido de D49, W13 y teniendo en cuenta el dato más optimista, un Pentium a 100MHz es 2.5 veces más rápido que nuestra máquina virtual, o lo que es lo mismo, nuestro equipo x86 sobre una Raspberry Pi 2 va como un Pentium a 40MHz. A partir de este momento queda confirmado que para que Windows 98 sea práctico en una Rapsberry Pi 2, el software que ejecutemos sobre él debe ser muy ligero.

En cuanto a la ejecución de los juegos, esta ha sido extremadamente lenta, por lo que no merece la pena mostrar un video. No obstante, seguro que más de uno encuentra curioso ver cierto software corriendo en una Raspberry Pi.

Counter-Strike 1.5 sólo funciona en modo software (QEMU no tiene soporte para aceleración 3D) y la tasa de fotogramas es tan baja que resulta absurdo siquiera intentar jugar. Aunque indica 4fps, la realidad era mucho peor.

counter strike windows 98
Menú principal de Counter Strike sobre Windows 98 en una Raspberry Pi 2
dentro de counter strike windows 98
“Jugando” a Counter Strike en Raspberry Pi 2

Age of Empires 2, al ser un juego que no usa aceleración 3D se mueve con algo más de soltura, pero está lejos de ser jugable.

Age of empires 2 windows 98
Age of Empires 2 en Raspberry Pi 2

5.3. Windows XP

Primero se va a intentar instalar Windows XP en una Raspberry Pi 1 modelo B. Para empezar a usar QEMU tenemos que crear un disco duro virtual:

qemu-img create -f qcow raspxp.qcow 4G

Suponiendo que la imagen y el disco virtual lo tenemos en el mismo directorio, para arrancar la máquina virtual tan solo hay que ejecutar la siguiente linea:

qemu-system-i386 -cdrom imagen_winxp.iso -boot d raspxp.qcow
qemu en raspberry pi
Programa de instalación de Windows XP en Raspberry Pi modelo B

Vemos que nos aparece la famosa pantalla de detección de hardware del instalador de Windows XP. Esperamos un rato pero la pantalla se pone en negro. Se ha intentando la emulación tanto desde SSH como desde LXDE local con los mimos resultados.

Finalmente ha sido posible ejecutar Windows XP en una Raspberry Pi 2. Se han realizado dos instalaciones: una monoprocesador y otra multprocesador (con tres núcleos). La idea es comprobar si existen diferencias significativas. De todas formas, vistos los resultados anteriores no se puede esperar gran cosa.

Por otra parte, esta vez tan solo se ha probado Microsoft Office 2010 ya que el rendimiento visto en Windows 98 del resto de programas hace que no merezca la pena ni intentarlo.

inicio windows xp
Windows XP arrancando en Raspberry Pi 2

El tiempo de inicio está muy alejado del de Windows 98 y el escritorio tarda bastante más en empezar a ser usable.

escritorio windows xp
Escritorio de Windows XP en Raspberry Pi 2

Se ha podido comprobar que, a pesar de haber indicado la emulación de 3 núcleos, tan solo se han detectado dos (probablemente porque el PC donde se realizó la instalación sólo tenía dos núcleos). Por otra parte se puede ver que, aunque se estén usando ambos núcleos a casi el 100%, tan solo se está empleando un sólo núcleo de la Raspberry Pi 2 (el 25% de la capacidad de la CPU).

windows xp smp
Windows XP SMP (dos núcleos) en Raspberry Pi 2

De esa forma, usar varios núcleos en QEMU no trae ninguna ventaja con respecto a usar uno solo. De hecho parece ser contraproducente.

El arranque de Windows XP en una Raspberry Pi 2 se puede ver en el siguiente video:

Sobre Office 2010, todo va tan lento que resulta completamente inusable.

word 2010 windows xp
Microsoft Office 2010 en Raspberry Pi 2

Para terminar, será interesante comprobar si el rendimiento del sistema ha variado con respecto a los medido en Windows 98. Para ello se vuelve a pasar SiSoft Sandra 2003:

sisoft windows xp
SiSoft Sanda 2003 sobre Windows XP en Raspberry Pi 2

Se puede comprobar que los resultados han mejorado notablemente. En este caso, la máquina virtual se comporta como un Pentium a 66MHz. Desafortunadamente, el propio sistema opertivo acaba consumiendo prácticmanete todos los ciclos de reloj por lo que su uso se hace casi imposible.

Debido a que Windows XP es la versión de Windows con la que se han obtenido los mejores resultados, para terminar con las pruebas de rendimiento se va a pasar SuperPi en la prueba de 128kb para realizar comparaciones en el apartado 6. Virtualización de una máquina x86 con Exagear.

superpi windows xp
SuperPi sobre Windows XP en Raspberry Pi 2

Vemos que el tiempo total es de 10 minutos y 16 segundos.

6. Virtualización de una máquina x86 con Exagear

Exagear Desktop es un programa comercial de código cerrado que promete un rendimiento hasta 5 veces superior que una máquina virtual con QEMU. Básicamente es la forma más eficiente hasta el momento de ejecutar programas x86 sobre una Raspberry Pi. Sus desarrolladores nos han prestado una licencia de demostración, así que se va a comprobar qué tal va. Para saber más de Exagear, puedes visitar la entrada que le dedicamos cuando salió.

Tal y como se explicó en el apartado 5. Virtualización de una máquina x86 con QEMU, para ejecutar programas para Windows en Raspberry Pi hay que conseguir dos objetivos: poder ejecutar código x86 y poder ejecutar programas compilados específicamente para Windows. Con QEMU el problema se solucionó instalando Windows sobre una máquina virtual. Con Exagear el enfoque cambia ligeramente ya que en este caso se sigue emulando una máquina x86 pero sobre ella no se ejecuta Windows sino que se ejecuta Linux para i686. Una vez que estamos en este punto, Raspberry Pi se comporta casi como si sobre ella tuviéramos instalado Linux para x86, así que ya solo queda poder ejecutar programas para Windows. Las respuesta a este problema es sencilla: Wine.

6.1. Instalación y configuración de Exagear

Para instalar Exagear Desktop lo primero que tenemos que hacer es copiar el archivo que hemos descargado a cualquier carpeta de Raspberry Pi. Después hay que descomprimir el archivo con

tar -xvzpf exagear-desktop-rpi2.tar.gz

En esa misma carpeta hay que copiar el archivo-llave (*.key) que nos dan cuando realizamos la compra. Cuando lo tengamos todo, se procede a la instalación con:

sudo ./install-exagear.sh

Si usamos Raspbian o Ubuntu, junto a Exagear se instalará Wine en el mismo proceso de instalación por lo que será posible empezar a usar programas para Windows desde el primer momento. Para convertir nuestra consola ARM en una consola i686 tan solo tenemos que escribir:

exagear
exagear antes y después
Linux para ARMv7 convertido en Linux para i686

En un instante, nuestro sistema ARM se convierte en un sistema i686.

Debido a que el escritorio de Raspbian no permite cambios de resoluciones, esto supone un problema para ejecutar ciertos programas de Windows que se lanzan en pantalla completa a una resolución determinada (principalmente juegos). Para permitir que se puedan usar resoluciones a pantalla completa distintas a la nativa, tenemos que emular un escritorio en Wine. Para eso, con Exagears arrancado, escribimos en consola:

winecfg

Nos vamos a la pestaña ‘Graphics’ y activamos la casilla ‘Emulate a virtual deskop’ indicando la resolución deseada:

wine emulate desktop
Escritorio emulado en Wine

6.2. Bancos de pruebas

No ha sido posible ejecutar SiSoft Sandra así que para empezar se va a comparar el rendimiento con el obtenido por SuperPi en Windows XP sobre QEMU. En el caso de la ejecución de la prueba de 128kb de SuperPi en Exagear, el resultado es el siguiente:

superpi exagear
SuperPi sobre Exagear en Raspberry Pi 2

El resultado es de 59 segundos. En comparación con los 10 minutos y 16 segundos de Windows XP se puede decir que Exagear multiplica por dos el aumento del 500% prometido por los desarrolladores del programa.

Si se extrapolan resultados (lo cual resulta arriesgado con tan pocos datos), Raspberry Pi 2 estaría corriendo como un Pentium a más de 600MHz (al menos en enteros). Aunque este resultado hay que cogerlo con pinzas, eso se acerca mucho a los 900MHz del SoC, un resultado con el que lo único que puede hacerse es quitarse el sombrero ante los creadores de la aplicación.

Para poder comparar estos resultados con la base de datos que hay disponible en la web de Super Pi, se ha pasado el test de 1M. Este es el resultado:

exagear super pi 1M
Prueba de 1M de Super Pi sobre Exagear en Raspberry Pi

Si vemos el tiempo de un Pentium III a 450MHz, el resultado es de 4 minutos y 47 segundos. Comparado con nuestros 9 minutos y 16 segundos obtenemos que nuestro procesador x86 virtual correría como un Pentium III a 233 Mhz. Esta diferencia con respecto a la máquina virtual de QEMU se podría deber al hecho de que estamos comparando procesadores de generaciones muy distantes: Pentium (socket 5) con un Pentium III que incorpora un gran repertorio de microinstrucciones dedicados a coma flotante: MMX y SSE principalmente.

Para mejorar la medida del rendimiento, se han pasado algunos bancos de pruebas de PassMark a través de su programa PerformanceTest 7.0. Los resultados son los siguientes:

exagear pt cpu
Rendimiento de la CPU x86 emulada por Exagear en Raspberry Pi 2
exagear pt memoria
Rendimiento de la memoria emulada por Exagear en Raspberry Pi 2
exagear pt disco
Rendimiento del “disco duro” sobre Exagear en Raspberry Pi 2
exagear pt summary
Información del hardware ofrecida por PerformanceTest 7.0

Como se puede ver, se detecta un Pentium III a 900 Mhz como procesador. En la siguiente imagen vemos los resultados de distintos procesadores de Intel:

exagear pt comparativa
Lista de resultados-comparativa de procesadores Intel

Nuestra puntuación de 860 en la CPU se aproxima al rendimiento de un Pentium D a 3.4GHz, lo cual es ridículamente absurdo. Si hacemos caso al resultado de la memoria, nuestros 53.1 quedan lejos de la puntuación más baja de la lista: 283 del Pentium M a 1.6GHz. Eso significa que, desde el punto de vista la memoria, nuestro micro x86 emulado rendiría como un Pentium M a 300MHz. Este resultado se parece al extrapolado del resultado de Super Pi, pero el Pentium M es un procesdor que ofrece un mejor rendimiento por ciclo de reloj que el Pentium III.

En definitiva, obtenemos resultados muy dispares y difíciles de comparar. En cualquier caso, se podría decir que nuestro procesador equivaldría a un Pentium II a 300 o 350Mhz aunque según la aplicación, el rendimiento podría ser sustancialmente superior o algo inferior.

6.3. Steam y Counter Strike

Se ha intentado instalar es el cliente nativo de Steam para Linux pero se ha producido un error que ha impedido su ejecución debido a la falta de soporte para OpenGL:

steam linux
Mensaje de error en Steam para Linux en Raspberry Pi 2

Curiosamente, Steam para Linux sí se ha ejecutado sin novedades cuando se ha iniciado remotamente desde SSH a través de un PC y desde ahí ha sido posible instalar Half Life y Counter Strike pero no ha sido posible iniciarlos.

También se ha intentado instalar Steam para Windows a través de Wine pero una serie de errores gráficos han imposibilitado su uso:

steam windows
Steam para Windows en Raspberry Pi 2

El primer juego que se ha probado ha sido Counter Strike. Como no ha sido posible iniciar Steam, se ha recurrido a la versión pre-Steam 1.5:

En el video se aprecia que Counter Strike en Raspberry Pi 2 muestra un rendimiento deficiente comparado con los estándares a los que estamos habituados a día de hoy. No obstante el resultado se puede considerar bastante bueno teniendo en cuenta que no se estaba usando aceleración por hardware debido a la falta de soporte por parte del fabricante de la GPU para Xorg y su carencia de controladores libres. La diferencia con respecto a QEMU es abismal. De disponer de aceleración gráfica, probablemente Counter Strike fuera perfectamente jugable en Raspberry Pi 2.

6.4. Age of Empires 2 y StarCraft

El siguiente juego de la lista ha sido Age of Empires 2. La instalación ha fallado por lo que ha sido necesario instalarlo en un PC y luego pasar la carpeta de instalación:

Resulta extraño ver que el rendimiento de Age of Empires 2 en una Raspberry Pi 2 no sea mejor ya que esta ha sido capaz de mover un juego mucho más exigente (Counter Strike) decentemente.

Por último en la lista de juegos, se ha ejecutado Starcraft. Este juego es anterior a Age of Empires 2 y el resultado se puede ver en el video:

Una vez más resulta sorprendente el mal rendimiento. Probablemente el problema se deba al hecho de que son juegos que usan una paleta de colores de 8 bits y eso produce algunos problemas ya que la profundidad de color real es de 24 bits.

Al final, aunque Exagear parece ofrecer una potencia de procesador muy seperior a la esperable por una máquina virtual de estas características, el mal soporte del procesador gráfico por parte del fabricante estropea todos los logros cuando se trata de ejecutar programas que hacen un uso intensivo de gráficos.

6.5. Microsoft Office

Se ha intentado instalar Micrsoft Office 2007 y 2010 sin éxito. La razón probablemente sea que la versión de Wine que viene con Exagear es la 1.6, demasiado antigua y viene con ciertos ajustes para que funcione correctamente en la máquina virtual.

Se ha instalado la versión de desarrollo pero aparece un error al ejecutarla. Según parece, ARMv7 separa la memoria virtual del sistema en fragmentos de 2Gb lo que supone un problema para Wine y es por eso que la versión de Wine que viene con esta máquina virtual está “trucada”. Por último se ha intentado compilar Wine 1.8 desde las fuentes pero en mitad del largo proceso de compilado, se ha producido una violación de segmento.

Si en el futuro se actualiza a una versión de desarrollo o a la rama estable Wine 1.8, probablemente no habrá problemas en ejecutar Microsoft Office 2010 y es esperable que el rendimiento sea aceptable (aunque no tan fluido como en un PC relativamente moderno).

En cualquier caso, el procedimiento para poner a punto Exagear y Wine para instalar Microsft Office 2010 sería el siguiente:

Ejecutar Exagear:

exagear

Actualizar la base de datos de paquetes i386:

sudo apt-get update

Instalar el editor de texto nano compilado para i386:

sudo apt-get install nano

Incluir los repositorios ‘contrib’ de la rama estable de Debian para i386:

sudo nano /etc/apt/sources.list

Añadir al final del arhivo:

deb http://ftp.es.debian.org/debian jessie contrib

Exagear tiene un problema con la configuración local (locale) que hace que los programas no consideren el idioma ni región correctos. Para solucionarlo ejecutamos esto:

dpkg -l locales
sudo apt-get install locales

Después resultará útil disponer de Winetricks para instalar algunos componentes necesarios para ejecutar Microsoft Office 2010:

sudo apt-get update
sudo apt-get install winetricks

Cuando esté instalado, debemos instalar MS XML 6.0, el framework .NET 2.0 y las fuentes báse de Windows:

winetricks msxml6
winetricks dotnet20
winetricks corefonts

Finalmente podemos iniciar al instalación con

wine setup.exe

7. Entornos de escritorio

Un entorno de escritorio es aquello que hace que un ordenador ofrezca una interfaz gráfica intuitiva y fácil de usar. Sirve como capa de abstracción del funcionamiento interno del sistema. La mayoría estamos acostumbrado a los escritorios de las distintas versiones de Windows y OS X. En Linux existen una gran cantidad de entornos de escritorio, cada uno con una peculiaridades determinadas que se ajustan a los gustos de cada uno. Si quieres saber más y quieres consultar un listado de entornos para Linux, puedes visitar nuestra sección de entornos de escritorio.

Rasbpian viene con un gestor de ventanas llamado Openbox que se inicia por defecto. Un gestor de ventanas es uno de los componentes de un entorno de escritorio. Si se le quitan todos los extras, nos quedamos tan solo con un gestor de ventanas que es la mínima expresión de una interfaz gráfica para manejar un sistema operativo Linux.

En Raspberry Pi se suelen usar gestores de ventanas porque son mucho más ligeros que un entorno de escritorio. Eso tiene un inconveniente: no ofrece apenas herramientas ni opciones de configuración. Además los gestores de ventanas están muy limitados estéticamente.

Raspbian también viene con un entorno de escritorio llamado LXDE que se puede iniciar cerrando sesión en Openbox y cambiando el tipo de sesión en el gestor de sesiones (esquina superior derecha de la pantalla).

Los entornos de escritorio más populares para Linux son Gnome, KDE, Cinnamon, Mate, LXQt, etc.

LXQt es una bifurcación de LXDE basado en las biblioteca Qt. Si quieres saber más sobre este entorno de escritorio, puedes visitar nuestra sección sobre LXQt. Desafortunadamente, este entorno no está compilado para ARM en Debian por lo que, aunque es un buen candidato para Raspberry Pi, de momento no se va a probar.

Antes de nada, para poder acceder a las últimas versiones, es necesario incluir los repositorios “testing” al sistema. Para ello editamos el siguiente archivo sources.list:

sudo nano /etc/apt/sources.list

En ese archivo añadimos al final la siguiente linea:

deb http://mirrordirector.raspbian.org/raspbian/ testing main contrib non-free rpi

Finalmente, actualizamos la base de datos local:

sudo apt-get update

Si queremos la versión que viene en la rama “stable” de Debian, no hace falta que incluyamos nada. Este proceso sólo será necesario si queremos una versión más reciente de la incluida en la rama Stable o si hay algún entorno (como Plasma 5) que sólo está disponible en ‘testing’.

7.1. KDE 4

En Raspberry Pi modelo B, la prueba de fuego fue instalar uno de los entornos de escritorio para sistemas Unix-Like que más recursos gastaba por entonces: KDE 4. Para su instalación escribimos en consola esto:

sudo apt-get install kde-full kde-l10n-es

Tardará mucho ya que son 1.6 Gb de paquetes.

Resultó excesivamente lento en el inicio y tiene una respuesta muy pobre a la hora de acceder a los menús. Cuando lleva un rato iniciado empieza a ser manejable, pero no termina de ser práctico.

kde 4 rpi2
KDE 4 en Raspberry Pi 2

En Raspberry Pi 2 el asunto ha cambiado completamente:

Como se puede ver, nos encontramos ante un entorno completamente fluido y usable. Tan solo se aprecian ciertos defectos estéticos relacionados con las decoraciones de las ventanas. Lamentablemente, KDE4 ya no recibe soporte para muchos de sus componentes y es de esperar que se acabe abandonando pronto en detrimento de Plasma 5.

7.2. Plasma 5

Es la última versión de uno de los pesos pesados. Probablemente es el entorno más pesado para Linux. Para saber más, puedes visitar nuestra sección dedicada a KDE.

plasma 5
Plasma 5 en Raspberry Pi 2

Plasma 5 no viene en Debian Jessie (Raspbian Jessie) por lo que hay que añadir los repositorio “testing” al sistema tal y como se ha explicando al comienzo de esta sección.

Una vez añadidos los repositorios ‘Testing’, podemos pasar a instalar Plasma 5 escribiendo esto:

sudo apt-get update
sudo apt-get install plasma-desktop kwin-x11 dolphin konsole

Vemos que aparecen cientos de dependencias y el tamaño total es de en torno a 1Gb. Aceptamos y esperamos un buen rato. Cuando reiniciamos nos encontramos con esto:

En primer lugar hay que decir que Plasma 5 no muestra la decoración de las ventanas con la configuración por defecto. Para que aparezca, hay que configurar el compositor con RenderX en vez de OpenGL. El problema es que con esta configuración el sistema se vuelve extremadamente inestable.

En el video se puede ver cómo las decoraciones van y vienen. Esto se debe a que para la ejecución de programas se ha desactivado la composición con shift+alt+F12. Una vez iniciada la aplicación se ha vuelto a activar con la misma combinación de teclas. Esta ha sido la única forma de poder lanzar programas sin que se caiga Plasma y a la vez mostrar las decoraciones.

En definitiva, Plasma 5 no es un entorno de escritorio apto para Raspberry Pi 2. Es lento, inestable y presenta demasiados problemas.

7.3. Gnome

Gnome es otro de los grandes entornos de escritorio. Se va a intentar instalar Gnome 3, la última versión mayor del desarrollo. Para saber más, puedes visitar nuestra sección dedicada a Gnome.

Para su instalación hay que escribir

sudo apt-get update
sudo apt-get install gnome

Usando la rama ‘Stable’ nos aparece el mensaje “Oh no! Something has gone wrong”, así que se ha probado la rama ‘Testing’ con idénticos resultados. Como se puede ver en la sección dedicada a Cinnamon, parece haber algún problema con la forma de trabajar de Gnome-Shell y Raspberry Pi, al menos en la versión compilada de Debian por lo que no ha sido posible usar ninguno de los dos entornos.

7.4. Cinnamon

Cinnamon es uno de esos entornos de escritorios nuevos que se han vuelto muy populares. Si quieres saber más, puedes visitar nuestra sección dedicada a Cinnamon.

sudo apt-get update
sudo apt-get install cinnamon

Hay dos formas de iniciar Cinnamon: en modo “software rendering” o normal. En ambos casos tan solo aparece un escritorio completamente en negro en el que tan solo se pueden crear carpetas.

Este entorno de escritorio es una bifurcación de Gnome-Shell por lo que parece que hay algun problema con algún componente de ambos escritorios que impiden su uso en una Raspberry Pi. Probablemente se deba a la carencia de aceleración gráfica por hardware.

7.5. Mate

Mate es un escritorio ligero. Se trata de una bifurcación de Gnome 2 por lo que el uso de recursos es bastante reducido. Para saber más, puedes visitar nuestra sección dedicada a Mate.

Mate
Mate en Raspberry Pi 2

Para instalar Mate en Raspberry Pi hay que escribir en consola:

sudo apt-get update
sudo apt-get install mate-desktop-environment-extras

Cuando reiniciamos y elegimos la sesión Mate, nos encontramos con esto:

Como se puede observar, la fluidez es total. De todos los probados, este es el que mejor resultados ha dado y se podría decir que es un entorno de escritorio ideal para Raspberry Pi 2.

7.6. Maynard (Wayland)

La forma más rápida y sencilla de usar el servidor gráfico Wayland en vez de Xorg en una Raspberry Pi es a través del proyecto Maynard, un entorno de escritorio pensado específicamente para la placa que se ejecuta sobre el nuevo servidor.

La forma de ejecutarse es a través del compositor de ventanas Weston que hace uso del protocolo Wayland. Este servidor gráfico ofrece funciones de aceleración por hardware que no son posibles en Xorg, algo que ayudará en gran medida a conseguir un escritorio con animaciones fluidas con las limitadas prestaciones de una Raspberry Pi. Si quieres saber más, puedes visitar nuestra sección dedicada a Wayland.

maynard
Maynard usando Wayland-Weston en Raspberry Pi 2

En el momento de publicar esta guía, Maynard todavía no estaba dando soporte a Jessie, por lo que se va a probar en la anterior versión de Raspbian: Wheezy. Para instalarlo, tenemos que descargar un script:

wget http://raspberrypi.collabora.co.uk/setup-maynard.sh

Este script tiene un fallo que le hace entrar en un bucle infinito. Para poder ejecutarlo, primero hay que realizar una modificación:

nano setup-maynard.sh

En la linea 92 vemos este código:

if ! cat /etc/os-release 2> /dev/null | grep '7 (wheezy)' > /dev/null; then
if yes_no "Maynard was tested only on Raspbian Wheezy, do you want to continue anyway?"; then
echo
else
exit 1
fi
fi

Debemos eliminarlo. Una vez guardados los cambios, damos permisos de ejecución con este comando:

sudo chmod 777 setup-maynard.sh

Por último lo ejecutamos con:

./setup-maynard.sh

Seguimos las instrucciones y cuando se haya reiniciado, podemos ejecutar Maynard escribiendo:

maynard

Como podemos ver, el fluidez en las animaciones es total. Desafortunadamente para que los programas funcionen, tienen que tener soporte para Weston y eso reduce el repertorio de software disponible considerablemente. No obstante nos da una idea de las posibilidades gráficas 2D de la placa.

7.7. Otros entornos de escritorio

En esta guía se han visto otros entornos de escritorio, gestores de ventanas e interfaces gráficas en los siguiente apartados:

2.4. Openbox

8.1. Xfce

9.2. Kodi

8. Sistemas operativos para Raspberry Pi

En esta sección se va a probar una selección de los portes más populares, a parte de los ya vistos.

8.1. Pidora

Pidora es la edición para Raspberry Pi de Fedora. Viene con entorno de escritorio Xfce y si quieres saber más sobre este desarrollo, puede visitar nuestras entradas relacionadas con Pidora.

pidora escritorio
Escritorio de Pidora en Raspberry Pi modelo B

La instalación es la típica mostrada en el apartado 3.1. Instalación del sistema operativo. La imagen se puede descargar desde la web de la distro.

En el primer arranque se inicia un asistente donde se nos pregunta por los datos básicos que Raspbian había que introducir a posteriori:

pidora idioma
Selección del idioma en el asistente de instalación de Pidora
pidora usuario
Configuración de las credenciales en Pidora
pidora huso horario
Configuración de la zona horaria en Pidora

En el caso del redimensionado de la tarjeta SD, también se realiza en este asistente.

pidora redimensioado
Redimensionado de la partición durante la instalación

Por último se pide introducir la configuración básica de video: qué o cuáles salidas de video se van a emplear.

pidora hdmi
Configuración de la salida de video HDMI y analógica en Pidora

No es posible elegir el idioma o la resolución de la pantalla a través de este asistente. Para configurar una resolución personalizada, el procedimiento es idéntico al explicado en el apartado 3.2.1. Configuración de la salida HDMI. En ese caso tan solo hay que añadir los parámetros hdmi_group y hdmi_mode ya que no vienen incluidos por defecto.

Hay que tener en cuenta que Pidora no tiene el servidor SSH habilitado por defecto por lo que de primeras, habrá que configurarlo todo localmente. Por otra parte, tampoco trae configurado ‘sudo’, así que habrá que iniciar sesión como root usando el comando ‘su’.

pidora config
Archivo de configuración ‘config.txt’ de Pidora

Cuando reiniciemos, tendremos todo lo básico configurado y podemos empezar a usar el sistema.

8.2. OpenSUSE

Para instalar OpenSUSE no se puede usar el procedimiento del apartado sección 3.1 sino que hay que seguir estos pasos:

Primero hay que descargarse una imagen cualquiera. Cuando la tengamos, desde Linux como root escribimos esto:

xzcat imagen.raw.xz | dd bs=4M of=/dev/sdX oflag=sync

Donde X es la letra de la unidad. Ten mucho cuidado con este comando. Para más información, échale un vistazo al apartado 3.1.2. Instalación desde Linux.

Lo único que se ha obtenido ha sido una consola sin interfaz gráfica. Teóricamente debería haber aparecido un instalador pero no lo ha hecho. Parece que es un problema generalizado que no está resuelto y además parece haber problemas relacionados con la resolución y la estabilidad del servidor gráfico Xorg.

De momento no es una distribución apta para uso diario sino más bien para hacer pruebas y quizás aportar soluciones a todos los problema graves que tiene. De todas formas si quieres probar, la contraseña para el usurio ‘root’ es ‘linux’. Para saber más de esta distro, puedes pasarte por nuestra sección dedicada a OpenSUSE.

8.3. Kali Linux

Kali Linux es una distribución enfocada en las auditorías de seguridad. No está pensada para ser usada como sistema de escritorio. Tan solo se puede usar como root e incluye herramientas dirigidas a comprobar la seguridad de las redes. Si quieres saber más, puedes visitar nuestra sección dedicada a Kali Linux.

kali linux
Kali Linux en Raspberry Pi 2

La imagen se descarga desde aquí. El procedimiento de instalación es el descrito en el apartado 3.1. Instalación del sistema operativo.

Cuando hayamos arrancado, debemos usar estas credenciales:
Nombre de usuario: root
Contraseña: toor

No ha sido posible modificar la resolución ni otras configuraciones a partir del archivo de configuración config.txt. Tampoco hay documentación sobre esta distribución funcionando en una Raspberry Pi. En realidad no debería ser necesario realizar demasiadas configuraciones ya que el uso de la distro es muy concreto para tareas puntuales.

8.4. Otras distribuciones

La mayoría de las secciones de esta guía se han llevado a cabo con Raspbian, la distro más pulida para Raspberry Pi. Si quieres ver cómo son otras distribuciones, puedes visitar estos apartados donde se ha analizado el funcionamiento de otros desarrollos enfocados en la placa:

4. Ubuntu Mate

7. Raspbian

9.1. OSMC

9.2. OpenELEC

Además de estos, existen multitud de sistemas operativos entre los que elegir. Para saber más, échale un vistazo a este listado de sistemas operativos para Raspberry Pi.

9. Raspberry Pi como HTPC

Un HTPC (home theater PC) es un ordenador que se usa principalmente para la reproducción de películas y música, que está conectado a una televisión y, opcionalmente, a un sistema de audio 5.1. Raspberry Pi se ha convertido en una opción factible para cumplir con esta tarea.

Para usarlo con este fin, nos vamos a despedir temporalmente de Raspbian. Existen dos distribuciones muy conocidas para este propósito: OSMC (anteriormente conocida por Raspbmc) y OpenELEC. Ambos usan en popular reproductor Kodi (antes llamado XBMC). Si quieres saber más, puedes visitar nuestra sección dedicada a Kodi.

Ambos sistemas se instalan de la misma forma que Raspbian: nos descargamos la imagen de sus respectivas webs y la grabamos con alguno de los procedimientos explicados en la sección 3.1. Instalación del sistema operativo.

Una vez copiada la imagen, ponemos la tarjeta en Raspberry Pi y la encendemos.

9.1. OSMC

OSCM usa Kodi como reproductor pero dispone de una interfaz personalizada. La imagen se puede descargar desde su web de descargas. Es posible acceder al sistema a través de SSH, por lo que se podrán configurar ciertos parámetros manualmente. Los datos para acceder son:
· Nombre de usuario: osmc
· Contraseña: osmc

Una vez dentro, sólo tenemos que editar el archivo config.txt

sudo nano /boot/config.txt
osmc config
Archivo de configuración ‘config.txt’ de OSMC

Si por ejemplo queremos configurar las resolución manualmente, ahí añadimos los parámetros hdmi_group y hdmi_mode tal y como viene en la sección 3.2.1. Configuración de la salida HDMI.

En el video podemos ver fuidez en la navegación del menú y una reproducción adecuada de un video 1080p. Cuando se navega por el menú mientras se reproduce el video, se aprecia cierta lentitud en la respuesta.

9.2. OpenELEC

De esta distribución hemos hablado con anterioridad. Incluye también Kodi como reproductor y en esta ocasión mantiene la interfaz intacta. Si quieres saber más, puedes visitar nuestra sección dedicada a OpenELEC.

Las configuraciones más inmediatas que hay que tener en cuenta son las de la resolución de pantalla y la salida de audio.

openelec video
Configuración de la resolución en OpenELEC
openelec audio
Elección de la salida de audio en OpenELEC

En el video a continuación se puede ver una demostración de su funcionamiento:

El resultado es prácticamente idéntico a OSMC. La elección de uno u otro depende exclusivamente de los gustos estéticos de la interfaz.

10. Raspberry Pi como servidor

Una de las aplicaciones más interesantes es crear un servidor con nuestra Raspberry Pi gracias a su bajo consumo y que ofrece una potencia suficiente para tráficos reducidos.

Para montar un servidor básico, puedes seguir las instrucciones que mostramos a continuación. Si quieres un servidor más completo, puedes seguir los pasos de nuestra guía para montar un servidor en Debian. Prácticamente todos los apartados son aplicables a Raspberry Pi con Raspbian.

10.1. Servidor web

Para montar un servidor web tan solo tenemos que instalar Apache escribiendo esto en consola:

sudo apt-get install apache2 php5 libapache2-mod-php5

Una vez instalado, iniciamos el servicio escribiendo:

sudo service apache2 restart

Cuando hayamos finalizado, podemos acceder al servidor desde nuestro navegado con tan solo introducir la IP de la Raspi.

servidor web en raspberry pi
Web alojada en Raspberry Pi

Si quieres acceder desde Internet, tendrás que redireccionar el puerto 80 de tu router tal y como se ha explicado por encima en el apartado 2.5.3. Redirección de puertos en el router.

Para modificar el contenido de nuestro servidor tan solo tenemos que copiar o editar los archivos que se encuentran en /var/www aunque esto es configurable (para más información puede visitar el apartado 4.1.2. Servidores virtuales de nuestra guía para montar un servidor en Debian). Como ejemplo se va a editar con nano el archivo index.html

configuración de apache en raspberry pi

Comprobemos que los cambios han surtido efecto

servidor web funcionando en raspberry pi
Archivo index.html modificado

Ahora ya podemos construir nuestra web personal.

10.2. Servidor ftp

Un servidor ftp nos puede valer para compartir o intercambiar archivos. Para la instalación tan solo hay que escribir esto en consola:

sudo apt-get install vsftpd

Luego tendremos que modificar el archivo de configuración que se encuentra en /etc/vsftpd/vsftpd.conf:

sudo nano /etc/vsftpd/vsftpd.conf

Cambiamos anonymous_enable=YES por anonymous_enable=NO
#local_enable=YES
por local_enable=YES
#write_enable=YES por write_enable=YES

Una vez configurado hay que reiniciar el servidor con:

sudo service vsftpd restart

Con este servicio accedemos mediante FTP con los usuarios del sistema. En mi caso tan solo tengo añadido el usuario ‘pi’ por lo que desde el cliente FTP tengo el mismo poder que ese usuario en el sistema. Veamos si funciona.

servidor FTP en raspberry pi
Servidor FTP en Raspberry Pi

Ahora voy a subir un archivo:

transferencia ftp en raspberry pi
Subiendo archivo a servidor FTP en Raspberry Pi

Ahora deberíamos verlo desde el explorador web

lista de archivos ftp en raspberry pi
Lista de archivos del servidor FTP en Raspberry Pi

Ahora todo el que tenga la contraseña de esa cuenta, puede acceder a esos archivos.

10.3. Almacenamiento en la nube

Todos conocemos servicios como Dropbox o Google Drive, pero ¿sería posible montar nuestro propio servicio de almacenamiento en la nube? Es posible y, de hecho, bastante fácil. Tan solo tenemos que instalar Owncloud, una plataforma que hace esta función. Para ello tecleamos en consola:

sudo apt-get install mysql-server mysql-client php5-mysql owncloud

Una vez instalado, podemos acceder al servicio desde nuestro navegador:

owncloud en raspberry pi
Configuración de ownCloud en Raspberry Pi

Introducimos nuestros datos. En el nombre de usuario de la base de datos ponemos ‘root’ y la contraseña es la que hemos elegido en el proceso de instalación. El nombre de la base de datos puede ser cualquiera. El directorio de almacenamiento debe apuntar al dispositivo donde queremos que se almacenen nuestros archivos.

configuración de owncloud en raspberry pi
Configuración avanzada de ownCloud en Raspberry Pi

Ya podemos acceder a nuestra cuenta para configurarla y empezar a subir archivos. Quizás te resulte útil el cliente de Owncloud que permite sincronizar carpetas de su PC con su cuenta de Owncloud. Lo encontrarás en la web oficial del proyecto: http://owncloud.org/sync-clients/

11. Raspberry Pi como servidor de descargas

Una opción bastante interesante es usar Raspi como servidor de descargas usando los protocolos Bittorrent y ED2K mediante los cuales se suelen compartir, por ejemplo distribuciones Linux. Debido a los grandes tamaños de los archivos, podría resultar práctico disponer de un dispositivo de bajo consumo que se pudiera dejar conectado las 24h realizando esta tareas.

11.1. Redes ED2K y Kademlia

Probablemente sean las redes más populares y a la vez robustas. Lo primero que hacermos es instalar el cliente ‘aMule’:

sudo apt-get install amule amule-daemon

Una vez hecho esto, ya sea desde el entorno gráfico o desde SSH remotamente (véase apartado 13. Control remoto de Raspberry Pi desde SSH), ejecutamos el cliente amule escribiendo:

amule
amule en raspberry pi
aMule en Raspberry Pi

Hay que configurar el control remoto. Tenemos dos formas: con cliente GUI remoto (más rápido pero hay que instalar aMule GUI en el PC desde donde queremos controlar aMule) y/o desde navegador (más lento pero no hay que instalar nada).

configuración de amule en raspberry pi
Configuración del control remoto de aMule en Raspberry Pi

Sea cual sea el caso, introducimos la/s contraseña/s, aceptamos y cerramos aMule. Después de esto, si vamos a usar el servidor gráfico, volvemos a ejecutar aMule. Si por el contrario lo estamos haciendo todo desde SSH, ejecutamos

amuled

Recordemos que para que el demonio de aMule se siga ejecutando incluso si se cierra la sesión SSH, hay que seguir el procedimiento explicado en el apartado 2.5. Dejar iniciada una sesión SSH con ‘screen’.

ejecutar amule raspberry pi
Demonio de aMule ejecutándose en Raspberry Pi

Ahora ya podemos controlar nuestro cliente desde cualquier lugar sin más que introducir la IP de la Raspberry Pi. Desde aMuleGUI queda así:

descargar archivos con amule en raspberry pi
aMuleGUI controlando la sesión de aMule ejecutándose en Raspberry Pi

Como puedes ver, es como si el cliente estuviera ejecutándose en tu PC, pero en realidad se está ejecutando en Raspberry Pi. Si apagas tu PC, aMule seguirá haciendo su trabajo en nuestra placa.

Desde el navegador web la cosa se ve así:

control de amule desde web en raspberry pi
Control remoto de aMule desde la web

11.2. Red Bittorrent

Otro protocolo de intercambio popular es Bittorrent. Para esta tarea se usará el cliente Transmission:

sudo apt-get install transmission transmission-daemon transmission-common transmission-cli

Cuando esté instalado, paramos el servicio con:

sudo service transmission-daemon stop

y editamos el archivo settings.json

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

En él hay que modificar estas lineas:

“download-dir”: “/media/descargas” -> Carpeta o dispositivo donde van los archivos descargados

“incomplete-dir”: “/media/descargas/incomplete”,-> Carpeta o dispositivo donde van los temporales

“rpc-whitelist”: “127.0.0.1,X.X.X.X” -> IP de la Raspi

“rpc-whitelist-enabled”: false -> Habilita el control remoto por web

“rpc-username”: “nombredeusuario” , -> Nombre de usuario para acceso remoto

y por último añadimos la linea “rpc-password”: “contraseña”,

configuración de transmission en raspberry pi

Una vez guardados los cambios, volvemos a iniciar el servicio con:

sudo service transmission-daemon start

Ahora podemos acceder remotamente desde el navegador web usando la IP de nuestra Raspi junto con el puerto 9091

transmission desde la web en raspberry pi
Control remoto del cliente de Bittorrent Transmission desde la web

También podemos usar el cliente Transmission para iniciar una sesión remota usando los mismos parámetros que para la web:

descargas en transmission en raspberry pi
Cliente remoto gráfico de Transmission

12. Raspberry Pi como placa de prototipos electrónicos

El SoC Broadcom BCM2835 dispone de numerosos pines de entrada/salida de propósito general (GPIO) que proveen de un puerto SPI (puerto serie), un puerto I²C, salidas PWM y salidas/entradas digitales.

guía raspberry pi

Estos pines nos permitirán comunicarnos con otros dispositivos TTL de forma directa como puede ser Arduino y microcontroladores varios sin contar que sobre ellos se pueden conectar dispositivos directamente como LEDs, transistores, relés, etc.

Las posibilidades son infinitas así que se van a ver un par de ejemplo sencillos usando los pines GPIO como salidas digitales conectadas a leds.

En primer lugar hay que encontrar la forma de conectar de forma segura los pines con los LEDs. En mi caso he empleado el bus para disketera junto con una protoboard

prototipo electrónico con raspberry pi
Conexión de un led a Raspberry Pi

Hay que tener en cuenta que estos pines no están protegidos, por lo que un error en su conexión puede suponer la destrucción del SoC.

12.1. Control mediante la consola

En Internet existen muchos ejemplos en distintos lenguajes de programación en los que se controlan las salidas GPIO. Los alguna vez hayan usado Arduino, después de aprender algunos conceptos, se sentirán como pez en el agua.

Aquí tan solo se van a hacer un par de ejemplos sencillos para mostrar las capacidades de la placa y la forma más inmediata es mediante órdenes en la consola. En el ejemplo nos vamos a comunicar directamente con el Kernel, pero existen utilidades que simplifican la sintaxis de los comandos como WiringPi.

En primer lugar nos identificamos como ‘root’ con:

sudo -i

En este ejemplo se va a controlar el pin 4 que encenderá y apagará un LED. Como en otras plataformas, lo primero es declarar los pines y especificar si se va a tratar de una entrada o una salida. Declaración del pin 4:

echo "4" > /sys/class/gpio/export

Pin 4 como salida:

echo "out" > /sys/class/gpio/gpio4/direction

Ahora ya sólo queda enviar la orden de encendido:

echo "1" > /sys/class/gpio/gpio4/value

Y para apagarlo

echo "0" > /sys/class/gpio/gpio4/value

10.2. Control mediante web

Se va a mostrar una utilidad web que permite el control desde Internet de los pines de entrada y salida. Para ello se va a emplear una plataforma llamada webiopi. Para instalarla seguimos estos pasos:

Descargamos WebIOPI desde su página de descargas.

tar xvzf WebIOPi-0.5.3.tar.gz
cd WebIOPi-0.5.3
sudo ./setup.sh

Cuando haya finalizado la instalación, ejecutamos el servidor con

sudo python -m webiopi puerto

Si no se especifica el puerto se usará 8000.

Ahora ya podemos acceder desde el navegador web con la dirección http://192.168.0.100:8000/webiopi/

El nombre de usuario es webiopi y la contraseña es raspberry

webiopi en raspberry pi
WebIOPi en Raspberry Pi

Y aquí empieza el control:

13. Control remoto de Raspberry Pi desde SSH

SSH es un protocolo que presenta multitud de posibilidades además de la posibilidad de manejar la consola de un sistema remoto. Además de eso, podemos ejecutar aplicaciones gráficas remotamente monstrándose la ventana de la misma en nuestra máquina local. Esto es gracias al protocolo X y será especialmente fácil en sistemas Linux. Por otra parte se nos presenta la posibilidad de manipular el sistema de archivos de los dispositivos conectado a la Raspberry Pi como si estos estuvieran conectados a nuestro ordenador. Con estas posibilidades junto con los clientes remotos de las distintas aplicaciones que se han visto antes, tendremos un control total sobre nuestra placa estemos donde estemos mediante un protocolo seguro y rápido.

13.1. Consola desde SSH

Lo primero que tenemos que hacer es conectar la placa a nuestro router. Si estamos en Windows tendremos que decargar un cliente SSH como Putty. Si estamos en Linux podemos conectarnos directamente escribiendo en la consola

ssh pi@192.168.0.100

donde 192.168.0.100 es la IP de Raspberry Pi que dependerá de la configuración de nuestra red. Para que esto funcione hay que tener activado el servicio DHCP en nuestro router. Cuando Raspbian haya cargado, nos vamos a la tabla DHCP del router y consultamos la IP que el servidor le ha dado a nuestra placa. Las direcciones IP suelen tener raíz 192.168.0.x ó 192.168.1.x. Habitualmente, el servidor DHCP de los router empizan a asignar la dirección 192.168.x.100. Dependiendo del número de dispositivos conectados, ese número puede aumentar. Lo mejor es que vayas probando hasta que lo encuentres, no debería ser demasiado alto.

La contraseña es raspberry.

configuración raspberry pi
Sesión SSH en Raspberry Pi

11.2. Ejecución remota de programas gráficos

Imagina que quieres ejecutar un gestor de archivos como Pcmanfm, el gestor de LXDE que viene por defecto con LXDE y por lo tanto con Raspbian. Lo único que tenemos que hacer es acceder mediante SSH a Raspberry Pi usando el modificador -x:

ssh -x pi@192.168.0.100
programas gráficos remotos en raspberry pi
Sesión SSH en Raspberry Pi con soporte para protocolo X

Una vez dentro tecleamos el nombre del programa, para nuestro ejemplo pcmanfm, se nos abrirá en nuestro ordenador una ventana con el gestor de archivos.

pcmanfm por ssh en raspberry pi
Gestor de archivos de Raspberry Pi mostrado remotamente en nuestro PC

Puediera parecer que esa aplicación se está ejecutando en nuestro PC pero nada más lejos de la realidad. Lo que vemos no es más que un “reflejo” de lo que se está ejecutando en el Raspi: las carpetas, archivos y dispositivos que se ven en el gestor de archivos son los de nuestra placa y cada vez que hacemos clic en cualquier elemento, es Raspberry Pi la que está procesando las peticiones.

El único inconveniente es que en ciertas situaciones (y con bibliotecas pesadas como las QT) puede requerir una gran cantidad de ancho de banda por lo que no siempre será práctico ejecutar la aplicaciones de esta forma si estamos accediendo vía Internet.

13.3. Gestión remota de archivos

Para ciertas aplicaciones puede resultar muy útil manipular de forma remota los archivos y carpetas de los distintos dispositivos de almacenamiento conectado a nuestra placa. En este caso se va a emplear como ejemplo el gestor de archivos para KDE: Dolphin ya que incluye la posibilidad de navegar usando distintos protocolos, pero se podría haber usado cualquie otro con esas características. Dolphin también está disponible para Windows en el portal del proyecto KDE para el sistema de Microsoft (http://windows.kde.org/).

Tan solo tenemos que configurar un acceso directo a Raspberry Pi mediante el cual podremos hacer cualquier gestión con los archivos, desde renombrarlos hasta copiar contenido desde el PC local a la placa

gestión de archivos en raspberry pi
Credenciales para acceder al sistema de archivos de Raspberry Pi a través de FISH

Toda la comunicación se realizará con SSH por lo que tendremos que introducir nuestro nombre de usuario y contraseña.

gestión de archivos remota en raspberry pi
Árbol de directorios de Raspberry Pi desde Dolphin en un PC remoto

Gracias a este sistema, nos podremos mover por la interfaz con total soltura y con un consumo de ancho de banda mínimo siempre que no hagamos transferencias.

13. ¿Qué más puedo hacer con Raspberry Pi?

Una de las grandezas de los sistemas basados en Linux, es que gracias a su código abierto se puede compilar para prácticamente todas las arquitecturas existentes. Eso quiere decir que nuestro sistema será igual en una máquina x86, que en una plataforma ARM. Eso traducido a las posibilidades de la Raspi significa que casi todo lo que se puede hacer en Linux (y en Debian para ser más concretos), se puede hacer en Raspbian.

Por otra parte hay que tener en cuenta la ingente cantidad de documentación que existe sobre Debian, casi toda ella disponible en español. Por lo que una vez que hemos hecho las operaciones básicas, tan solo tenemos que buscar cómo hacer lo que queramos hacer con nuestra placa en alguna guía para Debian y siguiendo los mismo pasos, lo conseguiremos.

Durante el desarrollo de las pruebas han quedado claras las limitaciones del hardware lo que ha impedido hacer ciertas cosas, pero Raspbian es un sistema en continuo desarrollo y con cada actualización se van añadiendo funciones y correcciones de fallos.

En resumen, si por ejemplo quieres montar un servidor SAMBA para compartir las carpetas de Raspberry Pi con PCs con Windows tan solo tendrás que encontrar la forma de hacerlo en Debian (consulta nuestra guía para montar un servidor en Debian). ¿Que quieres rehacer la tabla de particiones de los discos duros conectados a las Raspi? Encontraras decenas de guías explicando cómo hacerlo en Debian.

Y con esto en mente resulta fácil darse cuenta de que las posibilidades de Raspberry Pi son prácticamente ilimitadas.

14. Referencias

http://belinuxmyfriend.blogspot.com.es/2012/07/raspberry-pi-para-novatos.html

http://ieeesb-uniovi.es/talleres-charlas/linux/raspberry-pi/

http://elinux.org/RPi_config.txt

http://packages.debian.org/es/squeeze/iceweasel

http://wiki.debian.org/Chromium

http://fraterneo.blogspot.com.es/2011/10/cambiar-idioma-de-libreoffice-espanol.html

http://packages.debian.org/search?keywords=file-roller

http://linuxgnublog.org/el-gimp-en-espanol/

http://raspi.tv/2012/using-screen-with-raspberry-pi-to-avoid-leaving-ssh-sessions-open

http://www.wikihow.com/Make-a-Raspberry-Pi-Web-Server

http://www.instructables.com/id/Raspberry-Pi-Web-Server/step9/Install-an-FTP-server/

http://www.raspberrypi.org/phpBB3/viewtopic.php?t=13345

http://www.diverteka.com/?p=899

http://www.tiaowiki.com/w/Install_NX_Server_on_Raspberry_Pi

http://www.kriptopolis.org/qemu

http://elinux.org/RPi_Low-level_peripherals

http://webiopi.trouch.com/

http://serverfault.com/questions/550855/how-to-add-debian-testing-repository-to-apt-get

https://bhavyanshu.me/tutorials/force-raspberry-pi-output-to-composite-video-instead-of-hdmi/03/03/2014/

https://github.com/raspberrypi/maynard/wiki

https://discourse.osmc.tv/t/username-and-password-for-ssh/589

https://wiki.debian.org/SourcesList

http://perlgeek.de/en/article/set-up-a-clean-utf8-environment

56 comentarios en “Guía de Raspberry Pi 2 y Raspberry Pi 3

  1. Gracias por la guía, es lo mas útil que he leído en este periplo que empiezo para conocer la Raspberry Pi que acaba de caer en mis manos.
    Me gustaría saber si es posible tener un uso no exclusivo con XBMC, poder tener instalado Raspbian que lo encuentro completo, y poder ejecutar XBMC cuando haga falta, cerrar cuando no se use, arrancar emule, etc…

    1. Raspberry Pi tiene el chip gráfico VideoCore IV 3D de Broadcom cuyos controladores, hasta el momento, han permanecido con el código cerrado. Eso quiere decir que resulta difícil sacarle todo el jugo ya que los desarrolladores no saben cómo funciona. De momento, no es posible hacer lo que comentas. Esta situación ocurre también en aplicaciones que necesitan un uso intensivo de la aceleración 3D como Open Arena.

      Afortunadamente hace unos días, el director técnico de Broadcom anunció que se liberaría el código de los controladores así como se puso a disposición de los desarrolladores toda la documentación acerca del chip gráfico de Raspberry Pi. Eso significa que de aquí a unos meses empezarán a verse grandes avances en apartado gráfico de la placa y muy probablemente, dentro de no mucho, sea posible ejecutar aplicaciones que requieran el uso de decodificación de video o aceleración 3D junto con otras aplicaciones de escritorio.

    2. Muy completo el tutorial, pena que no llegase un año antes… Para quien empiece con la Pi se alegraran de encontrarlo, aun asi me han sido muy utiles un par de cosillas.
      Al respecto de la instalacion de XBMC sobre Raspbian, ya es posible, aunque la respuesta es tediosamente lenta comparada con OpenELEC. Para quien quiera probarlo ahi queda como hacerlo,

      sudo nano /etc/apt/sources.list

      En este archivo añadimos el siguiente repositorio:

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

      Actualizamos con :

      sudo apt-get update y sudo apt-get upgrade

      Añadimos el key del repositorio con:

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

      E instalamos con:

      sudo apt-get install xbmc

      Para que funcione correctamente ejecutamos:

      sudo raspi-config

      En el menu opcion 8 Advanced Options > Memory Split y le damos un valor de 128, para que dedique mas memoria a la grafica.

      Tras esto reiniciamos la Pi:

      sudo reboot

      Para ejecutarlo con el siguiente comando, en terminal y sin sesion grafica:

      sudo /usr/lib/xbmc/xbmc.bin

      Y con eso teneis corriendo el xbmc.

      Un saludo

  2. Hola.
    Tremenda guía, es la pera, muy buen trabajo.
    Yo también estoy mirando de comprar un raspberry pi para cacharrear.
    Tengo unas preguntillas, a ver si podéis ayudarme.
    Objetivo: Remplazar el PC que está 24horas trabajando por un raspberry pi.
    Preguntas:
    Se puede hacer esto:
    – Configurarlo como media center XBMC (Esto tengo claro que sí)
    – Configurarlo como descargas con torrent (Esto tengo claro que también)
    – Configurarlo como descargas tipo JDownloader o MyPony (No sé si se puede)
    – Configurarlo como servidor de archivos (Esto he leido que sí)
    – Hacer las 3 cosas a la vez sin cambiar el S.O. (No sé si se puede)
    – Tener 24horas/365días encendido el raspberry pi (No sé si es posible o se va a fundir)

    Principalmente la idea es ahorrar energía y mantener lo mismo que tengo ahora en un PC 24h/365dias enchufado. También utilizarlo para ver las películas/series, que ahora lo hago con una PS3 trucada con Showtime pero me temo que este método consume mucha energía.

    Muchas gracias por vuestras respuestas.
    Un gran abrazo.
    Kalko.

    1. JDownloader es un programa que se ejecuta sobre una máquina virtual Java, por lo que no debería haber problemas en usarlo en Raspberry Pi. El único requisito es usar la raspi conectada a un monitor o televisión, o en su defecto, controlarla mediante VNC ya que es un programa gráfico.
      MyPony por el contrario no es posible usarlo en Raspberry Pi. La razón es que es un programa propietario (el código fuente no es público) y el desarrollador lo ha compilado sólo para Windows x86.

      No hay problema en tener la raspi conectada las 24 horas. No se va a fundir. Si va a estar en un ambiente caluroso, es recomendable no encerrarla en una caja completamente sellada.

      Sobre usar XBMC sin tener que reiniciar, un usuario más arriba ha explicado una serie de pasos para conseguirlo. No lo he probado aún por lo que no te puedo asegurar que ese método funcione.

  3. Hola, felicidades por la guía, quería hacer una pregunta, quisiera controlar que máquinas están trabajando en nuestra fábrica, es posible que al arrancar la máquina me envíe una señal a la tarjeta Raspberry Pi y esta me lo muestre en una pantalla, sería una pasada para integrarlo en el mantenimiento, gracias y un saludo.

  4. Hola muy buena esta guía, me voy a comprar esta tarjeta y a ver que puedo hacer, suelo trabajar haciendo bases de datos en la empresa que trabajo, filemaker y sql, me han pedido si con esta tarjeta podría controlar cuando para un motor de un compresor. Sería posible que la Raspberry-pi recibiese una señal y me avisara al móvil para que no pare el compresor, sería una pasada, gracias.

  5. Excelente aporte al conocimiento colectivo. Tenemos un equipo de 4 profesionales, que desarrollamos un proyecto para aplicarse al sector Educativo de la Republica Dominicana, y agradecemos algunas de las informaciones que encontramos en esta publicacion.

  6. Hola, para los que tengáis descargando día y noche os servirá este script de mi cosecha:

    Lo que hace es cambiar la velocidad de subida / descarga en el fichero y reiniciar el servicio, nos ahorra de tener que cambiarlo nosotros, si tenéis más velocidad o menos de la que os pongo ahí, adaptarla.

    Para que encuentre las variables, debéis poner las que tengáis en 150 y 40

    #!/bin/sh
    # scipt para activar i desactivar la velocidad máxima de transmission por raul-cabe
    case “$1″ in
    start)
    {
    service transmission-daemon stop;
    sed -i ‘s/speed-limit-down”: 150/speed-limit-down”: 800/g’ /etc/transmission-daemon/settings.json;
    sed -i ‘s/speed-limit-up”: 40/speed-limit-up”: 150/g’ /etc/transmission-daemon/settings.json;
    service transmission-daemon start;
    }
    ;;
    stop)
    {
    service transmission-daemon stop;
    sed -i ‘s/speed-limit-down”: 800/speed-limit-down”: 150/g’ /etc/transmission-daemon/settings.json;
    sed -i ‘s/speed-limit-up”: 150/speed-limit-up”: 40/g’ /etc/transmission-daemon/settings.json;
    service transmission-daemon start;
    }
    ;;
    esac

    escribir este fichero en /bin/ y darle permisos de escritura “chmod +x /bin/turbo_transmission”

    en /etc/crontab, añadimos las reglas en las horas que menos tráfico tendremos per ejemplo de una a nueve de la mañana:

    0 1 * * * root /bin/turbo_transmission start
    0 9 * * * root /bin/turbo_transmission stop

    Saludos

    1. Desde el punto de vista estrictamente técnico, en principio no deberías tener problemas para instalar Bigbluebutton en Raspberry Pi (no te lo puedo asegurar porque no lo he probado) pero tendrás que compilarlo desde las fuentes para ARM ya que el paquete que ofrecen está compilado para x86 de 64 bits. Por otra parte, los requisitos de hardware superan con creces lo que ofrece Raspberry, por lo que te vas a quedar bastante corto en este aspecto.

      Si lo quieres instalar para experimentar, puedes intentarlo. Si lo quieres para uso diario, Raspberry Pi no te sirve ya que no cumple con los requisitos de hardware para ofrecer un servicio fluido.

  7. Buenos días y te agradezco por esta magnifica guía, muy pero muy útil.

    Mi pregunta, no encuentro una explicación clara de como conectarse a distancia vía Internet, desde otro país por ejemplo, se que podría hacerlo con dyndns pero ignoro los pasos correctos, de antemano, gracias por tu ayuda,

    Amigablemente,

    Ignacio

  8. Hola.
    Antes de nada quiero felicitarte por este estupendo post.
    Tengo un problema con omxplayer y no sé si podrás ayudarme. Mi problema es el siguiente. Todo funciona bien, reproduce todo tipo de videos y todo funciona con fluidez, PERO el problema es que necesito que cambie la velocidad de reproducción y no lo consigo de ninguna manera. Cuando está reproduciendo y pulso las teclas 1 y/o 2 en pantalla indica que la velocidad de reproducción aumenta o disminuye (1.125, 1.000, 0.950, 0.750, …) pero en realidad la velocidad de reproducción no cambia lo más mínimo. Si me puedes ayudar te lo agradecería ya que de ello depende poder usar un Raspberry Pi para un proyecto o tener que olvidarnos de dicho hardware y pensar en algo más grande.
    Gracias!

  9. Enhorabuena. Menuda currada te has pegado.

    Gracias por estas “pistas” que me han permitido arrancar en la Raspberry.

    De momento solo me he encontrado un pequeño bache en la ejecucion de mi proyecto, y quizas me puedas dar alguna pista.
    No consigo instalar Wine. No hay ningun repositorio similar al de Ubuntu?

    Muchas gracias y enhorabuena.

    1. Hasta donde sé, los repositorios para ARM de Ubuntu están compilados para ARMv8 de 64 bits mientras que el SoC de Raspberry Pi es ARMv6, así que en principio sus repositorios no son compatibles con la placa.

      De todas formas Wine es un programa que sirve para ejecutar aplicaciones de Windows compiladas para x86 en Linux por lo que una compilación para ARM de la herramienta no permitiría ejecutar los programas de Windows sobre una Raspberry Pi.

      Un saludo.

  10. Soy unNOVATO elevado al X
    Estoy muy interesado en la raspberry el control de los GPIO,s por web
    estoy intentando loas magificas explicaciones pero no paso de yo diria de descomprimir
    o ejecutar algo que dices que tengo que cargar.Me que la opcion f no se usa,no se que quiere decir:
    tar xvzf WebIOPi-0.5.3.tar.gz

    Muchas gracias

    1. Saludos.
      cual rp tienes? por lo que he leido con la rbp 1 no deberias tener problemas, pero con la rbp2 los cables de video de 2,5 mmm a vga no funcionan hay que hacer unas modificaciones a los cables, en youtuve hay varios videos.

  11. # Please note that this file is written to be used with dhcpcd.
    # For static IP, consult /etc/dhcpcd.conf and ‘man dhcpcd.conf’.

    auto lo
    iface lo inet loopback

    auto eth0
    allow-hotplug eth0
    iface eth0 inet manual

    auto wlan0
    allow-hotplug wlan0
    iface wlan0 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

    auto wlan1
    allow-hotplug wlan1
    iface wlan1 inet manual
    wpa-conf /etc/wpa_supplicant/wpa_supplicant.conf

    como colocar IP Manual ?

  12. Buenas tardes estoy teniendo un pequeño problema al intentar conectar a mi raspberry desde el programa vnc viewer ya que me deniega la entrada utilizando un host de la pagina no-ip, e incluso intentandome conectar desde mi red local tampoco me deja desde el mismo programa.
    En cambio si me meto desde escritorio remoto de windows me entra sin ningun problema, alguien podria hecharme una mano.
    Un saludo.

    1. ¿De qué forma te conectas con escritorio remoto de Windows a Raspberry Pi?

      Pueden ser varias cosas; desde que hayas habilitado algún cortafuegos en Raspberry Pi hasta que tu router no te permita acceder desde la IP pública desde la red local. ¿Has probado usando la IP local de la Raspberry Pi en vez del subdominio de no-ip?

  13. hola, gracias por este grandioso aporte, soy muy nuevo en el mundo de la raspberry pi 2, tengo un problema, trato de enviar a mi celular unos codigos de barras leidos con un scanner honeywell 9520 pero no se que hacer, cuento con el bluetooth HC05, es posible? o debo tener el Raspberry pi 3 y por wifi ligados entre si (celular android y RP), no cuento con mucho dinero para este proyecto, uds me pueden ayudar?

  14. Hola,
    Tengo una raspberry pi modelo b y me gustaria conectarle un teclado midi roland PC200-MKII. Tengo una tarjeta de sonido externa que quiero usarla para ello ya que tiene conectores midi DIN de 5 contactos. La cuestion es que con lsusb, la detecta pero no que mas habria que hacer para hacerlo sonar. Creo que deberia descargar un programa linux que sea compatible para la raspberry, alguien sabe de algo que pueda servirme ? y donde encontrarlo, instalarlo, etc ?

Deja un comentario