Fecha de aceptación:
*Estudiante de Tecnología en Electrónica, Universidad distrital Francisco José de Caldas Facultad Tecnológica, Bogotá DC, Colombia, e-mail:cris.g2026@gmail.com
**Docente de Tecnología en Electrónica, Universidad distrital Francisco José de Caldas Facultad Tecnológica, Bogotá DC, Colombia, e-mail: hjeslavab@udistrital.edu.co
SISTEMA DE SEGURIDAD CON ACCESO POR MEDIO DE APLICATIVO
MOVIL
SECURITY SYSTEM ACCESSIBLE THROUGH MOBILE APPLICATION
Cristian Arley Gonzalez Gonzalez*, Hermes Javier Eslava Blanco**.
Resumen: El artículo realizado describe el diseño e implementación de un sistema de
seguridad donde su foco central es la tarjeta Raspberry pi 2, la cual permite el ingreso, testeo
de sensores y transmisión de una cámara pi; de un lugar determinado.
Para poder acceder al lugar se es necesario contar con dos validaciones que permiten el
ingreso. La primera validación es un lector RFID y la segunda un aplicativo móvil donde se
ingresa un usuario y contraseña. Si se tienen estas dos validaciones el sistema permitirá el
acceso al lugar.
El sistema está acompañado con el testeo de 3 sensores (movimiento, humo y apertura), los
cuales se monitorean con scripts en Python ,que están activos en tiempo real y continuo
mientras el sistema esté conectado, cuando algún sensor es activado se envían una alerta
por correo electrónico indicando que sensor se activo.
Para poder constatar que sucede con la alerta del sensor se implemento una Cámara Pi
NoIR Infrarroja que es una cámara propia de raspberry, la cual transmite en vivo (un
Fecha de aceptación:
la raspberry con un servido de uv4l el cual transmite en vivo la cámara pi, esta visualización
se puede ver en el aplicativo android.
Palabras clave: RFID, SPI, Raspberry, Script.
Abstract: The article made describes the design and implementation of a system of security
where its central focus is the card Raspberry PI 2, which allows the income, testing of sensors
and transmission of a camera pi; a specific place.
To gain access to the place it is necessary to have two validations that allow the admission.
The first validation is a RFID reader and the second a mobile application where you enter a
username and password. If you have these two validations the system will allow access to the
site.
The system is accompanied with the testing of 3 sensors (movement, smoke and opening),
which are monitored with scripts in Python ,which are active in real time and continuous while
the system is connected, when a sensor is activated are sent an email alert indicating that
sensor is active.
To be able to say that happens with the alert of the implement sensor is a Camera Pi NoIR
infrared camera is an own of raspberry, which transmits live (a streaming) by means of UV4l
driver; This program enables you to bind the camera connected to the raspberry with a served
of uv4l which transmits live the camera pi, This display can be seen in the Android
application.
Fecha de aceptación: 1. Introducción:
Un grave problema que aqueja a la sociedad hoy en día es la inseguridad, cada vez
debemos estar más pendientes de nuestras cosas ya sea en la calle, en el hogar o en
nuestro lugar de trabajo. [1]
Con este enfoque se decidió realizar el prototipo de un sistema de seguridad dirigido a
lugares pequeños; se quiso que el sistema abarcara diferentes campos de seguridad, como
un sistema de acceso, implementación de sensores y visualización de una cámara remota;
además que sea un dispositivo simple de utilizar y agradable para el usuario.
Iniciando por la parte del acceso donde se vio que al implementar dos validaciones para
poder ingresar incrementaba el factor de seguridad, por lo que se decidió implementar un
lector RFID y un aplicativo móvil; en caso de que se logre ingresar se utilizaron dos sensores
para alertar estos movimientos, uno de apertura y uno de movimiento estos sensores al ser
activados enviaran un correo electrónico que advertirá que se ha activado alguno de estos
sensores, también se implemento un sensor de humo que alerta del mismo modo su
activación ya que también es conveniente para cuidar nuestro lugar.
Finalmente se implemento que si se activaba un sensor, se pudiera corroborar que sucedía
en el lugar, por lo que se implemento una cámara pi NoIR Infrarroja que transmitiera por
Fecha de aceptación:
2. Marco de referencias
2.1 Módulos
Los módulos utilizados son el RFID-RC522 y el modulo HC-06 implementados en la parte
que permite el acceso. Siendo el RFID la validación física y el HC-06 el enlace con el
aplicativo para la validación digital.
2.1.1 Modulo RFID
El modulo RFID-RC 522 es un módulo que utiliza 3.3V como voltaje de alimentación, con una
velocidad de lectura de 13.56Mhz y se controla a través del protocolo SPI, por lo que es
compatible con casi cualquier microcontrolador, Arduino o tarjeta de desarrollo (conexión con
raspberry en tabla 1). El RC522 utiliza un sistema avanzado de modulación y demodulación
para todo tipo de dispositivos pasivos de 13.56Mhz. Ideal para dispositivos portátiles o
tarjetas.[2][3]
Fecha de aceptación: 2.1.2 Modulo Bluetooth HC-06
Figura 1: Modulo HC-06[5]
Para la segunda parte del acceso se implemento un modulo bluetooth HC-06(figura 2), un
modulo que sirve solo como esclavo [5], que convierte la señal recibida por bluetooth en
serial; lo cual encajaba perfectamente para el sistema de seguridad, este modulo es fácil de
configurar con la raspberry ya que solo se debe cambiar la velocidad de lectura de la
raspberry por el serial a 9600 baudios
2.2 Sensores
Los sensores que se utilizaron fueron los que se encuentran generalmente en este tipo de
dispositivos los cuales son, un sensor de movimiento, un sensor de humo y uno de apertura
(proximidad magnética)
2.2.1 Sensor de movimiento
Fecha de aceptación:
El sensor de movimiento utilizado es el sensor de movimiento infrarrojo HC-SR501;un sensor
infrarrojo que abarca un ángulo de 110° configurable a detecciones entre 3 y 7 metros(con la
resistencia regulable de sensibilidad mostrada en la figura 2 ), se alimenta a 5 voltios y tiene
una salida de 3.3voltios [6][7] de fácil lectura y manipulación con la Raspberry. En la tabla 1
se muestra otras características de este sensor.
Tabla 2. Características del sensor HC.SR501 [7]
2.2.2 Sensor de proximidad magnético
Figura 3: Sensor de Proximidad Magnético ZDD-412M [8]
El sensor de la figura 4 es el utilizado para saber si la puerta se abre sin las validaciones es
decir si es violentada la puerta para entrar, este sensor funciona reaccionando ante los
campos magnéticos de imanes permanentes y de electroimanes. Si se acerca un campo
magnético al sensor de proximidad, las láminas se unen por magnetismo y se produce un
contacto eléctrico.[9] al quitarse el imán se produce una apertura con lo que se entiende que
Fecha de aceptación: 2.2.3 Sensor de humo y gases tóxicos MQ-135
Figura 4: composición del sensor humo y gases nocivos MQ-135 [10]
El sensor MQ-135 (figura 4) es un sensor que tiene menor conductividad si el aire está
limpio, al detectar gas, amoníaco, sulfuro y CO2 aumenta su conductividad [10] lo que
genera una señal en sus salidas, ya que tiene salida digital y análoga, esta sensibilidad se
puede ajustar con una resistencia variable que tiene en la parte posterior, este sensor es
bastante simple y fácil de manejar con la raspberry en la tabla 3 se muestran algunas
especificaciones del sensor.
Fecha de aceptación: 2.3 Streaming
Para la parte del streaming se utilizo la cámara propia de Raspberry pi NoIR Infrarroja y uv4l
como software para realizar la transmisión
2.3.1 Cámara pi
Figura 5: Cámara Pi NoIR Infrarroja[11]
Se utilizo la Cámara Pi NoIR Infrarroja (figura 5) ya que al no tener filtro infrarrojo es perfecta
para tomas con muy pocas luz, posee un sensor 5 megapíxeles, Su sensor es capaz de
captar imágenes fijas con una resolución de 2592 x 1944, además de grabar vídeos en alta
definición de hasta 1080p a 30 fotogramas por segundo. Se conecta a la Raspberry Pi a
través de los pines CSI libres, utilizando la interfaz de control I²C.[12]
2.3.1 software para el streaming
Para realizar el streaming con la cámara pi se utilizo uv4l driver, que es un conjunto de
drivers que controlan y comunican la cámara pi a un servidor propio de uv4l llamado “uv4l
streaming server” en el cual podemos ver una transmisión en vivo.[13]
Fecha de aceptación:
Es importante tener en cuenta que para poder tener una buena transmisión de streaming se
debe contar con un ancho de banda de subida óptima para esto es necesario conocer 3
factores.
Velocidad a la que deseamos grabar (FPS)
Resolución, calidad y algoritmo de compresión que usemos. Esto nos dará el tamaño
de un cuadro de video, en promedio (Bytes)
El porcentaje de actividad de la escena que nos dice que tanto cambia un cuadro
respecto a otro.
Con estos datos podremos suponer un ancho de banda suficiente para una transmisión
fluida de video, con la siguiente formula. [14][15]
𝐵𝑊 = 𝐹𝑃𝑆 ∗ 𝐵𝑦𝑡𝑒𝑠 ∗ %𝐴𝑐𝑡𝑖𝑣𝑖𝑑𝑎𝑑 ∗ 8
Formula 1 Formula de ancho de banda [15]2.4 aplicativo móvil
2.4.1 Software de aplicativo móvil
El aplicativo android se desarrollo en APP Inventor una plataforma online de Google
enfocada a aplicaciones desarrolladas por estudiantes, donde se crean aplicaciones a modo
de puzle, ya que se conectan ciertas piezas que en conjunto realizan una tarea, su
programación es visual y muy intuitiva y aunque es simple de entender se pueden generar
aplicaciones con un buen grado de complejidad.[16]
2.5 Hardware
Fecha de aceptación:
Figura 6: Raspberry pi 2 model b [15]
La Raspberry Pi 2 model B (figura 6) es la segunda generación de Raspberry Pi. Sustituye el
original Frambuesa Pi Modelo B +, desde el 1 de febrero de 2015. Tiene Un CPU de
900MHz de cuatro núcleos ARM Cortex-A7,1 GB de RAM y 4 puertos USB, Debido a que
tiene un procesador ARMv7, se puede ejecutar toda la gama de distribuciones ARM GNU /
Linux, incluyendo Snappy, Ubuntu core, así como Windows 10.[17]
3. Metodología
Figura 7: Diagrama de bloques de la solución
El proyecto se realizo en tres etapas mostradas a continuación, la primera fue la parte que
permite acceder al lugar representado el proceso para poder abrir la puerta en la figura 7
con los bloques verdes, posteriormente se trabajaron los sensores en la figura 7 se muestra
Fecha de aceptación:
su proceso en los bloque azules y se finalizo con la cámara y el streaming que se muestra su
proceso en la figura 7 con los cuadros morados.
3.1 Programación para la parte de acceso
Para esta etapa lo primero que se realizo fue la comunicación entre el RFID y la Raspberry
como lo dice su hoja de datos [2] el protocolo que comunicación es el SPI cuando se conecta
el RFID al los Gpios pertinentes, se activa la comunicación por SPI desde “raspi-config”
después de esto descargamos “python-dev” y la librería de “SPI-pyhon” la cual permite
manipular el modulo por medio de Python; después instalamos “MFRC522-python” ,la cual
nos establece la comunicación directa con el modulo que usamos, y se termina con la librería
“bcm2835” que es una librería en c que completa la comunicación entre la raspberry y el
RFID con esta librería viene un programa de utilidad básica de detección de tarjetas, este
archivo es el que entramos a modificar en este script lo que hacemos es que al detectar la
tarjeta correcta activa una función definida en un segundo script (blue) que es la lectura del
HC-06 como se ve en la figura 8 (código completo en el anexo 1).
En el script de blue se define la función puerta, cuya función es que al ser activada por RFID
lea el Gpio de serial y al detectar el dato correcto active el relay que desactiva el electroimán
de la puerta lo que permite el ingreso y se termine esta función para continuar leyendo el
RFID, su comportamiento se representa en la figura 8 (código completo en el anexo 2
Fecha de aceptación:
Figura 8 diagrama de flujo para el acceso
Ahora para esta etapa solo falta la aplicación móvil que permite el acceso con el HC-06, este
aplicativo móvil se hizo con APP inventor en la cual primero llamamos en una lista con los
Fecha de aceptación:
posteriormente llenamos los datos y al coincidir con lo configurado, se llama el bluetooth para
enviar un carácter que es el que activa a “blue” como se ve en la figura 11.
Figura 9: Programa de funcionalidad del aplicativo móvil para el acceso en APP inventor
3.2 Programación de los sensores
3.2.1 Sensor de movimiento
Para el sensor de movimiento primero se conectaron los dos pines a la fuente de 5v y el de
salida a un Gpio que se leería como entrada .En general lo que se realizo fue un bucle de
seguimiento sobre el pin de entrada, al ser detectado un movimiento se envía el mensaje
indicando que fue activado este sensor por medio de “mutt-s”, un programa que permite que
la raspberry envié correos electrónicos desde el terminal. La lógica de este sensor se verá
más adelante en la figura 10 ( Código completo implementado en el anexo 3 sensorM.py)
3.2.2 Sensor de proximidad magnético
Lo primero fue conectar este sensor a la Raspberry, el cual necesita conectarse a un Gpio
Fecha de aceptación:
conecta con tierra se supone que el sensor esta sin presencia de un campo magnético por lo
que se interpretara que el sensor está abierto. Al darse este caso se envía la alerta al correo
electrónico por “mutt-s”. En la figura 10 se verá la lógica de este sensor .(código completo
implementado en el anexo 4 sensorP.py
3.2.3 Sensor de humo y gases tóxicos MQ-135
Al igual que los anteriores sensores lo primero es conectarlo, primero los dos pines a la
fuente y después la salía que en este caso se utilizo la análoga; al sensor detectar algun gas
o CO2 activara su salida análoga estimulando el Gpio, el cual se estará testeando
continuamente y al detectar este evento enviara un correo electrónico con “mutt-s”. En la
figura 10 se verá la lógica utilizada para la lectura de este sensor (código completo
Fecha de aceptación:
Figura 10: Diagrama de bloques lógica sensores
3.3 Configuración del Streaming
Para poder realizar el Streaming lo primero es conectar la cámara en el puerto especial CSI y
activarla desde “raspi-config”, posteriormente se descargaron los drivers necesarios para que
uv4l driver comenzara a funcionar [13] , al tener todo esto solo basta con abrir el puerto que
Fecha de aceptación:
de la dirección ip de nuestra raspberry y el puerto de transmisión llegando a la página
principal del servidor de uv4l driver (figura 11).
Figura 11: menú principal de uv4l driver
Al entrar a la sección de streaming veremos nuestra cámara pi transmitiendo lo que está
sucediendo y lo mejor es que la cámara se activa solo al entrar a verla por lo que no gasta
recursos constantemente de la raspberry.
Finalmente se hace la pestaña del aplicativo para poder visualizar el streaming con APP
inventor donde utilizamos un visor web y un botón para refrescar la pagina del streaming
como se ve en la figura 12.
Fecha de aceptación: 4. Conclusiones
El sistema cumple con los requerimientos de seguridad y control estipulados,
garantiza el funcionamiento de los sensores de seguridad sin alarmas falsas, y un
acceso sin problemas, todo esto en base a lo probado en casa sobre una maqueta
durante un par de días.
El tener dos validaciones para poder ingresar hace que el sistema otorgue más
fiabilidad y tranquilidad de que será complicado que alguien logre ingresar sin permiso
al lugar, ya que se pueden usar electro cerraduras de 200 libras hasta 600 libras lo
que hace imposible entrar sin romper la puerta.
El poder tener un sensor de humo que me alerte a mi correo electrónico de manera
inmediata al detectar humo hace que la reacción pueda ser mucho más rápida lo cual
lleva a salvar todas o gran parte de ellas por atender la emergencia a tiempo según
sea el caso.
Para poder garantizar un streaming en buenas condiciones se debe tener en cuenta
un ancho de banda suficiente para esto necesitamos 3 datos; los FPS de transmisión
el peso en bits de un cuadro de imagen y el porcentaje de actividad de escena.
los FPS de transmisión es de 30 FPS, el tamaño de transmisión en promedio es de
12kb, y se estima un porcentaje de actividad del 10%, un porcentaje lo suficiente
mente alto para tener una ancho banda más que suficiente (el real es del 5%), con
esto y la formula 1 nos da un ancho de banda de subida mínimo es de 288 Kbps mas
Fecha de aceptación:
Referencias
[1] Redacción Bogotá,”Aumentaron los índices de inseguridad en Bogotá”, Abril 5 2016,
[Online]. Available: http://www.elespectador.com/noticias/bogota/aumentaron-los-
indices-de-inseguridad bogota-articulo-478939
[2] COMPANY PUBLIC, “MFRC522 Standard 3V MIFARE reader solution”, Septiembre
17, 2014, [Online]. Available:
http://www.nxp.com/documents/data_sheet/MFRC522.pdf
[3] Arduino,”Mifare MFRC522 RFID Reader/Writer”,[Online]. Available:
http://playground.arduino.cc/Learning/MFRC522
[4] Hello Raspberry Pi,”Raspberry Pi 2 + MFRC522-python, to read RFID tag”,
Octubre 12, 2015,[Online]. Available: http://helloraspberrypi.blogspot.com.co/
2015/10/raspberry-pi-2-mfrc522-python-to-read.html
[5] Erich Styger,”Using the HC-06 Bluetooth Module”, Junio 19, 2013,[Online]. Available:
http://mcuoneclipse.com/2013/06/19/using-the-hc-06-bluetooth-module/
[6] Prometec,”LOS SENSORES PIR”,[Online]. Avaliable:
http://www.prometec.net/sensor-pir/
[7] Marlin P. Jones,”HC-SR501 PIR MOTION DETECTOR”,[Online]. Available:
https://www.mpja.com/download/31227sc.pdf
[8] Tanyx seguridad electrónica,”Sensor magnético de puerta ZDD-412M”,[Online].
Available: http://tanyx.com.ar/productos/alarmas_de_intrusion/ver/40_zdd-412m
[9] Ricardo Franco Mendoza García “Sensor de Proximidad Magnéticos.”,[Online].
Available:http://www.eudim.uta.cl/rmendozag/courses/2012/sistemas_de_sensores_
y_actuadores/sistemas_de_sensores_y_actuadores_03_v2.pdf
[10] Shanghai Total Meter, “MQ135 Semiconductor Sensor for Air Quality Control”,
[Online]. Available: http://www.china-total.com/Product/meter/gas-sensor/MQ135.pdf
[11] Raspberry chop,“La cámara Pi NoIR para Raspberry Pi sale a la venta”,[Online].
Fecha de aceptación:
[12] El corte ingles, “Pi NoIR - Módulo de cámara infrarroja Raspberry Pi”,[Online].
Available:http://sgfm.elcorteingles.es/SGFM/dctm/MEDIA02/CONTENIDOS/201408/
25/00128656602100_2_.pdf
[13] Linux projects,”How to install or upgrade UV4L on Raspbian Wheezy & Raspbian Jessie” [Online]. Available: http://www.linux-projects.org/modules/sections/index.
php?op=viewarticle&artid=14
[14] Ing. Germán Alexis Cortés Hernández,”Cómo calcular el ancho de banda de un enlace paravideo. Segunda parte” [Online] Available: http://noticias.alas-la.org/version_anterior/
images/descargas/Tutorial-ed-42.pdf
[15] Germán Alexis Cortes Hernandez,”Cálculo del ancho de banda (nominal vs efectivo)”
[Online]. Available:https://www.tecnoseguro.com/analisis/cctv/calculo-del-ancho-de-banda-
nominal-vs-efectivo.html
[16] Antonio Ricoy Riego “Primeros pasos” [Online]. Available:
https://sites.google.com/site/appinventormegusta/primeros-pasos [17] Raspberry pi “RASPBERRY PI 2 MODEL B”[Online]. Available:
Fecha de aceptación:
(status,TagType) = MIFAREReader.MFRC522_Request(MIFAREReader.PICC_REQIDL) if status == MIFAREReader.MI_OK:
print "Card detected"
Fecha de aceptación:
ser = serial.Serial("/dev/ttyAMA0", baudrate=9600)
Fecha de aceptación:
finally:
ser.close() GPIO.cleanup()
3. Script sensor de movimiento (sensorM.py)
# -*- coding: utf-8 -*-
4. Script sensor de proximidad magnética (sensorP.py)
Fecha de aceptación:
print "El usuario ha forzado la detención del script" GPIO.cleanup()
5. Script Sensor de humo (sensorH.py)
# -*- coding: utf-8 -*-