Está en la página 1de 17

1

RASPBERRY PI
El modelo B de la tarjeta Raspberry PI contiene los siguientes componentes:

INSTALACIN DEL SISTEMA OPERATIVO RASPBIAN


Descargar el software necesario
a. Descargamos el archivo imagen de Raspbian:
http://www.raspberrypi.org/downloads
2014-01-07-wheezy-raspbian.zip (818 MB)
b. Descargar Win32 Disk Imager:
http://sourceforge.net/projects/win32diskimager/
win32diskimager-v0.9-binary.zip (5,7 MB)
Iniciar el sistema operativo Raspbian, de manera local:
1.
2.
3.
4.
5.
6.

Insertar la tarjeta SD (mnimo 4 GB) en la PC (Sistema operativo Windows)


Ejecutar Win32 Disk Imager (archivo Win32DiskImager.exe, despus de descomprimir)
Seleccionar la unidad que ocupa la tarjeta SD
Seleccionar la imagen del sistema operativo Raspbian (2014-01-07-wheezy-raspbian.img - 3 GB)
Grabar la imagen en la tarjeta SD con el botn Write
Remover la tarjeta SD de la PC e insertarla en la Raspberry PI

2
7.
8.
9.
10.
11.

Conectar la salida de video (HDMI RCA) a un monitor


Conectar el teclado y mouse a los puertos USB de la Raspberry PI
Energizar la placa Raspberry PI
Para el inicio de sesin, en raspberrypi login: escribir pi y en Password: escribir raspberry
Una vez iniciada la sesin en la Raspberry PI, ejecutar el comando: sudo raspi-config para acceder al men de
configuracin de la placa Raspberry PI
12. Para ejecutar el modo grfico, escribir el comando startx

Iniciar el sistema operativo Raspbian, de manera remota:


1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.

Conectar la tarjeta SD a la placa PI.


Conectar del Router un cable de red, al conector RJ45 de la placa PI.
Energizar y averiguar la direccin IP de la placa PI, con Advanced IP Scanner
Iniciar una nueva conexin en TeraTerm y en la ventana Host, escribir la direccin IP de la PI.
En servicio escoger el protocolo SSH.
En la ventana de inicio de sesin, en User name escribir pi
En la ventana de Passphrase escribir raspberry.
Una vez iniciada la sesin en la placa PI ejecutar el comando: sudo raspi-config. (Setup Font: 15).
Escoger la opcin del men que actualiza la utilidad de configuracin de la PI: sudo raspi-config.
Seleccionar del men la opcin para expandir la particin de la tarjeta SD.
Reiniciar la placa PI.
Ejecutar los comandos de actualizacin:

13. sudo apt-get update


14. sudo apt-get upgrade
15. Desconectar TeraTerm
16. Para acceder al modo grfico desde Windows:
Instalar el simulador de terminal Putty.
Instalar el cliente de protocolo X-Window, Xming.
17. Ejecutar Xlaunch de Xming.
18. Seleccionar One window.
19. Seleccionar Start a program y escribir startlxde.
Seleccionar Using PuTTY.
20. Escribir en Connect to computer la IP de la PI.
21. Escribir en Login as user: pi
22. Escribir en Password: raspberry y luego clic en Save configuration. (Se crea un acceso directo).
23. Iniciar posteriormente con el acceso directo

3
Crear y recuperar imagen
http://lifehacker.com/how-to-clone-your-raspberry-pi-sd-card-for-super-easy-r-1261113524
Crear una imagen de la tarjeta SD:
1.
2.
3.
4.
5.

Instale todo lo que desea en su Raspberry Pi.


Apague el Pi y retire la tarjeta SD.
Inserte la tarjeta SD en el ordenador.
Inicie Win32DiskImager.
En el cuadro "Archivo de imagen", introduzca la ruta de acceso y el nombre del archivo de imagen que desea crear.
Por ejemplo, yo puse en la ma en D:\Grupo RPi\imagenRPi.img.
6. Bajo el cuadro "Device", seleccione la tarjeta SD.
7. Haga clic en el botn "Read" para crear el archivo de imagen de la tarjeta SD.
8. Cuando termine de crear el archivo de imagen, puede expulsar su tarjeta SD y vuelva a colocarlo en su Raspberry Pi.
Guarde el archivo imageRPi.img en un lugar seguro.
Recuperar la imagen de la tarjeta SD:
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.

Apague el Pi y retire la tarjeta SD.


Inserte la tarjeta SD en el ordenador.
Inicie como administrador HP USB Disk Storage Format Tool, V2.2.3
En el cuadro Device, seleccione la tarjeta SD.
En el cuadro File System, seleccione FAT32
Haga clic en el botn Start
Abra Win32DiskImager y busque el archivo de imagen imageRPi.img.
Bajo el cuadro "Device", seleccione la tarjeta SD.
Haga clic en el botn "Write" para escribir el archivo de imagen en la tarjeta SD.
Cuando termine, saque la tarjeta SD y vuelva a insertarlo en su Raspberry Pi. Al arrancar, debe estar en el mismo
estado en que estaba cuando usted hizo la clonacin de la tarjeta SD.

MANEJO DEL PUERTO GPIO DE LA RASPBERRY PI

1.
2.
3.
4.
5.
6.
7.
8.

Grabar imagen del sistema operativo Raspbian


Ejecutar Ipscan2.3 para averiguar el IP de la Raspberry
Ejecutar Xlaunch para acceder de manera remota al modo grfico
Dentro de Raspbian, abrir LXTerminal
Edit-Preferences-Terminal Font: 15
sudo apt-get update
sudo apt-get upgrade
Averiguar la versin de RPi.GPIO con:
find /usr | grep i gpio

9. Escribir programas en Python que encienda, apague y parpadee un LED


conectado al GPIO25 (BCM). Nombres de los programas: ledon.py
ledoff.py - blink.py

1.- PROGRAMAS EN PYTHON, USANDO RPi.GPIO


El programa ledon.py:
Escribimos en la Terminal: sudo nano ledon.py
import RPi.GPIO as GPIO
GPIO.semode(GPIO.BCM)
GPIO.setup(25,GPIO.OUT)
GPIO.output(25,GPIO.HIGH)
Una vez guardado en el directorio por defecto /home/pi, se ejecuta con el
comando sudo python ledon.py
Para averiguar en qu directorio nos encontramos:
pwd

En la sgte. Tabla se muestran los pines del conector GPIO de la Raspberry:

El programa ledoff.py:
Escribimos en la Terminal: sudo nano ledoff.py
import RPi.GPIO as GPIO
GPIO.semode(GPIO.BCM)
GPIO.setup(25,GPIO.OUT)
GPIO.output(25,GPIO.LOW)

#tb GPIO.output(25,True)

Una vez guardado en el directorio por defecto /home/pi, se ejecuta con el


comando sudo python ledoff.py
El programa blink.py:
Escribimos en la Terminal: sudo nano blink.py
import RPi.GPIO as GPIO
import.time
GPIO.setmode(GPIO.BCM)
GPIO.setup(25,GPIO.OUT)
try:
while True:
GPIO.output(25,GPIO.HIGH)
#tb GPIO.output(25,True)
time.sleep(1)
GPIO.output(25,GPIO.LOW) #tb GPIO.output(25,False)
time.sleep(1)
except KeyboardInterrupt:
GPIO.cleanup()
Una vez guardado en el directorio por defecto /home/pi, se ejecuta con el
comando sudo python blink.py
2.- PROGRAMAS EN LENGUAJE C, USANDO WIRINGPI
Primero, debemos tener instalado GIT en nuestra Raspberry pi, en caso de no
tenerlo, desde la terminal ingresamos la siguiente lnea:
sudo apt-get install git-core

Nota: hay una posibilidad de que esto nos lance algn error, y esto se debe a
que nuestra Raspberry no est actualizada.
Ahora debemos obtener WiringPi mediante GIT:
sudo git clone git://git.drogon.net/wiringPi

Si es la primera vez que se utiliza la funcin clone, se debe hacer lo


siguiente:
cd wiringPi
sudo git pull origin

Finalmente, para instalar la librera debemos ingresar a la carpeta wiringPi


y ejecutar build:

cd wiringPi
sudo ./build

El programa blink.c:
Escribimos en la Terminal: sudo nano blink.c
#include <stdio.h>
#include <wiringPi.h>
// LED Pin - wiringPi pin 6 es BCM_GPIO 25
#define LED 6
int main (void)
{
printf ("Raspberry Pi blink\n") ;
wiringPiSetup ();
pinMode (LED, OUTPUT);
for (;;)
{
digitalWrite (LED, HIGH) ;
delay (500) ;
digitalWrite (LED, LOW) ;
delay (500) ;
}
return 0 ;

// On
// mS
// Off

}
Una vez guardado en el directorio por defecto /home/pi, para compilar el
programa escrito en C se debe escribir:
sudo gcc blink.c -o blink lwiringPi

Para ejecutar:
sudo ./blink

Una variante del anterior programa:


El programa blink01.c:
Escribimos en la Terminal: sudo nano blink01.c
#include <stdio.h>

#include <wiringPi.h>
// LED Pin - wiringPi pin 6 es BCM_GPIO 25
#define LED 6
void main ()
{
printf ("Raspberry Pi blink\n") ;
wiringPiSetup ();
pinMode (LED, OUTPUT);
for (;;)
{
digitalWrite (LED, HIGH) ;
// On
delay (500) ;
// mS
digitalWrite (LED, LOW) ; // Off
delay (500) ;
}
}
Una vez guardado en el directorio por defecto /home/pi, para compilar el
programa escrito en C se debe escribir:
sudo gcc blink01.c -o blink01 lwiringPi

Para ejecutar:
sudo ./blink01

El circuito:

3.- USANDO LOS COMANDOS DE LINUX O BASH

Se ejecutan los comandos en modo root, que es el nombre de usuario que


tiene todos los privilegios
Para pasar al modo administrativo o de superusuario se ejecuta el comando:
sudo su sudo i. Para salir del modo root, se ejecuta el comando exit
Hay que exportar al espacio de usuario el nro. de pin que se va a usar
para salida: echo 25 > /sys/class/gpio/export con lo que se est
escribiendo el nro. 25 a la carpeta export
Se cambia de directorio con el comando: cd /sys/class/gpio/gpio25
Con el comando ls vemos que se tiene los archivos: active_low, direction,
edge, power, subsystem. uevent y value
value contiene el valor actual del pin GPIO25, escribiendo en direction
configuramos el pin como entrada o como salida
Para que el pin 25 funcione como salida se usa el comando: echo out >
direction
Para encender el LED: echo 1 > value
Para apagar el LED: echo 0 > value
Para mostrar el nivel lgico del pin 25: cat value
Para liberar el pin 25: cd .. y echo 25 > unexport
Salimos del modo superusuario: exit
sudo
echo
echo
echo
echo

su
25 > /sys/class/gpio/export
out > /sys/class/gpio/gpio25/direction
1 > /sys/class/gpio/gpio25/value
0 > /sys/class/gpio/gpio25/value

(ls I /sys/class/gpio/gpio25/)

cat /sys/class/gpio/gpio25/value
echo 25 > /sys/class/gpio/unexport
exit

Export crea una nueva carpeta para el pin exportado y crea archivos de cada una de sus funciones de control (es decir,
active_low , direction, edge , power, subsystem, uevent y value) . Tras su creacin, los archivos de control pueden ser
ledos por todos los usuarios, pero slo pueden ser escritos por el administrador. Sin embargo, una vez creado, es
posible que los usuarios que no sean root, tambin puedan escribir entradas a los archivos de control, cambiando la
propiedad o los permisos de estos archivos. Los cambios en la propiedad del archivo o permisos inicialmente deben
hacerse como root.

EJERCICIOS DE COMANDOS LINUX:


Para el editor nano, cambiar el valor del tabulador:
sudo cp /etc/nanorc /etc/nanorc.old --- Hacemos un respaldo del archivo nanorc
cd /etc
---- cambiamos al dir, /etc
nano nanorc --- abrimos el archivo nanorc con el editor nano

10

Editamos: set tabsize 3


Se han creado 3 archivos .py en /home/pi/ : ledon.py ledoff.py blink.py.
Se pide crear un directorio llamado programas, en /home/pi/Desktop. Luego, se
requiere copiar esos tres archivos hacia el directorio programas:
pwd: donde estamos ubicados ---- /home/pi
ls: listamos el contenido de /home/pi ---- Desktop ledoff.py ledon.py
ocr_pi.png python_games wiringPi
cd Desktop: nos trasladamos al dir Desktop
ls: se listan los accesos directos de la pantalla
mkdir programas: se crea en el escritorio, el directorio programas
cd ..: retornamos a /home/pi
sudo cp ledon.py ledoff.py Desktop/programas: copiamos los archivos ledon.py
y ledoff.py a /Desktop/programas
Borrar todo lo creado en el anterior paso:
cd Desktop/programas: Cambiamos al dir /Desktop/programas
rmdir programas: Error!. El directorio no est vaco
rm programas/*: Borra todos los archivos del dir. programas
cd ..: subimos un nivel en los directories hasta Desktop
rmdir programas: Se borra el dir. programa
Para borrar directorios con contenido:
rm frv programas
Usamos el comando mv para mover el directorio programas a /home/pi:
cd /Desktop/: Cambiamos al dir. Desktop
ls: Listamos el contenido de Desktop programas y los archivos de acceso
directo
mv programas /home/pi/programas: Se mueve el dir. programas a /home/pi con el
mismo nombre
Para mover archivos del dir. programas a dir archivos que se va a crear en el
escritorio:
cd Desktop:
mkdir archivos: Se crea el dir. archivos
cd: retornamos a /home/pi
cd programas: Cambiamos al dir programas
ls: comandos.txt ledon.py ledoff.py
mv * /home/pi/Desktop/archivos: se mueven todos los archivos del dir. programas
al dir /home/pi/Desktop/archivos
Para mover un archivo individualmente de un directorio a otro con la posibilidad
de cambiar de nombre:
pwd: estamos en /home/pi
ls: ledon.py ledoff.py Desktop

11

mkdir programas
cd
mv ledon.py Desktop/programas/ledon.py
mv ledoff.py Desktop/programas/ledoff.py
Copiar todos los archivos de un directorio (/home/pi/Desktop/archivos) a otro
directorio (/home/pi/programas):
cd

/home/pi/Desktop/archivos/* /home/pi/programas

12

INSTALACION DEL SERVIDOR LIGHTTPD y de PHP5 en RASPBERRY PI


Se instalar el servidor Web Lighttpd (http://es.wikipedia.org/wiki/Lighttpd),
Est optimizado para entornos donde la velocidad es muy importante. Esto se
debe a que consume menos CPU y memoria RAM que otros servidores. Es software
libre.
Instalacin:
1. Instalar lighttpd + php5
sudo apt-get install php5-cgi lighttpd

2. Configurar el servidor web: La configuracin bsica slo requiere habilitar


y configurar el soporte para PHP.
Para habilitar el soporte para PHP en lighttpd:
sudo lighty-enable-mod-php fastcgi

Luego hay que encontrar el binario php5-cgi para indicar en la configuracin


de lighttpd:
whereis php5-cgi
php5-cgi: /usr/bin/php5-cgi /usr/bin/X11/php5-cgi /usr/share/man1/php5-cgi.1.gz

sudo nano /etc/lighttpd/conf-enabled/15-fastcgi-php.conf

Comprobar si se tiene lo siguiente, sino, corregir:


"Bin-path" => "/usr/bin/php5 -cgi"

Si todo es correcto, recargar el servidor:


sudo service lighttpd force-reload

3. Probar el funcionamiento
Crear un archivo PHP, por ejemplo.:
sudo nano /var/www/info.php
? <PHP
phpinfo ();
>

Abrir un navegador (chrome o mozilla) e introduzca 10.0.0.9/info.php


Donde 10.0.0.9 es la direccin IP de la Raspberry Pi.

13

INSTALACIN DE WIRINGPI:
Para averiguar la versin instalada:
gpio v
Asegurarse de que se tiene la versin 2:

Caso contrario:
sudo apt-get install git-clone

Obtener el cdigo:
git clone git://git.drogon.net/wiringPi

Instalar:
cd wiringPi
./build

Ejemplos de comandos para manejar el puerto GPIO:


gpio -g mode 25 out
wringPI)
gpio mode 6 output
gpio export 25 out

# Pin GPIO25 salida (pin fsico 22 pin 6 segn

gpio -g write 25 1
gpio -g write 25 0

# Se escribe un 1 al pin GPIO25


# Se escribe un 0 al pin GPIO25

gpio -g mode 24 input


gpio -g read 24

# Pin GPIO24 entrada


# Lectura del pin GPIO24

# dem que el anterior comando


#

CONTROLAR O GPIO DO RASPBERRY PI ATRAVS DO PHP


Es necesario efectuar algunas configuraciones:
Adicionar al final del archivo sudoers.tmp la autorizacin para dar permiso a
www-data la ejecucin de los comando gpio.
whereis gpio
gpio: /usr/local/bin/gpio
sudo visudo

...

14

# GPIO
www-data ALL=(ALL) NOPASSWD: /usr/local/bin/gpio
Ahora es posible en PHP hacer llamadas a la herramienta gpio con sudo.

Ejemplo de programa en php (comando00.php) que enciende y apaga un Led conectado


al pin GPIO25 y lee el estado de la entrada GPIO24:
<?php
exec("sudo gpio -g mode 24 input");
exec("sudo gpio -g mode 25 out");
$lectura=exec("sudo gpio -g read 24");
if (isset($_POST['button1']))
{
exec("sudo gpio -g write 25 1");
}
if (isset($_POST['button2']))
{
exec("sudo gpio -g write 25 0");
}
if (isset($_POST['button3']))
{
$lectura=exec("sudo gpio -g read 24");
}
?>
<html>
<head>
<title> ** GPIO Control ** </title>
</head>
<body bgcolor="#c0c0c0">
<H2 align=center> == ENTRADA Y SALIDA DIGITAL == </H2>
<form method="post">
<p align=center>
DIGITAL (OUTPUT) => <button name="button1">ON </button>
<button name="button2">OFF</button>
</p>
</form>
<form method="post">
<p align=center>
DIGITAL (INPUT) <button name="button3"> READ </button>
<input type="text" name="valor" value= "<?php echo $lectura; ?>" >
</p>
</form>

15

La interfaz:

El circuito:

Nota._ Se ha reportado el problema de que con una conexin WiFi, ocasionalmente


Raspberry no responde an fijando la IP del mdulo WiFi a esttica. La solucin
(http://docs.brewpi.com/installing-your-pi/rpi-setup.html):
1. Crear un Nuevo archivo 8192cu.conf en /etc/modprobe.d/:
sudo nano /etc/modprobe.d/8192cu.conf
2.- Adicionar esta lnea al final del archivo y guardar:

16
options 8192cu rtw_power_mgnt=0 rtw_enusbss=0

El problema se produce porque el adaptador WiFi tiene por defecto habilitadas las
funciones de manejo de energa. Esto puede ser comprobado ejecutando el siguiente
comando:
cat /sys/module/8192cu/parameters/rtw_power_mgnt
Un valor de 0 significa deshabilitado, 1 control mnimo de energa y 2 significa
control mximo de energa.
Antes:

Despus:

17
Bibliografa:
http://lnxcr.com/tutoriales/sudo-sudoers-y-visudo
http://librehacks.blogspot.com/2013_02_01_archive.html
http://librehacks.blogspot.pt/2013/02/eletronica-e-raspberry-pi.html
http://raspberrypi.stackexchange.com/questions/1384/how-do-i-disable-suspend-mode

También podría gustarte