Los talleres constaban de tres sesiones (viernes por la tarde):
- 12 abril 2013: Introducción, instalación y puesta en marcha
- 19 abril 2013: Uso del Raspberry como servidor, mediacenter
- 26 abril 2013: Domótica y sus aplicaciones útiles (Puertos GPIO)
El primer día se ofreció un kit que junto a la Raspberry se proporcionaba todo el material necesario para hacerla funcionar (WiFi, HDMI, alimentación, tarjeta SD…).
A continuación se muestran enlaces donde se explican cosas similares a las realizadas durante esos días:
Aplicaciones prácticas de software
¿Para qué se puede utilizar el Raspberry Pi?
- Instalar OwnCloud (clon de Dropbox): muyraspi
- Instalar OwnCloud consumiendo menos recursos: maauso
- Instalar Tiny Tiny RSS (clon de Google Reader): slideshare
- Instalar más de un sistema operativo en una misma SD: berryterminal
- Conectarse a la Raspberry sin usar un router: piHW
- Utilizar un mando de la Wii: raspberrypi-spy
GPIO
Son las entradas/salidas digitales de la placa, es la parte que sirve para aplicaciones de domótica.
- Información general sobre las GPIO de la Raspberry: eLinux
- Leer datos analógicos desde un conversor A/D externo: Adafruit
- Ejemplo básico de un pulsador: muyRasPi
- Ejemplo básico de un LED: muyRasPi y otro similar
- Teoría de cómo conectar un botón: eLinux
- Trabajando con las GPIO usando Python: Adafruit
- Usando la Raspberry como si fuese Arduino: liminaStudio
- Utilizar las GPIO de forma remota y vía web: webIOpi
- Ingeniosa forma de leer datos analógicos con las GPIO: raspberrypi-spy
Ejemplo de un parpadeo de LED
Primero instalaremos el WiringPi y luego lo usaremos.
Instalación de WiringPi
(Pasos extraídos de esta web oficial). Antes de hacer la primera línea se recomienda haber actualizado el sistema (ya sabes, el típico apt-get update y upgrade).
sudo apt-get install git-core git clone git://git.drogon.net/wiringPi cd wiringPi git pull origin
Con esto habremos bajado la última versión de WiringPi utilizando GIT. Ahora lo instalaremos:
cd wiringPi ./build
Muy útiles los 2 siguientes comandos, el primero nos indica la versión de Raspberry que tenemos (puede ser 1 o 2), ya que dependiendo de cuál sea las GPIO son diferentes. Ah, y la versión 1/2 no tiene nada que ver con las versiones A/B.
gpio -v gpio readall
La segunda línea es aún más útil, ya que nos da el estado de TODAS las salidas en una tabla que además nos relaciona el nº de PIN con el nº de GPIO que internamente tiene.
Parpadeo del LED
Está sacado de wiringpi.com
Crear un fichero con extensión .c, por ejemplo blinking.c:
#include <wiringPi.h> main () { wiringPiSetup () ; pinMode (1, OUTPUT) ; for (;;) { digitalWrite (1, HIGH) ; delay (500) ; digitalWrite (1, LOW) ; delay (500) ; } }
NOTA: El GPIO 1 está marcado como PIN#18 en la COM-Pi. Muy útil el comando de consola «gpio readall» para conocer los nombres de las GPIO.
Guardar el fichero .c y ejecutar en consola:
gcc -o blink blinking.c -lwiringPi sudo ./blink
Destacar en este punto un par de cosas: el nombre de ./NOMBRE es el que hemos dado a la hora de compilar con gcc; y siempre que queramos ejecutar wiringPi tendrá que hacerse con superusuario (es decir, usando sudo).
Acceso VNC a la Raspberry Pi
Instalar en la Raspberry:
sudo apt-get install x11vnc
Configurar contraseña:
x11vnc -storepasswd
Crear una carpeta y dentro editamos un nuevo archivo:
mkdir /home/pi/.config/autostart nano /home/pi/.config/autostart/x11vnc.desktop
Y en ese fichero se introduce el siguiente texto:
[Desktop Entry] Encoding=UTF-8 Type=Application Name=X11VNC Comment= Exec=x11vnc -forever -usepw -display :0 -ultrafilexfer StartupNotify=false Terminal=false Hidden=false
Para que funcione es necesario reiniciar y asegurarse que la Raspberry arranca el sistema gráfico de forma automática al encenderse (el asistente inicial de la Raspberry tiene una opción para cambiar ese comportamiento, se puede ejecutar el comando sudo raspi-config para activarlo).
Para verlo desde Windows instalar un cliente de VNC, por ejemplo «TightVNC» (ojo, al instalar decir que no se quiere instalar el servidor de VNC) y en Linux se puede utilizar «Remmina» que se encuentra en los respositorios de todas las distribuciones importantes. También existen clientes VNC para Android, iOS y los demás sistemas operativos móviles.
Otras formas de acceder remotamente
Existen otros protocolos además del mencionado VNC. Por ejemplo el «Escritorio remoto» que tienen los Windows también se puede instalar en la Raspberry. Pero no podremos ver de forma remota lo mismo que vemos en la pantalla conectada a la Raspberry. La instalación, eso sí, es muy sencilla ya que sólo hay que ejecutar el siguiente comando:
sudo apt-get install xrdp
Y una vez finalizada la instalación se abrirá de forma automática. Para utilizarlo abriremos «Escritorio remoto» de Windows o elegimos el protocolo RDP en Remmina. Recordando siempre utilizar la IP de la Raspberry para conectarse a ella de forma remota.
Fotos
Algunas fotos realizadas durante los talleres:
Hola, acabo de recibir mi Raspberry Pi y quería conectarme vía ssh porque no tengo monitor para ella pero no me reconoce la contraseña raspberry. El sistema que estoy instalando es raspbcm, ¿alguna sugerencia? gracias
Yo empezaría por la ayuda oficial de RaspBMC: http://www.raspbmc.com/wiki/user/