Professional Documents
Culture Documents
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
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 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.
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 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.
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.
Mario Benedetti
IPN ESIME Zacatenco Control de Acceso Mediante NFC
TABLA DE CONTENIDO
Objetivos 1
Objetivo General 1
Objetivo Especficos 1
Justificacin 1
1.3 Credenciales 3
1.8.2 Caractersticas 10
1.8.3 Estandarizacin 10
i
IPN ESIME Zacatenco Control de Acceso Mediante NFC
2.1 Arduino 17
2.1.2 Hardware 18
2.2 PN532 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
ii
IPN ESIME Zacatenco Control de Acceso Mediante NFC
3.1.1.1 Mdulo 1 39
3.1.1.2 Mdulo 2 40
3.1.3 Desarrollo 45
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.3 Implementacin 55
3.3.2 Puerta 57
iii
IPN ESIME Zacatenco Control de Acceso Mediante NFC
Conclusiones 66
REFERENCIAS 91
iv
IPN ESIME Zacatenco Control de Acceso Mediante NFC
NDICE DE FIGURAS
Figura I.1. Funcionamiento del sistema RFID 6
v
IPN ESIME Zacatenco Control de Acceso Mediante NFC
vi
IPN ESIME Zacatenco Control de Acceso Mediante NFC
NDICE DE TABLAS
Tabla I.1. Comparativo Cdigo de Barras/RFID 8
vii
IPN ESIME Zacatenco Control de Acceso Mediante NFC
NDICE DE DIAGRAMAS
Diagrama II.1. Diagrama de Gantt del Proyecto 38
viii
IPN ESIME Zacatenco Control de Acceso Mediante NFC
OBJETIVOS
OBJETIVO GENERAL
OBJETIVOS ESPECFICOS
Programar una aplicacin Android para establecer comunicacin con la tecnologa NFC
por medio de un telfono mvil.
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.
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
Las herraduras y credenciales de inicio de sesin son dos mecanismos anlogos de control de
acceso.
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.
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
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.
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).
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
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.
4
IPN ESIME Zacatenco Control de Acceso Mediante 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.
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.
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].
6
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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 activas: Son menos econmicas que las anteriores pero poseen mayor
capacidad de almacenamiento tanto para sus circuitos, como la transmisin de la
informacin.
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
Identificacin de activos: cada activo tiene una etiqueta con el nmero de inventario,
descripcin, usuario y estado de mantenimiento.
8
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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.
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
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].
1.8.2 Caractersticas
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.
10
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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:
11
IPN ESIME Zacatenco Control de Acceso Mediante NFC
En un dispositivo mvil NFC, es posible distinguir entre dos componentes fundamentales [6]:
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.
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.
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.
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:
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.
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.
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.
14
IPN ESIME Zacatenco Control de Acceso Mediante NFC
En los sistemas NFC se pueden distinguir cinco etapas importantes que estn presentes
durante el establecimiento de la transaccin [6]. Estas fases son:
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.
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.
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.
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
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.
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.
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
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.
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.
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.
2.1.2 Hardware
Nota: Los diseos de referencia para Arduino se distribuyen bajo licencia Creative Commons
Attribution-ShareAlike 2.5.
Nano: Una placa compacta diseada para uso como tabla de pruebas, el Nano se
conecta al ordenador usando un cable USB Mini-B.
18
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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.
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].
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
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).
20
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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)
21
IPN ESIME Zacatenco Control de Acceso Mediante NFC
2.2 PN532
Modo NFCIP-1.
Interface SPI.
Interface I2C.
22
IPN ESIME Zacatenco Control de Acceso Mediante NFC
23
IPN ESIME Zacatenco Control de Acceso Mediante NFC
24
IPN ESIME Zacatenco Control de Acceso Mediante NFC
25
IPN ESIME Zacatenco Control de Acceso Mediante NFC
2.3 Eclipse
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]:
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
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
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
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.
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].
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
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]:
33
IPN ESIME Zacatenco Control de Acceso Mediante NFC
34
IPN ESIME Zacatenco Control de Acceso Mediante NFC
35
IPN ESIME Zacatenco Control de Acceso Mediante NFC
36
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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].
37
IPN ESIME Zacatenco Control de Acceso Mediante NFC
Las actividades para la elaboracin del proyecto se muestran en el diagrama de Gantt de la figura II.1.
38
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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.
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
3.1.1.2 Mdulo 2
Facilita la activacin del mdulo NFC integrado en el telfono en caso de que este no
est habilitado.
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.
40
IPN ESIME Zacatenco Control de Acceso Mediante NFC
Brinda la facilidad de activar el NFC del telfono sin necesidad de buscar en ajustes -
conexiones inalmbricas y redes Ms - NFC.
41
IPN ESIME Zacatenco Control de Acceso Mediante NFC
42
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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.
Control de usuarios.
43
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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.
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
45
IPN ESIME Zacatenco Control de Acceso Mediante NFC
NfcAdapter mNfcAdapter;
TextView textView;
EditText cargaDatos;
//FUNCION onCreate
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
ses = buscarv();
ses2 = buscar(ses);
if(ses!="")
{
etCod.setText(ses);
enviarAuto(ses2, ses);
}
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
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;
}
//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);
}
int a = 0;
int b = 0;
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);
registrar(passcode,username);
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
49
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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.
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].
50
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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
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.
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].
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.
52
IPN ESIME Zacatenco Control de Acceso Mediante 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_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
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.
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.
54
IPN ESIME Zacatenco Control de Acceso Mediante NFC
3.3 Implementacin
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.
55
IPN ESIME Zacatenco Control de Acceso Mediante NFC
El Arduino ser energizado con una batera de 9V, a continuacin se muestran imgenes de la
construccin, conexin y montaje del prototipo.
56
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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.
57
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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.
58
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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
61
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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.
62
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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.
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
64
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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.
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.
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
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;
}
}
if(num1 == 1){
}
else{
digitalWrite(ledPin , HIGH);
digitalWrite(ledr , LOW);
digitalWrite(ledv , HIGH);
delay(1000);
digitalWrite(ledv , LOW);
digitalWrite(ledr , HIGH);
digitalWrite(ledPin, LOW);
}
https://www.dropbox.com/sh/8ak11grwcdr9vmg/AABWTspWODrw31mLhp-_B_jEa?dl=0
67
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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
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;
https://www.dropbox.com/sh/8ak11grwcdr9vmg/AABWTspWODrw31mLhp-_B_jEa?dl=0
69
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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;
https://www.dropbox.com/sh/8ak11grwcdr9vmg/AABWTspWODrw31mLhp-_B_jEa?dl=0
70
IPN ESIME Zacatenco Control de Acceso Mediante NFC
are met:
''AS IS'' AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
ESTE SOFTWARE SE SUMINISTRA POR <TITULAR DEL COPYRIGHT> ''COMO EST'' Y CUALQUIER
RECHAZADAS. EN NINGN CASO <TITULAR DEL COPYRIGHT> SER RESPONSABLE POR NINGN
TALES DAOS.
72
IPN ESIME Zacatenco Control de Acceso Mediante NFC
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.
74
Order this document
SEMICONDUCTOR TECHNICAL DATA by MOC3010/D
[IFT = 15 mA Max]
GlobalOptoisolator
Motorola Optoelectronics
Motorola, Inc. 1995 Device Data 1
IPN ESIME Zacatenco Control de Acceso Mediante NFC
75
IPN ESIME Zacatenco Control de Acceso Mediante NFC
80
The SciTech,
ational Journal of Engineering
Internat
Sciences
Article information:
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].
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.
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.
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.
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 .
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.
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
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 .
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].
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 .
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.
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.
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.
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.
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 .
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.
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:
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
[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.
[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
91