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…).

Presentación RasPi 2013 (4)

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: