Etapa 0: Nos entregaron y nos familiarizamos con el kit de herramientas para comenzar el proyecto.
En estas imagenes podemos observar el kit de herramientas a utilizar lo cual consiste en:
1- Raspberrypi
2- Sensor de presencia
3- Unidad de wireless
4- Una Memoria Kingston de 8 GB
5- Pi Face
Etapa 1: Descripción del kit y su utilidad en nuestro proyecto.
Raspberry: Este va ser utilizado para ser la consola principal de todo el sistema de seguridad brindando el soporte principal y una fuente de apoyo para los otros dispositivos.
Sensor de movimiento (SEN0018): Este va a ser el encargado de detectar la presencia de movimiento en el lugar donde se instale dicho sensor,cuenta con la habilidad de no activarse con la presencia de mascotas y consta con la posibilidad de graduarle la sensibilidad, tiene un ángulo de cobertura de 110 grados y de profundidad es de 7 metros.
Unidad de wireless: Esta unidad tiene como objetivo que el raspberry tenga conexión a internet.
Unidad de memoria Kingston: Esta memoria posee el software del raspberry la cual es un sistema operativo LINUX.
PiFace:La placa Pi-Fice Digital es la primera de un rango de interfaces que permite a la Raspberry Pi controlar y manipula el mundo real. Permite a la Raspberry Pi leer interruptores conectados a la misma (sensor de puerta abierta, de presión por peso, microinterruptores, interruptores de caña o botones pulsadores). Con el código de programa apropiado la Raspberry Pi puede también a través de esta placa manejar salidas como ser: motores, actuadores, LEDs, bombillas de luz o cualquier otro dispositivo similar. Para este caso decidimos usar el PiFace para proteger los pines del Raspberry.
Etapa 2: Manejo de la herramienta y procedimiento.
1- Cortamos la punta del sensor para poder disponer del raspberry; dado que esta no nos permitía emplear a voluntad los pines requeridos de este fue sustituida por entradas hembras individuales.
---------------------------->
RESULTADO SENSOR CONECTADO AL RASPBERRY:
Cambio de planes: al principio el grupo había decidido no utilizar el PiFace ya que el Raspberry proporcina los pines adecuados para la conexión pero con la tutoría del ingeniero Jose Rafael, nos dimos cuenta que es mejor utilizar el PiFace para proteger la integridad de los pines del Raspberry, por ciertas recomendaciones se decidió comprar un sensor de proximidad y apoyar al sensor de movimiento en su labor de detectar al intruso.
Este es la parte del Hardware ya conectada a una fuente de energía en la cual están sus dos sensores actuando.
FIN DE LA ETAPA 2: LOS DOS SENSORES FUNCIONANDO.
Etapa 3 Construcción del sistema: En esta etapa se va a describir todo el proceso de programación de los sensores de movimiento y de distancia, que esta programado en python
Código:
import piface.pfio as pfio
from ubidots import ApiClient
from time import gmtime, strftime, time, sleep, ctime
#Iniciamos el piface
pfio.init()
#Empieza la conexion con la nube Ubidots
api = ApiClient("35720f49657c189ab216b30dc897ef493f6cf787");
tiempoInicio = 0;
varSensorM = api.get_variable("524da5a6f91b28649455c88d")
varSensorD = api.get_variable("524da54df91b28649455c88c")
varAlerta = api.get_variable("524df856f91b286491e22557");
alertaTipo1 = 0
alertaTipo2 = 0
while True:
#Estas instrucciones reciven los datos de los sensores
if pfio.digital_read(1) == 0:
salidaSensorM = 1;
else :
salidaSensorM = 0;
salidaSensorD = pfio.digital_read(6)
#Se verifica si ambos sensores se activan, si es asi se manda la senal de alerta
if salidaSensorM == 1 and salidaSensorD == 0:
alertaTipo2 = 1
elif salidaSensorM == 1 and salidaSensorD == 1:
alertaTipo1 = 1
#Identifica el tipo de alerta que el sistema esta identificando
if alertaTipo1 == 1:
alertaTipo1 = 0
varAlerta.save_value({'value':1})
if tiempoInicio == 0:
tiempoInicio = gmtime(time()).tm_min
elif alertaTipo2 == 1:
alertaTipo2 = 0
varAlerta.save_value({'value':0})
if tiempoInicio == 0:
tiempoInicio = gmtime(time()).tm_min
else:
varAlerta.save_value({'value':0})
diferencia = int(float(gmtime(time()).tm_min)) - int(float(tiempoInicio))
if diferencia == 2:
alertaTipo2 = 1
varAlerta.save_value({'value':1})
tiempoInicio = 0
varSensorM.save_value({'value':salidaSensorM})
varSensorD.save_value({'value':salidaSensorD})
print "Sensor movimiento: " + str(salidaSensorM)
print "Sensor de proximidad: " + str(salidaSensorD)
sleep( 1 )