Tutorial Proyecto Raspberry Pi
de LEDS remotamente por un servidor o ssh a
través de una Raspberry Pi usando Python y/o C
Integrantes:
Alberto Aguilera
Eduardo Arancibia
Paula Lasalas
Fabricio Rosales
Jorge Ortíz
Universidad Técnica Federico Santa María, Introducción a la ingeniería Telemática, año 2013
La GPIO (General Purpose Input Output) de la raspberry pi poseepines con distintas funciones, los
cuales pueden ser manejados con software y a su vez conectarse a otros hardwares como arduino.
En nuestro caso gestionaremos la GPIO mediante lenguajes de programación como C y Python,
montaremos un servidor web y lo usaremos como estación remota para encender luces led a
distancia dentro de una misma red. Luego haremos un proceso parecido para controlar lasluces
directamente en la raspberry Pi.
Para el siguiente tutorial se recomienda tener conocimientos previos sobre Python y C.
¡Comencemos!
Materiales que necesitaremos
1 Raspberry Pi (con conexión a internet, de preferencia modelo B)
1 Protoboard
3 LED
3 resistencias de 330 [ohm]
1 Cable UTP
4 Jumpers
Universidad Técnica Federico Santa María, Introducción a la ingeniería Telemática, año2013
Paso 1: Armar el circuito
En la imagen se pueden apreciar las
distintas distribuciones que poseen los pin
de la GPIO, nosotros en este proyecto
usaremos solo el de poder 3V3(3,3 volts)
y para los 3 LED el GPIO7, GPIO8 y
GPIO10.
La estructura del circuito la definiremos
como la siguiente:
Siendo r una resistencia de 330 [Ohm]
Universidad Técnica Federico Santa María, Introducción a laingeniería Telemática, año 2013
Paso 2: manejar la GPIO para encender o apagar un LED
Para manejar las luces como si la raspberry fuese un interruptor los pin de la GPIO poseen dos
estados: Low (“0” o False) y High (“1” o True), los cuales respectivamente los asociaremos con el
encendido y apagado de estas.
Primero necesitaremos instalar un modulo en python llamado “RPI.GPIO” que nos dejarácontrolar
la GPIO, para ello abrimos una terminal y ponemos:
sudo apt-get install python-rpi.gpio
Ahora que tenemos el modulo instalado podremos hacer funcionar los
led, probemos:
Tenemos conectado un led al GPIO10(pin 10), entonces para
encenderlo ponemos:
sudo python
#llamamos al modulo y lo importamos.
import RPi.GPIO as GPIO
#Fijamos los parámetros indicando el numero del pin (ver imagen con
losnúmeros por si no esta claro) y si es entrada o salida.
GPIO.setup(10, GPIO.OUT)
#Ahora iniciamos el pin a False para que se encienda el led (Si ponemos
True estaría apagado).
GPIO.output(10, False)
Y listo, hemos controlado un led usando python y la raspberry pi.
Universidad Técnica Federico Santa María, Introducción a la ingeniería Telemática, año 2013
Paso 3: Instalar y configurar servidorInstalaremos un servidor APACHE con PHP y MSQL, luego lo configuraremos para usarlo mas
adelante.
Antes de empezar debemos asegurar que nuestro sistema este actualizado poniendo en la
terminal:
sudo apt-get update
sudo apt-get upgrade
Luego de haber hecho esto instalamos Apache y PHP:
sudo apt-get install apache2 php5 libapache2-mod-php5
Luego reiniciamos Apache:
sudo /etc/init.d/apache2 restart
Yya tenemos nuestro servidor listo, ahora hay que otorgar permisos.
Los directorios típicamente utilizados por un servidor web en linux se sitúan en /var/www, y el
usuario típico para dicho entorno suele ser www-data. Ahora vamos a crear el grupo y usuario
estándar para nuestro servidor, a la par que otorgamos los permisos pertinentes y añadimos a
nuestro usuario por defecto (pi) al grupocomentado. De esta forma no será preciso que el usuario
root (su) sea siempre el que pueda operar en /var/www.
Comenzamos cambiando el usuario y el grupo al directorio:
sudo chown www-data:www-data /var/www/
Damos los permisos a la carpeta www/:
sudo chmod 775 /var/www/
Agregamos el usuario pi al grupo www-data:
sudo usermod -a -G www-data pi
Ahora ponemos:
sudo visudo
Agregamos el siguiente código...
Regístrate para leer el documento completo.