El Raspberry Pi es un pequeño dispositivo (más o menos como una tarjeta de crédito) pensado para la enseñanza de programación, con puertos HDMI y USB. Pero al poder instalar Linux se puede utilizar para casi cualquier proyecto en el que no se necesite una gran potencia de procesador. Pese a ello lleva un procesador ARM a 700MHz y una GPU capaz de decodificar vídeo a 1080p y compatible con OpenGL. En la Wikipedia hay mucha más información sobre el hardware y la fundación detrás del Raspberry Pi.
Aquí nos vamos a centrar en la instalación y configuración básica para poder utilizar el rasPi para casi cualquier cosa.
Instalación
Antes de encender por primera vez habrá que instalar una distribución preparada y copiarla en la tarjeta SD. En la web oficial hay unas cuantas distribuciones listas para utilizar. Usaremos Debian por ser la más versátil.
Para copiar el archivo ZIP en la tarjeta SD nos bajaremos el Win32DiskImager (enlace en la web de descargas oficial) y si estamos en Linux instalamos de los repositorios el ImageWriter. Ambos programas permiten elegir el fichero bajado y copiarlo en la tarjeta SD. Son bastante intuitivos, pero si tienes alguna duda aquí están todos los pasos bien explicados.
Encendido por primera vez
Para empezar necesitaremos lo siguiente (Información extendida):
- Raspberry Pi 🙂
- Cargador de móvil con micro USB (5V y > 700mA).
- Cable HDMI conectado a una pantalla.
- Ratón y teclado USB conectados.
- Tarjeta SD (mínimo 2GB).
- Cable de red (con IP dinámicas activadas).
Una vez que lo hayamos configurado todo, lo único que necesitará es la alimentación de 700mA, todo lo demás dependerá para el uso que le demos ¿controlará un robot, servidor web (cable de red), reproductor multimedia (teclado+HDMI)…?.
Si queremos ver los pasos seguidos hasta ahora con capturas de pantalla recomiendo el nº2 de la revista MagPi (páginas 4 a 9).
Para configurar la pantalla y algún detalle más se hace con el fichero «config.txt» de la carpeta /boot/ que es accesible desde cualquier ordenador (por defecto el fichero no existe), un poco más adelante profundizaremos en este asunto.
Primeros comandos de Linux
Antes de seguir vamos a definir algún concepto básico:
- sudo => Al poner esto al principio de un comando estaremos ejecutando el mismo con privilegios de administrador, ¡cuidado cuando lo ejecutemos!
- # => Carácter de escape para los comentarios (igual que el // de C)
- ssh pi@192.168.2.107 => Conexión remota al ordenador en la IP 192… con el usuario «pi«, una vez establecida la conexión (pedirá usuario y contraseña) se podrá ejecutar los comandos de la consola de Linux desde el otro ordenador como si estuviéramos usando el teclado del Raspberry Pi (es algo común a todos los Linux). En windows el programa más usado es el Putty (web oficial, descarga directa para windows).
- Para saber más podemos buscar «comandos linux» (ejemplo, otro más completo). Algunos de los más útiles son: mv (mover), rm (borrar), ls (listar contenido carpeta), y nano (editor de textos).
Ahora supongamos que ya hemos instalado la SD y encendido el Raspberry Pi. Tras unos minutos que tarda en configurarse nos pedirá el usuario/contraseña (en Debian será pi/raspberry). Comencemos a hacer cosas:
Activar el SSH, para poder conectarnos desde otro ordenador:
sudo service ssh start sudo insserv ssh
Cambiar la contraseña, que por defecto será «raspberry«:
sudo passwd pi
Apagar desde la consola (aunque al final tendremos que desconectar la alimentación):
sudo shutdown -h now
Espacio disponible en la tarjeta SD:
df -h
Configuración del hardware
Editar el fichero de inicio (ya hemos visto antes para qué servía, y el sitio con la documentación):
sudo nano /boot/config.txt
De lo más importante (MUY recomendable visitar la explicación extendida) a escribir en el fichero será:
sdtv_mode=2 # Salida analógica en formato PAL (el europeo) hdmi_group=2 # Tipo de salida HDMI (1 por defecto): 1=CEA y 2=DMT hdmi_mode=16 # Resolución de salida (depende del anterior)
Para saber qué formatos admite nuestra pantalla (es decir, los valores que podemos poner en hdmi_mode) ejecutaremos los siguientes comandos en la consola:
/opt/vc/bin/tvservice -m CEA /opt/vc/bin/tvservice -m DMT
Y para saber cuál es el modo que tenemos actualmente activado:
/opt/vc/bin/tvservice -s
Entorno gráfico
Para usar un entorno gráfico (es decir, usar el ratón) ejecutaremos este sencillo comando:
startx
Si queremos que se inicie automáticamente podremos hacer lo siguiente:
sudo nano /etc/profile
Y añadir al final del archivo añadir una línea nueva que ponga «startx» (sin las comillas).
Si además queremos que no pida el usuario/contraseña al iniciarse podemos seguir los pasos de esta web y veremos a continuación:
sudo nano /etc/inittab
Buscar el siguiente texto y añadir un # delante de ella:
1:2345:respawn:/sbin/getty 115200 tty1
Para finalizar, escribiremos lo siguiente debajo de la línea que acabamos de comentar:
1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
Pulsamos Control+X (para salir) y confirmaremos que sí queremos guardar los cambios.
Proxy
Para configurar el Proxy, imprescindible en la red de la Universidad de Oviedo, haremos lo siguiente:
sudo nano /etc/bash.bashrc
Y añadimos al final:
export http_proxy=http://proxy.uniovi.es:8888/ export ftp_proxy=http://proxy.uniovi.es:8888/
Cerramos el fichero con Control+X.
Instalación de programas
La forma de proceder siempre será actualizar los paquetes, instalar las actualizaciones y luego instalar. Podemos instalar directamente si durante ese día ya hemos comprobado las actualizaciones:
sudo apt-get update sudo apt-get upgrade
(si existen actualizaciones diremos que sí queremos ejecutarlas).
Y el siguiente comando es para instalar un programa:
sudo apt-get install XXXXX
Siendo XXXXX el nombre del programa a instalar.
NOTA: Si tenemos una tarjeta SD de menos de 3GB nos convendrá ejecutar «sudo apt-get clean» cada pocas instalaciones, pues nos ahorraremos unos 150-200 de megas. Si por el contrario, tenemos más de 1GB libre en la tarjeta no es necesario ejecutarlo nunca.
Españolizando el Raspberry Pi
Por defecto todo viene en inglés y los símbolos también estarán cambiados. Por ejemplo, el guión «-» se encontrará justo a la derecha del 0 (y el = a continuación), el # se encuentra en el número 3 ¡y nuestra querida eñe no está! Para solucionarlo ejecutaremos los siguientes pasos:
sudo dpkg-reconfigure keyboard-configuration
Yo elegí el que marca por defecto (genérico de 105 teclas), pero si conocemos el modelo de nuestro teclado podemos buscarlo en la lista, una vez elegido pulsamos ENTER para continuar. El «keyboard layout» a elegir se encuentra en «other // Spain // Spain«. Respecto al AltGr escogemos «The default for the keyboard layout» y en lo referente al Control+Alt+Retroceso recomiendo decirle que SÍ queremos asignarle la combinación de teclas (nos será muy útil si se cuelga el sistema gráfico). ENTER para finalizar.
sudo setupcon
Con este sencillo comando conseguimos que el arranque se efectúe rápido (en caso de no ejecutarlo el arranque se ralentiza llegando a tardar hasta 1 minuto extra mientras está en «Setting up console font and keymap«). Este comando hay que ejecutarlo siempre que reconfiguremos el teclado.
sudo dpkg-reconfigure tzdata
Aquí se elige el uso horario, el nuestro será Europe//Madrid. Usaremos las flechas para marcar y el ENTER para aceptar.
sudo dpkg-reconfigure locales
Idioma español. Elegimos es_ES.UTF-8 (pulsando espacio para que aparezca un *), y le quitamos el * al que pone en_GB. Con ENTER aceptamos para seguir. Ahora elegimos es_ES (con las flechas, marcándolo en rojo) y terminamos con ENTER.
Finalizando
Ahora ya podremos utilizar el Raspberry Pi para lo que fue concebido originalmente (enseñar a programar, principalmente en Python, a alumnos de primaria y secundaria) pero también «jugar» con Linux sin miedo, pues como hemos visto la instalación es muy sencilla, y no perderemos ningún dato de nuestro ordenador personal si metemos la pata.
Las posibilidades de este «chisme» son casi infinitas, desde una webcam WiFi económica, hasta de servidor web, pasando por un brazo robótico avanzado y sin olvidarnos del HDMI y su capacidad de reproducir vídeos hasta 1080p ¿alguien ha dicho reproductor multimedia? ¿o qué tal una máquina recreativa?.
En los foros oficiales (en inglés, por supuesto) se encuentran miles de ideas y proyectos ya empezados. También en eLinux.org hay mucha documentación sobre el Raspberry Pi.
Extra
He publicado en mi Blog personal un manual para convertir el Raspberry Pi en un servidor web casero para alojar nuestra página web (siendo más económico que un hosting convencional).
Me ha sido muy útil tu trabajo, muchas gracias.
¡Da gusto!, conciso y claro; lo expuesto libra de muchas horas de frustración para aquellos, como yo, con poco conocimiento de linux.
Doy por hecho que lo que se indica en «Españolización de Raspberry Pi» deja a la máquina para que el siguiente arranque sea automático en español ¿no?.
¿Alguna recomendación para abrir sesiones gráficas desde windows?. Utilizo SSH a través de puTTY pero no se como acceder al entorno gráfico.
Exactamente: tras ejecutar la «españolización», y reiniciar, los menús de los programas aparecerán en español. He de añadir que la nueva versión de Debian incluirá un pequeño asistente de configuración inicial, que entre otros, ejecutará de forma más sencilla algunos de los pasos descritos en este manual pudiendo «españolizar» el sistema desde el primer arranque así como la activación del SSH.
Por otro lado, aún no he conseguido el arranque automatizado para sesiones gráficas (aunque sí que funcionen de forma manual siguiendo los pasos de: http://elinux.org/RPi_VNC_Server) pero aún no que se inicien correctamente con el arranque del sistema (cuando lo consiga haré un segundo artículo explicándolo).
Comparto la opinión de todos, preciso, claro y conciso. Muchas gracias.
Hola, he seguido los pasos que incicas y he consguido que todo funcione bastante bien, pero al intentar instalar cualquier programa, me pide la contraseña del «superusuario» y aunque he probado todas no me deja hacer nada de nada. Alguna sugerencia , gracias por adelantado.
Siento no poder ayudarte, en otras distribuciones de linux es normal que pregunte la contraseña para instalar. Pero la versión de Debian que lleva el Raspberry no solicita contraseña (recordar que la contraseña de root por defecto es «raspberry»).
Para instar instalar los programas hay que poner «sudo» delante:
sudo apt-get install NombreDelPrograma
Hola, tenía el mismo problema que tú, la solución es establecer la contraseña, ejecuta:
sudo psswd
Te pedirá la contraseña y le pones la que quieras.
un saludo
Muchass gracias a los dos lo probare esta tarde y os comento
De nuevo muchas gracias a todos, lo probe ayer por la tarde y perfecto, ya me deja instalar etc..
Hola.
Muchas gracias por todos los pasos, me han sido de gran ayuda.
Hay un punto en el que todavía no he conseguido hacer que funcione correctametne… Se trata de mi televisor. No consigo que se vea en color y hacerlo en blanco y negro es bastante molesto.
Tengo un televisor viejo así que lo tengo que conectar a través del cable RCA, alguien podría ayudarme indicandome cual es la correcta configuración para este tipo de televisores?
Es muy posible que modificando adecuadamente la opción sdtv_mode del fichero config.txt se solucione el problema (todas las sdtv_xxxxx se refieren a la salida del RCA). En esta página están todas las combinaciones posibles: http://elinux.org/RPi_config.txt
Muchas gracias.
Intentaré probar convinatorias de estos 3 parámetros sdtv_xxxxxx estos días. Espero que se solucione
De nuevo gracias.
Hola a todos llevo unos días utilizando la Raspberry pi porque la voy a utilizar para un proyecto de fin de carrera. Me gustaría saber como puedo reproducir audio, ya tengo instalado un reproductor de audio llamado Clementine, la Raspberry está conectada a un proyector a través de un cable HDMI y por último tengo unos altavoces conectado a la salida de audio del proyector. Mi problema es que cuando reproduzco un archivo de audio en Clementine no se escucha.
Hola Jaime.
Es muy posible que algún cambio en el fichero de config.txt (de la partición /boot) solucione tu problema.
Por ejemplo, con un adaptador HDMI=>VGA que yo tengo me basta con poner en ese fichero:
hdmi_drive=2
Pero mi consejo es que lo pruebes hasta dar con la combinación adecuada a tu pantalla.Toda la información sobre el fichero se encuentra en: http://elinux.org/RPi_config.txt
Hola.
Muchas gracias por contestarme, pero he probado eso y sigue sin escucharse nada. Me da la sensación que le falta algún controlador o alguna librería por instalarle. De todos modos gracias por el aporte.
Hola Jaime puedes decirme como solucionaste ese problema del audio, yo tengo el mismo.
Aún no me ha llegado la Pi así que solo te puedo hablar desde mi experiencia con Linux… que quede claro…
Si tu proyector conecta por HDMI seguramente tendrá altavoces integrados… mira en el mando a distancia si hay un control de salida de volumen… se supone que el cable HDMI porta no solo el vídeo, si no también el audio…
¿Dónde tiene que estar el programa para que lo instale?
Hola Borja.
Para descargar la imagen del disco es en la sección «Downloads» de la web oficial: http://www.raspberrypi.org/downloads y si estás en Windows se necesita un programa llamado Win32DiskImager (el enlace también está en ese mismo lugar).
Y si quieres más ayuda en el wiki de eLinux está mucho más detallado: http://elinux.org/RPi_Easy_SD_Card_Setup
¡Muchas Gracias!
Disculpa por mas que trato de encontrar la linea de comando:
1:2345:respawn:/sbin/getty 115200 tty1
en mi /etc/inittab no lo encuentro… estoy utilizando la versión mas actual del Raspbian que seria: 2013-09-25-wheezy-raspbian y me preguntaba si es de diferente forma hacer que arranque mi raspberry sin el login o cambiaron de archivo esa forma de iniciar el raspberry :c?, espero me puedas ayudar.
Por que la linea que mas se llega a aparecer a esa, es esta:
T0:23:respawn:/sbin/getty -L ttyAMA0 115200 vt100
Esa información tiene un año, actualmente cambiar el modo de inicio es mucho más sencillo, ejecuta «sudo raspi-config» y encontrarás una opción para elegir el comportamiento de inicio, sin tener que editar ningún fichero pues raspi-config es un asistente. En los talleres realizados en 2013 puedes encontrar más información actualizada.