Documentos de Académico
Documentos de Profesional
Documentos de Cultura
RASPBERRY PI
El modelo B de la tarjeta Raspberry PI contiene los siguientes componentes:
2
7.
8.
9.
10.
11.
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.
1.
2.
3.
4.
5.
6.
7.
8.
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)
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
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
#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:
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.
10
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
3. Probar el funcionamiento
Crear un archivo PHP, por ejemplo.:
sudo nano /var/www/info.php
? <PHP
phpinfo ();
>
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
gpio -g write 25 1
gpio -g write 25 0
...
14
# GPIO
www-data ALL=(ALL) NOPASSWD: /usr/local/bin/gpio
Ahora es posible en PHP hacer llamadas a la herramienta gpio con sudo.
15
La interfaz:
El circuito:
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