You are on page 1of 107

Instituto Politcnico Nacional

Unidad Profesional Adolfo Lpez Mateos


Escuela Superior de Ingeniera Mecnica y Elctrica

CONTROL DE ACCESO MEDIANTE NFC

TESIS
QUE PARA OBTENER EL TTULO DE
INGENIERA EN COMUNICACIONES Y ELECTRNICA

PRESENTAN:
BENJAMN AGUSTN ARROYO BRIONES
GONZALO ANTONIO CONTRERAS BERNAL
ERICK ANTONIO ESPRITU DE LA PAZ

ASESORES:
M. EN C. JAFETH ASCENSIN ALONSO CARREN
M. EN C. GABRIELA SNCHEZ MELNDEZ

CUIDAD DE MXICO 2016


IPN ESIME Zacatenco Control de Acceso Mediante NFC

AGRADECIMIENTOS
De todo corazn agradezco a mi familia y a dios por siempre estar tanto en las buenas como en
las malas. A mi pap Benjamn Agustn Arroyo Garca, a mi mam Antonia Briones Rivera y a mi
hermana Nancy Mireya Arroyo Briones que gracias a ellos soy lo que soy y estoy donde estoy.
Tambin a todos mis amigos, a los Mikes y a mis profesores por esos momentos que definieron
mi presente y me convirtieron en el hombre que ahora soy

DEDICATORIAS
Les dedico esta tesis a mi pap, a mi mam, a mi hermana, a mis amigos, a los Mikes ya todas
las personas que en mi formacin profesional me apoyaron incondicionalmente para concluir
mis estudios, gracias a ellos alcance lograr mis metas, aprend a siempre perseverar y ser
constante en mi formacin como profesionista y como persona.

Benjamn Arroyo

A
IPN ESIME Zacatenco Control de Acceso Mediante NFC

AGRADECIMIENTOS
Es para m un verdadero placer utilizar este espacio para expresar mis agradecimientos a las
personas que me ayudaron, dieron sus consejos y me guiaron en este camino lleno de retos y
obstculos.

Me gustara agradecer de manera especial y sincera al profesor Jafeth Alonso por haber credo
en nosotros para realizar esta tesis y quien nos gui a travs de este proyecto. Le agradezco
tambin el habernos facilitado siempre los medios suficientes para llevar a cabo todas las
actividades propuestas durante el desarrollo de esta tesis. Muchas gracias profesor.

Quiero expresar tambin mi ms sincero agradecimiento a la profesora Gabriela Snchez por


su importante aporte y participacin activa en el desarrollo de esta tesis. Le agradezco
tambin por sus siempre atentas y rpidas respuestas a las diferentes inquietudes surgidas
durante el desarrollo de este trabajo, lo cual se ha visto tambin reflejado en los buenos
resultados obtenidos.

Quiero agradecer a todos los amigos y compaeros de clase, que hemos sufrido juntos los
problemas que hacer una tesis conlleva, pero sobre todo hemos disfrutado la mejor etapa en
la formacin profesional.

El agradecimiento ms profundo y sentido va para mi familia, sin su apoyo, colaboracin e


inspiracin habra sido imposible llevar a cabo este duro desafo. A mi madre, Estela, por su
ejemplo de lucha y honestidad; a mis abuelas Estela y Luchi por darme su consejo; a mi
hermano Miguel por su tenacidad y superacin, a mi compaera de vida Fabiola por su
maravillosa forma de alentarme a seguir adelantepor ellos y para ellos.

Finalmente debo agradecer a la Escuela Superior de Ingeniera Mecnica y Elctrica campus


Zacatenco por haber abierto sus puertas para poder culminar mis estudios y haber apoyado
para la realizacin de esta tesis.

DEDICATORIAS
La presente tesis se la dedico a mi madre, por ayudarme a superar esta etapa en mi formacin
como profesional, por hacer de m una mejor persona, por ensearme que con esfuerzo todo
es posible, por darme aliento cuando estaba cansado, a levantarme cuando caa, a darme su
consejo en momentos de necesidad, por alumbrar mi camino, por guiarme en el sendero
correcto, pero, sobre todo, por haber credo en m y darme su plena confianza.

Tambin quiero dedicar esta tesis a mi hija Romina, por darme ese empuje y fuerza necesarias
para seguir adelante y nunca darme por vencido en realizar mis sueos y cumplir mis metas,
por ensearme lo que en verdad importa y, sobre todo, por llegar a iluminar mi vida.

Gonzalo Contreras

B
IPN ESIME Zacatenco Control de Acceso Mediante NFC

AGRADECIMIENTOS
Al M. en C. Jafeth Alonso y la M. en C. Gabriela Snchez por su gran apoyo, su paciencia y su
confianza, siempre estuvieron para apoyarnos y sin ustedes no lo habramos logrado. GRACIAS.

Al Instituto Politcnico Nacional, mi Alma Mater, institucin que me form, forj y me permiti
cumplir mi sueo, ser ingeniero politcnico. Hulum.

A la ESIME Zacatenco que me ense tanto y cada da me hizo mejorar. Nuestros colores son
verde y blanco porque el rojo lo llevamos en la sangre

A mi familia, mis tas que fueron mi segunda madre, mis tos y mis primos que me cobijaron y
apoyaron siempre. A mi ta Juanita por su enorme apoyo, jams podr pagarle todo lo que hizo
por m. A mi ta Ruth, mi inspiracin, quien me demostr que siempre hay que luchar y no
existen imposibles.

A mis padres por su apoyo incondicional y nunca me negaron mi sueo, les debo todo. A mis
hermanas Cynthia y Nancy que me escucharon y me poyaron cuando ms lo necesit. Los amo
a los 4. Espritu de la Paz, combinacin nica para una familia nica

A Nayelli quien me ha empujado a luchar y siempre superarme, te admiro, te amo.

A Gonzalo y Benjamn, mis amigos universitarios, con quienes luche hombro con hombro por 4
aos. Lo logramos

DEDICATORIAS
A mis sobrinas Andi, Pao y Auro, mis princesas, el motor de mi vida, el motivo para luchar cada
da, las amo. A mi sobrino Vicente, no logr conocerte y sin embargo te amo. A mi nuevo
sobrino, quien an espero con ansia para jugar.

A mis abuelas Anita y Aurea que desde el cielo me cuidan, s que pueden ver este logro que
tambin es su logro.

A mis hermanas Cynthia y Nancy, guerreras incansables.

Erick Espritu

C
No te rindas, an ests a tiempo
de alcanzar y comenzar de nuevo,
aceptar tus sombras,
enterrar tus miedos,
liberar el lastre,
retomar el vuelo.

No te rindas que la vida es eso,


continuar el viaje,
perseguir tus sueos,
destrabar el tiempo,
correr los escombros
y destapar el cielo.

No te rindas, por favor no cedas,


aunque el fro queme,
aunque el miedo muerda,
aunque el sol se esconda y se calle el viento,
an hay fuego en tu alma,
an hay vida en tus sueos

Porque la vida es tuya y tuyo tambin el deseo,


porque lo has querido y porque te quiero,
porque existe el vino y el amor, es cierto;
porque no hay heridas que no cure el tiempo.

Abrir las puertas,


quitar los cerrojos,
abandonar las murallas que te protegieron,
vivir la vida y aceptar el reto,
recuperar la risa,
ensayar un canto,
bajar la guardia y extender las manos,
desplegar las alas e intentar de nuevo,
celebrar la vida y retomar los cielos.

No te rindas, por favor no cedas,


aunque el fro queme,
aunque el miedo muerda,
aunque el sol se ponga y se calle el viento,
an hay fuego en tu alma,
an hay vida en tus sueos

Porque cada da es un comienzo nuevo,


porque esta es la hora y el mejor momento;
porque no ests solo...

Mario Benedetti
IPN ESIME Zacatenco Control de Acceso Mediante NFC

TABLA DE CONTENIDO

Objetivos 1

Objetivo General 1

Objetivo Especficos 1

Justificacin 1

1 Captulo I: El Control de acceso 2

1.1 Seguridad fsica 2

1.2 Funcionamiento del sistema de control de acceso 3

1.3 Credenciales 3

1.4 Acceso a los componentes del sistema de control 3

1.5 Tipos de lectores 4

1.6 Riesgos de seguridad 5

1.7 Tecnologa NFC 5

1.7.1 El Sistema RFID 5

1.7.1.1 Funcionamiento y componentes 5

1.7.1.2 Mejoras mediante RFID 7

1.7.1.3 Usos y limitaciones del RFID 8

1.7.1.4 La evolucin hacia el NFC 9

1.8 Aspectos Generales 10

1.8.1 Definicin del NFC 10

1.8.2 Caractersticas 10

1.8.3 Estandarizacin 10

1.8.4 Modos de operacin 11

1.8.5 Arquitecturas de un dispositivo NFC 12

1.8.6 Aplicaciones de NFC 12

i
IPN ESIME Zacatenco Control de Acceso Mediante NFC

1.9 NFC Forum 14

1.10 Etiquetas NFC 14

1.11 Establecimiento de la comunicacin NFC 15

1.12 Formato de datos 15

1.12.1 NFC Data Exchange Format NDEF 15

1.12.2 Definicin de Tipos de Registros (RTD) 16

2 Capitulo II: Requerimientos Tcnicos para Desarrollo del Prototipo 17

2.1 Arduino 17

2.1.1 Por qu Arduino? 17

2.1.2 Hardware 18

2.1.2.1 Placas E/S 18

2.1.3 Arduino UNO 19

2.1.3.1 Caractersticas tcnicas del Arduino UNO 19

2.2 PN532 22

2.2.1 Descripcin General 22

2.3 Eclipse 27

2.3.1 Arquitectura 27

2.3.2 Caractersticas 28

2.3.3 Historia 28

2.3.4 Radiografa 29

2.4 Android 30

2.4.1 Historia 30

2.4.2 Logos 31

2.4.3 Tipografa 31

2.4.4 Qu significan las versiones de Android? 33

2.4.5 Por qu utilizar Android y no iOS? 37

ii
IPN ESIME Zacatenco Control de Acceso Mediante NFC

2.4.6 Qu desventajas existen en Android a comparacin de iOS? 37

2.5 Anlisis y programacin de actividades del Proyecto 38

3 Capitulo III: Diseo del Prototipo 39

3.1 Aplicacin Android 39

3.1.1 Aplicacin para Usuario Estndar 39

3.1.1.1 Mdulo 1 39

3.1.1.2 Mdulo 2 40

3.1.2 Aplicacin para Administrador 43

3.1.3 Desarrollo 45

3.2 Software para Arduino Uno y PN532 49

3.2.1 Entorno de desarrollo de Arduino 49

3.2.2 Estructuras de un cdigo para Arduino 50

3.2.2.1 Variables y constantes 50

3.2.3 Desarrollo de aplicacin Arduino para lectura de dispositivos 51

3.2.3.1 Fase 1: Libreras y Configuracin 51

3.2.3.1.1 SPI.h 51

3.2.3.1.2 PN532_SPI.h 51

3.2.3.1.3 Llcp.h 52

3.2.3.1.4 Snep.h 52

3.2.3.2 Fase 2: Algoritmo de lectura 52

3.2.3.2.1 Recepcin del mensaje NDEF 52

3.2.3.2.2 Lectura de etiquetas NFC 53

3.2.4 Desarrollo de aplicacin Arduino para escritura de TAGs NFC 54

3.3 Implementacin 55

3.3.1 Prototipo NFC 55

3.3.2 Puerta 57

iii
IPN ESIME Zacatenco Control de Acceso Mediante NFC

3.4 Costos del Prototipo 61

3.5 Anlisis del Prototipo 62

4 Capitulo IV: Pruebas y Resultados 63

Conclusiones 66

ANEXO I: Cdigo Aplicacin de Lectura para Arduino UNO 67

ANEXO II: Cdigo para Escritura de TAGs usando Arduino UNO 68

ANEXO III: Cdigo de App Control NFC 69

ANEXO IV: Cdigo App Admin-Control NFC 70

ANEXO V: Licencia BSD 71

ANEXO VI: Hojas de especificaciones del TRIAC MAC 12D 73

ANEXO VII: Hojas de Especificaciones del Optoacoplador MOC 3011 74

ANEXO VIII: Manual de la cerradura elctrica Lloyds modelo LCH-1056 75

ANEXO IX: Artculo Publicado en

The SciTech, International Journal of Engineering Sciences 80

REFERENCIAS 91

iv
IPN ESIME Zacatenco Control de Acceso Mediante NFC

NDICE DE FIGURAS
Figura I.1. Funcionamiento del sistema RFID 6

Figura I.2. Elementos de un sistema RFID 7

Figura I.3. Modos de operacin 11

Figura I.4. Logo del NFC Forum 14

Figura II.1. Arduino UNO 19

Figura II.2. Descripcin del Arduino UNO 20

Figura II.3. Esquemtico del Arduino UNO 21

Figura II.4. Diagrama de Bloques 23

Figura II.5. Esquemtico del PN532 25

Figura II.6. Mdulo PN532 25

Figura II.7. Mdulo PN532. Vista lateral 26

Figura II.8. Llaveros con mdulo NFC 26

Figura II.9. Mdulo PN532. Vista frontal 26

Figura III.1. Mdulo 1 de la App Control NFC 40

Figura III.2. Mdulo 2 de la App Control NFC 40

Figura III.3. Gua de usuario 41

Figura III.4. Aplicacin Control NFC Admin 43

Figura III.5. IDE Arduino 49

Figura III.6. Esquemtico del circuito de control 55

Figura III.7. Esquemtico del prototipo 56

Figura III.8. Parte trasera del circuito 56

Figura III.9. Circuito montado y conectado 56

Figura III.10. Prototipo montado y conectado en la puerta 57

Figura III.11. Perforacin vertical para cableado 57

Figura III.12. Perforacin para cerradura 58

Figura III.13. Instalacin de la cerradura elctrica 58

v
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Figura III.14. Conexin interna del circuito 60

Figura III.15. Puerta y sus conexiones internas 60

Figura III.16. Proceso de pintado 60

Figura III.17. Puerta y prototipo terminados y montados, vista exterior 63

Figura III.18. Puerta y prototipo terminados y montados, vista interior 64

Figura IV.1. Momento de acercamiento de una TAG NFC 64

Figura IV.2. Acceso aceptado y apertura de la puerta 65

Figura IV.3. Momento de acercamiento de un dispositivo Android con NFC 65

Figura IV.4. Android BEAM y apertura de la puerta 61

Figura IV.5. Puerta y prototipo terminados y montados, vista ngulo superior 61

vi
IPN ESIME Zacatenco Control de Acceso Mediante NFC

NDICE DE TABLAS
Tabla I.1. Comparativo Cdigo de Barras/RFID 8

Tabla I.2. Tipos de etiquetas NFC 14

Tabla II.1. Caractersticas Tcnicas 20

Tabla II.2. Datos de referencia 23

Tabla II.3. Descripcin de los pines 24

Tabla II.4. Versiones de Eclipse 29

Tabla II.5. Caractersticas y especificaciones 31

Tabla II.6. Funciones de las versiones de Android 34

Tabla III.1. Tipos de Datos 50

Tabla III.2. Costo de desarrollo del proyecto 61

Tabla III.3. Costo aproximado de comercializacin del prototipo 61

vii
IPN ESIME Zacatenco Control de Acceso Mediante NFC

NDICE DE DIAGRAMAS
Diagrama II.1. Diagrama de Gantt del Proyecto 38

Diagrama III.1. Diagrama de Flujo de la App Control NFC 42

Diagrama III.2. Diagrama de Flujo de la App Control NFC Admin 44

Diagrama III.3. Diagrama de Flujo del Prototipo 62

viii
IPN ESIME Zacatenco Control de Acceso Mediante NFC

OBJETIVOS
OBJETIVO GENERAL

Desarrollar un sistema de control de acceso usando la tecnologa NFC (Near Field


Communication).

OBJETIVOS ESPECFICOS

Analizar la tecnologa NFC y sus caractersticas.

Establecer una comunicacin con la tecnologa NFC.

Programar una aplicacin Android para establecer comunicacin con la tecnologa NFC
por medio de un telfono mvil.

Implementar el prototipo usando etiquetas NFC como llaves.

JUSTIFICACIN
La tecnologa inalmbrica NFC (Near Field Communication) cumpli 10 aos en 2013 ya que el
estndar ISO/IEC se aprob el 8 de diciembre del 2003. Sin embargo, ha pasado mucho sin que
se aclarara su validez prctica a pesar de la informacin de los consorcios cuyos fabricantes de
equipos mviles trataron de comenzar a impulsar esta tecnologa.

El aprovechamiento de la tecnologa NFC y explotacin de ella en el campo de los accesos


restringidos es una de las principales caractersticas de este proyecto. Debido a que esta
tecnologa a pesar de que se implement desde el ao 2003 no se le ha dado la atencin
necesaria para su estudio. Entre otros aspectos, la tecnologa NFC nos proporciona numerosas
ventajas y cabe mencionar algunos ejemplos de su aplicacin como lo es transferir fotos,
videos o msica, tener una identificacin y control del coche, tener una sesin en cajeros
automticos 2.0, realizar compras ms all de los cdigos QR, poder identificarse en eventos,
efectuar pagos mviles, el uso de etiquetas NFC, etc.

La implementacin de accesos restringidos nos facilita tener costos pequeos y accesibles a


toda persona. Ciertamente el hablar de su seguridad es un tema importante el cual es
necesario tocar debido a que esta tecnologa nos proporciona seguridad, confiabilidad y
confidencialidad, sin mencionar que es ecolgico ya que evita el uso de metales en la
produccin de llaves.

Por medio de la radiofrecuencia o el sistema RFID se aplica su transmisin y bsicamente la


tecnologa NFC nos permite realizar una comunicacin simple, segura e intuitiva entre
dispositivos.

Los dispositivos mviles que cuentan con esta tecnologa internamente tienen una antena y un
circuito para su funcionamiento.

1
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Captulo I: El control de acceso


El control de acceso es la restriccin selectiva de acceso a un lugar u otro recurso. El hecho de
acceder a puede significar mucho, entrar, o usar. El permiso para acceder a un recurso se llama
autorizacin.

Las herraduras y credenciales de inicio de sesin son dos mecanismos anlogos de control de
acceso.

1.1 La seguridad fsica

El control de acceso geogrfico puede ser ejecutado por personal, o con un dispositivo, como
un torniquete. Una alternativa de control de acceso en sentido estricto, es un sistema de
control de presencia autorizada. Una variante es el control de salida, por ejemplo, de una
tienda o de un pas.

El control de acceso se refiere a la prctica de restringir la entrada a una propiedad, un edificio


o una habitacin a las personas no autorizadas. Control de acceso fsico puede lograrse por un
ser humano, a travs de medios mecnicos, tales como cerraduras y llaves, o por medios
tecnolgicos tales como los sistemas de control de acceso como los lectores dactilares. Dentro
de estos entornos, la gestin de claves fsicas tambin puede ser empleada como un medio de
gestin y seguimiento del acceso a las zonas con llaves mecnicas.

El control de acceso fsico es una cuestin de Quin? Dnde? y Cundo? Un sistema de


control de acceso determina quin tiene permiso para entrar o salir, donde se les permite salir
o entrar, y cuando se les permite entrar o salir. Histricamente esto se logr parcialmente a
travs de llaves y cerraduras:

Cuando una puerta se cierra slo alguien con una llave puede entrar por la puerta en
funcin de cmo est configurado el bloqueo.
Cerraduras mecnicas y llaves: no permiten la restriccin de la entrega de llaves a los
nuevos tiempos o fechas especficas. No proporcionan registros de la clave utilizada en
cualquier puerta especfica y las llaves pueden ser fcilmente copiados o transferidos a
una persona no autorizada.
Cuando una llave mecnica se pierde o el titular de la clave ya no est autorizado a
utilizar el rea protegida, los bloqueos deben ser re-codificados.

El control de acceso electrnico utiliza computadoras para resolver las limitaciones de las
cerraduras mecnicas y llaves. Una amplia gama de credenciales pueden ser usadas para
reemplazar llaves mecnicas. Cuando se conceda acceso, la puerta estar abierta durante un
tiempo predeterminado y la transaccin se registrar. Cuando una solicitud sea denegada, la
puerta debe permanecer cerrada y se registrar el intento de acceso. El sistema tambin har
un seguimiento de la puerta y de la alarma (de ser el caso), si la puerta es abierta a la fuerza o
se mantiene abierta demasiado tiempo despus de haber sido desbloqueado mandar una
alerta.

2
IPN ESIME Zacatenco Control de Acceso Mediante NFC

1.2 El funcionamiento del sistema de control de acceso

Cuando se presenta una credencial a un lector, el lector enva la informacin de la credencial


(por lo general un nmero) a un panel de control. El panel de control compara el nmero de la
credencial con una lista de control de acceso, concede o deniega la solicitud presentada y
enva un registro de transacciones de una base de datos. Cuando se niega el acceso basado en
la lista de control de acceso, la puerta permanece bloqueada. Si hay una coincidencia entre la
credencial y la lista de control de acceso, el panel de control opera un relevador (por ejemplo)
que a su vez abre la puerta. El panel de control tambin hace caso omiso de una seal cuando
la puerta est abierta para evitar una alarma. A menudo, el lector proporciona
retroalimentacin, tal como un LED rojo para un acceso denegado y un LED verde para un
acceso concedido.

La descripcin anterior ilustra una operacin de un solo factor. Las credenciales se pueden
transferir, subvirtiendo as la lista de control de acceso. Por ejemplo, Alicia tiene derechos de
acceso a la sala de servidores, pero Juan no lo tiene. Alicia le da su credencial a Juan por lo que
ahora tiene acceso a la sala de servidores. Para evitar esto, la autenticacin de dos factores
puede ser utilizada. En una transaccin de dos factores, se necesitan la credencial presentada y
un segundo factor para el acceso a determinados; otro factor puede ser un PIN, una segunda
credencial, la intervencin del operador, o una entrada biomtrica.

Hay tres tipos de autenticacin de la informacin:

Algo que el usuario sabe, por ejemplo, una contrasea, frase de paso o PIN
Algo que el usuario tiene, como tarjetas inteligentes
Algo que el usuario es, tales como huellas dactilares, verificada por la medicin
biomtrica

1.3 Credencial

Una credencial es un objeto fsico, un conocimiento o una faceta de la existencia fsica de una
persona, que permite a una persona el acceso a una instalacin fsica determinada o a un
sistema de informacin basado en computadora. Normalmente, las credenciales pueden ser
algo que usted sabe, algo que tiene, algo que es o alguna combinacin de estos elementos. La
credencial ms tpica es una tarjeta de acceso, llavero, u otro dispositivo. Hay muchas
tecnologas de tarjetas incluyendo banda magntica, cdigo de barras, proximidad a 13,56
MHz, tarjeta magntica de 26 bits, tarjetas inteligentes de contacto y tarjetas inteligentes sin
contacto, tecnologas biomtricas tpicas (incluyen huellas dactilares, reconocimiento facial,
reconocimiento de iris, escner de retina, voz y geometra de la mano).

1.4 Acceso a los componentes del sistema de control

Un punto de acceso (que puede ser una puerta, torniquete, puerta de estacionamiento,
ascensor, u otra barrera fsica) es donde la concesin de acceso puede ser controlada
electrnicamente. Normalmente, el punto de acceso es una puerta. Una puerta de control de
acceso electrnico puede contener varios elementos. En su forma ms bsica hay una

3
IPN ESIME Zacatenco Control de Acceso Mediante NFC

cerradura elctrica independiente. La cerradura se desbloquea por un operador con un


interruptor. Para automatizar este sistema, la intervencin del operador se sustituye por un
lector. El lector puede ser un teclado, donde se introduce un cdigo, podra ser un lector de
tarjetas, o podra ser un lector biomtrico. Los lectores no suelen hacer una decisin de
acceso, pero envan un nmero de tarjeta a un panel de control de acceso que verifica el
nmero con una lista de acceso. Para controlar la posicin de la puerta se utiliza un interruptor
magntico. En concepto del interruptor de la puerta no es diferente a las de los refrigeradores
o las puertas del coche. En general, slo se controla la entrada, y la salida no est controlada.
En los casos en que la salida se controla, un segundo lector se utiliza en el lado opuesto de la
puerta. En los casos en que no se controla la salida (salida libre) un dispositivo manda una
solicitud para salir, los dispositivos de salida puede ser un botn pulsador o un detector de
movimiento. Cuando se pulsa el botn o el detector de movimiento es activado, la alarma de la
puerta se ignora temporalmente mientras se abre dicha puerta. La accin de salir de una
puerta sin tener que abrir dicha puerta elctrica se llama salida libre mecnica. Esta es una
caracterstica de seguridad importante. En los casos en que el seguro debe estar desbloqueado
elctricamente a la salida.

1.5 Tipos de lectores

Lectores de control de acceso pueden ser clasificados por las funciones que son capaces de
realizar:

Lectores bsicos: basta con leer el nmero de tarjeta o PIN y lo remitir a un panel de
control. Este es el tipo ms popular de los lectores de control de acceso. Ejemplos de
estos lectores son Tiny RF RFLOGICS, ProxPoint por HID, etc.
Lectores semi-inteligentes: son todas las entradas y salidas necesarias para el control
de hardware de la puerta, pero no toman ninguna decisin de acceso. Cuando un
usuario presenta una tarjeta o PIN entra, el lector enva informacin al controlador
principal y espera su respuesta. Si se interrumpe la conexin con el controlador
principal, estos lectores dejan de funcionar o funcionan en modo degradado. Por lo
general, los lectores semi-inteligentes estn conectados a un panel de control a travs
de un bus RS-485. Ejemplos de estos lectores son InfoProx Lite IPL200 por CEM
Systems y AP-510 por Apolo.
Lectores inteligentes: son todas las entradas y salidas necesarias para el control de
hardware de la puerta, tambin tienen memoria y potencia de procesamiento
necesaria para tomar decisiones de acceso independiente. Igual que los lectores semi-
inteligentes que se conectan a un panel de control a travs de un bus RS-485. El panel
de control enva actualizaciones de configuracin y recupera los eventos de los
lectores. Ejemplos de estos lectores podran ser InfoProx IPO200 por CEM Systems y
AP-500 por Apolo. Tambin hay una nueva generacin de lectores inteligentes que se
refiere como "lectores IP". Los sistemas con lectores de propiedad intelectual por lo
general no tienen paneles de control tradicionales y los lectores se comunican
directamente al PC que acta como anfitrin.

Lectores de control de acceso tambin se pueden clasificados por el tipo de tecnologa de


identificacin.

4
IPN ESIME Zacatenco Control de Acceso Mediante NFC

1.6. Riesgos de seguridad

El riesgo de seguridad ms comn de la intrusin de un sistema de control de acceso es


simplemente seguir un usuario legtimo a travs de una puerta. A menudo, el usuario legtimo
sostiene la puerta para el intruso. Este riesgo se puede minimizar mediante la capacitacin y
concienciacin sobre la seguridad a usuarios. En las aplicaciones de seguridad donde es muy
alto este riesgo se reduce al mnimo mediante el uso de un puerto de salida, a veces llamado
un vestbulo de seguridad donde se requiere la intervencin del operador para asegurar una
identificacin vlida.

El hardware de bloqueo de suplantacin es bastante simple. Un imn fuerte puede operar el


solenoide de control de los pernos en el hardware de bloqueo elctrico. Las cerraduras de
motor tambin son susceptibles a este ataque con un imn. Tambin es posible manipular el
poder de la cerradura ya sea mediante la eliminacin o la adicin de corriente.

1.7 Tecnologa NFC

La tecnologa conocida como Near Field Communication o NFC puede considerarse como un
avance del RFID o Radio Frequency Identification. Bsicamente, NFC permite realizar una
comunicacin simple, segura e intuitiva entre dispositivos.

NFC aparece como una evolucin en el uso de aplicaciones dentro del telfono mvil, pues se
presenta como un sistema de comunicacin sencilla, una alternativa para el manejo de pagos y
una opcin para el almacenamiento de datos de forma ms segura para los dispositivos
electrnicos mviles. La principal caracterstica que hace que la tecnologa NFC sea interesante
y atractiva, es que complementa a otras tecnologas inalmbricas como el Bluetooth, WiFi y el
mismo RFID. La principal diferencia entre NFC y los otros esquemas sin contacto, es que no
est pensada para la transmisin masiva de datos, pero s para un intercambio casi
instantneo de una poca cantidad de informacin y no necesita de un emparejamiento previo.

Para la mejor comprensin de la tecnologa NFC, debemos primeramente conocer los


principios de su antepasado, el sistema RFID.

1.7.1 El sistema RFID

1.7.1.1 Funcionamiento y componentes

El RFID ya empezaba a tomar forma durante la Segunda Guerra Mundial, en donde se utilizaba
la identificacin por radiofrecuencia de manera masiva por los britnicos para distinguir entre
aeronaves propias o enemigas. Actualmente RFID, ya como una tecnologa bien constituida,
puede definirse como aquel sistema que tiene como principal funcin la identificacin de
determinados objetos a distancia, utilizando para tal efecto las ondas de radio. Para
conseguirlo, esta tecnologa proporciona soporte para el almacenamiento y la recuperacin
remota de datos en etiquetas o tarjetas RFID que contienen la informacin necesaria para el
reconocimiento [1].

5
IPN ESIME Zacatenco Control de Acceso Mediante NFC

El funcionamiento de los sistemas de RFID es sencillo. Bsicamente consta de tres partes como
se ve en la Figura 1. Existe un lector RFID que de manera peridica busca en su zona de alcance
la informacin contenida en las seales que son emitidas por alguna etiqueta RFID [1][2]. Estas
etiquetas poseen la capacidad de adherirse a productos, personas o animales que necesitan
ser identificados o seguidos. Una vez que se hayan recibido los datos, el lector los transfiere a
un subsistema de procesamiento para la interpretacin y el tratamiento correspondiente.

Figura I.1. Funcionamiento del sistema RFID

La onda tiene potencia suficiente como para despertar las etiquetas que se encuentren en la
onda de interrogacin; los parmetros de esta onda (frecuencia, amplitud, comandos,
velocidades, entre otros) estn definidos por el protocolo de comunicacin. En otras palabras,
el protocolo fija el lenguaje entre el lector y las etiquetas, as que ambos deben utilizar el
mismo protocolo.

Cuando la etiqueta despierta responde al lector enviando su UID (identificador nico). Como la
etiqueta no tiene batera, la nica forma que tiene de transmitir informacin es reflejar la onda
que recibe, de forma similar a un heligrafo reflejando la luz solar [2].

Una vez que se ha establecido la comunicacin, el lector puede enviar comandos a la etiqueta
para leer su memoria, grabar nueva informacin o incluso destruir la etiqueta.

Elegir correctamente cada uno de estos elementos es esencial para garantizar el correcto
funcionamiento de la instalacin.

Hay muchos tipos de lectores dependiendo del uso que vayan a tener: desde lectores fijos de
largo alcance (para cintas de transporte, carretillas elevadoras o muelles de almacenes) a
dispositivos porttiles para lectura manual [2][3]. Los lectores industriales suelen trabajar con
varias antenas multiplexadas para asegurar una ptima cobertura en la zona de interrogacin.
Todos ellos se pueden conectar a la red local directamente, o bien a travs de un ordenador
puente.

Con respecto a las etiquetas, de nuevo hay mltiples opciones: desde los simples inlays
(etiqueta RFID desnuda, en la que tanto la antena como el chip estn desprotegidos), pasando
por las etiquetas trmicas estndar (se pueden imprimir y a la vez grabar como RFID) hasta
etiquetas robustas para ambientes industriales. Incluso hay etiquetas que soportan operacin
en entornos metlicos, lquidos o agresivos qumicamente [3].

El protocolo de comunicacin debe ser capaz de cumplir los requerimientos de la aplicacin en


trminos de velocidad de lectura y escritura, lectura de varias etiquetas simultneamente y
radio de alcance.

6
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Figura I.2. Elementos de un sistema RFID

Considerando las etiquetas RFID, se puede decir que se componen principalmente por una
antena, un transductor de radio y un material encapsulado o chip. Podemos clasificar a las
etiquetas tomando en cuenta la fuente de alimentacin, considerando esto, existen
bsicamente tres tipos [2]:

Etiquetas pasivas: Son las ms econmicas. No poseen fuente de alimentacin propia,


por lo que utilizan la pequea corriente elctrica inducida por la energa que reciben
del lector, misma que es suficiente para poner en marcha su circuito y para realizar la
transmisin de datos.

Etiquetas semi-pasivas: Reciben parte de su energa de una fuente propia de


alimentacin. Esta batera les sirve para alimentar solo sus circuitos, para la
transmisin de informacin, utiliza la energa del lector.

Etiquetas activas: Son menos econmicas que las anteriores pero poseen mayor
capacidad de almacenamiento tanto para sus circuitos, como la transmisin de la
informacin.

1.7.1.2 Mejoras mediante RFID

RFID no pretende sustituir los cdigos de barras, ya que en muchos casos ambas tecnologas
son complementarias. La decisin de implementar RFID debe venir determinada por una
mejora en la eficiencia de los procesos de la compaa, para lo cual es necesario sacar partido
de las ventajas de esta tecnologa sobre el cdigo de barras:

7
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Tabla I.1. Comparativo Cdigo de Barras/RFID

1.7.1.3 Usos y limitaciones del RFID

Existe un amplio abanico de necesidades de identificacin que se cubren perfectamente


mediante la utilizacin de RFID [2] [3]:

Identificacin de activos: cada activo tiene una etiqueta con el nmero de inventario,
descripcin, usuario y estado de mantenimiento.

Trazabilidad en la alimentacin: la etiqueta de cada unidad de almacenamiento (SKU)


tiene el nmero de lote, fabricante, fecha de caducidad y referencia del cliente.

Control de proceso: la etiqueta contiene datos de identificacin (lote y referencia) y


parmetros de proceso.

Identificacin personal: los nuevos pasaportes y DNI contienen informacin encriptada


que permite evitar falsificaciones.

Prevencin de copias ilegales: los artculos originales contienen el nmero de serie en


el chip, de forma que cuando se van a utilizar es posible comprobar este dato.

Identificacin de animales en granjas y mascotas.

Aunque tiene muchas ventajas, tambin tiene limitaciones:

Limitaciones intrnsecas a la tecnologa:

o Radio de lectura entre 10 cm y 10 m, dependiendo de la potencia del lector, y de la


sensibilidad de la etiqueta.
o Las ondas de radio se atenan al pasar por ciertos medios (en particular el agua) y
se reflejan al chocar con metales, lo cual reduce notablemente el radio de lectura.
Esto se traduce en que hay que ser cautelosos al identificar contenedores con
metales o lquidos en su interior.

8
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Amortizacin de la inversin (ROI): antes de implantar esta tecnologa es necesario


realizar un estudio detallado de las mejoras que el usuario va a obtener de ella, y si es
posible, calcular el ahorro que supone.

Los usuarios tienen que familiarizarse con la tecnologa. Aunque es muy sencilla y
fiable, implica un cambio en la forma de trabajo, y los usuarios tienen que confiar en
una etiqueta que contiene la informacin pero esta no es visible si no es mediante un
lector apropiado.

1.7.1.4 La evolucin hacia el NFC

El Near Field Communication brinda nuevas funciones a la tecnologa RFID. Esto se debe a la
combinacin de un lector y una etiqueta RFID en un mismo equipo NFC [3][4]. De esta manera
se facilita la comunicacin en ambas direcciones entre dos dispositivos y se quiebra la
separacin funcional de los esquemas RFID, es decir, el lector por un lado y las etiquetas por el
otro.

Es necesario considerar que la tecnologa NFC tiene algunas diferencias con RFID, a pesar de
que ambas utilizan el mismo tipo de chip y que deriva de la otra. Lo que debe quedar claro es
que aunque NFC es un nuevo estndar que aparece a raz de RFID, su misin no es
reemplazarlo, ms bien, complementarlo aumentando sus funciones.

Realizando una comparacin entre NFC y RFID, encontramos que la primera posee la
capacidad de cmputo necesaria para ejecutar operaciones, hecho que hace fcil su
integracin en dispositivos como telfonos mviles. Adems NFC provee una comunicacin
peer to peer, medio que permite intercambiar informacin entre dos dispositivos.

Otra cuestin que tiene NFC es que permite rangos pequeos de comunicacin, y por ende
posee una seguridad inherente, punto que lo hace preferible para cuestiones de comunicacin
que requieren seguridad como los medios de pago o intercambio de informacin personal.
Adems NFC no puede ser activado de forma remota, involuntariamente o por accidente. El
telfono obliga a que deba existir un acercamiento entre dispositivos antes de iniciar una
comunicacin.

Con todo esto, cabe mencionar que se hace necesaria la evolucin hacia el NFC para
aprovechar la robusta seguridad, la versatilidad por el hecho de que puede utilizarse en
dispositivos mviles, la facilidad en el uso y la posibilidad de servir como una tecnologa que
brinde al usuario informacin til y le permita interactuar con su ambiente.

9
IPN ESIME Zacatenco Control de Acceso Mediante NFC

1.8 Aspectos Generales

1.8.1 Definicin del NFC

Near Field Communication (NFC), es una tecnologa de comunicacin de corto alcance, que
permite el intercambio de datos entre dos dispositivos de manera inalmbrica. Es compatible
con infraestructuras RFID, debido a que es un derivado del mismo [4].

El NFC fue creado en el ao 2002 como un proyecto encabezado por Nokia, Philips y Sony,
mismas empresas que componen la asociacin NFC Forum, para promover la utilizacin de
este sistema en dispositivos mviles. En el 2003 fue aprobada como estndar ISO/IEC [4].

El sistema de corto alcance se compone de dos elementos: un iniciador y un objetivo, en


donde cualquier dispositivo con NFC puede adoptar las funciones o el comportamiento de una
de estas partes. El NFC puede ser instalado en cmaras fotogrficas, reproductores,
televisores, telfonos celulares y hasta en controles remotos.

1.8.2 Caractersticas

El NFC proporciona la comunicacin inalmbrica de corto alcance mediante un campo


magntico que permite el intercambio de datos, y opera en un ambiente en donde los
dispositivos se encuentran separados una distancia de 4 centmetros como mximo. El sistema
se maneja en la banda de frecuencias no licenciada de fc=13.56 MHz, y un ancho de banda que
oscila a 7 kHz a cada lado de fc. Las comunicaciones pueden ser half o full dplex [4][5]. Se
utiliza el esquema de modulacin Amplitud Shift Keying (ASK) y la codificacin Manchester. Se
disponen de tres velocidades de transmisin 106, 212 y 404 Kbps que son fijadas por el
dispositivo que inicia la conexin.

Un dispositivo NFC que comienza la comunicacin y controla el intercambio de informacin es


conocido como iniciador (similar al lector RFID), y el que responde al iniciador es conocido
como objetivo. La comunicacin puede realizarse en modo activo o bien en modo pasivo.

1.8.3 Estandarizacin

Existen diferentes estndares para el NFC, como los detenidos por ISO /IEC (International
Organization for Standarization/ International Electrotechnical Comision), el ETSI (European
Telecommunications Standards Institute) y tambin el ECMA (European Computer
Manufacturers Association). Estos especifican aspectos importantes en los sistemas NFC como
la tasa de transferencia, el esquema para la codificacin y modulacin as como otros
parmetros.

El ECMA-340 (ISO/IEC 18092) define la interfaz y modo de operacin (NFCIP-1). El estndar


ECMA- 352 (ISO/IEC 21481) define una segunda versin de la interfaz y modo de operacin en
NFC (NFCIP-2). Adems, el ECMA- 356 (ISO/IEC 22536) y el ECMA-362 (ISO/IEC DIS 23917)
definen la interfaz RF y el protocolo de comunicaciones [4].

10
IPN ESIME Zacatenco Control de Acceso Mediante NFC

1.8.4 Modos de operacin

Teniendo en cuenta el modo de operacin, el NFCIP-1 y el NFCIP-2 son los protocolos ms


significativos. A continuacin se describen brevemente [5]:

NFCIP-1: Combina dos protocolos de comunicacin que pertenecen al RFID, tales como
el MIFARE y el FeliCa, e incluye en ellos nuevos protocolos de transporte.

NFCIP-2: Hace posible la combinacin del NFC con lectores RFID logrando as una
compatibilidad.

Como se mencion anteriormente, para establecer una comunicacin existen dos modos
[5][6]:

Modo pasivo: Debe existir un dispositivo que reciba y otro que emita, este ltimo
dispone de fuente elctrica propia para funcionar, y debe generar una seal para el
intercambio de datos. Por el otro lado el dispositivo receptor no posee bateras y debe
aprovechar el campo incidente del emisor para el funcionamiento de sus circuitos.

Modo Activo: Los dispositivos poseen energa propia, por lo que ambos son capaces de
generar el campo electromagntico para la transferencia de datos.

Para los dispositivos NFC es posible hacer la comunicacin en el aire con otro, actuando como
etiqueta o haciendo de lector / escritor. Referente a esto, el NFC Forum define los siguientes
modos de operacin:

Peer to peer: Es utilizado cuando surge la necesidad de transmitir una reducida


cantidad de datos (unos pocos kilobytes). Si se desea elevar la cantidad de datos en la
transmisin, la tecnologa NFC es utilizada para concretar una conexin inalmbrica
con el soporte necesario para la comunicacin, como por ejemplo Bluetooth.

Lectura/escritura: En este modo, se tiene la capacidad de leer y escribir las etiquetas.


El dispositivo puede leer cuatro tipos de etiquetas, mismas que fueron definidas en el
NFC Forum. Una vez establecida la comunicacin es posible el intercambio de texto (en
pequeas cantidades), una direccin de internet o un nmero de telfono.

Emulacin de tarjeta inteligente: Un lector puede identificar a un dispositivo NFC,


como si este fuera una etiqueta NFC o una tarjeta inteligente. Este modo puede ser
usado para medios de pago, transacciones bancarias, pagos rpidos y control de
acceso.

Figura I.3. Modos de operacin

11
IPN ESIME Zacatenco Control de Acceso Mediante NFC

1.8.5 Arquitectura de un dispositivo NFC

En un dispositivo mvil NFC, es posible distinguir entre dos componentes fundamentales [6]:

Chip NFC y antena: Este conjunto permite la comunicacin y el intercambio de datos


entre los sistemas NFC a muy poca distancia, por medio de un campo magntico. El
chip se encuentra conectado al controlador banda base del telfono, que es el
encargado de la comunicacin del mvil.

Elemento seguro (SE): Es un chip independiente que contiene las aplicaciones basadas
en claves de seguridad, tiene como propsito permitir las transacciones seguras.
Existen varias implementaciones para este elemento y se diferencian en su ubicacin
dentro del mvil.

A continuacin se detallan las implementaciones para el elemento seguro [5] [6]:

o SE incorporado en el circuito del mvil: Es la arquitectura ms utilizada en los


proyectos a nivel mundial. En este caso el SE puede ser un chip ya montado en la placa
base o conectado a ella de alguna manera. Su ventaja principal es que ya posee todas
las certificaciones hardware y software necesarios, sin embargo, este modelo acarrea
todo un problema cuando el usuario quiera cambiar de telfono y deba de gestionar
las credenciales de pago.

o Tarjeta de memoria utilizada como SE: En esta implementacin una tarjeta de


memoria incorpora un chip con un micro controlador y una memoria flash.

o Tarjeta SIM como SE: Esta solucin es ms llamativa para las operadoras, porque de
esta forma toda la gestin de la informacin estar a su cargo. En este modelo, la
tarjeta SIM incorpora la aplicacin de pago, dicha aplicacin puede cargarse en la
propia tarjeta SIM.

1.8.6 Aplicaciones de NFC

Pagos mediante mvil

Esta aplicacin es la ms conocida de la tecnologa NFC, y es que pasando el terminal mvil por
un sensor se puede producir una transaccin de manera cmoda y gil. Para esta transmisin
se requiere un terminal NFC y adems disponer de una SIM NFC insertada en el terminal que
contiene los datos bancarios de forma segura.

Segn una encuesta realizada a ms de 1.000 expertos el NFC superar en el 2020 a los pagos
con la tarjeta de crdito.

De hecho a finales de 2010, Telefnica, la Caixa y Visa finalizaron la fase de prueba del Mobile
Shopping Sitges que consista en pequeos pagos en comercios, bares o restaurantes a travs
del mvil con NFC. Cabe decir que el piloto tuvo buena acogida y se espera que se implante
definitivamente.

12
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Otra de las grandes empresas que se ha lanzado a este sistema es Google, a travs de su
Google Wallet. Este producto es sencillamente un widget que se puede descargar en el
telfono mvil y autorizar la conexin con la SIM NFC. A partir de all se pueden realizar pagos
pasando el terminal por un punto de pago CitiPass y solo ser necesario un click para confirmar
e insertar el nmero PIN de la tarjeta bancaria. Este sistema funciona con cualquiera de las
tarjetas MasterCard asociadas con Citipass.

Una empresa como Carrefour tambin quiere pasarse al nuevo sistema NFC mediante el
servicio Mon Panier, esta aplicacin mvil permite realizar los pedidos y pagos en estos
supermercados a travs del terminal, luego el personal de Carrefour prepara la compra y la
dejan lista para que el usuario se persone en el kiosko Mon Panier y se lleve su compra.

Acceso a instalaciones con acreditacin:

Un ejemplo de esta aplicacin es el piloto que se realiza en la Universidad Catlica de Murcia


donde los estudiantes utilizan el NFC del terminal para acceder a las instalaciones del campus y
adems esta acreditacin permite realizar un control de asistencia automtico.

Se prev tambin que este piloto se ample y se pueda llegar a utilizar para que los estudiantes
se muevan a travs de la red de transporte gracias al bono electrnico de NFC. Este piloto est
financiado por Banco Santander y Vodafone.

Carteles NFC-Publicidad:

Una empresa australiana de telecomunicaciones (Telstra) ha lanzado una campaa de posters


que incorporan NFC.

El usuario acercando el mvil a la etiqueta NFC que se encuentra en el poster publicitario


puede de esta manera descargarse aplicaciones, muestras gratuitas del servicio de msica que
ofrece la compaa e incluso recargarse la tarjeta prepago.

Ya se han distribuido 20 cabinas de telfono en Melbourne y Sydney que incorporan estas


etiquetas tan particulares.

Libros con contenidos Multimedia:

La tecnologa NFC puede incluirse en los libros a travs de etiquetas que se encuentran en las
hojas del interior. Gracias a acercar el terminal mvil a estas etiquetas existe la posibilidad de
descargarse archivos multimedia que complementan las lecturas. Catch the Sun, un libro sobre
los vuelos en globo, integra este sistema.

Integracin en automviles:

Orange y la empresa de Ingeniera AMD- Concept han creado un coche (Opel Ampera) el cual
se puede abrir mediante el mvil prescindiendo de la tradicional llave a travs de un lector de
NFC que se encuentra insertado en el automvil y previo enrolamiento automvil-usuario.

13
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Adems recientemente BlackBerry y Porche 911 han realizado la integracin del terminal mvil
con el automvil a travs de una simple etiqueta NFC. Esta integracin permite poder acceder
a travs del display del coche a la msica de la BlackBerry, o llamar a travs del micrfono
instalado en el coche de entre otras posibilidades.

1.9 NFC Forum


En el ao 2004, se constituye el NFC Forum, definindose como una organizacin sin fines de
lucro que busca promocionar la utilizacin del NFC en dispositivos a travs del desarrollo de
ciertas especificaciones que intentan unificar los sistemas NFC [4].

El NFC Forum fue creado por las tres entidades pioneras en el NFC, Philips, Sony y Nokia, y
ahora ya cuenta con ms de una centena de miembros, entre ellos, empresas del rubro
tecnolgico, organismos econmicos y otras organizaciones sin fines de lucro.

Esta asociacin fomenta el desarrollo de un ambiente en donde se consiga que las aplicaciones
para el NFC sean seguras y puedan funcionar unas con otras sin problema. Para lograr esto se
definen especificaciones tanto para la arquitectura de los sistemas, como los protocolos para
lograr la operatividad en conjunto.

Figura I. 4. Logo del NFC Forum

1.10 Etiquetas NFC


Constituyen una parte importante de la tecnologa NFC, implementan un almacenamiento
pasivo en la espera de que algn lector NFC requiera la informacin que retienen. El NFC
Forum ha definido cuatro tipos de etiquetas [4] [6].

En las especificaciones de las etiquetas se establecen las caractersticas de cada uno de los
cuatro tipos, de manera tal a lograr la compatibilidad y operatividad de los dispositivos en sus
diferentes modos de lectura o escritura. En estas especificaciones se fijan varios parmetros
como los que se muestran a continuacin en la Tabla I.2.

Tabla I.2. Tipos de etiquetas NFC

14
IPN ESIME Zacatenco Control de Acceso Mediante NFC

1.11 Establecimiento de la comunicacin NFC

En los sistemas NFC se pueden distinguir cinco etapas importantes que estn presentes
durante el establecimiento de la transaccin [6]. Estas fases son:

Descubrimiento: En esta fase inicial, los dispositivos se rastrean mutuamente y luego


inician el reconocimiento.

Autenticacin: Cada uno de los dispositivos verifican si en el otro extremo su par est
autorizado o si deben establecer una conexin segura a travs de un cifrado
correspondiente.

Negociacin: Hasta este punto se definen parmetros como la tasa de transmisin, la


identidad del dispositivo, la aplicacin, y si es el caso, tambin la accin que van a
solicitar.

Transferencia: En esta fase ya puede realizarse el intercambio de datos.

Confirmacin: El receptor confirma el establecimiento de la comunicacin y la


transferencia de los datos.

Un aspecto que no debe pasarse por alto durante las transacciones, es la seguridad. Teniendo
en cuenta esto, es posible utilizar un cifrado AES y triple DES para emular la proteccin que
ofrece una tarjeta bancaria inteligente.

1.12 Formato de datos

Para que las etiquetas y los dispositivos puedan comunicarse entre s, y se pueda conseguir la
compatibilidad entre dispositivos NFC y RFID de los diferentes fabricantes, el NFC Forum
defini un formato de datos estandarizado.

1.12.1 NFC Data Exchange Format NDEF

Se define un formato de encapsulacin de mensaje para intercambiar informacin entre


dispositivos NFC, ya sea de un dispositivo a una etiqueta o entre dos dispositivos NFC activos,
tambin se especifican las reglas para construir un mensaje NDEF correcto, as como una
cadena ordenada de registros NDEF.

NDEF no hace referencia a ningn circuito, ni arquitectura de conexin, ni se debe pensar que
especifique el intercambio de informacin, es solamente un formato de mensaje. Este
formato es el mismo para tarjetas, as como para dispositivos NFC, de esto se concluye que la
informacin de NDEF no guarda relacin con el tipo de dispositivo que participa en una
comunicacin.

15
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Con este formato pueden transmitirse varios tipos de informacin, como:

Documentos o fragmentos XML, imgenes de diversos formatos y datos encriptados.

Cadenas de informacin encapsulada.

Documentos mltiples que guardan alguna relacin lgica.

1.12.2 Definicin de Tipos de Registros (RTD)


Proporciona las pautas para la especificacin de los tipos de registros, que pueden ser
incluidos en mensaje NDEF. Esta especificacin soporta aplicaciones especficas NFC [4].

El NFC Forum define dos tipos: NFC Forum External Types y NFC Forum Well-Known Types,
siendo el primero creado para dar a otros organismos la posibilidad de especificar sus propios
tipos de forma independiente.

Con respecto al NFC Forum Well-Known Types, es necesario decir que fue estandarizado por
las especificaciones del NFC Forum, que proporciona la pauta para el procesamiento y
representacin de los datos. Ellos son:

Text Record Type: Slo texto simple, ninguna aplicacin especfica asignada.

Uniform Resource Identifier (URI) Record Type: Correo electrnico, direcciones de


Internet, nmeros de telfono u otros cdigos de identificacin.

Smart Poster Record Type: Es una extensin del tipo de registro URI, que proporciona
informacin adicional acerca del URI, como iconos o acciones recomendadas.

Generic Control Record Type: Proporciona una estructura para cualquier actividad de
control.

Signature Record Type: Una firma est prevista para certificar la veracidad de los
datos.

Connection Handover: Ofrece traspaso de una conexin NFC a otra tecnologa de


comunicacin con mayor rendimiento de datos (por ejemplo, Bluetooth).

En el siguiente captulo se expondrn todos los requerimientos tcnicos para la realizacin del
prototipo. Se utiliz un micro-controlador ATmega en una tarjeta Arduino, la cual se
conectar al mdulo de transmisin PN532, el cual, contiene un mdulo NFC que servir para
comunicar los dispositivos mviles y TAGs a configurar. La interfaz informtica que nos
permitir configurar los dispositivos NFC y administrar el control de acceso ser programada
en el lenguaje de programacin orientada a objetos C#, utilizando Microsoft Visual Studio
2012. La aplicacin mvil para sistema operativo Android ser desarrollada en el compilador
Eclipse 4.3 que es un compilador que da soporte a diversos lenguajes de programacin, entre
ellos Java y Android.

16
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Captulo II: Requerimientos Tcnicos para Desarrollo


del Prototipo
NFC es un avance de otra tecnologa llamada RFID, la cual est compuesta principalmente por
un Tag o etiqueta, un lector y un sistema de procesamiento. NFC combina un lector y una
etiqueta RFID en un mismo equipo. Permite rangos pequeos de comunicacin, por ello,
posee una seguridad inherente, no puede ser activado de forma remota o involuntaria, es
obligatoria la existencia de un acercamiento entre dispositivos antes de iniciar la
comunicacin. El sistema se maneja en la banda de frecuencias no licenciada de 13.56 MHz.
NFC tiene diversos modos de operacin, como son: peer to peer (transmisin de una cantidad
reducida de datos), lectura/escritura (leer y escribir tarjetas o TAGs) y emulacin de tarjeta
(mtodo de pago, transacciones, etc.).

Para establecer una comunicacin entre dispositivos NFC se necesitan ciertos requerimientos
tcnicos tanto de hardware como de software, en este captulo se mostrarn estos
requerimientos, adems se programarn las actividades a realizar para la elaboracin del
proyecto, esto se ver reflejado en un diagrama de Gantt.

2.1 Arduino

Arduino es una herramienta para hacer que los ordenadores puedan sentir y controlar el
mundo fsico a travs de tu ordenador personal [7]. Es una plataforma de desarrollo de
computacin fsica (physical computing) de cdigo abierto, basada en una placa con un sencillo
microcontrolador y un entorno de desarrollo para crear software (programas) para la placa.

Puedes usar Arduino para crear objetos interactivos, leyendo datos de una gran variedad de
interruptores y sensores y controlar multitud de tipos de luces, motores y otros actuadores
fsicos. Los proyectos de Arduino pueden ser autnomos o comunicarse con un programa
(software) que se ejecute en tu ordenador (ej. Flash, Processing, MaxMSP). El software es de
cdigo abierto.

El lenguaje de programacin de Arduino es una implementacin de Wiring, una plataforma de


computacin fsica parecida, que a su vez se basa en Processing, un entorno de programacin
multimedia.

2.1.1 Por qu Arduino?

Hay muchos otros microcontroladores y plataformas con microcontroladores disponibles para


la computacin fsica. Parallax Basic Stamp, BX-24 de Netmedia, Phidgets, Handyboard del
MIT, y muchos otros ofrecen funcionalidades similares. Todas estas herramientas organizan el
complicado trabajo de programar un microcontrolador en paquetes fciles de usar. Arduino,
adems de simplificar el proceso de trabajar con microcontroladores, ofrece algunas ventajas
respecto a otros sistemas a profesores, estudiantes y amateurs [7]:

17
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Asequible - Las placas Arduino son ms asequibles comparadas con otras plataformas
de microcontroladores. La versiones ms caras de los mdulos de Arduino no superan
los 60.

Multi-Plataforma - El software de Arduino funciona en los sistemas operativos


Windows, Macintosh OSX y Linux. La mayora de los entornos para microcontroladores
estn limitados a Windows.

Entorno de programacin simple y directo - El entorno de programacin de Arduino es


fcil de usar para principiantes y lo suficientemente flexible para los usuarios
avanzados. Pensando en los profesores, Arduino est basado en el entorno de
programacin de Procesing con lo que el estudiante que aprenda a programar en este
entorno se sentir familiarizado con el entorno de desarrollo Arduino.

Software ampliable y de cdigo abierto- El software Arduino est publicado bajo una
licencia libre y preparado para ser ampliado por programadores experimentados. El
lenguaje puede ampliarse a travs de libreras de C++, y si se est interesado en
profundizar en los detalles tcnicos, se puede dar el salto a la programacin en el
lenguaje AVR C en el que est basado. De igual modo se puede aadir directamente
cdigo en AVR C en los desarrollos.

Hardware ampliable y de Cdigo abierto - Arduino est basado en los


microcontroladores ATMEGA168, ATMEGA328 y ATMEGA1280. Los planos de los
mdulos estn publicados bajo licencia Creative Commons, por lo que diseadores de
circuitos con experiencia pueden hacer su propia versin del mdulo, amplindolo u
optimizndolo.

2.1.2 Hardware

Hay mltiples versiones de la placa Arduino. La mayora usan el ATmega168 de Atmel,


mientras que las placas ms antiguas usan el ATmega8 [7] [9].

Nota: Los diseos de referencia para Arduino se distribuyen bajo licencia Creative Commons
Attribution-ShareAlike 2.5.

2.1.2.1 Placas E/S

Diecimila: Esta es la placa Arduino ms popular. Se conecta al ordenador con un cable


estndar USB y contiene todo lo que necesitas para programar y usar la placa. Puede
ser ampliada con variedad de dispositivos: placas hijas con caractersticas especficas.

Nano: Una placa compacta diseada para uso como tabla de pruebas, el Nano se
conecta al ordenador usando un cable USB Mini-B.

Bluetooth: El Arduino BT contiene un mdulo bluetooth que permite comunicacin y


programacin sin cables. Es compatible con los dispositivos Arduino.

LilyPad: Diseada para aplicaciones listas para llevar.

18
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Mini: Esta es la placa ms pequea de Arduino. Trabaja bien en tabla de pruebas o


para aplicaciones en las que prima el espacio. Se conecta al ordenador usando el cable
Mini USB.

Serial: Es una placa bsica que usa RS232 como un interfaz con el ordenador para
programacin y comunicacin. Esta placa es fcil de ensamblar incluso como ejercicio
de aprendizaje.

2.1.3 Arduino UNO

Arduino Uno es una placa electrnica basada en el microcontrolador ATmega328. Cuenta con
14 entradas/salidas digitales, de las cuales 6 se pueden utilizar como salidas PWM (Modulacin
por ancho de pulsos) y otras 6 son entradas analgicas. Adems, incluye un resonador
cermico de 16 MHz, un conector USB, un conector de alimentacin, una cabecera ICSP y un
botn de reseteado. La placa incluye todo lo necesario para que el microcontrolador haga su
trabajo, basta conectarla a un ordenador con un cable USB o a la corriente elctrica a travs de
un transformador [7].

Figura II.1. Arduino UNO

2.1.3.1 Caractersticas tcnicas del Arduino UNO

Un sistema electrnico es cualquier disposicin de componentes electrnicos con un conjunto


definido de entradas y salidas. Una placa Arduino, por tanto, puede pensarse de forma
simplificada como un sistema que acepta informacin en forma de seal de entrada, desarrolla
ciertas operaciones sobre sta y luego produce seales de salida.

En los sistemas electrnicos, una magnitud fsica variable se representa generalmente


mediante una seal elctrica que vara de manera tal que describe esa magnitud. Por lo
general, se hace referencia a las seales continuas como seales analgicas, mientras que
asociamos las seales discretas a seales digitales: el ejemplo ms claro es el de las seales
binarias, donde la seal slo pueden tomar dos niveles, 0 o 1.

Arduino incorpora terminales digitales (seales discretas) pero de tal forma que tenemos un
gran abanico de valores con los que trabajar (por ejemplo, 255 valores de luz en un fotosensor,
siendo 0 ausencia de luz y 255 el mximo valor lumnico).

19
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Tabla II.1. Caractersticas Tcnicas

Figura II.2. Descripcin del Arduino UNO

Empezando segn las agujas del reloj [7] [10]:

Terminal de referencia analgica (naranja)

Tierra digital (verde claro)

Terminales digitales 2-13 (verde)

Terminales digitales 0-1/ E/S serie - TX/RX (verde oscuro) - Estos pines no se pueden
utilizar como e/s digitales (digitalRead () y digitalWrite ()) si ests utilizando
comunicacin serie (por ejemplo Serial.begin).

Botn de reinicio - S1 (azul oscuro)

Programador serie en circuito "In-circuit Serial Programmer" o "ICSP" (azul celeste).

Terminales de entrada analgica 0-5 (azul claro)

20
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Terminales de alimentacin y tierra (alimentacin: naranja, tierras: naranja claro)

Entrada de alimentacin externa (9-12VDC) - X1 (rosa)

Selector de alimentacin externa o por USB (coloca un jumper en los dos pines ms
cercanos de la alimentacin que quieras) - SV1 (prpura). En las versiones nuevas de
Arduino la seleccin de alimentacin es automtica por lo que puede que no tengas
este selector.

USB (utilizado para subir programas a la placa y para comunicaciones serie entre la
placa y el ordenador; puede utilizarse como alimentacin de la placa) (amarillo)

Figura II.3. Esquemtico del Arduino UNO

21
IPN ESIME Zacatenco Control de Acceso Mediante NFC

2.2 PN532

2.2.1 Descripcin General

El PN532 es un mdulo de transmisin integrado para comunicaciones inalmbricas que


trabaja en la frecuencia de 13.56 MHZ que incluye un microcontrolador basado en el ncleo
80C52. El mdulo de transmisin utiliza el concepto de modulacin y demodulacin
completamente integrada para las diferentes clases de mtodos de comunicacin inalmbrica
y los protocolos en la banda de 13.56 MHZ [8].

El PN532 soporta 4 diferentes modos de operacin:

Lectura/escritura con soporte de ISO 14443A/MIRAFE y el esquema de FeliCa.

ISO 14443B solo en modo de lectura/escritura.

Modo de interface de tarjeta soportando ISO 14443A/MIFARE y el esquema de


FeliCa.

Modo NFCIP-1.

Activando el modo de lectura/escritura para el lector ISO 14443A/MIRAFE y el modo de


lectura/escritura para el modo ISO 14443B, el transmisor interno de PN532 es capaz de
manejar una antena de lectura/escritura diseada para la comunicacin con las tarjetas
ISO14443A / MIFARE y transpondedores sin la necesidad de circuitera activa adicional.

La parte de recepcin proporciona una implementacin robusta y eficiente de una circuitera


de demodulacin y decodificacin de las seales compatibles de tarjetas y transpondedores
ISO 14443 / MIFARE e ISO 14443B. La parte digital se encarga de la elaboracin de tramas
ISO14443A y deteccin de errores (Paridad y CRC).

Activando el modo de lectura/escritura de FeliCa, el mdulo de transmisin del PN532


soporta el esquema de comunicaciones de FeliCa. El receptor provee una robusta y eficiente
implementacin de circuitera de demodulacin y decodificado de seales de FeliCa. La parte
digital maneja las tramas FeliCa y la deteccin de errores CRC. El PN532 soporta
comunicaciones inalmbricas de velocidades de ms de 424 Kbps en ambas direcciones
usando el modo de FeliCa.

Adicionalmente, el mdulo de transmisin del PN532 ofrece la posibilidad de comunicarse


directamente con un segundo dispositivo NFCIP-1 con el modo NFCIP-1. El modo NFCIP-1
ofrece diferentes velocidades de transmisin por encima de los 424 Kbit/s de acuerdo al
estndar ECMA 240 NFCIP-1. La parte digital maneja la creacin completa de tramas NFCIP-1 y
la deteccin de errores.

Para el intercambio de datos se implementaron diferentes interfaces:

Interface SPI.
Interface I2C.
22
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Serial UART (similar al RS232 con niveles de voltajes de 0 a PVDD).

El PN532 implementa un regulador de bajo voltaje, permitindole ser conectado directamente


a una batera, as como un interruptor de potencia media para suministrar y controlar la
potencia del chip seguro incluido.

Figura II.4. Diagrama de Bloques

Tabla II.2.Datos de referencia

23
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Tabla II.3. Descripcin de los pines

24
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Figura II.5. Esquemtico del PN532

Figura II.6. Mdulo PN532

25
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Figura II.7. Mdulo PN532. Vista lateral

Figura II.8. Llaveros con mdulo NFC

Figura II.9. Mdulo PN532. Vista frontal


26
IPN ESIME Zacatenco Control de Acceso Mediante NFC

2.3 Eclipse

Eclipse es un programa informtico compuesto por un conjunto de herramientas de


programacin de cdigo abierto multiplataforma para desarrollar lo que el proyecto llama
"Aplicaciones de Cliente Enriquecido", opuesto a las aplicaciones "Cliente-liviano" basadas en
navegadores. Esta plataforma, ha sido usada para desarrollar entornos de desarrollo
integrados (del ingls IDE), como el IDE de Java llamado Java Development Toolkit (JDT) y el
compilador (ECJ) que se entrega como parte de Eclipse (y que son usados tambin para
desarrollar el mismo Eclipse). Sin embargo, tambin se puede usar para otros tipos de
aplicaciones cliente, como BitTorrent o Azureus.

Eclipse es tambin una comunidad de usuarios. Un ejemplo es el recientemente creado Eclipse


Modeling Project, cubriendo casi todas las reas de Model Driven Engineering.

Eclipse fue desarrollado originalmente por IBM como el sucesor de su familia de herramientas
para VisualAge. Eclipse es ahora desarrollado por la Fundacin Eclipse, una organizacin
independiente sin nimo de lucro que fomenta una comunidad de cdigo abierto y un
conjunto de productos complementarios, capacidades y servicios.

Eclipse fue liberado originalmente bajo la Common Public License, pero despus fue re-
licenciado bajo la Eclipse Public License. La Free Software Foundation ha dicho que ambas
licencias son licencias de software libre, pero son incompatibles con Licencia pblica general
de GNU (GNU GPL) [11].

2.3.1 Arquitectura

La base para Eclipse es la Plataforma de cliente enriquecido (del Ingls Rich Client Platform
RCP). Los siguientes componentes constituyen la plataforma de cliente enriquecido [11]:

Plataforma principal - inicio de Eclipse, ejecucin de plugins.

OSGi - una plataforma para bundling estndar.

El Standard Widget Toolkit (SWT) - Un widget toolkit portable.

JFace - manejo de archivos, manejo de texto, editores de texto


.
El Workbench de Eclipse - vistas, editores, perspectivas, asistentes

Los widgets de Eclipse estn implementados por una herramienta de widget para Java llamada
Standard Widget Toolkit, a diferencia de la mayora de las aplicaciones Java, que usan las
opciones estndar Abstract Window Toolkit (AWT) o Swing. La interfaz de usuario de Eclipse
tambin tiene una capa GUI intermedia llamada JFace, la cual simplifica la construccin de
aplicaciones basadas en SWT.

27
IPN ESIME Zacatenco Control de Acceso Mediante NFC

El entorno de desarrollo integrado (IDE) de Eclipse emplea mdulos (en ingls plug-in) para
proporcionar toda su funcionalidad al frente de la plataforma de cliente enriquecido, a
diferencia de otros entornos monolticos donde las funcionalidades estn todas incluidas, las
necesite el usuario o no. Este mecanismo de mdulos es una plataforma ligera para
componentes de software. Adicionalmente le permite a Eclipse extenderse usando otros
lenguajes de programacin como son C/C++ y Python, permite a Eclipse trabajar con lenguajes
para procesado de texto como LaTeX, aplicaciones en red como Telnet y Sistema de gestin de
base de datos. La arquitectura plugin permite escribir cualquier extensin deseada en el
ambiente, como sera Gestin de la configuracin. Se provee soporte para Java y CVS en el SDK
de Eclipse. Y no tiene por qu ser usado nicamente con estos lenguajes, ya que soporta otros
lenguajes de programacin.

La definicin que da el proyecto Eclipse acerca de su software es: "una especie de herramienta
universal - un IDE abierto y extensible para todo y nada en particular".

En cuanto a las aplicaciones clientes, Eclipse provee al programador con frameworks muy ricos
para el desarrollo de aplicaciones grficas, definicin y manipulacin de modelos de software,
aplicaciones web, etc. Por ejemplo, GEF (Graphic Editing Framework - Framework para la
edicin grfica) es un plugin de Eclipse para el desarrollo de editores visuales que pueden ir
desde procesadores de texto wysiwyg hasta editores de diagramas UML, interfaces grficas
para el usuario (GUI), etc. Dado que los editores realizados con GEF "viven" dentro de Eclipse,
adems de poder ser usados conjuntamente con otros plugins, hacen uso de su interfaz grfica
personalizable y profesional.

2.3.2 Caractersticas

Eclipse dispone de un Editor de texto con resaltado de sintaxis. La compilacin es en tiempo


real. Tiene pruebas unitarias con JUnit, control de versiones con CVS, integracin con Ant,
asistentes (wizards) para creacin de proyectos, clases, tests, etc., y refactorizacin.

Asimismo, a travs de "plugins" libremente disponibles es posible aadir control de versiones


con Subversion e integracin con Hibernate [11].

2.3.3 Historia

Eclipse comenz como un proyecto de IBM Canad. Fue desarrollado por OTI (Object
Technology International) como reemplazo de VisualAge tambin desarrollado por OTI. En
noviembre del 2001, se form un consorcio para el desarrollo futuro de Eclipse como cdigo
abierto. En 2003, fue creada la fundacin independiente de IBM [11] [12].

28
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Tabla II.4. Versiones de Eclipse

Versin Fecha de lanzamiento Versin de plataforma Proyectos


Mars Junio de 2015 - Mars projects
Luna 25 Junio 2014 4.4 Luna projects
Kepler 26 de junio de 2013 4.3 Kepler projects
Juno 27 de junio de 2012 4.2 Juno projects
ndigo 22 de junio de 2011 3.7 ndigo projects
Helios 23 junio de 2010 3.6 Helios projects
Galileo 24 de junio de 2009 3.5 Galileo projects
Ganymede 25 junio de 2008 3.4 Ganymede projects
Europa 29 de junio de 2007 3.3 Europa projects
Callisto 30 de junio de 2006 3.2 Callisto projects
Eclipse 3.1 28 de junio 2005 3.1
Eclipse 3.0 28 de junio de 2004 3.0

2.3.4 Radiografa

Los datos y cifras relacionados con Eclipse, mostrados a continuacin, permitirn profundizar
un poco ms en el producto.

Como puede verse en la tabla siguiente, la versin 3.2.1 posee ms de 2 millones de lneas de
cdigo (para el proyecto Eclipse). Estos datos son de acuerdo a SLOCCount.6 Utilizando esta
cifra y aplicando el modelo COCOMO, podemos ver que requerira un esfuerzo para producir
un software de este tamao de 604 persona-ao (para ello se ha utilizado la frmula
2.4*(KSLOC ** 1.05)).

Para tener un estimado de los costes se toma en consideracin el salario de 56.286 $/ao, que
es el salario promedio de un programador en los Estados Unidos, y luego se multiplica ese
resultado por 2,40, que incluye cualquier gasto extra diferente de los programadores como
pueden ser luz, telfono, papelera, etc. [12].

29
IPN ESIME Zacatenco Control de Acceso Mediante NFC

2.4 Android

Es un sistema operativo basado en el kernel de Linux diseado principalmente para


dispositivos mviles con pantalla tctil, como telfonos inteligentes o tabletas, inicialmente
desarrollado por Android, Inc. Google respald econmicamente y ms tarde compr esta
empresa en 2005. Android fue presentado en 2007 junto la fundacin del Open Handset
Alliance: un consorcio de compaas de hardware, software y telecomunicaciones para avanzar
en los estndares abiertos de los dispositivos mviles. El primer mvil con el sistema operativo
Android fue el HTC Dream y se vendi en octubre de 2008 [13].

2.4.1 Historia

Fue desarrollado inicialmente por Android Inc., una firma comprada por Google en 2005. Tiene
una gran comunidad de desarrolladores escribiendo aplicaciones para extender la
funcionalidad de los dispositivos. A la fecha, se ha llegado ya al 1.000.000 de aplicaciones (de
las cuales, dos tercios son gratuitas y en comparacin con la App Store ms baratas)
disponibles para la tienda de aplicaciones oficial de Android: Google Play, sin tener en cuenta
aplicaciones de otras tiendas no oficiales para Android como la tienda de aplicaciones Samsung
Apps de Samsung, slideme de java y Amazon appstore. No es un sistema operativo libre de
malware, aunque la mayora de ello es descargado de sitios de terceros.

El anuncio del sistema Android se realiz el 5 de noviembre de 2007 junto con la creacin de la
Open Handset Alliance, un consorcio de 78 compaas de hardware, software y
telecomunicaciones dedicadas al desarrollo de estndares abiertos para dispositivos mviles.
Google liber la mayora del cdigo de Android bajo la licencia Apache, una licencia libre y de
cdigo abierto.

La estructura del sistema operativo Android se compone de aplicaciones que se ejecutan en un


framework Java de aplicaciones orientadas a objetos sobre el ncleo de las bibliotecas de Java
en una mquina virtual Dalvik con compilacin en tiempo de ejecucin. Las bibliotecas escritas
en lenguaje C incluyen un administrador de interfaz grfica (surface manager), un framework
OpenCore, una base de datos relacional SQLite, una Interfaz de programacin de API grfica
OpenGL ES 2.0 3D, un motor de renderizado WebKit, un motor grfico SGL, SSL y una
biblioteca estndar de C Bionic. El sistema operativo est compuesto por 12 millones de lneas
de cdigo, incluyendo 3 millones de lneas de XML, 2.8 millones de lneas de lenguaje C, 2.1
millones de lneas de Java y 1.75 millones de lneas de C++.

Tanto el nombre Android (androide en espaol) como Nexus One hacen alusin a la novela de
Philip K. Dick Suean los androides con ovejas elctricas?, que posteriormente fue adaptada
al cine como Blade Runner. Tanto el libro como la pelcula se centran en un grupo de androides
llamados replicantes del modelo Nexus-6. El logotipo es el robot "Andy" [13] [14].

30
IPN ESIME Zacatenco Control de Acceso Mediante NFC

2.4.2 Logos

El logotipo de la palabra Android fue diseado con la fuente Droid, hecha por Ascender
Corporation.

El verde es el color del robot de Android que distingue al sistema operativo. El color print es
PMS 376C y color GBN en hexadecimal es #A4C639, como se especfica en la Android Brand
Guidelines [13].

2.4.3 Tipografa

La tipografa de Android se llama Norad, solo usado en el texto del logo.70 Para Ice Cream
Sandwich se introduce una tipografa llamada Roboto, que, segn los propios creadores, est
pensada para aprovechar mejor la legibilidad en los dispositivos de alta resolucin [15].

Tabla II.5. Caractersticas y especificaciones

Diseo de La plataforma es adaptable a pantallas de mayor resolucin, VGA,


dispositivo biblioteca de grficos 2D, biblioteca de grficos 3D basada en las
especificaciones de la OpenGL ES 2.0 y diseo de telfonos
tradicionales.
Almacenamiento SQLite, una base de datos liviana, que es usada para propsitos de
almacenamiento de datos.
Conectividad Android soporta las siguientes tecnologas de conectividad:
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, HSDPA,
HSPA+, NFC y WiMAX.GPRS,UMTS,HSPA+ Y HSDPA+
Mensajera SMS y MMS son formas de mensajera, incluyendo mensajera de texto
y ahora la Android Cloud to Device Messaging Framework (C2DM) es
parte del servicio de Push Messaging de Android.
Navegador web El navegador web incluido en Android est basado en el motor de
renderizado de cdigo abierto WebKit, emparejado con el motor
JavaScript V8 de Google Chrome. El navegador por defecto de Ice
Cream Sandwich obtiene una puntuacin de 100/100 en el test Acid3.
Soporte de Java Aunque la mayora de las aplicaciones estn escritas en Java, no hay
una mquina virtual Java en la plataforma. El bytecode Java no es
ejecutado, sino que primero se compila en un ejecutable Dalvik y corre
en la Mquina Virtual Dalvik. Dalvik es una mquina virtual
especializada, diseada especficamente para Android y optimizada
para dispositivos mviles que funcionan con batera y que tienen
memoria y procesador limitados. El soporte para J2ME puede ser
agregado mediante aplicaciones de terceros como el J2ME MIDP
Runner.
Soporte Android soporta los siguientes formatos multimedia: WebM, H.263,
multimedia H.264 (en 3GP o MP4), MPEG-4 SP, AMR, AMR-WB (en un contenedor
3GP), AAC, HE-AAC (en contenedores MP4 o 3GP), MP3, MIDI, Ogg
Vorbis, WAV, JPEG, PNG, GIF y BMP.

31
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Soporte para Streaming RTP/RTSP (3GPP PSS, ISMA), descarga progresiva de HTML
streaming (HTML5 <video> tag). Adobe Flash Streaming (RTMP) es soportado
mediante el Adobe Flash Player. Se planea el soporte de Microsoft
Smooth Streaming con el port de Silverlight a Android. Adobe Flash
HTTP Dynamic Streaming estar disponible mediante una actualizacin
de Adobe Flash Player.
Soporte para Android soporta cmaras de fotos, de vdeo, pantallas tctiles, GPS,
hardware acelermetros, giroscopios, magnetmetros, sensores de proximidad y
adicional de presin, sensores de luz, gamepad, termmetro, aceleracin por
GPU 2D y 3D.
Entorno de Incluye un emulador de dispositivos, herramientas para depuracin de
desarrollo memoria y anlisis del rendimiento del software. El entorno de
desarrollo integrado es Eclipse (actualmente 3.4, 3.5 o 3.6) usando el
plugin de Herramientas de Desarrollo de Android.
Google Play Google Play es un catlogo de aplicaciones gratuitas o de pago en el
que pueden ser descargadas e instaladas en dispositivos Android sin la
necesidad de un PC.
Multi-tctil Android tiene soporte nativo para pantallas capacitivas con soporte
multi-tctil que inicialmente hicieron su aparicin en dispositivos como
el HTC Hero. La funcionalidad fue originalmente desactivada a nivel de
kernel (posiblemente para evitar infringir patentes de otras
compaas). Ms tarde, Google public una actualizacin para el Nexus
One y el Motorola Droid que activa el soporte multi-tctil de forma
nativa.
Bluetooth El soporte para A2DF y AVRCP fue agregado en la versin 1.5; el envo
de archivos (OPP) y la exploracin del directorio telefnico fueron
agregados en la versin 2.0; y el marcado por voz junto con el envo de
contactos entre telfonos lo fueron en la versin 2.2.
Video llamada Android soporta video llamada a travs de Google Talk desde su
versin HoneyComb.
Multitarea Multitarea real de aplicaciones est disponible, es decir, las
aplicaciones que no estn ejecutndose en primer plano reciben ciclos
de reloj.
Caractersticas La bsqueda en Google a travs de voz est disponible como "Entrada
basadas en voz de Bsqueda" desde la versin inicial del sistema.
Tethering Android soporta tethering, que permite al telfono ser usado como un
punto de acceso almbrico o inalmbrico (todos los telfonos desde la
versin 2.2, no oficial en telfonos con versin 1.6 o inferiores
mediante aplicaciones disponibles en Google Play (por ejemplo
PdaNet). Para permitir a un PC usar la conexin de datos del mvil
android se podra requerir la instalacin de software adicional.

32
IPN ESIME Zacatenco Control de Acceso Mediante NFC

2.4.5 Qu significan las versiones de Android?

Android ha visto numerosas actualizaciones desde su liberacin inicial. Estas actualizaciones al


sistema operativo base tpicamente arreglan bugs y agregan nuevas funciones. Generalmente
cada actualizacin del sistema operativo Android es desarrollada bajo un nombre en cdigo de
un elemento relacionado con postres en orden alfabtico.

La reiterada aparicin de nuevas versiones que, en muchos casos, no llegan a funcionar


correctamente en el hardware diseado para versiones previas, hacen que Android sea
considerado uno de los elementos promotores de la obsolescencia programada.

Android ha sido criticado muchas veces por la fragmentacin que sufren sus terminales al no
ser soportado con actualizaciones constantes por los distintos fabricantes. Se crey que esta
situacin cambiara tras un anuncio de Google en el que comunic que los fabricantes se
comprometern a aplicar actualizaciones al menos 18 meses desde su salida al mercado, pero
esto al final nunca se concret y el proyecto se cancel. Actualmente hay una aplicacin
disponible en Android 2.2 que intenta disminuir la fragmentacin por parte de Google [14].

Las versiones de Android reciben, en ingls, el nombre de diferentes postres. En cada versin
el postre elegido empieza por una letra distinta, conforme a un orden alfabtico [15] [16]:

A: Apple Pie (v1.0): Tarta de manzana.


B: Banana Bread (v1.1): Pan de pltano.
C: Cup cake (v1.5): Panqu.
D: Donut (v1.6): Rosquilla.
E: clair (v2.0/v2.1): Pastel francs.
F: Froyo (v2.2) (abreviatura de frozen yogurt): Yogurt helado.
G: Gingerbread (v2.3): Pan de jengibre.
H: Honeycomb (v3.0/v3.1/v3.2): Panal de miel.
I: Ice Cream Sandwich (v4.0): Sandwich de helado.
J: Jelly Bean (v4.1/v4.2/v4.3): Golosina .
K: KitKat (v4.4): Chocolate.

33
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Tabla II.6. Funciones de las versiones de Android

Android CUPCAKE - versin 1.5


Lanzamiento: Abril del 2009
Funciones: Teclado QWERTY virtual,
widgets, captura de video, copiar y pegar,
subir videos a YouTube en forma directa.
Notas: Marca el inicio de este sistema
operativo.

Android DONUT - versin 1.6


Lanzamiento: Septiembre 2009
Funciones: Navegacin en Google Maps
paso-a-paso, mejora en el interfaz de la
cmara de foto y video, bsquedas por voz
Nota: Esta versin era muy barata y no
encareca el costo de los dispositivos. Inicia
de manera importante el crecimiento de la
comunidad de desarrolladores.
Android ECLAIR - versin 2.0
Lanzamiento: Diciembre 2009
Funciones: Zoom digital de la cmara de
fotos y video, mejoras en Google Maps,
nuevo navegador de internet con soporte
de video e incluso de Flash, salvapantallas
animadas.
Nota: Comienza a demostrar la robustez y
estabilidad como sistema operativo para
dispositivos mviles.
Android FROYO - versin 2.2
Lanzamiento: Mayo 2010
Funciones: mejora de memoria, mucho
ms veloz que las versiones anteriores,
hotspot WiFi incluido, soporte de correo
electrnico Microsoft Exchange y video
llamada. Soporta Flash
Nota: Ya tomando su sitio de honor entre
la mayora de los dispositivos mviles a
nivel mundial. Excelente aceptacin por
parte de los usuarios.
Android GINGERBREAD - versin 2.3
Lanzamiento: Diciembre 2010
Funciones: Mejora del soporte de video
online, mejora de la gestin de la energa (y
consumo de la batera), mejora del teclado
virtual, soporte para pagos mediante NFC.
Nota: Abre ms posibilidades para usuarios
totalmente conectados.

34
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Android HONEY COMB - versin 3.0/3.4


Lanzamiento: Mayo 2011
Funciones: Sistema operativo optimizado
para tabletas, posee plenas funcionalidades
multitareas (multitasking) para cambiar de
aplicaciones en uso dejando las dems en
espera visibles en una columna, soporte
Flash y DivX, aparte de los navegadores
privados tradicionales integra Dolphin,
home page personalizable y widgets.
Nota: Esta versin est optimizada para
Tablets, manteniendo en Smartphone la
versin 2.3

Android ICECREAM SANDWICH - versin 4.0


Lanzamiento: Finales 2011
Funciones: Diseado para todas las plataformas (Smartphone, tablets y netbooks de todas las
medidas), pantalla principal con imgenes 3D, barras de estado y widgets redimensionables,
reconocimiento facial, mejora de reconocimiento de voz; soporte USB para teclados y
controles para PS3.
El primer cambio sensible lo encontraremos en el sistema de bloqueo del telfono, donde Ice
Cream Sandwich ha introducido la posibilidad de desbloqueo por reconocimiento facial a
travs de la cmara frontal, y que el usuario podr poner en funcionamiento cuando quiera;
eso s, siendo recomendado en zonas de luz suficiente, y advirtiendo que en este modo
cualquier persona con rasgos similares al dueo podr desbloquearlo. Los sistemas
alternativos seguirn siendo el del deslizador (ofrecindote la posibilidad de desbloquear el
mvil o directamente las funciones de cmara), el patrn, ahora con un diseo nuevo, con
unos puntos de unin mucho ms pequeos; el pin o la contrasea.
Una vez desbloqueado nos encontraremos con una interfaz completamente nueva, aunque
recordando en parte a Honeycomb, gracias a la fuente Roboto. El buscador de Google
aparece mucho ms estilizado y moderno, mientras que la navegacin por las listas de
aplicaciones y widgets se ha hecho mucho ms racional, agrupndolos en dos grupos
diferentes, mostrando en primer lugar las diferentes listas de aplicaciones de manera
horizontal el final, despus de lo cual llegar la pantalla de widgets. La barra inferior se hace
ms dinmica, al permitir la creacin de carpetas donde poder incluir las aplicaciones y
widgets que se consideren oportunas.
Tambin se han mejorado el acceso y gestin de las notificaciones, pudiendo a partir de ahora
descartar de una manera ms sencilla las que se consideren poco relevantes (simple
desplazamiento a la derecha), as como acceder a las mismas incluso con el dispositivo
bloqueado. Tambin se ha ampliado la informacin de dichas notificaciones, especialmente las
del correo, donde se informar del remitente dentro de la misma.

35
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Android "JELLY BEAN" - versin 4.1


Funciones: Junto con el Nexus 7, Google ha
presentado su nueva versin de Android
que acompaar al Nexus 7 y llegar en el
mes de Julio al Galaxy Nexus, al Nexus S y
al tablet Motorola XOOM, esta versin
corresponde a Android 4.1 Jelly Bean. Una
actualizacin que corregir ciertos errores
cometidos en Android 4.0 Ice Cream
Sandwich. A parte de solventar estos
pequeos fallos de rendimiento en ICS,
Jelly Bean traer consigo una serie de
mejoras aumentando la velocidad del
procesador del dispositivo e incluyendo
nuevas funciones como un asistente de voz
y notificaciones inteligentes entre otras
novedades.

Android "Kit Kat" - versin 4.4


Lanzamiento: Diciembre 2013 Funciones:
KitKat tiene un diseo minimalista que an
presenta rasgos del look Holo introducido
en Ice Cream Sandwich.
Nota: Google est dando la oportunidad a
los fabricantes y operadores de colocar
KitKat en todos los dispositivos en 2014. Sin
embargo, dado que no hay presin o
directriz para colocar Android 4.4 en todos
los nuevos dispositivos, es decisin de ellos
si quieren o no colocar est ltima versin.
Queda por ver si los operadores y
fabricantes optan por colocar slo KitKat en
los nuevos dispositivos, pero teniendo en
cuenta el pasado, es probable que sigamos
viendo nuevos telfonos que salgan con
Android Jelly Bean en vez de KitKat,
posiblemente para tener otra manera de
diferenciar mejor un dispositivo de otro, al
menos por un tiempo.

36
IPN ESIME Zacatenco Control de Acceso Mediante NFC

2.4.6 Por qu utilizar Android y no iOS?

En el aspecto de privacidad se han descubierto ciertos comportamientos en algunos


dispositivos que limitan la privacidad de los usuarios, de modo similar a iPhone, pero ocurre al
activar la opcin Usar redes inalmbricas en el men Ubicacin y seguridad, avisando que
se guardarn estos datos, y borrndose al desactivar esta opcin, pues se usan como cach y
no como log tal como hace iPhone.

Y en el aspecto de seguridad segn un estudio de Symantec de 2013, demuestra que en


comparacin con iOS, Android es un sistema menos vulnerable. El estudio en cuestin habla de
13 vulnerabilidades graves para Android y 387 vulnerabilidades graves para iOS [16].

La versin usada de Android en el prototipo es la 4.2 Jelly Bean debido a su funcionalidad y


conectividad con la tecnologa NFC tomando en cuenta sus caractersticas de estabilidad
mencionadas en la tabla. Sin contar que la versin 4.4 Kit-kat necesita 2 o ms GB de memoria
RAM para que corra fluido el Sistema Operativo.

2.4.7 Qu desventajas existen en Android a comparacin de iOS?

El estudio Symantec de 2013 habla de los ataques en ambas plataformas, en este caso Android
se queda con 113 ataques nuevos en 2012 a diferencia de iOS que se queda en 1 solo ataque.
Aun as Google y Apple se empean cada vez ms en hacer sus sistemas operativos ms
seguros incorporando ms seguridad tanto en sus sistemas operativos como en sus mercados
oficiales [16].

Con la informacin obtenida a partir de las investigaciones de los captulos I y II es posible


comenzar con el diseo del prototipo. Se conocen las herramientas tanto de hardware como
de software necesarias para comenzar con la etapa de diseo, en el captulo III se muestra el
proceso de diseo del prototipo. La etapa de diseo constar tanto de programacin en
Android como en Arduino, as como de electrnica para comunicar las diferentes partes del
prototipo.

37
IPN ESIME Zacatenco Control de Acceso Mediante NFC

2.5 Anlisis y programacin de actividades del Proyecto

Las actividades para la elaboracin del proyecto se muestran en el diagrama de Gantt de la figura II.1.

Diagrama II.1. Diagrama de Gantt del Proyecto

38
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Capitulo III: Diseo del Prototipo

En este captulo se mostrar la etapa de diseo del prototipo, la programacin de las


aplicaciones Android necesarias y de la aplicacin Arduino que permitir o no el acceso.
Adems, se mostrar la construccin fsica del prototipo y la electrnica necesaria para ello. El
prototipo consta en total de dos aplicaciones Android, una aplicacin Arduino y una cerradura
elctrica con un circuito de control, que en conjunto permitirn el acceso al usuario.

3.1 Aplicaciones Android

3.1.1 Aplicacin para Usuario Estndar

La aplicacin Control NFC est desarrollada en 2 mdulos:

Identificacin de usuario y apertura de sesin.

Envo de mensajes NDEF (NFC Data Exchange Format) que significa Formato de
Intercambio de Datos de tipo NFC.

3.1.1.1 Mdulo 1

En este mdulo utiliza una base de datos propia de Android que se instala junto con la
aplicacin. Est hecha en SQLite donde los registros a guardar son: Nombre de Usuario y
Cdigo de identificacin.

Cuando la aplicacin es instalada no contiene ningn registro, por ello para poder ingresar a la
aplicacin el administrador se apoyar de otra llamada Control NFC Admin, la cual cumple
con la funcin de transmitir y grabar nombre de usuario y cdigo por medio de la funcin
Android Beam esto le permitir al usuario el poder abrir una sesin de trabajo y conseguir el
acceso a entradas que tengan este sistema y que contengan el nivel permitido.

Ventajas de usar un registro de usuario:

No cualquier persona tendr acceso a esta aplicacin y no podr abrir una puerta con
acceso restringido.

Una vez que se hayan guardado los datos del usuario por medio de Control NFC
Admin, el usuario no tendr que introducir su cdigo cada que necesite abrir la
aplicacin solo entrar una vez y se crear una sesin que siempre estar abierta hasta
que el usuario decida cerrarla.

39
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Figura III.1. Mdulo 1 de la App Control NFC

3.1.1.2 Mdulo 2

Este mdulo ejecuta varias acciones:

Facilita la activacin del mdulo NFC integrado en el telfono en caso de que este no
est habilitado.

Muestra una gua detallada de cmo usar la aplicacin.

Al hacer contacto con el Shield NFC de Arduino activa la funcin Android Beam y enva
un mensaje NDEF que contiene el cdigo de acceso, el mtodo que es Android Beam y
el nombre del paquete al cual si no es el adecuado no se puede visualizar en ningn
dispositivo mvil.

Figura III.2. Mdulo 2 de la App Control NFC

40
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Ventajas de este mdulo:

Brinda la facilidad de activar el NFC del telfono sin necesidad de buscar en ajustes -
conexiones inalmbricas y redes Ms - NFC.

Brinda ayuda en caso de que el usuario no entienda el funcionamiento de la aplicacin.

Enva el cdigo requerido para tener acceso correspondiente a su nivel.

Figura III.3 Gua de usuario

41
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Diagrama III.1. Diagrama de Flujo de la App Control NFC

42
IPN ESIME Zacatenco Control de Acceso Mediante NFC

3.1.2 Aplicacin para Administrador

La aplicacin Control NFC Admin brinda apoyo al administrador ya que mantiene un registro
de quin graba etiquetas o intenta tener algn acceso a una puerta empleando el mtodo
Android Beam.

Sus funciones son:

Identificacin del administrador.

Control de usuarios.

Figura III.4 Aplicacin Control NFC Admin

43
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Diagrama III.2. Diagrama de Flujo de la App Control NFC Admin

44
IPN ESIME Zacatenco Control de Acceso Mediante NFC

3.1.3 Desarrollo

Una aplicacin desarrollada en Android maneja distintos archivos XML, los cuales tienen
distintas funciones como ejemplo: actuar como layouts, estilos, dimensiones, colores, y
plantillas personalizadas para listas o formas de los botones y de las cajas de texto (Edit Text).
Tambin maneja archivos .java los cuales cumplen con la funcin de ser clases o actividades.
Una actividad es un archivo con extensin .java que contiene las funciones a realizar en el
layout o una vista de la app [17].

Esta vista es un archivo XML donde se observa que tiene una caja de texto, un botn, texto
impreso y una imagen de fondo. Al trmino de la elaboracin de este layout o vista se manda
llamar desde la actividad que es un archivo .java el cual contiene la funcin setContentView
(R.layout.activity_main);.

Esta funcin manda llamar el archivo XML llamado activity_main desde una carpeta que
contiene cdigos no modificables llamada R.

La actividad contiene funciones primordiales como onCreate que es la que inicializa la


aplicacin. A continuacin se presenta el cdigo y su funcionamiento.

Esta lnea de cdigo representa el nombre del paquete que contendr a la aplicacin Control
NFC.

package com.ipnba.controlnfc;

Esta parte de cdigo representa todas las libreras utilizadas en la primera actividad que es
MainActivity.

import android.app.Activity;
import android.content.ContentValues;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.nfc.NdefMessage;
import android.nfc.NdefRecord; //Esta es la
import android.nfc.NfcAdapter; parte
import android.nfc.NfcAdapter.CreateNdefMessageCallback; de comunicacin
NFC.
import android.nfc.NfcEvent;
import android.os.Bundle;
import android.os.Parcelable;
import android.view.View;
import android.widget.EditText;
import android.widget.TextView;
import android.widget.Toast;
import android.database.sqlite.SQLiteDatabase;
import android.database.sqlite.SQLiteDatabase.CursorFactory; //Base de
import android.database.sqlite.SQLiteOpenHelper; datos SQlite

Aqu inicia la clase principal y se implementa con CreateNdefMEssageCallback. Nos ayuda a


mantener una comunicacin NFC con otro dispositivo mediante Android Beam.

45
IPN ESIME Zacatenco Control de Acceso Mediante NFC

public class MainActivity extends Activity implements


CreateNdefMessageCallback{

public String us;


public int cod;
public EditText etCod;
public String resul;
public String ses;
public String ses2;

public String passcode = "";


public String username = "";

NfcAdapter mNfcAdapter;
TextView textView;
EditText cargaDatos;

Esta parte es la inicializacin del programa por medio de la funcin onCreate.

//FUNCION onCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

//se declara la caja de texto


etCod = (EditText)findViewById(R.id.etCodigo);
//se transfiere en una variable global el contenido de la caja de texto
us = etCod.getText().toString().trim();

// Se revisa si el dispositivo es apto o contine el mdulo NFC en su


circuitera.
mNfcAdapter = NfcAdapter.getDefaultAdapter(this);
if (mNfcAdapter == null) {
Toast.makeText(this, "Tu dispositivo no contiene NFC",
Toast.LENGTH_LONG).show();
finish();//se cierra el programa
return;
}

ses = buscarv();
ses2 = buscar(ses);

if(ses!="")
{
etCod.setText(ses);
enviarAuto(ses2, ses);
}

}//FIN DE LA FUNCION onCreate

Este cdigo permite comparar el cdigo de acceso agregado con el cdigo de acceso guardado
en el sistema de informacin de la app.

46
IPN ESIME Zacatenco Control de Acceso Mediante NFC

A continuacin se muestra el cdigo base para tener control del mdulo NFC del telfono:

@Override
public NdefMessage createNdefMessage(NfcEvent event) {
String text = "Vacio";// Este cdigo crea el texto el cual va a enviar

NdefMessage msg = new NdefMessage( new NdefRecord[]{


// Este codigo indica el mtodo de envo que en nuestro caso es
Android Beam

NdefRecord.createMime("application/vnd.com.example.android.beam",
text.getBytes())
//Esta lnea de cdigo representa el destino del mensaje en este caso es el
nombre del paquete al cual nicamente esa app tendr acceso al mensaje.

,NdefRecord.createApplicationRecord("com.ipnba.androidbeam")
});
return msg;
}

//Se activa el adaptador NFC


@Override
public void onResume() {
super.onResume();
// Check to see that the Activity started due to an Android Beam
if (NfcAdapter.ACTION_NDEF_DISCOVERED.equals(getIntent().getAction())) {
processIntent(getIntent());
}
mNfcAdapter.setNdefPushMessageCallback(this, this);
}

//Gracias a esta funcin, se puede enviar el android beam por que se basa en
intents o intenciones declaradas en el archivo XML
@Override
public void onNewIntent(Intent intent) {
// onResume gets called after this to handle the intent
setIntent(intent);
}

//Esta funcin realiza la tarea de extraer la carga util de Android Beam


void processIntent(Intent intent) {

int a = 0;
int b = 0;

Parcelable[] rawMsgs = intent.getParcelableArrayExtra(


NfcAdapter.EXTRA_NDEF_MESSAGES);
NdefMessage msg = (NdefMessage) rawMsgs[0];

NdefRecord record = msg.getRecords()[0];


String payload = new String(record.getPayload());

String tamcod = payload.substring(2, 4);


String tamnom = payload.substring(4, 6);
String codadmin = payload.substring(6, 14);

47
IPN ESIME Zacatenco Control de Acceso Mediante NFC

if(tamcod.equals("00")&&tamnom.equals("00"))
{
Toast.makeText(getApplicationContext(), "No es vlida la operacin"
, Toast.LENGTH_LONG).show();
}
else
{
if(codadmin.equals("aobb1021"))
{
a = Integer.parseInt(tamcod);
b = Integer.parseInt(tamnom);

passcode = payload.substring(14, (14+a));


username = payload.substring((14+a), ((14+a)+b));

registrar(passcode,username);

Toast.makeText(getApplicationContext(), "Registro guardado"


, Toast.LENGTH_LONG).show();
}
else
{
Toast.makeText(getApplicationContext(), "No es vlida la
operacin"
, Toast.LENGTH_LONG).show();
}
}
}

Una vez funcionando la aplicacin guarda el registro que se extrajo de la carga til de Android
Beam [18].

48
IPN ESIME Zacatenco Control de Acceso Mediante NFC

3.2 Software para Arduino Uno y PN532

Se presenta de manera detallada la forma en la que se desarroll el proyecto en cada una de


sus etapas y las herramientas que utilizaron para su diseo, adems de su descripcin y
funcionamiento.

3.2.1 Entorno de desarrollo de Arduino

El entorno de desarrollo de Arduino contiene un editor de texto para cdigo, un rea de


mensajes, consola de texto, barra de herramientas con funciones comunes y una serie de
mens. El entorno se conecta con las tarjetas Arduino para cargar los programas y tener
comunicacin con estas [9].

Cuando ejecutamos el entorno de desarrollo de Arduino se presenta la siguiente ventana:

Figura III.5. IDE Arduino

En el editor de texto comenzaremos a escribir el cdigo para el micro controlador Arduino


UNO.

49
IPN ESIME Zacatenco Control de Acceso Mediante NFC

3.2.2 Estructura de un cdigo para Arduino

La estructura del cdigo para Arduino es similar para la mayora de los micro controladores
que existen en el mercado, el programa se compone principalmente de dos partes: setup y
loop, Setup() constituye la preparacin del programa y Loop() es la ejecucin, en la funcin
Setup() se incluye la declaracin de variables y se trata de la primera funcin que se ejecuta en
el programa. Esta funcin se ejecuta una nica vez y es empleada para configurar el pinMode
(p. ej. Si un determinado pin digital es de entrada o salida) e inicializar la comunicacin serie.
La funcin loop() incluye el cdigo a ser ejecutado continuamente (leyendo las entradas de la
placa, salidas, etc.) en un bucle infinito [10][19].

Adicionalmente, podemos crear nuestras propias funciones para poder ejecutarlas siempre
que las necesitemos.

3.2.2.1 Variables y constantes

Una variable consiste en definir un nombre al cual le asignamos un valor, en una variable el
valor que se le asigna puede ser modificado en cualquier momento, por el contrario cuando
definimos una constante y le asignamos un valor, este valor no puede ser modificado.

Una variable puede ser declarada al principio del programa antes de la funcin setup(), de
manera local dentro de la funcin loop() o funciones que declaremos as como dentro de una
sentencia de control como por ejemplo un bloque for.

El mbito de la variable est limitado segn el lugar donde se haya declarado, por ejemplo si
declaramos una variable al principio del programa, esta variable estar disponible en cualquier
momento. Si la variable se ha declarado dentro de una funcin, solo estar disponible dentro
de esta funcin y si la variable se ha declarado dentro de una sentencia de control, solo tomar
valor dentro del bloque donde fue definida.

En la Tabla III.1 se exponen los tipos de datos que existen en el entorno de desarrollo de
Arduino [10].

Tabla III.1. Tipos de Datos

50
IPN ESIME Zacatenco Control de Acceso Mediante NFC

3.2.3 Desarrollo de aplicacin Arduino para lectura de dispositivos

El desarrollo del cdigo para el proyecto est dividido en 2 fases [9]:

Fase 1.- Libreras y configuracin.

Fase 2.- Algoritmo de lectura.

3.2.3.1 Fase 1: Libreras y Configuracin

En esta parte del programa utilizamos las libreras del dispositivo PN532 que contienen las
funciones necesarias para activar el mdulo NFC y tener comunicacin con los distintos
dispositivos.

Las libreras seleccionadas para el manejo de la tarjeta NFC para Arduino son de uso y
distribucin libre bajo los fundamentos de las licencias tipo BSD basadas en el desarrollo de
Adafruit_NFCShield_I2C y reescritas por Seeed Studio. Las libreras seleccionadas son las
siguientes [9][19]:

#include "SPI.h"

#include "PN532_SPI.h"

#include "llcp.h"

#include "snep.h"

#include "PN532.h"

3.2.3.1.1 SPI.h

Serial Peripheral Interface (SPI) es un protocolo de datos en serie sncrono utilizado por los
microcontroladores para comunicarse con uno o ms dispositivos perifricos rpidamente en
distancias cortas. Tambin se puede utilizar para la comunicacin entre dos
microcontroladores.

Incluye las funciones necesarias para realizar la transmisin de datos entre la tarjeta PN532 y
el microcontrolador Arduino, configuracin del reloj interno, seleccin de puertos
entrada/salida y configura la comunicacin serial con la computadora personal.

3.2.3.1.2 PN532_SPI.h

Contiene la configuracin inicial de la tarjeta PN532, incluye las funciones necesarias de la


seleccin de puertos, sincronizacin del reloj del microcontrolador para la transmisin de
datos y los comandos de lectura de etiquetas NFC.

51
IPN ESIME Zacatenco Control de Acceso Mediante NFC

3.2.3.1.3 Llcp.h

Incluye las funciones necesarias para la configuracin de conexin con la tarjeta PN532,
selecciona los comandos para el inicio y fin de la lectura de los mensajes NDEF.

3.2.3.1.4 Snep.h

Configura la tarjeta PN532 como el receptor del mensaje NDEF, incluye las funciones
necesarias para la validacin de los datos y el tiempo de expiracin de la comunicacin.
PN532.h

Contiene las funciones de configuracin inicial de la tarjeta PN532, define los comandos que
utiliza el programa para las configuraciones y acciones de las tarjetas Arduino y PN532.

La configuracin de los dispositivos est dentro de la funcin Setup() y se compone de dos


partes:

Serial.begin(115200); Inicia la comunicacin serial con lo computadora personal


ingresando la velocidad de los baudios.

nfc1.begin(); Configuracin inicial de la tarjeta PN532, sincroniza el reloj y prepara los


puertos de entrada y salida.

3.2.3.2 Fase 2: Algoritmo de lectura

En esta fase se desarrolla el algoritmo de lectura de las etiquetas NFC y la recepcin de los
mensajes NDEF que transmite los dispositivos android. Esta parte del programa est dentro de
la funcin loop() que se ejecutar en un bucle infinito [19].

El algoritmo est divido en 2 partes:

Recepcin del mensaje NDEF

Lectura de etiquetas NFC

3.2.3.2.1 Recepcin del mensaje NDEF

Esta parte configurar la tarjeta PN532 como receptor, en el momento de ubicar el dispositivo
android dentro del campo NFC se desplegar una alerta que advierte que est listo para
realizar el BEAM y enviar el mensaje NDEF, el microcontrolador recibir este mensaje y lo
guardar en un arreglo de datos de tipo char de tamao igual al nmero de bytes en el buffer
del dispositivo.

int16_t len = nfc.read(buf, sizeof(buf),1000);


if (len > 0) {
Serial.println("Mensaje obtenido:");
for (uint8_t i = 0; i < len; i++) {
char c = buf[i];

52
IPN ESIME Zacatenco Control de Acceso Mediante NFC

if (c <= 0x1f || c > 0x7f) {


} else {
Serial.print(c);
}
}
Serial.println('\n');
}

La funcin nfc.read(buf, size(buf),1000) es la que configura la tarjeta PN532 como receptor y


guarda el mensaje en la memoria, los argumentos de la funcin indican la variable donde se
guarda el mensaje, el tamaos de los datos y el tiempo mximo de espera de recepcin del
mensaje.

3.2.3.2.2 Lectura de etiquetas NFC

La lectura de las etiquetas se realiza autentificando el tipo de tarjeta, esto es con la finalidad
de saber cules son los bloques de memoria predefinidos por el fabricante, estos bloques
contiene informacin de la manufactura y el nmero de identificacin (id) de las etiquetas
NFC.

nfc1.mifareclassic_AuthenticateBlock(uid, uidLength, 4, 0, keya);

La funcin de autentificacin de las etiquetas NFC requiere como argumentos la variable


donde se guardar la informacin de las etiquetas, la cantidad de bloques a leer (en Mifare
clsica son 4), direccin de los bloques, el inicio de la lectura y un arreglo de tipo uint8_t que
contiene la direccin en hexadecimal de los bloques. Si se maneja una direccin errnea o un
tipo de etiqueta distinto a la indicada se mandar un error y la lectura se interrumpir.

Si la autentificacin es verdadera la lectura comenzar y los datos sern almacenados en la


memoria del microcontrolador.

nfc1.mifareclassic_ReadDataBlock(4, data);

La funcin de lectura del bloque de memoria de la etiqueta NFC requiere en sus argumentos el
bloque de memoria a leer y la variable de tipo arreglo uint8_t donde se guardarn los datos
con un mximo de 16 bytes.

El algoritmo comprobar los datos guardados haciendo una segunda lectura, si los datos estn
sin errores se guardarn en la variable seleccionada [19].

53
IPN ESIME Zacatenco Control de Acceso Mediante NFC

3.2.4 Desarrollo de aplicacin Arduino para escritura de TAGs NFC

Para la escritura de las tarjetas (TAGs) NFC se desarroll un algoritmo en el IDE de Arduino, el
cual preparar la tarjeta PN532 para grabar en un bloque especifico de una tarjeta NFC,
cuando la escritura sea satisfactoria el PN532 mandar por el puerto Serial un mensaje
mostrando el mensaje escrito en la memoria.

El algoritmo se compone de dos partes principales:

Setup. En esta parte el algoritmo prepara las variables globales y comprueba que la
tarjeta PN532 est conectada al Arduino mostrando por el puerto Serial la informacin
del micro controlador.

Lectura y Escritura. En esta parte del cdigo el micro controlador preparar la


informacin necesaria para la escritura de las TAGs, para esto, cuando una tarjeta este
dentro del campo la PN532 se leer su ID y el tipo de tarjeta, si es admisible el
algoritmo prepara la funcin de escritura con informacin sobre la ubicacin y la
cadena a guardar.

Para conocer el cdigo de esta aplicacin vaya al anexo II.

54
IPN ESIME Zacatenco Control de Acceso Mediante NFC

3.3 Implementacin

A continuacin se mostrar la construccin fsica del prototipo de este proyecto, el cual se


conectar a una cerradura elctrica que funciona con 12 VAC y que estarn montados en una
puerta de madera a escala, esto con el fin de mostrar de manera prctica su funcionalidad.

3.3.1 Prototipo NFC

Dicho prototipo est constituido con el Arduino Uno y la Shield NFC, el Arduino enviar un
pulso al detectar un dispositivo NFC autorizado para la apertura de la puerta, este pulso ser
enviado a un circuito de control que est conectado a la cerradura elctrica.

El circuito mencionado consta bsicamente de un Optoacoplador MOC3011 y un Triac MAC-


D12 con un par de resistencias de 470 y 220, el funcionamiento se describe a continuacin:
cuando el circuito recibe una seal de 5 VDC acciona una carga que funcione a 120 VAC
conectada al Triac. De esta manera, con el hecho de enviar un pulso de 5V desde el Arduino
es posible accionar cualquier aparato de corriente alterna, para nuestro caso usaremos una
cerradura que funciona con 12VAC a 3A, para adecuarse a la diferencia del voltaje entre una
toma casera comn y el voltaje requerido se usar un trasformador capaz de convertir 120V a
12V con 3A

Figura III.6. Esquemtico del circuito de control

La entrada de 5V se conectar a dos pines del Arduino, la carga consta de la cerradura y la


entrada de 120V estar conectada a la salida del transformador, adicionalmente, se conecta
al Arduino un LED bicolor, el cual, servir para mostrar visualmente al usuario cuando el
acceso es permitido, al acercar un dispositivo permitido el LED encender en color verde, el
resto del tiempo permanecer en color rojo, si un dispositivo NFC es acercado pero no es un
dispositivo autorizado el LED permanecer rojo igualmente, a continuacin se muestra un
diagrama completo con las conexiones recin mencionadas.

55
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Figura III.7. Esquemtico del prototipo

El Arduino ser energizado con una batera de 9V, a continuacin se muestran imgenes de la
construccin, conexin y montaje del prototipo.

Figura III.8. Parte trasera del circuito

Figura III.9. Circuito montado y conectado

56
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Figura III.10. Prototipo montado y conectado en la puerta

En la figura III.10 se pueden apreciar todas las partes del prototipo encargado de verificar los
dispositivos NFC y si es el caso, accionar la cerradura para abrir la puerta, se pueden apreciar
el circuito accionador, el Arduino UNO con su Shield NFC y una batera de 9V que alimenta a
dicho Arduino UNO. Todo est montado un una pequea caja de plstico, la cual,
permanecer cerrada para evitar la manipulacin de terceros o posibles daos causados por
el ambiente alrededor, dicha caja est fijada a una puerta de madera a escala.

3.3.2 Puerta

El prototipo fue implementado en una puerta de madera a escala de dimensiones 45x25 cm,
est colocada en un marco de tamao similar y este a su vez se encuentra sujetado a una base
de madera que le permitir quedarse en pie. La puerta tiene perforaciones que permiten la
instalacin de la cerradura, as como el paso del cableado necesario para alimentacin de la
misma y el cableado interno del prototipo, a continuacin se muestran imgenes de la
preparacin de la puerta para la instalacin de todo el equipo requerido para la elaboracin
del proyecto.

Figura III.11. Perforacin vertical para cableado

57
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Figura III.12. Perforacin para cerradura

Tras realizar todas las perforaciones necesarias se proceder a instalar la cerradura elctrica y
el cableado necesario. La cerradura utilizada ser una marca Lloyds modelo LCH-1056, la cual,
funciona con 12VAC a 3A, para lograr dicho voltaje se utilizar un transformador de las mismas
especificaciones que estar sujeto a la base de la puerta. A continuacin se muestran
fotografas de la instalacin de la cerradura y el cableado interno.

Figura III.13. Instalacin de la cerradura elctrica

58
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Figura III.14. Conexin interna del circuito

Figura III.15. Puerta y sus conexiones internas

El transformador al cual se conectar la cerradura contar con un interruptor y un fusible,


esto con el fin de asegurar la integridad del cableado y el material elctrico y electrnico
empleado en el proyecto, se emplear un fusible tipo europeo, lo cual permitir que pueda
ser remplazado fcil y rpido en caso de ser necesario.

Una vez instalado el prototipo en la puerta y conectado, se proceder a pintarla, esto con el
fin de darle una apariencia agradable a la vista. Se mostrarn a continuacin las evidencias de
dicho procedimiento.

59
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Figura III.16. Proceso de pintado

Figura III.17. Puerta y prototipo terminados y montados, vista exterior

Figura III.18. Puerta y prototipo terminados y montados, vista interior


60
IPN ESIME Zacatenco Control de Acceso Mediante NFC

3.4 Costos del Prototipo

En la siguiente tabla se expone el costo de desarrollo del prototipo. Se considera un costo de


horas hombre de $180.00 MN, dicho costo fue calculado utilizando la aplicacin llamada
Cuanto Cobrar para plataformas iOS, adicionalmente, se consideran 35 horas de trabajo
totales por integrante y un numero de 3 integrantes en el desarrollo del proyecto. El software
utilizado es de licencia libre, por lo tanto, no incrementa el costo.

Tabla III.2. Costo de desarrollo del proyecto

Concepto Costo ($)


Horas Hombre ($180.00/Hr) $18,900.00
Cerradura Elctrica $500.00
Dispositivos Elctricos y Electrnicos $150.00
Puerta $350.00
Arduino + PN532 $800.00
Capacitaciones $1,200.00
Otros $300.00
Total $22,200.00

En la siguiente tabla se expone el costo aproximado de comercializacin del prototipo al


instalarlo en una puerta, el costo puede variar segn la previa existencia o no de una cerradura
elctrica o de si se desea utilizar una cerradura de diferente modelo y/o marca, tambin puede
variar segn el nmero de horas que tome la instalacin, en este caso se consideran 4 horas de
trabajo por hombre.

Tabla III.3. Costo aproximado de comercializacin del prototipo

Concepto Costo ($)


Horas Hombre ($180.00/Hr) $2,160.00
Cerradura Elctrica $500.00
Dispositivos Elctricos y Electrnicos $150.00
Arduino + PN532 $800.00
Otros $300.00
Total $3,910.00

61
IPN ESIME Zacatenco Control de Acceso Mediante NFC

3.5 Anlisis del Prototipo

El nuevo prototipo buscar constantemente dispositivos NFC, intercambiando su bsqueda entre dispositivos Android y TAGs NFC cada medio segundo, a
continuacin se expone el diagrama de flujo del prototipo.

Diagrama III.3. Diagrama de Flujo del Prototipo

62
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Capitulo IV: Pruebas y Resultados


Se realizaron diversas pruebas al prototipo tanto desmontado como montado en la puerta y
utilizando diferentes dispositivos NFC (TAGs y Android). En todos los casos el funcionamiento
fue el adecuado, la respuesta al detectar un dispositivo acreditado es prcticamente
inmediata, esto debido, a que cada 30 segundos intercala la bsqueda entre un dispositivo
TAG NFC y un dispositivo Android, por lo tanto, el tiempo de espera para el reconocimiento
de un dispositivo con el cual deseamos acceder no puede ser mayor a un segundo.

El prototipo puede ser instalado en cualquier puerta, de cualquier tamao y material, para
fines prcticos el prototipo es montado en este caso en una puerta a escala de madera, de
igual forma puede utilizarse cualquier tipo de cerradura elctrica sin importar marca y/o
modelo, en este caso se utiliza una cerradura elctrica marca Llyods debido a su bajo costo.

El prototipo en su parte electrnica es montado en una caja de plstico en color negro, el


color negro es utilizado para realzar el encendido del LED bicolor y por la esttica que genera.
La antena del mdulo NFC PN532 queda descubierta del resto para tener una fcil
comunicacin con los dispositivos NFC con los cuales se intente acceder.

Figura IV.1. Momento de acercamiento de una TAG NFC

En la figura IV.1 se puede apreciar el momento en que una TAG NFC es acercada, ademas de
ser visible el color rojo del LED, inmediatamente despues el LED encender en verde y la
cerradura ser accionada lo que permite que la puerta se abra, esto se muestra en la figura
IV.2.

63
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Figura IV.2. Acceso aceptado y apertura de la puerta

Posteriormente se procede a realizar el mismo procedimiento utilizando un dispositivo Android, en las


figuras III.20 y III.21 se muestra dicho procedimiento.

Figura IV.3. Momento de acercamiento de un dispositivo Android con NFC

64
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Figura IV.4. Android BEAM y apertura de la puerta

Figura IV.5. Puerta y prototipo terminados y montados, vista ngulo superior

Junto a la puerta se encuentra montada una caja color negra, la cual contiene el trasformador
de 12VAC a 3A, un interruptor y un fusible que proteger al prototipo de posibles descargas.

Una posible segunda versin podra incluir cajas metlicas para las secciones elctrico-
electrnicas del prototipo, esto con el fin de aumentar la resistencia del prototipo, podra
estudiarse el uso de un microcontrolador diferente, el cual, podra satisfacer de mejor manera
las necesidades del proyecto futuro, ya que existen diferentes tarjetas de desarrollo con
mdulos NFC. Los motivos por los cuales un Arduino UNO y un mdulo NFC PN532 son
empleados en este prototipo se exponen en el captulo II.

65
IPN ESIME Zacatenco Control de Acceso Mediante NFC

CONCLUSIONES
Se logr el desarrollo de un prototipo de control de acceso empleando la tecnologa de
Comunicacin de Campo Cercano (NFC Near Field Communication, por sus siglas en ingles).
Dicho prototipo logra comunicarse con dispositivos NFC e interactuar con ellos. Las etiquetas
o TAGs NFC pueden ser utilizadas como llaves para accionar el prototipo y abrir la cerradura
del mismo.

El prototipo resulta muy eficaz, rpido y de fcil uso para el usuario final. Al acercar un
dispositivo NFC se obtiene una respuesta en un periodo mximo de 1 segundo, por lo tanto,
no es necesaria una larga espera para tener acceso. El prototipo puede ser usado con
frecuencia durante un periodo de tiempo amplio sin ser afectado, en caso de existir una
ausencia de energa elctrica no implica una limitante al acceso, ya que la cerradura elctrica
funciona igualmente de forma mecnica utilizando una llave. El uso del prototipo es muy
sencillo debido a que nicamente es necesario acercar el dispositivo NFC a la antena del
PN532, para el caso de los dispositivos Android se debe tocar la pantalla en cualquier parte de
la misma despus de acercar el dispositivo y visualizar una contraccin de la imagen en la
pantalla.

El prototipo funciono de manera continua durante un aproximado de 6 horas con pruebas


peridicas de 20 minutos sin registrar ninguna falla, lo cual muestra la fiabilidad del mismo.

Este prototipo puede emplearse en cualquier tipo de sistema, pudiendo accionar motores,
bandas o cualquier tipo de maquinaria o elemento elctrico y/o electrnico, esto, adecuando
el prototipo a las necesidades de consumo elctrico en donde sea requerido.

Adicionalmente, se desarrollaron dos aplicaciones Android. La primera de ellas bajo el


nombre Control NFC, la cual, es aquella que usara el usuario final para poder acceder al
rea deseada, al usuario no le es posible consultar ni modificar ningn parmetro o dato,
nicamente cumple con la finalidad de permitir el acceso al usuario y de ser necesario, activar
el mdulo NFC del dispositivo Android (en caso de estar desactivado). La segunda aplicacin
lleva el nombre Control-Admin NFC, la cual, ser utilizada por el administrador del sistema,
con ella es posible administrar los usuarios al introducir el nombre de nuevos usuarios y su
cdigo de acceso necesario, de la misma manera le es posible modificar los parmetros de los
usuarios ya existentes, para ellos es necesaria una comunicacin NFC entre los dispositivos
Android/NFC del administrador y el usuario, igualmente, el usuario deber tener instalada la
aplicacin Control NFC.

Se logran cumplir tanto el objetivo general como los especficos, al igual que las expectativas
del proyecto. Dado la poca investigacin de la tecnologa NFC en Mxico, el prototipo resulta
muy innovador, adems de tener un amplio campo de implementacin.

Para trabajos futuros basados en este prototipo puede agregarse un sistema de informacin
que genere un registro de usuarios jerarquizados, as mismo poder conocer que usuarios
ingresaron a lo largo del da y el momento en que lo hicieron, el sistema puede ampliarse e
incluir mltiples puertas con diversos niveles de acceso para los usuarios.

66
IPN ESIME Zacatenco Control de Acceso Mediante NFC

ANEXO I: Cdigo Aplicacin de Lectura para Arduino UNO


void setup()
{
nfc1.begin();
pinMode(ledPin, OUTPUT);
pinMode(ledr, OUTPUT);
pinMode(ledv, OUTPUT);
}

uint8_t buf[128];
uint8_t buf2[128];
uint8_t buf3[19];
char arre[19];

void loop()
{
char compa[]="aobb1021aobb1021";
int num1 = 0;
digitalWrite(ledPin, LOW);
digitalWrite(ledr , HIGH);
int16_t len = nfc.read(buf, sizeof(buf),1000);
if (len > 0) {
for (uint8_t i = 0; i < len; i++) {
char c = buf[i];
if (c <= 0x1f || c > 0x7f) {
} else {
arre[i]=c;
}
}

for (uint8_t i = 3; i < 19; i++) {


buf3[i]=arre[i];
if(buf3[i] != compa[(i-3)]){
num1 = 1;
}
}

if(num1 == 1){
}
else{
digitalWrite(ledPin , HIGH);
digitalWrite(ledr , LOW);
digitalWrite(ledv , HIGH);
delay(1000);
digitalWrite(ledv , LOW);
digitalWrite(ledr , HIGH);
digitalWrite(ledPin, LOW);
}

Para consultar el cdigo completo visitar la URL:

https://www.dropbox.com/sh/8ak11grwcdr9vmg/AABWTspWODrw31mLhp-_B_jEa?dl=0

67
IPN ESIME Zacatenco Control de Acceso Mediante NFC

ANEXO II: Cdigo para Escritura de TAGs usando


Arduino UNO
void setup(void) {
#ifdef NFC_DEMO_DEBUG
Serial.begin(9600);
Serial.println("Hello!");
#endif
nfc.begin();
uint32_t versiondata = nfc.getFirmwareVersion();
if (! versiondata) {
#ifdef NFC_DEMO_DEBUG
Serial.print("Didn't find PN53x board");
#endif
while (1);
}
#ifdef NFC_DEMO_DEBUG
Serial.print("Found chip PN5");
Serial.println((versiondata>>24) & 0xFF, HEX);
Serial.print("Firmware ver. ");
Serial.print((versiondata>>16) & 0xFF, DEC);
Serial.print('.');
Serial.println((versiondata>>8) & 0xFF, DEC);
Serial.print("Supports ");
Serial.println(versiondata & 0xFF, HEX);
#endif
nfc.SAMConfig();
}

void loop(void)
{
uint32_t id;
id = nfc.readPassiveTargetID(PN532_MIFARE_ISO14443A);
if (id != 0)
{
#ifdef NFC_DEMO_DEBUG
Serial.print("Read card #");
Serial.println(id);
Serial.println();
#endif
uint8_t keys[]= {
0xFF,0xFF,0xFF,0xFF,0xFF,0xFF };
char writeBuffer;
writeBuffer='aobb1021';
if(nfc.authenticateBlock(1, id ,0x08,KEY_A,keys))
{

if(written == 0)
{
written = nfc.writeMemoryBlock(1,0x04,writeBuffer);
if(written)
#ifdef NFC_DEMO_DEBUG
Serial.println("Write Successful");
#endif
}
Para consultar el cdigo completo visitar la URL:

https://www.dropbox.com/sh/8ak11grwcdr9vmg/AABWTspWODrw31mLhp-_B_jEa?dl=0

68
IPN ESIME Zacatenco Control de Acceso Mediante NFC

ANEXO III: Cdigo de App Control NFC


package com.example.controlnfc;

import java.security.MessageDigest;
import java.security.NoSuchAlgorithmException;
import java.util.ArrayList;
import java.util.Date;
import android.content.Intent;
import android.content.pm.PackageManager;
import android.animation.AnimatorSet;
import android.animation.ArgbEvaluator;
import android.animation.ObjectAnimator;
import android.animation.ValueAnimator;
import android.annotation.SuppressLint;
import android.util.Log;
import android.view.accessibility.AccessibilityEvent;
import android.view.animation.BounceInterpolator;
import android.widget.ImageView;

import android.app.Activity;
import android.app.AlertDialog;
import android.app.ProgressDialog;
import android.content.DialogInterface;
import android.content.Intent;
import android.database.Cursor;
import android.database.sqlite.SQLiteDatabase;
import android.os.Bundle;
import android.os.Parcelable;
import android.view.Gravity;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Button;
import android.widget.CheckBox;
import android.widget.DatePicker;
import android.widget.DigitalClock;
import android.widget.EditText;
import android.widget.Switch;
import android.widget.TextView;
import android.widget.Toast;

import java.io.IOException;
import java.io.UnsupportedEncodingException;
import java.util.Arrays;

Para consultar el cdigo visitar la URL:

https://www.dropbox.com/sh/8ak11grwcdr9vmg/AABWTspWODrw31mLhp-_B_jEa?dl=0

69
IPN ESIME Zacatenco Control de Acceso Mediante NFC

ANEXO IV: Codigo App Admin-Control NFC


package com.ipn.androidbeam;
import android.app.Activity;
import android.app.AlertDialog;
import android.app.PendingIntent;
import android.content.Context;
import android.content.DialogInterface;
import android.content.Intent;
import android.content.IntentFilter;
import android.nfc.FormatException;
import android.nfc.NdefMessage;
import android.nfc.NdefRecord;
import android.nfc.NfcAdapter;
import android.nfc.Tag;
import android.nfc.NfcAdapter.CreateNdefMessageCallback;
import android.nfc.tech.Ndef;
import android.nfc.NfcEvent;
import android.os.Bundle;
import android.os.Parcelable;
import android.provider.Settings;
import android.text.InputType;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.EditText;
import android.widget.LinearLayout;
import android.widget.TextView;
import android.widget.Toast;

import java.io.IOException;
import java.nio.charset.Charset;
import java.util.ArrayList;
import java.util.List;

import org.apache.http.HttpResponse;
import org.apache.http.NameValuePair;
import org.apache.http.client.HttpClient;
import org.apache.http.client.entity.UrlEncodedFormEntity;
import org.apache.http.client.methods.HttpPost;
import org.apache.http.impl.client.DefaultHttpClient;
import org.apache.http.message.BasicNameValuePair;

Para consultar el cdigo completo visitar la URL:

https://www.dropbox.com/sh/8ak11grwcdr9vmg/AABWTspWODrw31mLhp-_B_jEa?dl=0

70
IPN ESIME Zacatenco Control de Acceso Mediante NFC

ANEXO V: Licencia BSD

Copyright (c) 2012, Adafruit Industries

All rights reserved.

Redistribution and use in source and binary forms, with or without

modification, are permitted provided that the following conditions

are met:

1. Redistributions of source code must retain the above copyright

notice, this list of conditions and the following disclaimer.

2. Redistributions in binary form must reproduce the above copyright

notice, this list of conditions and the following disclaimer in the

documentation and/or other materials provided with the distribution.

3. Neither the name of copyright holders nor the names of its

contributors may be used to endorse or promote products derived

from this software without specific prior written permission.

THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS

''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED

TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR

PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL COPYRIGHT HOLDERS OR CONTRIBUTORS

BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR

CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF

SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS

INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN

CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)

ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE

POSSIBILITY OF SUCH DAMAGE.


71
IPN ESIME Zacatenco Control de Acceso Mediante NFC

Traduccin no oficial al espaol:

Copyright (c) 2012, Adafruit Industries

Todos los derechos reservados.

La redistribucin y el uso en las formas de cdigo fuente y binario, con o sin

modificaciones, estn permitidos siempre que se cumplan las siguientes condiciones:

1. Las redistribuciones del cdigo fuente deben conservar el aviso de copyright

anterior, esta lista de condiciones y el siguiente descargo de responsabilidad.

2. Las redistribuciones en formato binario deben reproducir el aviso de copyright

anterior, esta lista de condiciones y la siguiente renuncia en la documentacin

y/u otros materiales suministrados con la distribucin.

3. Ni el nombre de los titulares de derechos de autor ni los nombres de sus

colaboradores pueden usarse para apoyar o promocionar productos derivados de

este software sin permiso previo y por escrito.

ESTE SOFTWARE SE SUMINISTRA POR <TITULAR DEL COPYRIGHT> ''COMO EST'' Y CUALQUIER

GARANTA EXPRESA O IMPLCITAS, INCLUYENDO, PERO NO LIMITADO A, LAS GARANTAS

IMPLCITAS DE COMERCIALIZACIN Y APTITUD PARA UN PROPSITO DETERMINADO SON

RECHAZADAS. EN NINGN CASO <TITULAR DEL COPYRIGHT> SER RESPONSABLE POR NINGN

DAO DIRECTO, INDIRECTO, INCIDENTAL, ESPECIAL, EJEMPLAR O CONSECUENTE


(INCLUYENDO,

PERO NO LIMITADO A, LA ADQUISICIN DE BIENES O SERVICIOS; LA PRDIDA DE USO, DE

DATOS O DE BENEFICIOS; O INTERRUPCIN DE LA ACTIVIDAD EMPRESARIAL) O POR

CUALQUIER TEORA DE RESPONSABILIDAD, YA SEA POR CONTRATO, RESPONSABILIDAD


ESTRICTA

O AGRAVIO (INCLUYENDO NEGLIGENCIA O CUALQUIER OTRA CAUSA) QUE SURJA DE


CUALQUIER

MANERA DEL USO DE ESTE SOFTWARE, INCLUSO SI SE HA ADVERTIDO DE LA POSIBILIDAD DE

TALES DAOS.
72
IPN ESIME Zacatenco Control de Acceso Mediante NFC

ANEXO VI: Hoja de Especificaciones del TRIAC MAC 12D

73
MAC12D, MAC12M, MAC12N
Preferred Device

Triacs
Silicon Bidirectional Thyristors
Designed for high performance fullwave ac control applications
where high noise immunity and commutating di/dt are required.
http://onsemi.com
Features
Blocking Voltage to 800 Volts TRIACS
OnState Current Rating of 12 Amperes RMS at 70C 12 AMPERES RMS
Uniform Gate Trigger Currents in Three Quadrants, Q1, Q2, and Q3 400 thru 800 VOLTS
High Immunity to dv/dt 250 V/ms Minimum at 125C
High Commutating di/dt 6.5 A/ms Minimum at 125C MT2 MT1
Industry Standard TO220 AB Package G
High Surge Current Capability 100 Amperes
PbFree Packages are Available* MARKING
DIAGRAM
MAXIMUM RATINGS (TJ = 25C unless otherwise noted)
Rating Symbol Value Unit
Peak Repetitive OffState Voltage (Note 1) VDRM, V
(TJ = 40 to 125C, Sine Wave, VRRM MAC12xG
50 to 60 Hz, Gate Open) AYWW
MAC12D 400
MAC12M 600 TO220AB
MAC12N 800 1 CASE 221A09
2
3 STYLE 4
On-State RMS Current IT(RMS) 12 A
(All Conduction Angles; TC = 70C)
x = D, M, or N
Peak Non-Repetitive Surge Current ITSM 100 A A = Assembly Location
(One Full Cycle, 60 Hz, TJ = 125C) Y = Year
WW = Work Week
Circuit Fusing Consideration (t = 8.33 ms) I2t 41 A2sec
G = PbFree Package
Peak Gate Power PGM 16 W
(Pulse Width 1.0 ms, TC = 80C)
PIN ASSIGNMENT
Average Gate Power PG(AV) 0.35 W 1 Main Terminal 1
(t = 8.3 ms, TC = 80C)
2 Main Terminal 2
Operating Junction Temperature Range TJ 40 to +125 C
3 Gate
Storage Temperature Range Tstg 40 to +150 C
4 Main Terminal 2
Maximum ratings are those values beyond which device damage can occur.
Maximum ratings applied to the device are individual stress limit values (not
normal operating conditions) and are not valid simultaneously. If these limits are ORDERING INFORMATION
exceeded, device functional operation is not implied, damage may occur and
reliability may be affected. Device Package Shipping
1. VDRM and VRRM for all types can be applied on a continuous basis. Blocking MAC12D TO220AB 50 Units / Rail
voltages shall not be tested with a constant current source such that the
voltage ratings of the devices are exceeded. MAC12DG TO220AB 50 Units / Rail
(PbFree)
MAC12M TO220AB 50 Units / Rail
MAC12MG TO220AB 50 Units / Rail
(PbFree)
MAC12N TO220AB 50 Units / Rail
MAC12NG TO220AB 50 Units / Rail
(PbFree)
*For additional information on our PbFree strategy and soldering details, please
download the ON Semiconductor Soldering and Mounting Techniques Preferred devices are recommended choices for future use
Reference Manual, SOLDERRM/D. and best overall value.

Semiconductor Components Industries, LLC, 2005 1 Publication Order Number:


December, 2005 Rev. 4 MAC12/D
IPN ESIME Zacatenco Control de Acceso Mediante NFC

ANEXO VII: Hoja de Especificaciones del Optoacoplador


MOC 3011

74
 Order this document
SEMICONDUCTOR TECHNICAL DATA by MOC3010/D



[IFT = 15 mA Max]



GlobalOptoisolator

   [IFT = 10 mA Max]

    " ! ! 


 
[IFT = 5 mA Max]
(250 Volts Peak)
*Motorola Preferred Device
The MOC3010 Series consists of gallium arsenide infrared emitting diodes,
optically coupled to silicon bilateral switch and are designed for applications
requiring isolated triac triggering, lowcurrent isolated ac switching, high
electrical isolation (to 7500 Vac peak), high detector standoff voltage, small STYLE 6 PLASTIC
size, and low cost.
To order devices that are tested and marked per VDE 0884 requirements, the
suffix V must be included at end of part number. VDE 0884 is a test option.
6
Recommended for 115 Vac(rms) Applications: 1

Solenoid/Valve Controls STANDARD THRU HOLE


CASE 730A04
Lamp Ballasts
Interfacing Microprocessors to 115 Vac Peripherals
Motor Controls
Static ac Power Switch COUPLER SCHEMATIC
Solid State Relays 1 6
Incandescent Lamp Dimmers
2 5
MAXIMUM RATINGS (TA = 25C unless otherwise noted)
Rating Symbol Value Unit 3 4
INFRARED EMITTING DIODE
1. ANODE
Reverse Voltage VR 3 Volts
2. CATHODE
Forward Current Continuous IF 60 mA 3. NC
Total Power Dissipation @ TA = 25C PD 100 mW 4. MAIN TERMINAL
Negligible Power in Transistor 5. SUBSTRATE
Derate above 25C 1.33 mW/C DO NOT CONNECT
6. MAIN TERMINAL
OUTPUT DRIVER
OffState Output Terminal Voltage VDRM 250 Volts
Peak Repetitive Surge Current ITSM 1 A
(PW = 1 ms, 120 pps)
Total Power Dissipation @ TA = 25C PD 300 mW
Derate above 25C 4 mW/C
TOTAL DEVICE
Isolation Surge Voltage(1) VISO 7500 Vac(pk)
(Peak ac Voltage, 60 Hz, 1 Second Duration)
Total Power Dissipation @ TA = 25C PD 330 mW
Derate above 25C 4.4 mW/C
Junction Temperature Range TJ 40 to +100 C
Ambient Operating Temperature Range(2) TA 40 to +85 C
Storage Temperature Range(2) Tstg 40 to +150 C
Soldering Temperature (10 s) TL 260 C
1. Isolation surge voltage, VISO, is an internal device dielectric breakdown rating.
1. For this test, Pins 1 and 2 are common, and Pins 4, 5 and 6 are common.
2. Refer to Quality and Reliability Section in Opto Data Book for information on test conditions.
Preferred devices are Motorola recommended choices for future use and best overall value.
GlobalOptoisolator is a trademark of Motorola, Inc.
(Replaces MOC3009/D)

Motorola Optoelectronics
Motorola, Inc. 1995 Device Data 1
IPN ESIME Zacatenco Control de Acceso Mediante NFC

ANEXO VIII: Manual de la cerradura elctrica Lloyds


modelo LCH-1056

75
IPN ESIME Zacatenco Control de Acceso Mediante NFC

ANEXO IX: Artculo Publicado en The SciTech,


International Journal of Engineering Sciences

La revista internacional The SciTech, International Journal of Engineering Sciences (ISSN:


2347 9221[Impreso], ISSN: 2347 - 923X [En Lnea]) en su volumen nmero 2 del ao 2014,
acept el artculo para publicacin en diciembre del 2014 y fue publicado en su edicin en
lnea en enero del 2015. El artculo recibi el registro STIJES20142008.

80
The SciTech,
ational Journal of Engineering
Internat
Sciences

Volume -2, 2014

Article information:

Article Type: Research GH N


RESTRICTED ACCESS THROUGH NFC
Article No: STIJES20142008
Page: 55-64
Arroyo B., Gonzalo Contreras B., Erick Espritu P., JJafeth Alonso-Carren,
n Ar
Benjamn
Article Received: 2/10/2014 Gabriela Snchez-Melndez, David Vzquez--lvarez
Article Accepted: 5/12/2014
Article Online: 28/01/2015
Abstract:
Website:
http://www.thescitechpub.co The technology known as Near Field Communication ication or NFC appears as an
m/journals/IJES/ijes_index.a ne, it is presented as a simple
evolutionn in th
the use of applications within the mobile phone,
spx
ents and an option for storing
ication system, as an alternative for handling payments
communication
principles of operation and
data saferr for mobile electronic devices, in this document the pr
Authors information: developmentent oof NFC technology is displayed.
RDUINO UNO, RFID or Radio
Keywords: Near Field Communication, micro-controller ARDUI
Escuela Superior de Ingeniera
cy Iden
Frequency Identification. Basically.
Mecnica y Elctrica,
Unidad Zacatenco, cal Ab
Graphical Abstract:
Instituto Politcnico Nacional
Col. Lindavista CP 07738,
Mxico DF
Email :
benguitarchomba@hotmail.com,
gonzalo-contreras@hotmail.com,
espiritu_erick@hotmail.com
jaalonso@ipn.mx,
gsanchezgsm@yahoo.com

Right Reserved.
ISSN: 2347 9221(Print) ISSN:: 2347 923X (Online) The SciTech Publishers, 2014. All R
55
The SciTech, International Journal of Engineering Sciences Benjamn Arroyo B et.al.
Volume -2, 2014, p.55-64 Restricted Access .

Introduction:

This document shows the state of art and development about the elaboration of a final project which end is to
administrate an restricted access utilizing NFC technology, applied on Android mobile devices and the ones called
TAGs NCF, all of that implemented with a micro-controller ARDUINO UNO.

The technology known as Near Field Communication or NFC can be considered as an advance of RFID or Radio
Frequency Identification. Basically, NFC allows to realize a simple communication, secure and intuitive between
devices.

A. RFID System

1) Description: The operation of RFID systems are simple. Basically there are three parts as you can see on
Figure 1. There is a RFID reader that search in a periodic way in his reach zone the information content on the
issued signals by the RFID tag. This tags possess the capacity to adhere in products, people or animals that need to
be identified or followed. Once this data is received, the reader transfer them into a processing subsystem for the
interpretation and the correspondent treatment [1].

Fig. 1 Components of an RFID system

Considering RFID tags, can be said that they compose mainly by an antenna, a radio transducer and an
encapsulated material. The tags can be classified taking into account the power supply, considering this, exists
basically three types:
Passive tags: They do not have their own power supply, there for they use small electrical current induced by
the energy that they receive from the reader, which is enough to launch its circuit and to make data
transmission.
Semi-passive tags: They receive part of its energy from an own power supply. This battery works only for
feeding the circuits, for the information transmission it uses the reader energy.
Active tags: They possess the most storage capacity for it circuits, as well as the information transmission.

2) The evolution towards NFC: Near Field Communication brings new functions to the RFID technology. This
is due to the combination of a reader and a RFID tag on the same NFC team. This facilitates communication in both
directions between two devices and breaks the functional separation of the RFID schemes, it means, the reader on
one side and the tags on the other. [3] [4].

What should be clear is that although NFC is a new standard that appears following RFID, it mission is not
replace it, it is to supplement it by increasing its functions.
Making a comparison between NFC and RFID, we found that first has the computing power necessary to
execute operations, fact that makes easy its integration into devices like mobile phones.
Another issue that has NFC is that it allows small communication ranges, and therefore has inherent safety,
point that makes it preferable for communication issues that require security like payments methods of personal
information exchange. Also NFC cannot be activated remotely, unintentionally or by accident.

B. Near Field Communication

1) Definition: Near Field Communication (NFC), is a short-range communication technology, it allows the
exchange of data between two devices in a wireless way.

ISSN: 2347 9221(Print) ISSN: 2347 923X (Online) The SciTech Publishers, 2014. All Right Reserved.

56
The SciTech, International Journal of Engineering Sciences Benjamn Arroyo B et.al.
Volume -2, 2014, p.55-64 Restricted Access .

The short-range system consists of two elements: an initiator and a target, where any device with NFC can
take the functions or behavior of one of these parts. NFC can be installed in cameras, players, televisions, cell
phones and even remote controls.
2) Features: NFC provides short-range wireless communication by a magnetic field that enables data
exchange, operates in an environment where the devices are separated by a distance of 4 centimeters maximum. The
system operates in unlicensed frequency band fc = 13.56 MHz and a bandwidth ranging to 7 kHz on either side of
fc.
An NFC device that starts the communication and controls the exchange of information is known as an initiator
(similar to RFID reader) and the responder to the initiator is known as target. Communication can be done in active
mode or passive mode.

3) Modes of Operation: For NFC devices is possible to make communication in the air with another, acting as a
label or doing as a reader/writer. Concerning this, the NFC Forum defines the following modes of operation [4]:
Peer to peer: Is used when the need for transmitting a reduced amount of data arises (a few kilobytes).
Reading/writing: In this way, has the ability to read and write tags. The device can read four types of tags,
which were defined in the NFC Forum
Smart card emulation: A reader can identified a NFC device, as if it were an NFC tag or a smart card. This
mode can be used for means of payment, banking, fast payouts and access control.

Fig. 2 NFC operating modes

4) Architecture of an NFC device: In a mobile NFC, it is possible to distinguish between two fundamental
components:
NFC circuit and antenna: This set allows communication and exchange of data between NFC systems in a
very short distance, through a magnetic field.
Secure Element (SE) is an independent circuit that contain the applications based in security keys, it have
as a purpose to enable secure transactions.

5) NFC Applications: Some current NFC applications [5] [6]:


Payments via mobile: This application is the best known of the NFC technology; passing the mobile
terminal by a sensor it can produce a monetary transaction in a comfortable and agile way.
Access to facilities with accreditation: A pilot application performed in the Catholic University of Murcia
where students use NFC terminal for access to campus facilities.
Posters NFC-Advertising: An Australian telecommunications company (Telstra) launched a campaign
posters that incorporate NFC. The user approaching the mobile to the NFC tag that is in the advertising
poster can download applications, free samples of the music service offered by the company and even
recharge the prepaid card.
Books with Multimedia content: NFC technology can be included in the books by tags that can be found in
the pages inside.
Integration in automobiles: Orange and the engineering company AMD -Concept have created a car (Opel
Ampera) which can be opened by a mobile, moving apart from the traditional key through a NFC reader
that is inserted into the automobile prior car-user enrollment.

6) NFC Forum: NFC was created in the year 2002 as a project led by Nokia, Philips and Sony, same
companies that make up the NFC Forum association. In 2003 was approved as standard ISO/IEC, in 2004,

ISSN: 2347 9221(Print) ISSN: 2347 923X (Online) The SciTech Publishers, 2014. All Right Reserved.

57
The SciTech, International Journal of Engineering Sciences Benjamn Arroyo B et.al.
Volume -2, 2014, p.55-64 Restricted Access .

non-profit organization that seeks to promote the use of NFC in devices


constitutes the NFC Forum, defined as a non
through the development of certain specifications that try to unify the NFC systems.
The NFC Forum was created by the three pioneering institutions now has over one hundred members,
including companies in the technology category, economic organizations and other non-profit organizations [5].

Fig. 3 NFC Forum logo

7) NFC tags: They are an important part of the NFC technology, they implement a passive storage waiting
for a NFC reader required the information that is retained. The NFC Forum has defined four types of tags [6].
The characteristics of each of the four types are set in specifications labels, in order to achieve compatibility and
operability in different modes of reading or writing. In this specification are set various parameters as shown in
Table I.

TABLE I: TYPES OF TAGS NFC

8) Establishing NFC communication: In the NFC systems can distinguish five major steps that are present
during the establishment of the transaction. This fases are [2]:
Discovery: At this early stage, the devices are tracked each other and then start the recognition.
Authentication: Each of the devices verify whether the other end of the pair is authorized or whether to
establish a secure connection through a corresponding encryption.
Negotiation: Up to this point parameters such as transmission rate, the identity of the device, the
application, and if is the case, also the action that will apply.
Transfer: In this phase data exchange can be performed.
Confirmation: The receiver confirms the establishment of communication and data transfer.
C. Arduino

Arduino is a tool that makes computers able to sense and control the physical world. It is a development
platform (physical computing) it has an open source, based on a plate with a simple microcontroller and a
development environment for creating software for the plate [7][9].
The Arduino programming language is an implementation of Wiring, a physical computing platform, which
in turn is based on Processing, a multimedia programming environment.

1) Why Arduino?: There are many other microcontrollers and microcontroller platforms available for physical
computing. Parallax Basic Stamp, Netmedia BX-24, Phidgets, MIT Handyboard, and many others offer similar
functionalities. All these tools organize the complicated job of programming a microcontroller in an easy-to-use
package. Arduino, besides simplifying the process of working with microcontrollers, offers some advantages
such as:
Affordable - The Arduino boards are more affordable compared to other microcontroller platforms.
Multiplatform - The Arduino software runs on Windows operating systems, Mac OSX and Linux.
Programming environment simple and straightforward - The Arduino programming environment is easy to
use for beginners and flexible enough for advanced users.

ISSN: 2347 9221(Print) ISSN: 2347 923X (Online) The SciTech Publishers, 2014. All Right Reserved.

58
The SciTech, International Journal of Engineering Sciences Benjamn Arroyo B et.al.
Volume -2, 2014, p.55-64 Restricted Access .

Expandable and open source software - The Arduino software is released under a free license and ready to
be extended by experienced programmers. The language can be expanded through C ++ libraries [10].
Hardware extensible Open Source - Arduino is based on the ATMEGA168, and ATMEGA1280
ATMEGA328 microcontrollers. The planes of the modules are published under Creative Commons
license, so experienced circuit designers can make their own version of the module.
2) Hardware: There are multiple versions of the Arduino board. For the specific case of this prototype the
Arduino UNO (Fig. 4) will be used, as mentioned in Section I, which has a ATmega328 (Table II). This Arduino is
hass an NFC antenna.
used because of its compatibility with Arduino Shield PN532 (Fig. 5), which ha

Fig. 4 Arduino UNO

TABLE II CHARACTERISTICS OF THE ARDUINO UNO

D. Shield PN532

1) General Description: The PN532 (Fig. 5) is an integrated transmission module for wireless communications
working in a 13.56 MHz frequency which includes a microcontroller based on the 80C52 core. The transmission
module uses the concept of fully integrated modulation and demod ulation for different classes of wireless
demodulation
communication methods and protocols in the band of 13.56 MHZ [8].
The PN532 supports different operating modes:
Read / write with ISO support 14443A / MIRAFE and FeliCa scheme.
ISO 14443B only in read / write.
Interface code of supporting card ISO 14443A / MIFARE and FeliCa scheme.
The receiver part provides a robust and efficient implementation of a demodulation and decoding circuitry
for signals compatible cards and transponders ISO 14443 / MIFARE and IS O 14443B. The digital part handles
ISO
the processing of frames ISO14443A and error detection (Parity and CRC).
For different data exchange interfaces were implemented:
SPI Interface.
12C Interface.
Serial UART (similar to RS232 with voltage levels from 0 to PVDD).
PN532 implements a low voltage regulator, allowing it to be connected directly to a battery and a switch with
average power.

ISSN: 2347 9221(Print) ISSN: 2347 923X (Online) The SciTech Publishers, 2014. All Right Reserved.

59
The SciTech, International Journal of Engineering Sciences Benjamn Arroyo B et.al.
Volume -2, 2014, p.55-64 Restricted Access .

Fig. 5 Shield PN532

E. Android

It is an operating system based on the kernel from Linux which is designed primarily for mobile
touchscreen devices such as smartphones or tablets [11].

1) Why use Android and not iOS?: In the aspect of privacy it has been discovered certain behaviors in
some devices that limit the privacy of users, in similar mode to iPhone, but it occurs when activate the Use wireless
networks option on the menu Location and Security, warning that these data will be saved, and erased by is
disable this option, because they are used as cache and not as log like iPhone does it.

And in the security aspect according to a 2013 study by Symantec shows that compared to iOS, Android is a less
vulnerable system. The study in question speaks of 13 serious vulnerabilities for Android and 387 serious
vulnerabilities for iOS [11][12].

Development

A. Android Apps

1) Application for Standard User: The application Control NFC is developed in 2 modules:
IUser ID and Logging
Sending NDEF messages (NFC Data Exchange Format) which means Interchange Format Data type NFC
[13].
Module 1: This module uses a proprietary database of Android that is installed with the application. It is made in
SQLite where the records to keep are: User name and Identification code. Fig. 6.
When the application is installed contains no records, for it to access the application the administrator will
support in other called "NFC Admin Control, which performs the function of transmitting and recording username
and code via the "Android Beam" function, this will allow the user to open a work session and get access to entries
that have this system and containing the permitted level [14][15].

Advantages of using a user record:


Not everyone will have access to this application and cannot open a door with restricted access.
Once you have saved all the user data via "Control NFC Admin", the user will not have to enter his code
every time he need to open the application it will only enter once and a its going to be created a session
that is always open until the user decide to close it.

ISSN: 2347 9221(Print) ISSN: 2347 923X (Online) The SciTech Publishers, 2014. All Right Reserved.

60
The SciTech, International Journal of Engineering Sciences Benjamn Arroyo B et.al.
Volume -2, 2014, p.55-64 Restricted Access .

Fig. 6 Module 1 App Control NFC

Module 2: This module performs various actions:


Facilitates activation of NFC module integrated into the phone if this is not enabled. Fig. 7.
Displays a detailed guide on how to use the application.
When making contact with Arduino Shield NFC it activates the Android Beam function and sends a NDEF
message containing the access code, the method that is Android Beam and the package name which if is
not suitable it cannot be displayed on any mobile device [15].

Fig. 7 Module 2 App Control NFC

Advantages of this module:


Provides ease to enabled the NFC of the phone without searching in Settings - Wireless & Networks - More
- NFC.
Record labels or stickers with user code.
Provides help if the user does not understand the operation of the application.

Fig. 8 User Guide

2) Application Manager: The application "NFC Admin Control" bring supports to the administrator
because keeps a record of who record labels. Fig. 9 [14] [15].
Its functions are:
Administrator identification.

ISSN: 2347 9221(Print) ISSN: 2347 923X (Online) The SciTech Publishers, 2014. All Right Reserved.

61
The SciTech, International Journal of Engineering Sciences Benjamn Arroyo B et.al.
Volume -2, 2014, p.55-64 Restricted Access .

User Control.

Fig. 9 App Control NFC Admin

B. Software for Arduino Uno and PN532

For the door opening control was developed an application in the physical computing card Arduino UNO that
controls the PN532-NFC card, which in this case will receive the code from an Android device or a NFC TAG.
The development consists of two major phases: recognition and communication.

1) Recognition: In the recognition phase the Arduino board will activate the electromagnetic field and start
searching for some element within their field, when any device (mobile phone with NFC technology or NFC TAG)
is at a maximum distance of 4 centimeters the program will start the communication phase [16].
At this phase the Arduino sets the board PN532 via predefined memory card commands, with PN532-SPI and
NDEF libraries the Arduino card is able to configure the NFC circuit to realize the communication with features and
protocols necessary to initiate communication.

Fig. 10 Alert BEAM in Android device

2) Communication: In the communication phase the Arduino board will send a signal indicating the mobile
phone is ready to receive data, in this moment the Android device will be ready to send the information when the
Android BEAM indicates on the screen. When the transfer is done the software code on the Arduino board will
receive information and manage to indicate whether the door opening is admissible or not. [17]

In the case that is a TAG NFC the device will read the TAG checking that has the specified format, just like with
the mobile device the Arduino card will manage the content of the TAG NFC and will indicate if the access is
accepted or if is not permitted.

ISSN: 2347 9221(Print) ISSN: 2347 923X (Online) The SciTech Publishers, 2014. All Right Reserved.

62
The SciTech, International Journal of Engineering Sciences Benjamn Arroyo B et.al.
Volume -2, 2014, p.55-64 Restricted Access .

At the moment the information is received the Arduino will keep it momentarily and compares it to the record stored
in its memory, if the algorithm does not find the indicated structure of this code the Arduino just discard that
information and restart the recognition phase, if the record matches any in your memory card Arduino send a pulse
output pin that activate the access door during a time of 3 seconds, ending this time the card close the pin and
therefore the door no longer have the option of opening.

The software was developed with the development environment of Arduino version 1.0.5 with an Arduino UNO
board and a PN532 expansion card developed by ElecFreaks with regulation of NFC Forum and NFC with the NFC
communication standards.

C. Prototype Implementation

Now is shown the physical construction of the prototype and the supporting evidence of its operation.

1) Construction: The Arduino UNO is programmed to send a pulse of 5 Volts up when detect an NFC
device that is authorized to open the door, this pulse will be sent by pins 2 and 8 of the Arduino to a circuit that is
mainly composed of an Opto-coupler MOC3011 and TRIAC MAC12-D. This circuit will activate the function of
door lock (which works with 120 VAC) when receive the pulse of 5 VDC. Figure 11 shows this circuit.

Fig. 11 Circuito que activa la cerradura

The Arduino UNO, the drive circuit and the lock were interconnected for testing that will be shown ahead, and
then were placed the first two in a small box mounted on the door to open.

2) Testing: After connecting it was proceeded to realize recognition and activation tests of the prototype,
the tests were performed using TAG's and Android devices. The Arduino UNO searches constantly for NFC devices
and when find one it is determines if it counts with the authorization to activate the circuits.
The results show (almost immediately) a rapid response of the prototype, when an authorized NFC device gets
close the circuit is activated and the door opens, showing the speed of NFC technology.

Fig. 12 Connecting the prototype and tested using Android

ISSN: 2347 9221(Print) ISSN: 2347 923X (Online) The SciTech Publishers, 2014. All Right Reserved.

63
The SciTech, International Journal of Engineering Sciences Benjamn Arroyo B et.al.
Volume -2, 2014, p.55-64 Restricted Access .

Fig. 13 Test using NFC TAG

After testing and verify the proper operation of the prototype we proceeded to install it on the door for final
testing and completion of the project with very favorable results in technical and practical aspects.

Fig.14 Prototype installed on a door

Conclusion:

By using NFC for restricted access, better control of access to private buildings is obtained, we can also have the
identification of who enters and leaves leading this way to a better control both staff and facilities; access becomes a
practical and reliable process besides being economical and sustainable.
The presented prototype behaves favorably, obtaining a quick and effective response in the transmission of
information to the Arduino board with NFC Shield. It is functional using TAGs and mobile devices with Android
system containing NFC module.
An area of opportunity due to the underdevelopment that exists in Mexico about NFC is observed.

Reference:

[1] Departamento de Electrnica e Informtica, [13] Android Developers NFC,


Universidad Catlica Nuestra Seora de la http://developer.android.com/guide/topics/
Asuncin,Campus Santa Librada, Asuncin connectivity/nfc/index.html,
Paraguay [14] Android 4Application Development, WROX,
[2] Introduccin al RFID, Ferroxcube International Reto Meier
Holding, Espaa, Septiembre 2007 [15] NFC from Theory to Practice, WILEY
[3] RFID Point, http://www.rfidpoint.com, Publication, Vedat Cosken, Keren OK & Busra
[4] Design of a Near Field Communication Antenna Ozdenizci, ISIK University, Turquia 2012
System, AXIEM Application Note, AWR [16] Beginning NFC, Editorial OReilly Media,
Corporation, AX-NFC-2012.9.14 Tom Igoe, Don Coleman y Brian Jepson, Enero 2014
[5] NFC Forum, http://nfc-forum.org/ [17] Arduino-Software Oficial,
[6] Informe Near Field Communication (NFC), http://arduino.cc/en/main/software, Accessed June
CONTEC Consulting, Laura Caballero, Barcelona 2014
Espaa, Septiembre 2012
[7] Gua de Usuario de Arduino, Rafael Enrquez
Herrador, I.T.I. Sistemas, Universidad de Crdoba
[8] PN532 Data Sheet, Koninklijke Philips
Electronics N.V. 2006.
[9] Arduino Oficial Page,
http://arduino.cc/en/Reference/HomePage
[10] Arduino Forum,
http://forum.arduino.cc/index.php?topic=179972.0,
[11] Android 4 All,
http://andro4all.com/2014/05/galaxys3-galaxys3mini-
kitkat-opinion,
[12] Wikipedia-Android,
http://es.wikipedia.org/wiki/Android

ISSN: 2347 9221(Print) ISSN: 2347 923X (Online) The SciTech Publishers, 2014. All Right Reserved.

64
IPN ESIME Zacatenco Control de Acceso Mediante NFC

REFERENCIAS
[1] Departamento de Electrnica e Informtica, Universidad Catlica Nuestra Seora de
la Asuncin, Campus Santa Librada, Asuncin Paraguay

[2] Introduccin al RFID, Ferroxcube International Holding, Espaa, Septiembre 2007

[3] RFID Point, http://www.rfidpoint.com , Visitada en Febrero 2014

[4] NFC Forum, http://nfc-forum.org/ , Visitada en Marzo 2014

[5] Design of a Near Field Communication Antenna System, AXIEM Application Note,
AWR Corporation, AX-NFC-2012.9.14

[6] Informe Near Field Communication (NFC), CONTEC Consulting, Laura Caballero,
Barcelona Espaa, Septiembre 2012

[7] Gua de Usuario de Arduino, Rafael Enrquez Herrador, I.T.I. Sistemas, Universidad de
Crdoba

[8] PN532 Data Sheet, Koninklijke Philips Electronics N.V. 2006. All rights reserved.

[9] Pgina Oficial Arduino, http://arduino.cc/en/Reference/HomePage, Visitada en Abril


2014

[10] Arduino Forum, http://forum.arduino.cc/index.php?topic=179972.0, Visitada en Abril


2014

[11] Eclipse Oficial, http://www.eclipse.org/ide/, Visitada Mayo 2014

[12] Wikipedia-Eclipse, http://es.wikipedia.org/wiki/Eclipse_%28software%29, Visitada en


Mayo 2014

[13] Android 4 All, http://andro4all.com/2014/05/galaxys3-galaxys3mini-kitkat-opinion,


Visitada en Mayo 2014

[14] Black Mart Alpha, http://blackmartalpha.jimdo.com/versiones-de-android/, Visitada en


Mayo 2014

[15] Wikipedia-Android, http://es.wikipedia.org/wiki/Android, Visitada en Mayo 2014

[16] Android 4Application Development, WROX, Reto Meier

[17] NFC from Theory to Practice, WILEY Publication, Vedat Cosken, Keren OK & Busra
Ozdenizci, ISIK University, Turquia 2012

[18] Beginning NFC, Editorial OReilly Media, Tom Igoe, Don Coleman y Brian Jepson,
Enero 2014

[19] Arduino-Software Oficial, http://arduino.cc/en/main/software, Visitada en Junio 2014

91

You might also like