Vous êtes sur la page 1sur 7

FIEC – ESPOL Laboratorio de Microcontroladores

Taller Autonomo

WEB/RASPBERRY PI

OBJETIVOS:

 Enviar/ recibir datos de una página web a través de la Raspberry Pi


 Familiarizarse con el uso de una cámara web por medio de instrucciones desde
la Raspberry Pi.
FIEC – ESPOL Laboratorio de Microcontroladores

Página Web

1. Crear una cuenta en la página Ubidots:


https://ubidots.com/

2. Acceder a la sección “API Credentials”

Y copiar el Default token

Tener guardado este código en un documento aparte, ya que luego lo


utilizaremos

3. Dirigirse a la pestaña Devices y dar click en “Add Device”.


Pueden colocar el nombre que ustedes deseen. Para este caso, le pondremos
Practica9.
FIEC – ESPOL Laboratorio de Microcontroladores

4. Damos doble click en Practica9 y nos aparecerá la siguiente ventana:

Damos click en “Default” y procederemos a crear 2 variables llamadas:


 Sensor 1
 Alerta

5. Accedo a cada variable y copio el ID de cada una.


FIEC – ESPOL Laboratorio de Microcontroladores

Guardo estos 2 códigos en un documento aparte, ya que luego se los utilizara.

6. Me dirijo a la pestaña “Eventos” y doy click en “Agregar Eventos”


Y selecciono el dispositivo que utilizaremos. En nuestro caso “Practica9”

7. Selecciono la variable Sensor 1, ya que es la que va a generar el evento.

8. Realizo la configuración de las condiciones para que se produzca el evento.


(En este documento, se describirán los pasos para la Primera condición ya que
para realizar la Segunda condición el procedimiento es similar)

 Primera condición: sensor >= 60


 Segunda condición: sensor < 60
FIEC – ESPOL Laboratorio de Microcontroladores

9. Escojo el tipo de evento que quiero que se realice. En nuestro caso,


escogeremos “Set a variable”

10. Seleccionamos el dispositivo y la variable que utilizaremos para saber cuándo


se produjo el evento y el valor que queremos que tenga.
 Primera condición: Alarma=1
 Segunda condición: Alarma=0

11. Damos click, en “Finish” y con esto concluimos los pasos para elaborar la
Primera condición.

12. Repetir los pasos anteriores para realizar la Segunda condición. Debe quedar
una ventana similar.
FIEC – ESPOL Laboratorio de Microcontroladores

Raspberry Pi

1. Nos dirigimos a la pestaña “Terminal” y copiamos las siguientes líneas de


código, que nos servirán para poder trabajar con la página Ubidots y la librería
para el uso de la cámara web

sudo apt-get install python-setuptools


sudo easy_install pip
sudo pip install ubidots

sudo apt-get install fswebcam

2. Crear la carpeta “ Practica9” en el directorio: /home/pi


3. Dentro de la carpeta crear los archivos:
 Emisor.py
 Receptor.py

4. Los códigos del “Default Token” y el ID de la variable “Sensor 1” y “Alarma”


deben copiarlos en el código de Emisor.py y Receptor.py respectivamente.
(En el programa se les especifica en que líneas deben copiar los códigos)

5. Para ejecutar los 2 programas al mismo tiempo se debe hacer uso de 2


terminales.

6. Se recomienda ejecutar primero el programa “Emisor.py”

Código Emisor

import RPi.GPIO as GPIO


import random
from time import sleep
from ubidots import ApiClient

def main():
GPIO.setmode(GPIO.BCM)
GPIO.setup(20, GPIO.IN, pull_up_down=GPIO.PUD_DOWN)
api = ApiClient(token='X7tFdsHBTmUdkST19ysqm5caKKfiSf')#codigo de
"Default Token"
variable = api.get_variable('5a4f05fec03f97681783d7ef')#ID Sensor 1

while True:
if GPIO.input(20):#Al presionar un boton envio el valor 60 que activara la
señal Alarma
response = variable.save_value({"value": 60})
print ("Boton presionado")
sleep(10)
FIEC – ESPOL Laboratorio de Microcontroladores

else:
num = random.randint(0, 100)#Funcion para crear un numero aleatorio
entre 0 y 100 que simulara los datos que envie un "x" sensor
response = variable.save_value({"value": num})
print (num)
sleep(3)

if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
GPIO.cleanup()

Código Receptor

import RPi.GPIO as GPIO


import os
import time
from ubidots import ApiClient

def main():
GPIO.setmode(GPIO.BCM)
GPIO.setup(21, GPIO.OUT)
api = ApiClient(token='X7tFdsHBTmUdkST19ysqm5caKKfiSf')#codigo de
"Default Token"
variable = api.get_variable("5a4f1171c03f97735b6a3ecf")#ID Alarma
leido = False

while True:
last_value = variable.get_values(1)[0]['value']
if not (leido) and last_value==1:
print "ALERTA"
GPIO.output(21, 1)#Se encendera un led cuando se active la alarma
os.system("sudo fswebcam
./"+time.strftime('%d%b%y%H%M%S')+".jpg")#Se tomara una foto cuando se
active la alarma
leido = True
time.sleep(5)
elif last_value==0:
GPIO.output(21, 0)
leido = False
time.sleep(1)

if __name__ == "__main__":
try:
main()
except KeyboardInterrupt:
GPIO.cleanup()

Vous aimerez peut-être aussi