Documenti di Didattica
Documenti di Professioni
Documenti di Cultura
Director
Alberto Acosta López
__________________________
Firma del director
__________________________
Firma del jurado
__________________________
Firma del jurado
3
Dedicatoria
4
Agradecimientos
Gracias a DIOS por la vida, salud y sabiduría para cerrar esta etapa.
Quiero agradecer a Tania Muñoz, a mis dos hijas, Laura y Emily gracias a ellas por
todo el tiempo robado y ser tan importantes en mi vida.
De nada valdría este esfuerzo sin agradecer igualmente a mi Tía María Helena
Garzón, de quien recibí su apoyo.
5
CONTENIDO
pág.
GLOSARIO ............................................................................................................ 24
RESUMEN ............................................................................................................. 26
INTRODUCCIÓN ................................................................................................... 27
6
1.10.2.4 Fase de Desarrollo - Metodología XP de Software. ................................. 37
1.10.2.5 Fase de Desarrollo. .................................................................................. 37
1.10.2.6 Fase de Instalación de Software. ............................................................. 37
1.10.2.7 Fase de Pruebas. ..................................................................................... 38
1.10.2.8 Fase de documentación. .......................................................................... 38
7
2.10.1 Activo vs Pasivos. ....................................................................................... 49
2.10.2 INICIADOR VS. DESTINO NFC. ................................................................ 49
2.11 NFC FORUM TIPOS DE ETIQUETAS ........................................................... 50
2.11.1 Tag Tipo 1. ................................................................................................... 50
2.11.2 Tag Tipo 2. ................................................................................................... 51
2.11.3 Tag Tipo 3. ................................................................................................... 51
2.11.4 Tag Tipo 4. ................................................................................................... 51
2.12 TIPOS DE CHIPS NFC .................................................................................. 51
2.12.1 Chip NTAG203. ........................................................................................... 52
2.12.2 Chip NTAG212 y NTAG213......................................................................... 52
2.12.3 Chip NTAG215 y NTAG216......................................................................... 52
2.12.4. Chip Mifare Ultralight.................................................................................. 52
2.12.5 Chip Mifare Classic 1K ................................................................................ 52
2.13 FASES DE LA COMUNICACIÓN EN NFC..................................................... 52
2.14 MODOS DE FUNCIONAMIENTO. ................................................................ 53
2.14.1 Modo Pasivo. .............................................................................................. 53
2.14.2 Modo Activo. ............................................................................................... 54
2.15 ESTÁNDARES DE NFC EN DISPOSITIVOS MÓVILES ............................... 54
2.16 MODOS DE FUNCIONAMIENTO NFC.......................................................... 55
2.16.1 Modo de Lectura / Escritura ........................................................................ 55
2.16.1.1 Usos de lectura y escritura....................................................................... 56
2.16.2 Modo punto a punto. ................................................................................... 59
2.16.3 Modo de Emulación de Tarjeta. ................................................................... 61
2.16.3.1 Modo de Emulación de Tarjeta ................................................................. 65
2.17 OTA ................................................................................................................ 67
2.18 Secure Element (SE) ..................................................................................... 67
2.19 DIFERENCIAS ENTRE NFC Y CÓDIGO DE BARRAS ................................. 69
2.20 NFC FÓRUM ................................................................................................. 70
2.20.1 Ecosistema NFC. ........................................................................................ 71
2.20.2 NFC Forum Ayuda a Construir el Ecosistema. ............................................ 71
2.21 ESTÁNDARES NFC ...................................................................................... 71
2.22 FUNCIONAMIENTO TÉCNICO DE NFC ....................................................... 73
2.22.1 Near Field Communication Interface and Protocol (NFCIP):....................... 74
8
2.23 NFC PROTOCOLO (NFCIP- 1) ..................................................................... 74
2.23.2 NFC INTERFACE PROTOCOLO (NFCIP- 2) ............................................. 75
2.24 COMPONENTES ADICIONALES .................................................................. 77
2.24.1 Tag o Chip NFC / RFID ............................................................................... 77
2.24.2 Lector NFC.................................................................................................. 78
3. SOFTWARE ....................................................................................................... 80
4. ANDROID........................................................................................................... 91
9
4.8 ANDROID STUDIO ........................................................................................ 102
4.9 DALVIK VIRTUAL MACHINE (DVM) .............................................................. 103
4.10 ART ANDROID RUNTIME ........................................................................... 104
4.11 JIT ................................................................................................................ 104
4.12 OAT .............................................................................................................. 105
10
5.14 TAGS Y LA INTENCIÓN ACTION_TECH_DISCOVERED ........................... 125
5.15 COMPATIBILIDAD CON UNA INTENCIÓN ACTION_TECH_D. .................. 126
5.16 COMPATIBILIDAD CON UNA INTENCIÓN ACTION_TAG_DISCOVERED 127
5.17 ANDROID APPLICATION RECORDS.......................................................... 128
5.18 FOREGROUND DISPATCH......................................................................... 128
5.19 LEER UN TAG NFC ..................................................................................... 130
5.19.1 Determinar El Contenido De Un Tag NDEF .............................................. 131
5.19.2 Leer Una URI ............................................................................................ 131
5.19.3 Leer Una Cadena De Caracteres.............................................................. 132
5.19.4 Leer Un Tipo MIME ................................................................................... 133
5.19.5 Leer Un Tag De Tipo TNF_WELL_KNOWN .............................................. 133
5.20 ESCRIBIR UN TAG NFC ............................................................................. 134
5.21 CONSTRUIR UN PAYLOAD DE TIPO TEXTO ........................................... 135
5.22 CONSTRUIR UN PAYLOAD DE TIPO URI .................................................. 136
5.23 DEFINIR UN REGISTRO NDEFRECORD CON LAS API 14 Y 16 .............. 137
11
6.3.3 Underground Biblioteca............................................................................... 147
6.4 USO DE NFC EN VEHICULOS ..................................................................... 148
6.5 TRANSPORTE PUBLICO .............................................................................. 150
6.5.1 Metro de NEW YORK. ................................................................................ 150
6.5.2 Transporte Público Español ........................................................................ 150
6.6 IDENTIFICACIÓN VEHICULAR CON NFC ................................................... 151
6.7 HOGAR .......................................................................................................... 152
6.7.1 Uso de NFC en Juguetes. ........................................................................... 152
6.7.2 Proyectores NFC. ....................................................................................... 152
6.7.3 Tecnología de Sony con NFC ..................................................................... 153
6.7.4 Bafles con NFC. .......................................................................................... 154
6.7.5 Relojes NFC................................................................................................ 155
6.7.6 Auriculares NFC. ......................................................................................... 155
6.7.7 Impresoras NFC. ......................................................................................... 156
6.8 SISTEMA DE PAGOS CON NFC ................................................................... 157
6.8.1 Tap to Pay. .................................................................................................. 157
6.8.2 Sasmsug Pay. ............................................................................................. 157
6.8.3 Apple Pay. ................................................................................................... 159
6.8.4 Android Pay. ................................................................................................ 160
6.9 APPS DE GOOGLE PLAY NFC ..................................................................... 161
6.9.1 NFC TagInfo. ............................................................................................... 161
6.9.2 NFC TagWriter by NXP. ............................................................................... 162
6.9.4 NFC Classic Tag Reader Writer. ................................................................. 164
6.9.5 Trigger. ........................................................................................................ 164
6.9.6 NFC Actions. ............................................................................................... 165
6.9.7 NFC TagInfo by NXP. .................................................................................. 166
6.9.8 NFC Developer. .......................................................................................... 167
6.9.9 NFC Tools. .................................................................................................. 168
6.9.10 Otras Aplicaciones NFC en Google Play. .................................................. 169
6.10 TELÉFONOS CON TECNOLOGÍA NFC. ..................................................... 173
12
7.1 REQUISITOS FUNCIONALES ...................................................................... 179
7.2. ARQUITECTURA DEL SISTEMA NFC VEHÍCULOS .................................... 180
7.3 ARQUITECTURA DE LECTURA NFC ........................................................... 181
7.3.1 Niveles. ....................................................................................................... 181
7.3.2 Componentes.............................................................................................. 181
7.3.3 Protocolos NFC: .......................................................................................... 182
7.4 ARQUITECTURA DE LA APLICACIÓN NFC VEHICULAR ............................ 182
7.4.1 NIVELES ..................................................................................................... 182
7.4.2 COMPONENTES ........................................................................................ 183
7.4.3 PROTOCOLOS ........................................................................................... 183
7.5 PROCESO DE INGENIERÍA DE SOFTWARE............................................... 184
7.5.1 DIAGRAMA DE CLASES ............................................................................ 184
7.5.2 DIAGRAMA DE SECUENCIA SISTEMA MÓVIL ......................................... 185
7.5.3 DIAGRAMA DE ACTIVIDADES SISTEMA MÓVIL ...................................... 186
7.5.4 DIAGRAMA COLABORACIÓN ................................................................... 187
13
9.5 EJECUCIÓN DEL PILOTO ............................................................................ 194
9.6 RESULTADOS DEL PILOTO ......................................................................... 196
9.7 APLICACIÓN WEB VEHÍCULOS................................................................... 196
9.7.1 Servidor. ...................................................................................................... 196
9.7.2 Dominio. ...................................................................................................... 196
9.7.3 Diseño. ........................................................................................................ 197
9.7.4 Administración de la Base de Datos. .......................................................... 197
9.7.5 Base de Datos ............................................................................................ 198
9.7.6 Código SQL de la tabla Administrator ......................................................... 198
9.7.7 Código SQL de la tabla usertbl ................................................................... 199
9.7.8 Código SQL de la tabla Vehículos............................................................... 199
9.8 AUTENTICACION DE USUARIOS ................................................................ 200
9.9 ADMINISTRACIÓN DE TAGS ........................................................................ 201
9.9.1 Menú de Navegación. ................................................................................. 201
9.9.2 Vista para Edición de Tags. ......................................................................... 201
9.9.3 Borrar Registro de Tags. ............................................................................. 202
9.9.4 Registro de Nuevo Tag................................................................................ 203
9.9.5 Administración de Usuarios......................................................................... 203
9.10 WEB SERVICIE ........................................................................................... 204
9.10.1 Librería KSOAP2 ...................................................................................... 205
9.10.2 Acceso a Web Service .............................................................................. 206
9.10.3 SOAP 1.1 .................................................................................................. 206
9.10.4 SOAP 1.2 .................................................................................................. 208
9.10.5 Funcionamiento de WebServiceTransito................................................... 209
9.10.6 Código fuente WebService. ...................................................................... 210
9.11 APP MÓVIL ANDROID ................................................................................. 213
9.11.1 Aplicación Móvil Transito. .......................................................................... 213
9.11.2 Permiso de NFC e Internet........................................................................ 213
9.11.3 AndrodiManifest.xml. ................................................................................. 213
9.11.4 Contenido de AndroidManifest de la Aplicación NFCAPP. ........................ 213
9.11.5 Actividad Principal NFCAppActivity ........................................................... 215
9.11.6 TagViewer. ................................................................................................. 218
9.11.7 Recepción de Datos de WebService ......................................................... 219
14
9.11.8 Generar APK de la App NFC ..................................................................... 222
9.11.10 Ejecución de Aplicación NFC Transito..................................................... 228
15
12.4 PRUEBA DE DATOS MÓVILES Y WI- FI..................................................... 279
12.5 PRUEBAS DE TAGS ................................................................................... 279
12.5.1 Instalación de Tags en Vehículos .............................................................. 279
12.5.2. Tags. ........................................................................................................ 279
16
LISTA DE TABLAS
pág.
17
Tabla 21. Pruebas lectura tags NFC en vehículos. Prueba N° 8 246
18
LISTA DE FIGURAS
pág.
Figura 13. Ejemplo de modelo de uso del pago con tarjeta de crédito 65
19
Figura 21. Tags para NFC 78
20
Figura 43. NFC Angry Birds 143
21
Figura 66. NFC Trigger 165
Figura 86. Edición de registros de Tags para el Sistema Web Vehículos 202
Figura 87. Borrar Registros de Tags para el Sistema Web Vehículos 203
22
Figura 88. Registro de Nuevo Tag al Sistema Web Vehículos 203
23
GLOSARIO
BIDIRECCIONAL: capacidad de operar en los dos sentidos. Por ejemplo un tag que
se puede leer pero también escribir.
CAMPO DE DATOS (DATA FIELD): área de la memoria del chip asignado a un tipo
de información.
MIDDLEWARE: en RFID se usa este término para referirse al software que reside
en un servidor entre el lector y las aplicaciones empresariales. Filtra datos y permite
pasar solo la información útil hacías dichas aplicaciones. Algunos, también puede
gestionar la red de lectores.
TAGS ACTIVOS: etiquetas que utilizan total o parcialmente baterías como fuente
de alimentación. Su ciclo de vida viene determinado por el de la batería.
TAGS MUERTOS (DEAD TAG): tags que no se pueden leer mediante un lector.
24
fuente un elemento externo, normalmente de la señal radiada de un lector/grabador.
ULTRA HIGH: Frequency (UHF): frecuencias desde 300 MHz hasta 3 GHz. A estas
frecuencias la velocidad de transmisión es mayor pero no atraviesa ciertos
elementos como un alto contenido de agua, frutas, etc.
25
RESUMEN
Los sistemas de identificación han estado evolucionando en los últimos años, pero
en especial la tecnología RFID ha estado realizando grandes esfuerzos para que
pueda ser implementada en múltiples sectores. Los sistemas NFC son una
tecnología emergente, que aunque ya tiene un tiempo de haber sido desarrollada,
hasta ahora se está empezando a percibir su aplicación en diversos campos, donde
la identificación precisa, eficaz, y el rastreo de elementos en tiempo real son una
necesidad para el funcionamiento óptimo de los procesos.
26
INTRODUCCIÓN
Estos dispositivos ya no solo se usan para llamadas, también tienen otras funciones
como reproducir archivos multimedia, tomar fotografías, crear videos, acceder a
internet, descargar e instalar aplicaciones etc. Ahora estos equipos ayudan a
controlar varias actividades diarias y dado a estos grandes avances se está viendo
como los teléfonos inteligentes hacen parte activa de la vida diaria de las personas.
Desde el año 2011 Google lanzo Wallet, una tecnología para realizar pagos con los
dispositivos móviles basado en tecnología NFC. Actualmente el 38 % de los
asiáticos realizan compras con sus móviles usando tecnología NFC, pero el
continente occidental hace uso también de esta tecnología donde al menos el 20%
de la población ya comienza a usar esta tecnología en diferentes actividades.
27
La implementación del API de Android permitió crear un prototipo de una aplicación
para dispositivos móviles con NFC, al poder identificar la información de los
vehículos, se logra controlar diferentes datos mediante la implementación de una
solución de bajo costo, fácil implantación y ágil proceso, ya que está dirigido a
aquellos actores involucrados en el control de vehículos.
Esta investigación es una herramienta útil para las entidades encargadas del control
vehicular para demostrar el uso de la tecnología en la solución de problemas
locales. Como resultado de este trabajo el grupo de investigación SINTEL de la
Universidad Distrital, Facultad de Ingeniera ha abierto una línea de investigación
para la implementación y estudio de soluciones NFC para problemáticas
empresariales y educativas.
28
1. PLANTEAMIENTO DEL PROBLEMA
29
1.1 JUSTIFICACIÓN
La identificación de los vehículos se realiza por medio de un Tag NFC que posee un
CUID (‘código único de identificación') que se encarga de identificar de manera
exclusiva y única a los vehículos y lo relacionará con un sistema de información
web.
El sistema actualmente implementado en la ciudad de Bogotá, está integrado con
tecnología con RFID UHF, su funcionalidad no es muy eficiente debido a lo poco
práctico que es para los agentes de tránsito hacer uso del sistema mediante
dispositivos de hardware tan poco portátiles. El sistema se puede volver más
eficiente y eficaz implementado una solución con tecnología NFC.
Una de las diferencias está en que la tecnología NFC permite leer chips RFID a
corta distancia mientras que en RFID UHF se tienen lecturas de chips a mayor
distancia. Esta diferencia hace que en el caso de que un guarda de seguridad o
agente de tránsito detenga un vehículo en un retén, hace uso de un dispositivo de
lectura RFID UHF como el de la figura 1, este dispositivo aunque es portátil es de
difícil portabilidad para un policía de tránsito, además tiene un costo que está en el
rango de 10 a 12 millones de pesos.
30
Figura 2. Lector móvil NFC
1.2 OBJETIVOS
31
• Diseño e implementación de una herramienta de software móvil y web para la
identificación y control de vehículos mediante tecnología NFC.
1.3 ALCANCES
32
• Para el desarrollo del proyecto se tuvo solo en cuenta una parte del API de
Android para su implementación con NFC.
1.4 LIMITACIONES
Los recursos económicos disponibles para el desarrollo del proyecto no fueron los
suficientes para desarrollar uno a gran escala, pues sería necesario la adquisición
de una gran cantidad teléfonos móviles NFC y etiquetas, lo que supone un gasto
elevado, por lo que el prototipo solo dispondrá de un teléfono móvil Samsung con
Sistema Operativo Android y varios tags.
Una ciudad como Bogotá DC cuenta con 7.862.277 personas, con 40 km de sur a
norte y 20 Km de territorio cuadrado y cerca de 1’600.000 vehículos en circulación
en el año 2012 información según La Secretaría de Movilidad (2012), hacen que la
identificación vehicular sea un factor importante de control, validación de la identidad
y autenticidad de los datos del vehículo. El sistema de identificación electrónico
vehicular significara para una ciudad como Bogotá grandes avances en temas como
control y verificación de los carros que están circulando en las ciudades, además el
sistema se podía trasladar las organizaciones de peajes, control de acceso a
aeropuertos, control de parqueaderos públicos, control pólizas de seguros
vehiculares entre otros.
33
vehicular. Este proyecto se puede tomar como un sistema base para su estudio y
aplicación en nuevas implementaciones en el tema de identificación por radio
frecuencia con el uso de la tecnología NFC.
Son varias las soluciones las que se pueden implementar para mejorar la calidad
de procesos y servicios de las personas, por ello empresas como Google han dado
un gran apoyo y avance en la implementación de esta tecnología NFC. La
implementación sobre Sistemas Operativos Libres permite el crecimiento y
mejoramiento de soluciones tecnológicas de la sociedad en general.
Para los habitantes de grandes ciudades como Bogotá se hace necesario el uso de
herramientas tecnológicas que permitan mejorar las condiciones de vida de sus
habitantes, permitiendo a los ciudadanos disminuir el riesgo de muchas
enfermedades.
Hidrocarburos: Este irrita los ojos, causa tos y cansancio, causa de varios cáncer
como de pulmón.
34
Partículas de Hollín: producido por la deficiencia de oxígeno, produce
enfermedades pulmonares.
Óxido de nitrógeno: Producida por altas temperaturas. Irrita la nariz, los ojos,
garganta y causa dolores de cabeza.
35
1.10 METODOLOGÍA
36
1.10.2.3 Fase de Documentación en NFC.
37
1.10.2.7 Fase de Pruebas.
38
2. MARCO TEÓRICO
NFC son las siglas en inglés de Near Field Communication (NFC), comunicación de
campo cercano. Es una tecnología de comunicación inalámbrica, de corto alcance
y alta frecuencia a 13,56 MHz, que permite el intercambio bidireccional de datos
entre dispositivos a una distancia corta menor a 10 cm, realiza la trasferencia de
datos hasta 424 Kbits/second y ejecuta la comunicación inalámbrica entre dos
dispositivos habilitados para NFC (Coskun, Ok, & Ozdenizci, 2012).
NFC forum (2015) defique NFC como una tecnología basada en estándares de
conectividad, armoniza diversas tecnologías sin contacto, permitiendo soluciones
actuales y futuras áreas como:
• Controles de acceso
• Uso en medios electrónicos
• Salud
• Recibir e intercambiar información
• Cupones
• Fidelización de clientes
• Pagos electrónicos
• Transporte
• Acceso a Sitios Web
• Identificación
• Publicidad
• Marketing
39
La tecnología NFC ha sido exitosa gracias a varios factores entre ellos los avances
logrados en otros campos como es OTA (Over the Air) y SE (Secure Element).
NFC forum (2012) define la tecnología NFC como una simple extensión del estándar
ISO 14443 (RFID). La integración de la telefonía móvil con la Identificación por
radiofrecuencia ha proporcionado una comunicación intuitiva, simple y segura entre
dispositivos electrónicos. Trabaja a una distancia entre 5 – 10 cm., a 13.56 MHz y
transfiere datos hasta 424 Kbits/seg (Coskun, Ok, & Ozdenizci, 2012).
El diseño de NFC se planeó para que existirá la compatibilidad con las etiquetas
RFID que operan en dicha banda (ISO 14443), pero incompatible con los estándares
de EPC global (Coskun, Ok, & Ozdenizci, 2012).
Veloz (2010) describe que la principal idea de desarrollar esta tecnología fue crear
un nuevo protocolo compatible con tecnologías de corto alcance sin contacto, esto
llevo a que NFC sea una extensión simple del estándar ISO/IEC 14443 de tarjetas
de proximidad (tarjetas RFID sin contacto) que combina la interface de una tarjeta
inteligente y de un lector dentro de un mismo dispositivo.
40
Tabla 2. Historia de NFC
El sitio oficial de la tecnologia NFC forum,(2015) lista una serie de beneficios para
los consumidores y las empresas, tales como:
41
• Intuitivo: Interacciones NFC no requieren más que un simple toque.
Los dispositivos NFC son los componentes que actúan en la comunicación de NFC
y son tres tipos de dispositivos:
• Móvil NFC
• Lector de NFC
• Etiquetas NFC
2.5.1 Teléfono Móvil con NFC. Muchos de los modelos de teléfonos actualmente
cuenta con este chip, más adelante se presenta una lista con todos los modelos
actuales con esta tecnología. Son los dispositivos más importantes puesto que son
los encargados de escribir o leer información de tags o tarjetas (Coskun, Ok, &
Ozdenizci, 2012).
42
NFC y FeliCa. Funcionan a 13.56 MHz y cumplen con la norma ISO/IEC18092 de
Near Field Communication (NFC) (Coskun, Ok, & Ozdenizci, 2012).
Algunos lectores NFC acceden a una velocidad de hasta 424 kbps y una velocidad
USB de hasta 12 Mbps. La distancia de funcionamiento es de hasta 5 cm. Con el
fin de aumentar el nivel de seguridad, el Lector puede integrar una ranura SAM
(compatible ISO 7816-3). Algunos modelos permiten una integración a máquinas
para punto de venta y varios tipos de máquinas según se requiera (Etiquetas NFC,
2015)
2.5.3 Etiqueta NFC. Las etiquetas NFC son realmente etiquetas RFID al no tener
fuente de alimentación son etiquetas pasivas. Dos dispositivos NFC comienzan su
comunicaciones una vez entran en el campo de proximidad establecido por los
estándares NFC, una vez se acercan o tocan se activa la comunicación. Cuando un
móvil establece comunicación con otro componente NFC se transmiten los datos
sea una etiqueta, lector o dispositivo móvil (Coskun, Ok, & Ozdenizci, 2012).
43
Algunos ejemplos importantes de los códigos de barras lineales son UPC (Universal
Product Code) y EAN13 (European Article Number) Los códigos de barras. También
QR (Quick Response) Código de barras es un ejemplo de un código de barras 2D
(Coskun, Ok, & Ozdenizci, 2012).
2.6.3.2 Tarjetas Inteligentes Sin Contacto. Definidas por los estándares sin
contacto ISO/IEC 14443 del 2001. El estándar define dos tipos de tarjetas sin
contacto (A y B), permitidos para distancias de comunicación de hasta 10 cm. La
ISO 14443 tipos C, D, E y F que todavía tienen que completar el proceso de
estandarización (Coskun, Ok, & Ozdenizci, 2012).
44
ondas de radio para lograr comunicarse cuando los dispositivos se encuentra en las
proximidades a corta distancia aumentando la seguridad y una mayor transferencia
de energía desde dispositivo activo al pasivo. Las tarjetas sin contacto obtienen
energía para su circuito interno recibido a través de un campo electromagnético y
se comunican mediante inducción con una transferencia entre 106 a 848 Kb/s
(Coskun, Ok, & Ozdenizci, 2012).
Las más abundantes en el mercado son las tarjetas MIFAREde Philips, cumplen las
partes 1,2 y 3 de tipo A de las cuales representan a la ISO/IEC 14443-A. La tarjeta
Calypso cumple con la norma y estándares ISO/IEC 14443 parte 1, 2, 3 y 4 de tipo
B (Coskun, Ok, & Ozdenizci, 2012).
2.6.3.3 Tarjetas Hibridas. Es una tarjeta sin contacto donde se agrega un chip de
contacto. Pueden ser o chips microprocesadores o simples chips de memoria. El
chip sin contacto es generalmente usado en aplicaciones que requieren
transacciones rápidas. Por ejemplo el transporte, mientras que el chip de contacto
es generalmente utilizado en aplicaciones que requieren de alta seguridad como las
bancarias (Coskun, Ok, & Ozdenizci, 2012).
45
• MULTOS
• Normas biométricas
2.6.5.1 Tarjetas Mifare. La tarjeta Mifare son del tipo inteligente y sin contacto,
utilizada a 13,56 Mhz, cuyo propiedad es de NXP Semiconductores, cumple la
norma ISO / IEC 14443 Tipo A y es de la más utilizadas en el mundo. La distancia
de lectura es de 10 cm, teniendo en cuenta que la distancia para la lectura depende
del módulo lector. Las Tarjetas MIFARE cuentan con un cripto-motor PKI
incorporado encargado de impulsar la combinación segura de cualquier ecosistema
deseado en una sola credencial, y cuentan con varios tipos de tarjetas inteligentes
como las MIFARE Classic, MIFARE Plus, MIFARE DESFire, MIFARE Ultralight y
SmartMX (MIFARE, 2015).
46
2.7 OPERACIÓN ENTRE DISPOSITIVOS NFC
NFC opera entre dos dispositivos a través de un rango de comunicación muy corto,
utiliza el espectro 13,56 MHz como en RFID. Actualmente cuenta con varias
opciones de velocidad de transferencia de datos son 106, 212 y 424 kbps. La
Tecnología NFC opera en diferentes modos de funcionamiento; lector / escritor, de
igual a igual, y la emulación de tarjetas; donde se produce la comunicación entre un
móvil NFC, por un lado, y una etiqueta RFID pasiva (etiqueta NFC), una tecnología
NFC móvil o un lector de NFC en el otro lado (Coskun, Ok, & Ozdenizci, 2012).
47
RFID/NFC).
Cualquier dispositivo electrónico con NFC (excepto una etiqueta NFC) puede operar
de las dos formas: como Iniciador o como Objetivo (Chavarría, 2011).
Los teléfonos móviles con NFC integrado comúnmente encontrado en sus Baterías,
contienen circuitos integrados NFC, Elemento Seguro SE( Tarjeta SIM) y su interfaz
NFC (Coskun, Ok, & Ozdenizci, 2012).
48
Un teléfono móvil con capacidad NFC requiere un elemento seguro SE, para realizar
transacciones seguras con los dispositivos externos NFC. El SE ofrece un entorno
seguro para los programas y los datos relacionados y permite el almacenamiento
de los datos sensibles del usuario. Existen diversas normas para la comunicación
NFC entre dos dispositivos habilitados con NFC, y la transferencia de datos dentro
del teléfono móvil NFC como Single Wire Protocol (SWP) o el Cableado Interfaz
NFC (NFC-WI) (Coskun, Ok, & Ozdenizci, 2012).
2.10.1 Activo vs Pasivos. Un dispositivo activo es uno que es alimentado por una
fuente de potencia - tal como una batería - de modo que genera su propio campo
electromagnético. Por otro lado, un dispositivo pasivo es uno que no tiene ninguna
fuente de alimentación integrada. Es una regla de la naturaleza que cada actividad
requiere energía; por lo tanto, incluso un dispositivo pasivo requiere algo de poder
para llevar a cabo según lo programado previamente. En la comunicación NFC la
energía es suministrada por la otra parte (activo) para el dispositivo pasivo. En
resumen, un dispositivo se activa el dispositivo pasivo mediante la creación del
campo electromagnético (Coskun, Ok, & Ozdenizci, 2012).
2.10.2 INICIADOR VS. DESTINO NFC. Siempre se produce entre dos partes, de
modo que una de las partes se le llama el iniciador, y la otra parte se llama el
objetivo. El iniciador es la que inicia la comunicación; el objetivo responde a la
petición que se hace por el iniciador. Este caso es análogo a la arquitectura cliente-
servidor (Coskun, Ok, & Ozdenizci, 2012).
49
es generado por el iniciador que es un dispositivo activo (Coskun, Ok, & Ozdenizci,
2012).
Una etiqueta RFID o una etiqueta NFC es un dispositivo de bajo costo y de baja
capacidad. Por lo tanto, no contiene ninguna fuente de energía y necesita una fuente
de alimentación externa para llevar a cabo cualquier actividad. Por lo tanto, una
etiqueta NFC siempre es un dispositivo pasivo, ya que no incluye ninguna fuente de
energía por diseño. Contiene los datos que puede ser leído por un dispositivo NFC
activo. También puede ser solamente un objetivo y no un iniciador por la misma
razón (Coskun, Ok, & Ozdenizci, 2012).
Cuatro tipos de etiquetas han sido definidos por la NFC Forum, y se dan
designaciones entre 1 y 4. Cada tipo de etiqueta tiene un formato y una capacidad
diferente. Los formato de NFC de tipos de etiquetas se basan en cualquiera Tipo
ISO / IEC 14443 A, ISO / IEC 14443 Tipo B, o Sony FeliCa (Coskun, Ok, &
Ozdenizci, 2012).
2.11.1 Tag Tipo 1. Esta etiqueta se basa en la norma ISO / IEC 14443 estándar
Tipo A. Estas etiquetas NFC son tanto de lectura y escritura. Los datos sobre las
siguientes etiquetas también pueden ser modificados y los usuarios pueden
configurar la etiqueta para que sea cuando sea necesario de sólo lectura. Capacidad
50
de memoria es hasta 1 kb, lo suficiente para almacenar un URL web o una pequeña
cantidad similar de datos. El tamaño de la memoria se puede ampliar hasta 2 kB.
La velocidad de comunicación de esta etiqueta NFC es de 106 kbps. Como
resultado de su simplicidad, este tipo de etiqueta es rentable y puede ser utilizado
en muchas aplicaciones NFC (Coskun, Ok, & Ozdenizci, 2012).
2.11.2 Tag Tipo 2. Basada en la norma ISO / IEC 14443 Tipo A estándar. Estas
etiquetas NFC también son a la vez de lectura y escritura, y los usuarios pueden
configurar la etiqueta para que sea cuando sea necesario de sólo lectura. El tamaño
de la memoria de este tipo de etiqueta se puede ampliar hasta 2 kb. Del mismo
modo la velocidad de comunicación es de 106 kbps (Coskun, Ok, & Ozdenizci,
2012).
2.11.3 Tag Tipo 3. Etiqueta se basa en el Sony FeliCa sin contacto de interfaz de
tarjeta inteligente. Actualmente cuenta con una capacidad de memoria de 2 kb y la
velocidad de transmisión de datos es de 212 kbps. Este tipo de etiquetas es más
adecuado para aplicaciones complejas. Sin embargo, es más caro en comparación
con otros tipos de etiquetas (Coskun, Ok, & Ozdenizci, 2012).
2.11.4 Tag Tipo 4. Esta etiqueta es compatible con las normas ISO 14443 tipo A y
B. Estas etiquetas NFC son pre configuradas durante la fabricación y son grabables
o de sólo lectura; el tipo se define durante la fase de fabricación. La capacidad de
la memoria puede ser de hasta 32 kb y la velocidad de comunicación es de entre
106 y 424 kbps (Coskun, Ok, & Ozdenizci, 2012).
Los tags NFC cuentan internamente con un chip el cual puede variar según sus
capacidades como memoria, longitud de textos, url, compatibilidad con móviles,
distancia de escaneo, criptografía, tipo según NFC FORUM y otras características
muy importantes a la hora de elegir una etiqueta para trabajar en un proyecto.
Estas etiquetas van a guardar la información que se haya escrito en ella según la
aplicación usada y producirá una acción según la información almacenada, es
importante decir existe un tipo de chips que son estándar y son compatibles con los
dispositivos móviles actuales con NFC, estos son los chips NTAG y los Ultralight
(ShopNFC, NFCque, 2017).
51
Los Chips NTAG son los de mayor compatibilidad con todos los Smartphones y
tablets con tecnología NFC. Hay diferentes tipos de estos chips como los NTAG203,
NTAG212, NTAG213, NTAG215 y NTAG216 (ShopNFC, NFCque, 2017).
2.12.1 Chip NTAG203. Es el más común hasta la llegada al mercado del NTAG21x.
Tiene una capacidad de 137 bytes de Memoria Útil, capacidad de memoria de 168
bytes, longitud de textos de 130 caracteres y es usado para todo tipo de
aplicaciones, no cuenta con criptografía y es NFC Forum Tipo 2. Usados en varios
tamaños y formas (ShopNFC, NFCque, 2017).
2.12.2 Chip NTAG212 y NTAG213. Tienen mejor rendimiento que el anterior, más
avanzados en velocidad y lectura. El NTAG 212 tiene una memoria de 128 bytes
para almacenar datos. El NTAG 213 tiene una memoria de 144 bytes, sin
criptografía ambos, y compatible con las especiaciones de NFC FORUM (ShopNFC,
NFCque, 2017).
2.12.4. Chip Mifare Ultralight. Estos chips son más avanzadas que las Mifare
Classic, son usadas frecuentemente para incluir URLs cortas en varios formatos
como llaveros, pulseras con el propósito de ticketing. Su compatibilidad es limitada,
su memoria de 46 bytes, compatible con las especiaciones de NFC FORUM, sin
criptografía, por su poco espacio de memoria se utilizan comúnmente para enlaces
o cadenas de texto (ShopNFC, NFCque, 2017).
2.12.5 Chip Mifare Classic 1K. Cuenta con mayor memoria 716 bytes (1K), no son
compatibles con las especiaciones de NFC FORUM, cuenta con criptografía,
cifradas, compatibles solo con algunos teléfonos. Usan un protocolo de Mifare por
esto se usan en soluciones de transporte público, ticketing y tarjetas de fidelización.
Se consiguen en diferentes formatos. Su uso no es recomendado para uso general
de Smartphone (ShopNFC, NFCque, 2017).
La comunicación NFC consta de cinco fases las cuales describe Chavarría (2011)
y son importantes para la comunicación entre dispositivos ya que tienen una función
específica y siempre están presentes en el establecimiento de esta.
52
Estas etapas son:
• Descubrimiento: En esta fase los dispositivos inician la etapa de rastrearse
el uno al otro y posteriormente su reconocimiento.
53
2.14.2 Modo Activo. En la definición de modo activo Chavarría (2011) describe
que el dispositivo Iniciador como el destino se comunica generando su propio campo
electromagnético. En este modo, ambos dispositivos requieren de una fuente de
alimentación para funcionar. Cuando el dispositivo funciona en modo pasivo, el
receptor sólo se utiliza para establecer la comunicación y confirmar la recepción de
los datos. Sin embargo, en modo activo, se requiere que ambos nodos negocien el
intercambio de datos. (p. 40)
En la información de (Coskun, Ok, & Ozdenizci, 2012) define que NFC agrupa
diversas tecnologías como Las tarjetas inteligentes, teléfonos móviles, lectores de
54
tarjetas, la comunicación de corto alcance, comunicaciones seguras, transacciones
y sistemas de pago, debido a que son varias tecnologías involucradas, se han
creado organismos para realizar la integración y uso de normas para definir una
visión general para mantener su funcionalidad y transacciones seguras, los
organismos de normalización son:
• NFC Forum
• GlobalPlatform
• GSM Association (GSMA)
• GlobalPlatform
• ISO/IEC
• ECMA International
• ETSI and ETSI Smart Card Plaform
• Java community Process JCP
• Open Mobile Alliance OMA
• 3rd Generation Partnership Project 3GPP
• EMVCo
En el modo de lector, el iniciador lee los datos de una etiqueta NFC que ya tiene los
datos solicitados. En el modo de escritor el iniciador, escribe datos a la etiqueta. Si
la etiqueta que ya consta de todos los datos antes del proceso de escritura, se
sobrescribe. El algoritmo puede incluso ser diseñado de manera que el iniciador se
actualizará mediante la modificación de los datos previamente existentes también.
55
Aunque no es una opción común, un lector de NFC, además del teléfono móvil,
también puede ser usado para leer datos de una etiqueta. Incluso podemos imaginar
un lector NFC que escribe datos en una etiqueta NFC. La tasa de datos máxima
posible en este modo es de 106 kbps (Coskun, Ok, & Ozdenizci, 2012).
56
• Aplicaciones: Las empresas podrían estar dispuestas a diseñar proyectos
de este modo debido a la flexibilidad de los diferentes tipos de datos que se
almacenan en la etiqueta NFC, así como la flexibilidad en el uso de esa
información. Por lo tanto, una amplia gama de aplicaciones en la salud, la
educación y el entretenimiento puede ser potencialmente generadas
utilizando el modo de lectura / escritura (Coskun, Ok, & Ozdenizci, 2012).
57
el paquete del producto. Por ejemplo, especificaciones técnicas o
información de contenido del producto se pueden transferir a los teléfonos
móviles inmediatamente después de leer la etiqueta (Coskun, Ok, &
Ozdenizci, 2012).
58
actualizar la información de estado o ubicación al entrar o salir del lugar
(Coskun, Ok, & Ozdenizci, 2012).
2.16.2 Modo punto a punto. Dos móviles NFC que utilizan este modo intercambian
datos entre sí. Dado que ambos móviles están integrados de potencia, cada uno
utiliza su propia energía por estar en modo activo. Cuando un dispositivo está
transmitiendo, el otro tiene que escuchar y puede comenzar la transmisión de datos
después de que finalice la primera (Coskun, Ok, & Ozdenizci, 2012).
Este modo permite a dos dispositivos móviles NFC para intercambiar información,
como un registro de contacto, un mensaje de texto, o cualquier otro tipo de datos.
Este modo tiene dos opciones normalizadas: NFCIP-1 y LLCP. (Coskun, Ok, &
Ozdenizci, 2012).
59
• Modelo Genérico de uso: En el modo peer-to-peer, los usuarios se
comunican entre sí utilizando NFC en sus teléfonos móviles. En este modo
normalmente ningún proveedor de servicio se utiliza en el proceso, lo que
significa que los usuarios no se comunican con ellos. Si los usuarios tienen
la intención de utilizar cualquiera de los servicios en Internet, un proveedor
de servicios puede ser incluido en el proceso. Figura 10 muestra el modelo
de uso genérico del modo de punto a punto (Coskun, Ok, & Ozdenizci, 2012).
60
usuarios pueden intercambiar dinero entre carteras que se almacenan en sus
móviles NFC. Regalos, cupones y boletos se pueden implementar como
objetos intercambiables (Coskun, Ok, & Ozdenizci, 2012).
61
aplicaciones de pago y de venta de entradas, es compatible con la infraestructura
de tarjetas inteligentes existentes (Coskun, Ok, & Ozdenizci, 2012).
62
1. Solicitud del servicio: El usuario realiza una solicitud a un proveedor de
servicios al tocar su teléfono móvil a un lector NFC. Datos requeridos son
transferidos desde el teléfono móvil al proveedor de servicios a través del
lector de NFC.
2. Los servicios de backend: El proveedor de servicio se ejecuta el servicio de
back-end requerido después de obtener los datos requeridos desde el
dispositivo móvil del usuario. Ejemplos de estos servicios son de autorización
de tarjeta de crédito y la validación de entradas.
3. Uso de servicio: El proveedor de servicios devuelve un servicio al usuario
tales como la emisión de un billete que ya ha sido comprado por la tarjeta de
pago, que autoriza el pago, y así sucesivamente. El proveedor de servicios
también puede enviar opcionalmente datos al dispositivo móvil del usuario,
como un cupón, ticket, recibo, y así sucesivamente.
63
automóviles, edificios, áreas seguras, y habitaciones de hotel. Registro en el
hotel es un caso interesante de usar que permite a la llave de la habitación
para ser recibido a través de la tecnología OTA antes de llegar al hotel y
comprobar directamente en la habitación. Por lo tanto no hay razón para
pasar el tiempo en la recepción a la llegada a esta instancia (Coskun, Ok, &
Ozdenizci, 2012).
64
2.16.3.1 Modo de Emulación de Tarjeta
Figura 13. Ejemplo de modelo de uso del pago con tarjeta de crédito
Según la figura anterior podemos afirmar que Alice va a comprar un producto para
un cumpleaños de un amigo en el centro comercial. Ella lo llevó a la cajera que le
preguntó qué método de pago estaría utilizando Alice. Alice se dio cuenta el signo
NFC e informó a la cajera que iba a pagar con tarjeta de crédito de la NFC (Coskun,
Ok, & Ozdenizci, 2012).
65
Continuando con la figura 13 y el ejemplo anterior Alice dio a su amigo el regalo
de cumpleaños. Fueron a ver una película juntos. Alice había reservado
previamente sus asientos y las entradas se han guardado en su teléfono móvil.
Cuando llegaron al teatro, se fueron directamente sin tener que esperar en la
cola de entrada. A continuación, se acercaron a los torniquetes. Alice estaba
contenta de tener un teléfono móvil con capacidad NFC y estaba contenta de
haber reservado las entradas con él móvil (Coskun, Ok, & Ozdenizci, 2012).
1. Solicitud de entrada: Alice pide entrada del teatro al tocar su teléfono móvil
al lector NFC. El lector NFC lee los datos de entradas requeridas
almacenados en el elemento seguro y los procesa (Coskun, Ok, & Ozdenizci,
2012).
66
El modo de emulación tarjeta elimina la necesidad de llevar las tarjetas. La
gente lleva los teléfonos móviles con ellos la mayor parte del tiempo, así que
el acoplamiento de los teléfonos móviles con el cuerpo humano se adapta a
su uso.La gente del futuro llevará NFC habilitado los teléfonos móviles no
sólo para ganar la movilidad, sino también para llevar a cabo las funciones
diarias también. Todas las tarjetas de crédito, llaves, entradas, etc. serán
posiblemente integrados en los teléfonos móviles. Por lo tanto, habrá más
oportunidades para integrar objetos cotidianos en NFC habilitado los
teléfonos móviles en el futuro (Coskun, Ok, & Ozdenizci, 2012).
2.17 OTA
67
• Embedded SE
• microSD
Para resolver este problema, las aplicaciones pertinentes NFC deben ser
ejecutadas y guardadas en la memoria de una SE del teléfono móvil. Una variedad
de módulos puede servir como las PE como Tarjetas Universal Integrated Circuit
(UICC) (es decir, tarjetas SIM), tarjetas de memoria o hardware embebido. El SE es
necesario para diversas aplicaciones tales como el pago, venta de entradas, el
gobierno y otras aplicaciones donde la autenticación segura y un ambiente de
confianza se encuentran entre los requisitos previos (Coskun, Ok, & Ozdenizci,
2012).
68
Figura 15. Elementos Seguros NFC
69
Figura 16. NFC vs código de barras
El sitio oficial de NFC forum se define como organización industrial sin fines de lucro
cuya misión es promover el uso de la tecnología Near Field Communication,
asegurando la interoperabilidad entre dispositivos y servicios, permitiendo educar al
mercado acerca de la tecnología NFC. Cerca de 140 empresas, muchos líderes en
sus mercados, se han unido para alcanzar este objetivo (NFC forum, 2015).
70
Figura 17. Logo NFC Forum
Los estándares NFC y de las smartcards son reconocidos por diferentes organismos
internacionales como:
71
Figura 18. Ecosistema NFC
72
Figura 19. Estándares soportados por NFC para compartir datos
Morales, V.S. & Ramírez, J.C. (2008). Definen que dentro de la tecnología NFC se
deben analizar algunos términos, definiciones y componentes, que son necesarios
para que el funcionamiento de esta tecnología sea lo más claro posible.
73
El “cardmode detector” reconoce qué tipo de tecnología (Ejemplo: MIFARE de
Philips o FeliCade Sony) es la que envía la señal y prepara el “Receiver” para
desmodular la misma (p 9 -10).
En la investigación realizada por Veloz (2010) nos explica que el protocolo NFCIP-
1 está definido en el ECMA-340 y en ISO-IEC 18092. Los estándares definen la
modulación y esquemas de codificación de bits y la arquitectura para las tasas de
transferencia de datos de 106, 212 y 424 kbits/s. Además, estandarizan la interfaz
de señal de comunicación y el flujo general del protocolo. En los sistemas NFC,
máximo dos dispositivos se pueden comunicar simultáneamente. Estos
intercambian datos usando acoplamiento inductivo y señales de radio.
Uno de los pares en la comunicación se llama iniciador y tiene un rol activo, mientras
que el par pasivo se llama target. Ambos roles son siempre asignados, incluso si
dos dispositivos NFC con carga de baterías se comunican.
El chip NFC que está integrado en el dispositivo móvil puede leer la información de
un tag (a), emular una smart card para que un reader pueda acceder a sus datos
(b), o comunicarse directamente con otro dispositivo NFC (c). NFCIP- 1 define
modelos de comunicación activa y pasiva.
NFCIP - 1 está definida como estándar en las normas ISO / IEC 18092, ECMA 340
y ETSI TS 102 190, y especifica esquemas de modulación, codificaciones,
74
velocidades de transferencia y “frame formats” del interface RF y esquemas de
inicialización y condiciones requeridas para el control de la colisión de datos durante
la inicialización.
NFCIP - 1 define:
En la investigación realizada por Veloz (2010) nos explica que el protocolo NFCIP-
2 está definido en el CMA-352 y en ISO-IEC 21481. Este estándar especifica un
método para escoger uno de los tres posibles modos de comunicación definidos en
el ECMA-340 (NFCIP-1), ISO/IEC 14443 (MIFARE de Philips) e ISO/IEC 15693
(tags RFID).
Por esta razón, NFCIP-2 provee una puerta de entrada entre diferentes estándares
de interfaz existentes. Los dispositivos que implementan NFCIP-2 necesitan
75
implementar funciones de dispositivo de acoplamiento de proximidad (ISO/IEC
14443), dispositivo de acoplamiento de vecindad (ISO/IEC 15693) y las funciones
de iniciador y target definidas en ECMA-340.
Esto hace que los dispositivos NFC sean compatibles con sistemas existentes de
FeliCa, MIFARE y otros. Sin embargo, no se logra compatibilidad en la emulación
de smart cards para los estándares ISO/IEC 14443B e ISO/IEC 15936, aunque es
posible la lectura y edición. Otro enfoque del protocolo es no perturbar cualquier
comunicación saliente en la frecuencia de 13.56 MHz. Esto se alcanza usando
CSMA (Carrier Sense with Multiple Access), por tanto un dispositivo NFCIP-2 no
activará su campo de radio frecuencia cuando detecta un campo de radio que
excede un umbral específico (p.36).
ECMA- 340, ISO / IEC 14443 e ISO / IEC 15693 especifica la interfaz de señal de
radiofrecuencia, la inicialización, anticolisión y protocolos para la interconexión
76
inalámbrica de dispositivos estrechamente acopladas y el acceso a sin contacto
tarjetas de circuitos integrados que funciona a 13,56 MHz. Esta norma específica el
mecanismo de selección de modo de comunicación , diseñado para no molestar a
cualquier curso comunicación a 13,56 MHz, para los dispositivos de aplicación
ECMA- 340 , ISO / IEC 14443 o ISO / IEC 15693. Esta Norma requiere
implementaciones para entrar en el modo de comunicación seleccionado como se
especifica en el respectivo Standard. Las especificaciones del modo de
comunicación, sin embargo, están fuera del alcance de esta Norma (Coskun, Ok, &
Ozdenizci, 2012).
2.24.1 Tag o Chip NFC / RFID. Los tags utilizados en la tecnología NFC tienen un
número de identificación único (con un tamaño de 4 a 10 bytes), que se da por la
combinación entre código de empresa fabricante y tipo de tecnología del tag
(MIFARE, FeliCa, etc.).
Existen cuatro tipos de tags que se pueden manejar con los dispositivos NFC. Estos
son los factores más importantes para lograr la interoperabilidad entre los distintos
proveedores de los tags NFC y los fabricantes de dispositivos, para asegurar la
consistencia para el usuario.
77
Figura 21. Tags para NFC
• Tag Tipo 5: Define la forma en un dispositivo NFC puede interactuar con Tag
con la norma ISO/IEC 15693 que está configurado para ser capaz de
almacenar un mensaje de NDEF.
78
Figura 22. Lector NFC de escritorio
79
3. SOFTWARE
Los principales objetivos de un DBMS que describe Moreno, A. O. (2000) son los
siguientes:
80
Una base de datos típica conlleva la existencia de tres tipos de usuario con relación
a su diseño, desarrollo y uso:
81
3.3 COMPONENTES CLIENTE/SERVIDOR
Como su nombre lo indica está compuesta por Clientes y Servidores, pero además
oculto en este nombre se encuentra los mecanismos de interacción entre ellos,
clave en las aplicaciones de este tipo. Orfali et al. (1997) lo asocia al / de Cliente /
Servidor y se denomina Middleware.
Orfali et al. (1997) definen que Middleware es un término vago que abarca a todo el
software distribuido necesario para el soporte de interacciones entre clientes y
servidores. Imagínelo como el software que ocupa la parte intermedia del sistema
de cliente/servidor. Es el enlace que permite que un cliente obtenga un servicio de
un servidor. ¿Dónde empieza y dónde termina el middleware? Empieza en el
módulo de API de la parte del cliente que se emplea para invocar un servicio y
comprende la transmisión de la solicitud por la red y la respuesta resultante. Pero
no incluye al software que presta el servicio real; esto pertenece a los dominios del
servidor. Tampoco a la interfaz del usuario ni a la lógica de la aplicación, en los
dominios del cliente (p. 52).
82
Si se establece una separación entre la capa de interfaz gráfica (cliente), replicada
en cada uno de los entornos de usuario y la capa modelo, que quedaría centralizada
en un servidor de aplicaciones, esa arquitectura otorga algunas ventajas:
World Wide Web Consortium W3C. (2012) define que existen múltiples definiciones
sobre lo que son los Servicios Web, lo que muestra su complejidad a la hora de dar
una adecuada definición que englobe todo lo que son e implican. Una posible sería
hablar de ellos como un conjunto de aplicaciones o de tecnologías con capacidad
para interoperar en la Web. Estas aplicaciones o tecnologías intercambian datos
entre sí con el objetivo de ofrecer unos servicios. Los proveedores ofrecen sus
servicios como procedimientos remotos y los usuarios solicitan un servicio llamando
a estos procedimientos a través de la Web.
3.5.1 Usos de Servicios Web. En el sitio web W3C (2012), se explica cómo estos
servicios proporcionan mecanismos de comunicación estándares entre diferentes
aplicaciones, que interactúan entre sí para presentar información dinámica al
usuario. Para proporcionar interoperabilidad y extensibilidad entre estas
aplicaciones, y que al mismo tiempo sea posible su combinación para realizar
operaciones complejas, es necesaria una arquitectura de referencia estándar.
83
Figura 23. Los servicios Web en Funcionamiento
Según el ejemplo del gráfico, un usuario (que juega el papel de cliente dentro de los
Servicios Web), a través de una aplicación, solicita información sobre un viaje que
desea realizar haciendo una petición a una agencia de viajes que ofrece sus
servicios a través de Internet. La agencia de viajes ofrecerá a su cliente (usuario) la
información requerida. Para proporcionar al cliente la información que necesita, esta
agencia de viajes solicita a su vez información a otros recursos (otros Servicios
Web) en relación con el hotel y la compañía aérea. La agencia de viajes obtendrá
información de estos recursos, lo que la convierte a su vez en cliente de esos otros
Servicios Web que le van a proporcionar la información solicitada sobre el hotel y la
línea aérea. Por último, el usuario realizará el pago del viaje a través de la agencia
de viajes que servirá de intermediario entre el usuario y el servicio Web que
gestionará el pago. W3C. (2012)
En todo este proceso intervienen una serie de tecnologías que hacen posible esta
circulación de información. Por un lado, estaría SOAP (Protocolo Simple de Acceso
a Objetos). Se trata de un protocolo basado en XML, que permite la interacción entre
varios dispositivos y que tiene la capacidad de transmitir información compleja. Los
datos pueden ser transmitidos a través de HTTP, SMTP, etc. SOAP especifica el
formato de los mensajes. El mensaje SOAP está compuesto por un envelope
(sobre), cuya estructura está formada por los siguientes elementos: header
(cabecera) y body (cuerpo). W3C. (2012)
84
Figura 24. Estructura de los mensajes
Por otro lado, WSDL (Lenguaje de Descripción de Servicios Web), permite que un
servicio y un cliente establezcan un acuerdo en lo que se refiere a los detalles de
transporte de mensajes y su contenido, a través de un documento procesable por
dispositivos. WSDL representa una especie de contrato entre el proveedor y el que
solicita. WSDL especifica la sintaxis y los mecanismos de intercambio de mensajes
W3C. (2012).
85
3.6 INGENIERÍA DE SOFTWARE
3.6.1 Ciclo de Vida del Software. Se llama ciclo de vida del software a las fases
por las que pasa un proyecto software desde que es concebido, hasta que está listo
para usarse. Típicamente, incluye las siguientes actividades: toma de requisitos,
análisis, diseño, desarrollo, pruebas (validación, aseguramiento de la calidad),
instalación (implantación), uso, mantenimiento y obsolescencia (Pérez, D.A.,
Ginestà., M.H., Matías, M. H.,& Hernández, J.M. 2007)
86
interpersonales como clave para el éxito en desarrollo de software, promoviendo el
trabajo en equipo, preocupándose por el aprendizaje de los desarrolladores, y
propiciando un buen clima de trabajo. XP se basa en realimentación continua entre
el cliente y el equipo de desarrollo, comunicación fluida entre todos los participantes,
simplicidad en las soluciones implementadas y coraje para enfrentar los cambios.
XP se define como especialmente adecuada para proyectos con requisitos
imprecisos y muy cambiantes, y donde existe un alto riesgo técnico.
Los principios y prácticas son de sentido común pero llevadas al extremo, de ahí
proviene su nombre. Kent Beck, el padre de XP, describe la filosofía de XP, sin
cubrir los detalles técnicos y de implantación de las prácticas. Posteriormente, otras
87
publicaciones de experiencias se han encargado de dicha tarea. A continuación
presentaremos las características esenciales de XP organizadas en los tres
apartados siguientes: historias de usuario, roles, proceso y prácticas (Canós, et al.,
2004).
3.7.1. Historias de Usuario. Son la técnica utilizada para especificar los requisitos
del software. Se trata de tarjetas de papel en las cuales el cliente describe
brevemente las características que el sistema debe poseer, sean requisitos
funcionales o no funcionales. El tratamiento de las historias de usuario es muy
dinámico y flexible cada historia de usuario es lo suficientemente comprensible y
delimitada para que los programadores puedan implementarla en unas semanas.
3.7.2. Roles XP. Los roles de acuerdo con la propuesta original de Beck (1999)
son:
88
• Consultor. Es un miembro externo del equipo con un conocimiento
específico en algún tema necesario para el proyecto, en el que puedan surgir
problemas.
• Gestor (Big boss). Es el vínculo entre clientes y programadores, ayuda a
que el equipo trabaje efectivamente creando las condiciones adecuadas. Su
labor esencial es de coordinación.
3.7.4. PRÁCTICAS XP. Canós (2004), define que la principal suposición que se
realiza en XP es la posibilidad de disminuir la mítica curva exponencial del costo del
cambio a lo largo del proyecto, lo suficiente para que el diseño evolutivo funcione.
Esto se consigue gracias a las tecnologías disponibles para ayudar en el desarrollo
de software y a la aplicación disciplinada de las siguientes prácticas.
89
metáforas compartidas por el cliente y el equipo de desarrollo. Una metáfora
es una historia compartida que describe cómo debería funcionar el sistema
(conjunto de nombres que actúen como vocabulario para hablar sobre el
dominio del problema, ayudando a la nomenclatura de clases y métodos del
sistema).
• Diseño simple. Se debe diseñar la solución más simple que pueda funcionar
y ser implementada en un momento determinado del proyecto.
• Pruebas La producción de código está dirigida por las pruebas unitarias.
Éstas son establecidas por el cliente antes de escribirse el código y son
ejecutadas constantemente ante cada modificación del sistema.
• Refactorización (Refactoring). Es una actividad constante de reestructuración
del código con el objetivo de remover duplicación de código, mejorar su
legibilidad, simplificarlo y hacerlo más flexible para facilitar los posteriores
cambios. Se mejora la estructura interna del código sin alterar su
comportamiento externo.
• Programación en parejas. Toda la producción de código debe realizarse con
trabajo en parejas de programadores. Esto conlleva ventajas implícitas
(menor tasa de errores, mejor diseño, mayor satisfacción de los
programadores).
• Propiedad colectiva del código. Cualquier programador puede cambiar
cualquier parte del código en cualquier momento.
• Integración continúa. Cada pieza de código es integrada en el sistema una
vez que esté lista. Así, el sistema puede llegar a ser integrado y construido
varias veces en un mismo día.
• 40 horas por semana. Se debe trabajar un máximo de 40 horas por semana.
No se trabajan horas extras en dos semanas seguidas. Si esto ocurre,
probablemente está ocurriendo un problema que debe corregirse. El trabajo
extra desmotiva al equipo.
• Cliente in-situ. El cliente tiene que estar presente y disponible todo el tiempo
para el equipo. Éste es uno de los principales factores de éxito del proyecto
XP. El cliente conduce constantemente el trabajo hacia lo que aportará mayor
valor de negocio y los programadores pueden resolver de manera inmediata
cualquier duda asociada. La comunicación oral es más efectiva que la escrita.
• Estándares de programación. XP enfatiza que la comunicación de los
programadores es a través del código, con lo cual es indispensable que se
sigan ciertos estándares de programación para mantener el código legible.
90
4. ANDROID
En la investigación realizada por Molina, Y.J., Sandoval, J.C.,& Toledo, S.A. (2012)
se encuentra la definición de Android como un sistema operativo para dispositivos
móviles, teléfonos inteligentes y tabletas basado en el núcleo Linux. Es desarrollado
por la Open Handset Alliance, la cual es liderada por Google, usando diversos
conjuntos de herramientas de software de código abierto para dispositivos móviles.
91
Está construido sobre el kernel de Linux. Además, se utiliza una máquina
personalizada virtual que fue diseñada para optimizarlos recursos de memoria y de
hardware en un entorno móvil. Android es de código abierto, y además puede ser
libremente ampliado para incorporar nuevas tecnologías de vanguardia que van
surgiendo. La plataforma continuará evolucionando a medida que la comunidad de
desarrolladores trabajando juntos puedan crear aplicaciones móviles innovadoras
(Android OS, 2012).
4.2 ARQUITECTURA
4.3 HISTORIA
Molina et al. (2012) nos muestra que el anuncio del sistema Android se realizó el 5
de noviembre de 2007 junto con la creación de la Open Handset Alliance, un
consorcio de 78 compañías de hardware, software y telecomunicaciones dedicadas
al desarrollo de estándares abiertos para dispositivos móviles. Google liberó la
mayoría del código de Android bajo la licencia Apache, una licencia libre y de código
abierto.
92
Figura 27. Arquitectura Android
93
Figura 28. Distribuciones de Android
94
4.5 CARACTERÍSTICAS Y FUNCIONES ACTUALES
95
• Controles avanzados para activar o
desactivar permisos para todas las apps que
tienes instaladas.
• Inicio verificado: cuando se inicie el
dispositivo Android, recibirás una advertencia
si el firmware y el sistema operativo Android
sufrieron modificaciones en la versión de
fábrica.
• Usa lo sensores de huellas digitales para
desbloquear el dispositivo, hacer compras en
Google Play, autenticar transacciones en las
apps y realizar pagos en las tiendas.
96
• Configura, activa y desactiva con facilidad el
modo “No molestar” en la configuración
rápida.
• Si una persona te llama dos veces en el plazo
de quince minutos, puedes permitir que la
llamada suene cuando el modo “No molestar”
está habilitado.
• Usa normas automáticas para habilitar el
modo “No molestar” durante períodos
personalizados o en función de los eventos
en el calendario.
• El control de volumen simplificado te permite
administrar el volumen de las notificaciones,
la música y las alarmas fácilmente desde
cualquier ubicación con solo tocar las teclas
de volumen.
• Configuración simplificada que te permite
administrar la configuración de una app en
una sola ubicación, desde uso de batería y
memoria hasta las notificaciones y los
controles de permisos.
• Se actualizó la lista de la app de Google Now
Launcher con búsqueda, desplazamiento
alfabético rápido y sugerencias de app.
97
• Con el asistente de configuración, puedes
agregar otros correos electrónicos de
cuentas personales o corporativas (por
ejemplo, IMAP).
98
configurada para un perfil de trabajo o para
todo el dispositivo.
El nivel del API es un valor entero que identifica de forma exclusiva la revisión API
Framework ofrecida por una versión de la plataforma Android.
Las actualizaciones de la API framework están diseñadas para que la nueva API
sigua siendo compatible con las versiones anteriores de la API (Developers, 2016).
99
Tabla 6. Versiones y API de Android
Android 7.0 24 N
Android 6.0 23 M
Android 5.1 22 LOLLIPOP_MR1
Android 5.0 21 LOLLIPOP
Android 4.4W 20 KITKAT_WATCH
Android 4.4 19 KITKAT
Android 4.3 18 JELLY_BEAN_MR2
Android 4.2, 4.2.2 17 JELLY_BEAN_MR1
Android 4.1, 4.1.1 16 JELLY_BEAN
Android 4.0.3, 4.0.4 15 ICE_CREAM_SANDWICH_MR1
Android 4.0, 4.0.1, 4.0.2 14 ICE_CREAM_SANDWICH
Android 3.2 13 HONEYCOMB_MR2
Android 3.1.x 12 HONEYCOMB_MR1
Android 3.0.x 11 HONEYCOMB
Android 2.3.4 10 GINGERBREAD_MR1
Android 2.3.3
Android 2.3.2 9 GINGERBREAD
Android 2.3.1
Android 2.3
Android 2.2.x 8 FROYO
Android 2.1.x 7 ECLAIR_MR1
Android 2.0.1 6 ECLAIR_0_1
Android 2.0 5 ECLAIR
Android 1.6 4 DONUT
Android 1.5 3 CUPCAKE
Android 1.1 2 BASE_1_1
Android 1.0 1 BASE
100
Figura 29. Sabores Android
101
4.8 ANDROID STUDIO
102
4.9 DALVIK VIRTUAL MACHINE (DVM)
Características de Dalvik:
103
4.10 ART ANDROID RUNTIME
Características de ART
4.11 JIT
104
4.12 OAT
Con el compilador JIT de Dalvik, cada que iniciamos una aplicación, la máquina
virtual dinámicamente traduce una parte del bytecode DEX a código máquina.
Conforme continúa la ejecución de la aplicación, se compila más bytecode y se
almacena en memoria cache. La aplicación está siendo compilada “justo a tiempo”
en el momento de su uso.
105
En el caso de ART, las aplicaciones se compilan desde que se instalan en el
dispositivo, y ya se deja instalado el código máquina listo para ejecutarse y sin
necesidad de mayor compilación (Perez, 2014).
106
5. ANDROID API ANDROID PARA EL DESARROLLO NFC
5.2 INTERFACES
• NfcAdapter.CreateBeamUrisCallback
• NfcAdapter.CreateNdefMessageCallback: Una devolución de llamada se
invoca cuando otro dispositivo NFC es capaz de enviar NDEF dentro del
rango.
107
• NfcAdapter.OnNdefPushCompleteCallback: Una devolución de llamada que
se invoca cuando el sistema entrega con éxito su NdefMessage a otro
dispositivo (Developers, 2016).
• NfcAdapter.ReaderCallback: Una devolución de llamada que se invoca
cuando el sistema encuentra una etiqueta, mientras que la actividad de
primer plano está funcionando en el modo de lector (Developers, 2016).
5.3 EXCEPTIONS
• FormatException
• TagLostException
1. Analizar el tag NFC y averiguar el tipo MIME o un URI que identifica la carga
de datos en la etiqueta.
2. Encapsular el tipo MIME o URI y la carga útil en una intención. Estos dos
primeros pasos se describen en cómo etiquetas NFC se asignan a los tipos
MIME y URI.
108
3. Inicia una actividad basada en la intención. Esto se describe en cómo
etiquetas NFC se distribuye a Aplicaciones.
Android maneja las etiquetas NFC con formato NDEF, para ello el sistema una vez
detectada la etiqueta NFC en formato NDEF, procede a parsear el mensaje para
identificar el tipo de dato MIME o el URI (Universe resource Identifier), esto lo hace
leyendo el primer registro (NdefRecord) del mensaje (NdefMessage), de tal manera
que si el mensaje está correctamente formado, el primer registro debe contener la
siguiente estructura de datos (Exposito G, 2014):
1. El nombre del tipo de formato (3 bits): los primeros 3 caracteres del registro
permite identificar como interpretar la longitud variable del tipo de campo, los
cuales puede ser:
109
TNF_WELL_KNOWN Tipo MIME o URI dependiendo de la definición
Tipo de registro (RTD), que se establece en el
campo Tipo.
110
El sistema de despacho de tags utiliza los campos de tipo TNF para tratar de asignar
un tipo MIME o URI al mensaje NDEF. Si tiene éxito, se encapsula la información
en el interior de un intent ACTION_NDEF_DISCOVERED. Sin embargo, hay casos
en que el sistema de despacho de tags no puede determinar el tipo de datos basado
en el primer registro NDEF. Esto sucede cuando los datos NDEF no se pueden
asignar a un tipo MIME o URI, o cuando la etiqueta NFC no contiene datos NDEF.
En tales casos, un objeto de etiqueta que tiene información acerca de las
tecnologías de la etiqueta y la carga útil están encapsulados en el interior de un
intento ACTION_TECH_DISCOVERED (Developers, 2016).
Cuando el sistema de despacho de tag crea una intención que encapsula la etiqueta
NFC y su información de identificación, envía la intención a una aplicación que
filtrada por la intención, debemos conocer los diferentes Intent Filter que se tienen
para establecer la comunicación entre el Tag Disptach System y una aplicación
Android. En caso de que existan varias Aplicaciones Android o Activity que estén
filtrando estos Intents el sistema desplegara el Selector de Aplicaciones para que el
usuario sea quien decida que aplicación es la que ha de tomar el control con los
datos capturados de la Etiqueta NFC y encapsulados en el objeto Intent
(Developers, 2016).
El Tag Dispatch System define los siguientes Android Intents los cuales están
ordenados de Mayor a menor prioridad:
111
2. ACTION_TECH_DISCOVERED: Si no existen aplicaciones registradas para
manejar el Intent ACTION_NDEF_DISCOVERED, entonces el Tag Dispatch
System intentará iniciar una aplicación con este Intent. También este tipo de
Intent se inicia directamente sin pasar primero por el Intent
ACTION_NDEF_DISCOVERED para aquellos casos en los que las etiquetas
NFC escaneadas contienen datos NDEF que no pueden ser mapeados con
un tipo MIME o URI, o en los casos en los que la Etiqueta no contiene datos
en formato NDEF data pero la tecnología de la etiqueta es conocida
(Developers, 2016).
1. Al iniciar una actividad con la intención de que fue creado por el sistema de
envío de etiquetas, analizar la etiqueta NFC (ya sea
ACTION_NDEF_DISCOVERED o ACTION_TECH_DISCOVERED)
(Developers, 2016).
2. Si no hay ningún filtro de actividades para ese propósito, intente iniciar una
actividad con la siguiente intención de menor prioridad (ya sea
ACTION_TECH_DISCOVERED o ACTION_TAG_DISCOVERED) hasta que
una filtros de aplicación de la intención o hasta que el sistema de etiquetas
de envío intenta todos los intentos posibles (Developers, 2016).
112
Figura 35 Funcionamiento de Sistema de Despacho de Tags
113
<uses-sdk android:minSdkVersion="10"/>
Google Play Store permite filtrar los dispositivos en función de los recursos
necesarios para la ejecución de una aplicación. Este filtrado, bien sea para la
tecnología NFC o para cualquier otra tecnología, se realiza a nivel del manifiesto de
la aplicación. Para prohibir la instalación de una aplicación en dispositivos que no
dispongan de la tecnología NFC, basta con agregar la etiqueta (Developers, 2016):
Para iniciar la aplicación cuando una etiqueta NFC que desea controlar se escanea,
su aplicación puede filtrar para uno, dos o los tres de los intents NFC en el manifiesto
de Android. Normalmente se quiere filtrar para obtener el intent
ACTION_NDEF_DISCOVERED para más control de cuando se inicia la aplicación
(Developers, 2016).
114
5.9.1 ACTION_NDEF_DISCOVERED
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:scheme="http"
android:host="developer.android.com"
android:pathPrefix="/index.html" />
</intent-filter>
5.9.2 ACTION_TECH_DISCOVERED
115
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
<tech>android.nfc.tech.IsoDep</tech>
<tech>android.nfc.tech.NfcA</tech>
<tech>android.nfc.tech.NfcB</tech>
<tech>android.nfc.tech.NfcF</tech>
<tech>android.nfc.tech.NfcV</tech>
<tech>android.nfc.tech.Ndef</tech>
<tech>android.nfc.tech.NdefFormatable</tech>
<tech>android.nfc.tech.MifareClassic</tech>
<tech>android.nfc.tech.MifareUltralight</tech>
</tech-list>
</resources>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
<tech>android.nfc.tech.NfcA</tech>
<tech>android.nfc.tech.Ndef</tech>
</tech-list>
</resources>
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
<tech>android.nfc.tech.NfcB</tech>
<tech>android.nfc.tech.Ndef</tech>
</tech-list>
</resources>
116
<activity>
...
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED"/>
</intent-filter>
<meta-data android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/nfc_tech_filter" />
...
</activity>
5.9.3 ACTION_TAG_DISCOVERED
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
</intent-filter>
Para obtener estos extras. Comprobar si su actividad se inició con una de las
intenciones de la NFC para asegurar que una etiqueta se ha escaneado, y luego
obtener los extras de la intención (Developers, 2016).
117
5.11 DESCUBRIR UN TAG NFC
118
A continuación se enumeran los formatos compatibles con la intención y los filtros
de intención correspondientes (HÉBUTERNE & PÉROCHON, 2014):
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http"
android:host="developer.android.com"
android:pathPrefix="/index.html" />
</intent-filter>
119
"application/vnd.com.example.android.beam".getBytes(Charset.forName("US-ASCI
I")),
new byte[0], "Beam me up, Android!".getBytes(Charset.forName("US-ASCII")));
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="application/vnd.com.example.android.beam" />
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain" />
</intent-filter>
120
public NdefRecord createTextRecord(String payload, Locale locale, boolean encode
InUtf8) {
byte[] langBytes = locale.getLanguage().getBytes(Charset.forName("US-ASCII")
);
Charset utfEncoding = encodeInUtf8 ? Charset.forName("UTF-8") : Charset.forN
ame("UTF-16");
byte[] textBytes = payload.getBytes(utfEncoding);
int utfBit = encodeInUtf8 ? 0 : (1 << 7);
char status = (char) (utfBit + langBytes.length);
byte[] data = new byte[1 + langBytes.length + textBytes.length];
data[0] = (byte) status;
System.arraycopy(langBytes, 0, data, 1, langBytes.length);
System.arraycopy(textBytes, 0, data, 1 + langBytes.length, textBytes.length)
;
NdefRecord record = new NdefRecord(NdefRecord.TNF_WELL_KNOWN,
NdefRecord.RTD_TEXT, new byte[0], data);
return record;
}
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>
121
NdefRecord rtdUriRecord2 = NdefRecord.createUri(uri);
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="http"
android:host="example.com"
android:pathPrefix="" />
</intent-filter>
122
byte[] payload;
...
NdefRecord extRecord = new NdefRecord(
NdefRecord.TNF_EXTERNAL_TYPE, "com.example:externalType", new byte[0], paylo
ad);
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="vnd.android.nfc"
android:host="ext"
android:pathPrefix="/com.example:externalType"/>
</intent-filter>
<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:scheme="vnd.android.nfc"
android:host="ext"
android:pathPrefix="/com.midominio:miTipo"/>
</intent-filter>
123
5.13 TECNOLOGÍAS DE TAGS SOPORTADOS
Cuando se trabaja con tags NFC y dispositivos Android, el formato principal que se
utiliza para leer y escribir datos en las etiquetas es NDEF. Cuando un dispositivo
escanea una etiqueta con los datos NDEF, Android proporciona apoyo en el análisis
de mensajes y la entrega en un NdefMessage (Developers, 2016).
Hay casos, cuando se escanea una etiqueta que no contenga datos NDEF o cuando
los datos NDEF no podría ser asignada a un tipo MIME o URI. En estos casos, es
necesario abrir la comunicación directa con la etiqueta, leer y escribir en él con su
propio protocolo (en bytes en bruto). Android proporciona soporte genérico para
estos casos de uso con el paquete android.nfc.tech. Se puede utilizar el método
getTechList () para determinar las tecnologías soportadas por la etiqueta y crear el
objeto TagTechnology correspondiente con una de las clases proporcionado por
android.nfc.tech (Developers, 2016).
Las siguientes tecnologías de tags no están obligados a ser soportadas por los
dispositivos Android.
124
Figura 37 Clases de tecnologías de etiquetas opcionales soportadas
Cuando un dispositivo escanea una etiqueta que tiene datos NDEF, pero no pudo
ser asignado a un MIME o URI, el sistema de despacho de etiqueta intenta iniciar
una actividad con la intención ACTION_TECH_DISCOVERED. El
ACTION_TECH_DISCOVERED también se utiliza cuando se escanea una etiqueta
con datos que no son NDEF (Developers, 2016).
Los pasos básicos cuando se trabaja con las tecnologías de la etiqueta son los
siguientes:
125
Para obtener una instancia de una etiqueta MifareUltralight:
MifareUltralight.get(intent.getParcelableExtra(NfcAdapter.EXTRA_TAG));
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
<tech>...</tech>
<tech>...</tech>
</tech-list>
</resources>
El archivo puede contener varias etiquetas <tech>, cada una de las etiquetas
especifica una tecnología. El sistema interpreta esta información considerando la
lista como una lista "Y": la aplicación se inicia si el tag leído es compatible con todas
las tecnologías enumeradas. Es posible especificar varias listas de tecnologías,
informando varios tags <tech-list> en el archivo XML. Cada lista se comporta
respecto a las demás como una enumeración "O". Este mecanismo permite
especificar varios subconjuntos de tecnologías. El siguiente ejemplo presenta un
archivo XML que indica que la aplicación es compatible con los tags de tecnologías
NfcA y NDEF o MifareClassic y MifareUltraLight (HÉBUTERNE & PÉROCHON,
2014).
126
<resources xmlns:xliff="urn:oasis:names:tc:xliff:document:1.2">
<tech-list>
<tech>android.nfc.tech.NfcA</tech>
<tech>android.nfc.tech.Ndef</tech>
</tech-list>
<tech-list>
<tech>android.nfc.tech.MifareClassic</tech>
<tech>android.nfc.tech.MifareUltralight</tech>
</tech-list>
</resources>
<activity> ...
<intent-filter>
<action android:name="android.nfc.action.TECH_DISCOVERED"/>
</intent-filter>
<meta-data android:name="android.nfc.action.TECH_DISCOVERED"
android:resource="@xml/mi_lista_tech " /> ...
</activity>
Si la aplicación tiene como objetivo escribir tags NFC sobre un soporte, es preciso
filtrar este tipo de intención, teniendo en cuenta que los tags están vacíos en el
momento de la selección de la aplicación por parte del sistema. La elección se
realiza, por tanto, de manera natural sobre las tecnologías soportadas en el tag
(HÉBUTERNE & PÉROCHON, 2014).
127
desarrollador parsear correctamente la tabla binaria para extraer la información. El
filtro de intención que se corresponde con intenciones de tipo
ACTION_TAG_DISCOVERED refleja bien el aspecto genérico de este tipo de
compatibilidad, no indica ningún contenido para el mensaje, ni tampoco ninguna
tecnología (HÉBUTERNE & PÉROCHON, 2014).
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
</intent-filter>
Android 4.0 incluyo un nuevo tipo de registro en los tags NFC: los Android
Application Records (AAR). Este tipo de registro permite especificar explícitamente
el nombre de la aplicación compatible con un tag NFC. Para ello, tras descubrir un
tag que contiene un mensaje de tipo NDEF, el sistema Android analiza todos los
registros del mensaje con la intención de encontrar un registro AAR. Si este registro
existe, se inicia la aplicación mencionada en el registro. Si la aplicación no estuviera
instalada en el dispositivo del usuario, el sistema propondrá descargarla
directamente de Play Store (HÉBUTERNE & PÉROCHON, 2014).
128
Los parámetros esperados por el método enableForegroundDispatch son los
siguientes:
• La actividad que se ejecutará cuando se descubra el tag.
• Un objeto de tipo PendingIntent, que se rellenará por el sistema y se proveerá
a la actividad. Para no volver a abrir la actividad en curso, el Pending Intent
se declarará con el flag Intent.FLAG_ACTIVITY_SINGLE_TOP .
• Una tabla de IntentFilter, que indicará al sistema cuáles son las intenciones
compatibles con la actividad.
• Por último, una tabla de dos dimensiones indicando qué tecnologías NFC son
compatibles con la actividad.
NfcAdapter nfcAdapter;
@Override
public void onCreate(Bundle savedState) {
super.onCreate(savedState);
// ...
nfcAdapter = NfcAdapter.getDefaultAdapter(this);
}
@Override
public void onResume() {
super.onResume();
if(nfcAdapter==null)
return;
nfcAdapter.enableForegroundDispatch(this, getPendingIntent(),
getIntentFilters(), getTechLists());
}
129
@Override
public void onPause() {
super.onPause();
if(nfcAdapter==null)
return;
nfcAdapter.disableForegroundDispatch(this);
}
@Override
public void onNewIntent(Intent intent) {
Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);
Toast.makeText(this, "Tag descubierto", Toast.LENGTH_LONG).show();
}
La lectura de un tag NFC se realiza una vez se ha decidido qué actividad se hace
cargo del mismo. El tag y su contenido se proveen a la actividad en la intención, que
contiene también la acción que permite determinar qué tipo de mensaje contiene el
tag; basta con comprobar el valor de la acción de la intención para saber qué método
utilizar para descifrar el o los mensajes (HÉBUTERNE & PÉROCHON, 2014).
if(intent.getAction().equals(NfcAdapter.ACTION_NDEF_DISCOVERED))
Log.d(TAG,"Lectura de un tag NDEF");
else
if(intent.getAction().equals(NfcAdapter.ACTION_TECH_DISCOVERED))
Log.d(TAG,"Lectura de un tag TECH");
130
5.19.1 Determinar El Contenido De Un Tag NDEF: La lectura en un tag que
contenga mensajes NDEF, se lleva a cabo recuperando en forma de
ParcelableArrayExtra el valor parseable con nombre
NfcAdapter.EXTRA_NDEF_MESSAGES contenido en la intención y, a
continuación, convirtiendo cada elemento de la tabla en un objeto de tipo
NdefMessage (no hay que olvidar que un tag NDEF puede contener varios
mensajes con formato NDEF) (HÉBUTERNE & PÉROCHON, 2014).
Cada NdefMessage que se extrae contiene uno o varios NdefRecord, que son las
entidades que contienen los mensajes propiamente dichos. En cada objeto
NdefRecord, el mensaje se almacena como una tabla de bytes, llamada Payload, a
la que se accede mediante el método getPayload() del objeto NdefRecord. Es
preciso convertir estos datos en función del formato del registro NdefRecord. Para
ello, el objeto NdefRecord expone los métodos: getTnf(), que devuelve el formato
del NdefRecord , y getType() , que devuelve el subtipo en el caso de que el tipo de
NdefRecord sea TNF_WELL_KNOWN . La API 16 de Android presenta varios
métodos para la clase NdefRecord, que facilitan la lectura e interpretación de los
registros (HÉBUTERNE & PÉROCHON, 2014).
5.19.2 Leer Una URI: La API 16 de Android provee el método toUri() que permite
extraer una URI de un NdefRecord (HÉBUTERNE & PÉROCHON, 2014).
131
El protocolo puede decodificarse según las correspondencias dadas en la tabla
siguiente (extracto):
132
new String(payload, 1, longitudCodigoLenguaje, "US-ASCII");
return new String(payload,
longitudCodigoLenguaje + 1,
payload.length - longitudCodigoLenguaje - 1,
formatoCodificacion);
}
5.19.5 Leer Un Tag De Tipo TNF_WELL_KNOWN: Android trata los tags de tipo
TNF_WELL_KNOWN del mismo modo que los tags de tipo equivalente: si el subtipo
del tag TNF_WELL_KNOWN es RTD_URI, el tag se leerá como un tag de tipo
TNF_ABSOLUTE_URI. El método getType() del objeto NdefRecord devuelve el
subtipo del tag, tal y como se indica en la siguiente tabla (HÉBUTERNE &
PÉROCHON, 2014):
133
Conviene, entonces, con determinar el subtipo del tag TNF_WELL_KNOWN, y
procesar el payload del tag en función del subtipo.
if(record.getType()==NdefRecord.RTD_TEXT) {
//... tratar el payload como para leer una cadena de caracteres }
else if (record.getType()==NdefRecord.RTD_URI)
{ //... tratar el payload como para leer una URI
}
El método get(tag) puede devolver null, en caso de que el tag no esté soportado por
la tecnología NDEF. La escritura es muy sencilla: basta con inicializar la operación
de escritura mediante el método connect(), escribir el tag con el método
writeNdefMessage(NdefMessage) y cerrar la conexión invocando al método close()
(HÉBUTERNE & PÉROCHON, 2014).
134
Try {
ndef.connect();
ndef.writeNdefMessage(mensaje);
ndef.close();
}
catch (IOException e) {
e.printStackTrace();
}
• El primer bit define el formato del texto: UTF-8 (bit a 0) o UTF-16 (bit a 1).
• El segundo bit vale 0 (inutilizado en la norma actual).
• Los 6 siguientes bits indican la longitud de la codificación del idioma.
135
int codigoCodificacion = codificacion.equals("UTF-8") ? 0 : 128;
payload = new byte[1 + bIdioma.length + bMensaje.length];
payload[0] = (byte)(codigoCodificacion + bIdioma.length); System.arraycopy(bI
dioma, 0, payload, 1, bIdioma.length); System.arraycopy(bMensaje, 0, payload,
1 + bIdioma.length, messageByte.length);
return payload;
136
for(int i = 1;i<protocolo.length;i++)
if(uri.startsWith(protocolo[i])) {
indicePrefijo = i;
break;
}
if(indicePrefijo==-1)
return null;
uri = uri.substring(protocolo[indicePrefijo].length());
byte[] bUri = uri.getBytes(Charset.forName("UTF-8"));
payload = new byte[1 + bUri.length]; payload[0] = (byte)indicePrefijo; S
ystem.arraycopy(bUri, 0, payload, 1, bUri.length);
return payload; }
137
Del mismo modo, la API 16 incluye algunos métodos estáticos que permiten crear
directamente registros NdefRecord sin tener que codificar específicamente el
payload. Entre estos métodos, destacaremos los métodos createMime() y
createExternal(). El método createMime(String mimeType, byte[]mimeData) permite
crear simplemente un registro ndefRecord de tipo TNF_MIME_MEDIA , y recibe
como parámetros el tipo MIME (en forma de cadena de caracteres) y el contenido a
codificar (en forma de tabla de bytes) (HÉBUTERNE & PÉROCHON, 2014).
138
6. ESTADO DEL ARTE
El concepto del cual se tratará el estado del arte será: Near Field Communication
NFC, dispositivos, estándares, aplicaciones reconocidas, aplicaciones NFC.
El uso de esta tecnología también se ha establecido en otras ciudades del país para
los Sistemas de Transporte Integrado, siendo el de Bogotá primero en
implementarse y funcionar.
139
• Consultar información de buses y paradas del SITP
• Consultar saldo de Tarjeta
• Ver información de puntos de carga
• Consultar Reportes de Movilidad
• Consultar Mapas de Transmilenio
• Conectar a Redes Sociales
6.1.2 Tarjeta tullave. La tarjeta tu llave es una tarjeta inteligente, sin contacto como
medio de pago y es usada actualmente para ingresar al Sistema de Transmilenio y
al SITP.
140
Figura 39. Tarjeta tullave
Para que los usuarios puedan realizar la consulta del saldo de la tarjeta de tu llave,
se deberá activar NFC en la configuración de conexiones y acercar la tarjeta a la
parte posterior del Celular.
141
Una vez el usuario el usuario activa el NFC de su dispositivo y acerca la tarjeta
obtiene el saldo de la tarjeta tullave en la pantalla
6.2.1 Google Wallet. El pago de Google Wallet con Near Field Communication
(NFC), es un sistema al que se unieron las firmas Sprint, First Data, Citi y
Mastercard. El sistema de pago utiliza la tecnología NFC para el pago de sus tarjetas
de crédito, de esta manera se reemplaza la tarjeta plástica por un sistema moderno
y confiable de pago.
Este nuevo sistema permite comprar en tiendas permitiendo que el teléfono sea la
cartera que lleva todas las tarjeas débito y crédito, solo basta con un pequeño toque
de la parte porterior del teléfono al lector de pagos para realizar la compra.
142
Figura 42. Google Wallet
Los cinco primeros niveles son completamente libres, pero una vez los hayas
completado y desees proseguir debes buscar a una persona para liberar otros cinco
niveles, y así sucesivamente. Otra opción de desbloqueo es factible ubicando chips
que han sido escondidos en las instalaciones donde se lleva a cabo el evento.
Obviamente, se están distribuyendo algunas pistas para que las personas puedan
ubicarlos y proseguir en la tarea de derribar cerdos verdes (España, 2011).
143
6.2.3 Foursquare. Android Ocampo, C. (2012) describe en su artículo web que
Foursquare le ayuda a explorar el mundo que te rodea. Más de 50 mil personas
tienen esta aplicación permite ver lo que están haciendo tus amigos y compartir sus
experiencias, conseguir recomendaciones personalizadas para dónde ir y qué
conseguir, sobre la base de lo que al usuario y amigos les gusta. Permite ahorrar
con descuentos y regalos de las empresas. De igual manera la aplicación se
comunica con lectores, tarjetas y etiquetas (NFC).
6.2.5 Universidad Católica San Antonio de Murcia. El sitio web NFCON (2012)
nos describe la implementación de varios proyectos con NFC uno de ellos en La
Universidad Católica San Antonio de Murcia donde se llevará a cabo una iniciativa
en la cual implantará la tecnología NFC en diferentes servicios, tales como el acceso
físico, los pagos o la asistencia. Los más de 20.000 estudiantes de la Universidad
podrán tomar contacto con este tipo de tecnología que permitirá facilitar los servicios
ofrecidos por la Universidad (NFCON 2012).
144
6.2.6 Sector de los Taxis. El otro proyecto mencionado en la página de NFCON
(2012) es en la ciudad de Barcelona, la cual será elegida para implantar la
tecnología NFC en taxis. Se trata de una iniciativa de La Caixa, que facilitará el pago
a través de este método, lo que evitará que los taxistas lleven altas cantidades de
efectivo en los vehículos.
Se trata de una iniciativa pionera, que permitirá que los usuarios con un teléfono
con soporte NFC obtengan las últimas imágenes del evento, información sobre
apuestas y conocer los resultados del concurso. Y todo con el simple gesto de
acercar el teléfono a los puntos indicados.
Vodafone es además uno de los principales patrocinadores del evento, y una de las
empresas líderes en España en el desarrollo de proyectos que incluyen tecnología
NFC.
145
Figura 45. Concurso Hípico Internacional
146
6.3.2 Biblioteca Pública Austriaca. En la Ciudad austriaca de Klagenfurt trabaja
en una iniciativa llamada Proyecto Ingerborg, implemento un sistema en NFC que
está convirtiendo al municipio en un repositorio de libros, la aplicación dirige a los
usuarios a páginas web donde pueden descargar obras de dominio público del
proyecto Gutenberg. Las obras literarias son ubicadas de acuerdo a sitios
estratégicos en el pueblo para lograr distribuir libros, música y contenidos digitales.
(Santos, 2012)
147
Figura 48. The Underground Library
148
Figura 49. Uso de NFC en vehículos HYUNDAI
Por el lado del fabricante Hyundai en el año 2012 lanzo el concept car i30 de
Hyundai, quien propone el uso de la tecnología NFC para ser usado como llave de
acceso.
Con el apoyo tecnológico de RIM y HID Global trabajan en un control de acceso con
dispositivos BlackBerry con NFC, la propuesta es eliminar la clásica llave con la que
se abre la puerta del automóvil o un mando a distancia, para realizarse con el móvil
leyendo el tag ubicado en la puerta del auto para abrir las puertas y permitir también
almacenar el perfil del usuario.
149
Figura 50. Apps en vehículos HYUNDAI
6.5.1 Metro de NEW YORK. El metro de New York es el sistema de transporte más
popular y usado en la ciudad, el sistema de ingreso ha venido evolucionando con el
paso de los años, pasando de fichas a tarjetas recargables y desechables. En unos
años los usuarios pasaran los torniquetes con el uso de sus teléfonos inteligentes.
Con esta tecnología se dará fin a la MetroCard que está llegando al fin de su vida
útil, y significará un ahorro para el sistema ya que cada máquina tiene un costo muy
elevado.
Esta tecnología solo se podrá iniciar a implementar desde el 2019, debido a que la
MetroCard está programada hasta esa fecha. Otras Ciudades de Estados Unidos,
incluyendo Boston y Washington, DC, emplean tarjetas inteligentes para el
transporte. (Costello, 2014).
150
6.6 IDENTIFICACIÓN VEHICULAR CON NFC
El policía deberá contar con un móvil con tecnología NFC, podrá acercar el teléfono
al tag del local comercial si este tiene licencia de funcionamiento, si está pendiente
de obligaciones e impuestos y muchos datos mas (Ramos, 2015).
151
parabrisas del vehículo, el agente acerca su móvil con NFC y sabrá al instante si el
auto tiene seguro o no, y está pendiente de pagos, quien es el propietario o si hay
una denuncia de robo (Ramos, 2015).
6.7 HOGAR
Con la integración de la tecnología NFC a los juguetes los niños tendrán juguetes
más complejos e inteligentes. Mattel ofrece una muñeca Hello Barbie, que permite
reconocer lo que dicen los niños y guarda la información en la Nube para luego
entablar conversaciones. Las figuras de marcas como Disney Infinity, Skylanders y
Nintendo Ambos cobran vida en la pantalla al colocarse sobre bases NFC o en el
caso de la consola Wii U, en el control de juego. Cada una desbloquea contenido
como armas, escenarios y accesorios. (Soto, 2015)
152
dar un verdadero poder a las presentaciones con mayor comodidad, confianza y
facilidad (Manaure, 2015).
153
Figura 54. Dispositivos Sony NFC
6.7.4 Bafles con NFC. La tecnología NFC también ahora la podemos encontramos
encontrar en los altavoces SPC WOW y GO NFC Speaker, que puede transmitir
música vía NFC o Bluetooh desde el Smartphone o Tablet a los altavoces. De
fabricación española y una potencia de 5W y un subwoofer de 10W. Tienen una
batería de 2.200 miliamperios con capacidad para reproducir música a un volumen
alto durante un máximo de 11 horas y música a un volumen medio durante un
máximo de 20 horas (Manzhirova, 2015).
154
6.7.5 Relojes NFC. El avance de los diferentes dispositivos móviles y con la llegada
de la era del Internet de las Cosas, vemos que también los fabricantes de relojes
van incluyendo nuevas tecnologías, en el mercado ya encontramos relojes con
tecnología NFC, llamados Smartwatch, por el lado de Apple podemos encontrar el
Apple Watch, otros fabricantes como Montblanc o Tag Heuer, Samsung, Sony entre
otros fabricantes, todos ellos tienen propuestas para relojes inteligentes (Sony,
2015).
155
Figura 57. Auriculares NFC
156
6.8 SISTEMA DE PAGOS CON NFC
6.8.1 Tap to Pay. Este sistema de pago proporciona las opciones de pago en
autobuses, tren, ferry, peajes, estacionamientos, comidas entre muchos otros usos
buscado como objetivo principal mejorar la eficiencia en la recaudación de tarifas,
aumenta la velocidad de las transacciones y reduce los costos de operación (Tap
To Pay, 2015).
157
Figura 60. Samsung Pay
La tecnología MST permite a Samsung Pay trabajar con las tarjetas de crédito de
marca propia (PLCC) con la cooperación de importantes partners como Synchrony
Financial y First Data Corporation. La vinculación con comercios, bancos emisores
y grandes redes de pagos ofrece a los clientes la oportunidad de utilizar una amplia
variedad de tarjetas de pago y hace de Samsung Pay una solución de pagos móviles
realmente universal (SAMSUNG, 2015).
Para agregar las tarjetas de crédito es un proceso muy sencillo y una vez agregada
el usuario solo debe deslizar su dedo desde la parte inferior de la pantalla para
desplegar la aplicación de Samsung Pay, se elige la tarjeta deseada para realizar el
pago y se identifica con el sensor de huella dactilar, se conecta el Smartphone con
los terminales de punto de venta y permite así realizar una compra rápida y segura.
158
6.8.3 Apple Pay. Apple lanzo en San Francisco el 9 de septiembre de 2014 el
Sistema de pago conocido como APPLE PLAY, que utiliza varias tecnologías para
realizar pagos desde su dispositivo Iphone 6, dando funciones como una billetera
electrónica, se utilizan diversas tecnologías como NFC, Touch ID, Secure Element
y Passbook (Apple, 2015).
159
Apple Play funcionará con también con el Apple Watch. Para realizar estos se podrá
acercar el teléfono a la terminal de cobro y validar la huella dactilar. Está
funcionando en 220.000 tiendas y cadenas de mercado como Nike, Apple, Disney,
Subway entre muchas otras de los EEUU (Apple, 2015).
El sistema de pagos funciona con las principales tarjetas de crédito y débito de los
bancos de Estados unidos como Visa, Master Card y American Express. El usuario
solo tiene que agregar sus tarjetas a Passbook (Apple, 2015).
160
6.9 APPS DE GOOGLE PLAY NFC
6.9.1 NFC TagInfo. La aplicación móvil para android NFC TagInfo permite leer la
información de metadatos y datos de contacto RFID y transponders NFC.
NFC TagInfo demuestra las capacidades de lectura de etiquetas de la API de
Android. Los desarrolladores pueden utilizar esta herramienta para inspeccionar y
verificar la información de sus etiquetas NFC y RFID. (Google Play, 2015)
Características:
161
Figura 64. NFC TagInfo
Características
• Nuevo rediseño
• Interfaz de usuario intuitiva
• Emparejamiento WiFi para teléfonos que soporten esta característica
• Emparejamiento Bluetooth para todas las versiones de Android NFC
• Lanzamiento de Aplicaciones con la opción de transferencia de datos
• Crear fácilmente un tag de contenido de sus contactos y favoritos
• Convertir los códigos QR en los conjuntos de datos NFC
• Ver el contenido existente de una etiqueta
• Exportación, importación y compartir conjuntos de datos NFC
• Administre su historial de etiquetas vistas y escritas
• Función lanzar para ejecutar el contenido de las etiquetas NFC con un simple
toque
• Copia de seguridad de los contenidos de una etiqueta antes de escribirla
162
• Borrar el contenido de una etiqueta
• Protección contra escritura una etiqueta
• Escribir varias etiquetas en secuencia
Los siguientes conjuntos de datos NFC son compatibles para iniciar aplicaciones:
6.9.3 WiFiTap WiFi NFC. Esta aplicación combina Wi-Fi y NFC, permitiendo a
163
los amigos y familiares conectarse a la misma red inalámbrica fácilmente. No es
necesario escribir el SSID y contraseña de la Red Wi-Fi, simplemente los
interesados en conectarse deben agitar su Smartphone a través de la etiqueta
NFC y conectarse (Google Play, 2015).
6.9.4 NFC Classic Tag Reader Writer. Esta aplicación permite de una manera muy
sencilla leer y escribir información de etiquetas NFC y establecer conexiones punto
a punto con sus amigos. (Google Play, 2015).
6.9.5 Trigger. Esta aplicación permite automatizar todas las acciones posibles en
los dispositivos con Android. Su uso es bastante simple, usamos un activador como
un tag NFC, para establecer conexiones a redes, localizaciones o eventos de
calendario y establecer condicionantes entre estos para establecer tareas y activar
alguno deseado (Google Play, 2015).
La aplicación tiene una versión pro con mayores funcionalidades. Esta aplicación
es compatible con etiquetas NFC Forum tipo 1, tipo 2, tipo 3 y tipo 4 y con etiquetas
NFC activadas por terceros como MIFARE Classic, DESFire, Ultralight y Ultralight
C (Google Play, 2015).
164
Figura 66. NFC Trigger
6.9.6 NFC Actions. Esta aplicación permite escribir varias acciones en tags,
permitiendo enviar correos, ira sitios web y permite realizar varios ajustes y acciones
como:
165
Figura 67. NFC Actions
Características Principales:
166
o Oyster, billetes electrónicos, área de Greater London, Reino Unido
(algunas tarjetas no son compatibles con el acceso público)
o Myki, Victoria, Australia
o Metro de Moscú, Moscú, Rusia
o Nol Silver y Gold Card, Dubai, Emiratos Árabes Unidos
o Pulpo, Hong Kong, China
o Suica, Super Urban Tarjeta Inteligente, Japón
o T: kort, Kolumbuskort, NSB-kort, Ruter Reisekortet, Noruega.
6.9.8 NFC Developer. Esta aplicación permite crear y escribir en tags NFC con el
dispositivo móvil y el PC, soporta todo tipo de registros NDEF y sus tipos de datos,
recordemos NDEF es el formato nativo de Android soportando Registros URI, texto,
Mime entre muchos más (Google Play, 2014).
Para iniciar a trabajar con esta aplicación es necesario obtener el plugin de Eclipse
en http://code.google.com/p/nfc-Eclipse-plugin/, Una vez se crea el mensaje NFC,
el editor automáticamente genera un código QR, que se escanea para esta
aplicación, Después, simplemente tocar una etiqueta NFC para escribir el mensaje
(Google Play, 2014).
167
Características:
6.9.9 NFC Tools. Esta aplicación permite leer y escribir las etiquetas NFC y RFID
compatibles con el Smartphone. Solo basta con acercar una etiqueta y la aplicación
mostrará información disponible según el tag leído por la App:
168
• Si la escritura es posible y si la etiqueta permite la configuración en sólo
lectura
• Todos los registros presentes en la etiqueta al formato NDEF
• También puede escribir diferentes tipos de datos en sus etiquetas NFC como
guardar un texto, enlaces, enlace hacia una aplicación, email, contacto, SMS,
ubicaciones en GPS, direcciones, agregar una conexión Bluetooth, guardar
datos personalizados y otras opciones.
• Otras características están disponibles, tales como la copia o la supresión de
una etiqueta NFC (Google Play, 2015).
6.9.10 Otras Aplicaciones NFC en Google Play. En el Sitio web de Google Play
(2015) nos permite ver el auge y la masificación de esta tecnología está permitiendo
que cada día aumente el desarrollo de aplicaciones móviles para NFC, hemos visto
como algunas ya existentes en sus versiones actualizadas cambian de nombre y
son agregadas nuevas funcionalidades, con versiones Pro para mejores acciones.
En el sitio web de Google Play al realizar la búsqueda de aplicaciones para NFC
encontramos 170 aplicaciones siendo algunas de ellas:
169
• NFC Widget • NFC Mifare Classic Scanner
• NFC Tools - Pro Edition • T-money Balance Check (NFC)
• NFC Daily • NFC Actions
• Banking card reader NFC (EMV) • NFC Developer
• NFC TagWriter by NXP • NFC Writer by Tagstand
• NFC Sniffer • NFC TagReader
• NFC Enabled? • NFC Basic
• NFC ReTag FREE • NFC Porter
• NFC card UID reader • Wi-Fi GO! & NFC Remote
• NFC Tasks • Drivers Reader NFC
• Share Tether NFC • NFC Swipe Settings
• Do I Have NFC? • NFC On
• PassWallet - Passbook + NFC • NFC - Tasker Launcher
• NFC Check by Tapkey • NFC Spy
• PlayMemories Mobile • NFC Reader
• NFC NearVox • AnyTAG NFC Launcher
• NFC Passport Reader (Old) • ABA NFC
• acer NFC • OAKLEY NFC
• eCL0WN: an NFC passport tool • Dangerous NFC (BETA)
• SuperBeam | WiFi Direct Share • CommBank
• saldoBip NFC • Crypto NFC — NFC Secret notes
• Yun NFC Launcher • NFC-Bots
• NFC Profile • My NFC Tag Free
• NFC ReTag Expert Plugin • Near Field Ninja - NFC Game
• Kapaver NFC • NFC Tag Manager
• NFC Transfer Beta • NFC Business Card
• TK-FNS040BK専用キーボード • NFC Connection
ソフトウェア • NFC Gears
• Badge NFC • Advanced NFC System
• NFC Launcher • Badge NFC PRO Key
• CardShake(business card, NFC) • NFC Fidelity PRO
• Business Card Holder with NFC • doorbl - your NFC doorbell
• NFC Ring Control • Timesheet NFC Add-On
• Mifare Doctor [NFC] (Free) • Timesheet NFC Add-On
• NFC Ring Unlock • NFC for Hue free
• EL LIBRO DE ALGO • NFC HUNTER
• WifiTap WiFi NFC • DG NFC Automation
• Microsoft Tag, QR & NFC • SMSP NFC
Reader • NFC TagSee
• NFC Smart Card Info • PROGRAMADOR-NFC
• Near Field NFC Tester • NFC HUD
• SmartPassLock NFC • NFC Fidelity Free
170
• NFC Tools Plugin : Reuse Tag • MardomDuff inventario in tasca
• NFC ReTag PRO • NFC EXPRESS
• MyLog: Libro de viajes + NFC • PhoneWeaver NFC plugin
• NFC Alarm Ultra • Recordatorio de Pastillas NFC
• Easy NFC Writer • NFC Business Cards
• NFC App Lock • inViu NFC-tracker
• nfc enabled • NFC Tag Launcher
• Mifare Doctor [NFC] (Pro) • NFC Contacts
• NFC for Hue • NFC Demo App by SIC
• NFC Writer by YUNNFC • Smart Poster NFC Reader
• NFC VIET • NFC Detail!
• NFC Task Manager • NFC Inventory tags Finder
• NFC Checkin • NFC Profiles+ for SVC (tags)
• NFC Chameleon • NFC Medic
• • Smart Poster NFC Writer
• TAGTUM NFC • NFC Profiles for SVC (tags)
• NFC ítems del Finder • NFC Writer TAGLife
• NFC-e SEFAZ-AM Consulta • NFC Tag maker & HEXEDIT
• NFC-Shopping • NFC Flower
• PPTLagartoSpock NFC • NFC Fighter
• NFC.safe - Beta • NFC Profile Manager
• NFC Service for CHT BT Dongle • hue Switch NFC
• Cargo NFC • Free NFC Writer
• NFC VOICECADDY+ • NFC Concentration
• NFC Demo • NFC Manager
• NFC Guard Tour - FREE • NFC based Weight Recorder
• NFC Labeler • Mobile Phone setting (NFC)
• NFC@pp • NFC Connect
• RFID / NFC Logger Application • NFC Tag Creator
• Altran NFC Task Launcher - Poc • 크랩슨 NFC
• NFC Remote
• NFC MORE
• NFC Biergarten
• Secure NFC
• NFC Product Selection
• NFC TagIn' Reader
• LogChart-NFC
• Ponto NFC
• NFC ELOCK 2 Basic
• NFC Android Tag
• Instant NFC WiFi + Notify
• NFC MORE • 국내 최초 NFC 키즈스쿨
• NFC AppTag • NFC Camera Puzzle
• ACR 122 USB NFC Reader Utils • HAYABUSA NFC
• Bluetooth Pairing through NFC BusinessCard_T
• NFC Alarm • NFC Status Widget
• NFC Umbrella • Perfect Profile (Widgets, NFC)
171
• ST NFC Based Pedometer • NFC Wifi
• NFC OMNICard Reader • NFC Widget
• NFC Solutions • NFC APP BY RFID4U
• Bluetooth NFCタグライタ • Lipisha NFC
• CI TapKad NFC Edition • NFC Umbrella
• NFC FakeCall • NFC Passport Reader
• TagCenter NFC Offers • NFC Passport Reader
• Cabasse NFC • CliqTags NFC Writer
• NeroX NFC Encoder • 9-FMC12Pro NFC
• NFC Tracking PRO • NFC ToDo
• NFC Treasure Hunt • NFC NDEF Writer
• NFC Ecosystem Game • Safe Keeper Card DEMO NFC
• NFC RFID Project Configurator • NFC Mobile Key Free
• NFC Camera • testo 184 NFC
• NFC BATTLER • 스 마 트 일 보 NFC
• NFC Bulk Writer • NFC Driving Diary
• NFC - example • NFC Reader
• Log-ic NFC Mobile App • Smart Poster NFC Reader
• NFC Despertador • NFC Guard Tour - FREE
• NFC Tag ID Reader • NFC coupons
• NFC Voice • QR NFC NETKEY
• NFC Time Control • Secret Note (NFC ver.)
• NFC sharing Windows-Android • Samsung NFC Connection
• NFC Formatter • Asistencia NFC Tiempo checkin
• My NFC Tag • NFC TagIn'
• NFC Time Tracking • LinKad NFC Edition
• NFC Time Tracking • PPTLagartoSpock NFC
• External NFC Reader Service • NFC Launcher
• NFC Wallet • NFC Rolodex
• Opaska Medyczna NFC • TimeTap NFC for Harvest
• NFC Monkey • NFC Storage Tag
• NFC Field Service • NFC 진품명품
• NFC Schedule Matching
• dS NFC
• NFC vCard Editor
• NFC TaskTags
• NFC Tracking Lite
• NFC ELOCK 2 Admin
• NFC Alarm Clock
• NFC iShop
172
6.10 TELÉFONOS CON TECNOLOGÍA NFC. El sitio Web NFC World
constantemente actualizá el listado de teléfonos con tecnología NFC disponible, a
continuación presentamos la lista publicada en su portal web:
173
• BlackBerry Curve 9380 • Google Nexus 7 (2013)
• BlackBerry Dtek60 • Google Nexus 9
• BlackBerry Passport • Google Pixel
• BlackBerry PlayBook • Google Pixel XL
• BlackBerry Priv • Google Project Tango
• BlackBerry Q10 tablet
• BlackBerry Q5 • Hike X1
• BlackBerry Z10
• Hike X1D
• BlackBerry Z30
• Hisense Sero 7 Pro
• Blu Life Pure XL
• HP Elitepad 900 • HP Elitebook Revolve
• HTC Desire 500 • Kuoziro FT701W NFC
Tablet
• HTC Desire 510
• Kyocera Hydro Elite
• HTC Desire 610
• Kyocera Hydro Icon
• HTC Desire 620
• Kyocera Hydro Vibe
• HTC Desire 816
• Kyocera Torque
• HTC Desire C
• Lenovo K800
• HTC Desire Eye
• Lenovo ThinkPad Tablet 2
• HTC Droid DNA/HTC J Butterfly
• LG Fx0
• HTC Droid Incredible 4G LTE
• LG G Flex
• HTC Evo 4G LTE
• LG G Flex 2
• HTC First
• LG G Pro 2
• HTC Incredible
• LG G2
• HTC Mini
• LG G3
• HTC One
• LG G3 Beat/LG G3 S
• HTC One M8
• LG G4
• HTC One M9
• LG G5
• HTC One Max
• LG Intuition
• HTC One SV
• LG KU380-NFC
• HTC One VX
• LG L50
• HTC One X/XL
• LG L70
• HTC Ruby/Amaze 4G
• LG L90
• HTC Windows Phone 8X
• LG Mach
• Huawei Ascend G300
• LG Optimus 3D Max
• Huawei Ascend G6 4G
• LG Optimus 4X HD
• Huawei Ascend G600
• LG Optimus Elite
• Huawei Ascend G7
• LG Optimus G
• Huawei Ascend Mate 7
• LG Optimus L5
• Huawei Ascend P2
• LG Optimus L7
• Huawei Ascend P7
174
• Huawei Ascend Y201 • LG Optimus LTE
• Huawei G620S • LG Optimus LTE Tag
• Huawei Honor 6 • LG Optimus Net
• Huawei Mate 8 • LG Optimus Vu
• Huawei Mate 9 • LG T530 Ego
• Huawei P8 • LG V10
• Huawei Sonic/Turkcell T20 • LG V20
• Huawei TalkBand B1 • LG Viper
• iBerry Auxus Nuclea N2 • LG Volt
• iOcean X8 • Lumigon T2
• Jolla by Jolla • Lumigon T2 HD
• Megafon Mint • Lumigon T3
• Meizu MX3 • M3 Android NFC Communi
• Meizu MX4 Pro cator
• Microsoft Lumia 640 • Samsung Galaxy Express
• Microsoft Lumia 650 • Samsung Galaxy Express
• Microsoft Lumia 950 2
• Microsoft Lumia 950 XL • Samsung Galaxy Grand 2
• Motorola Droid Maxx LTE
• Motorola Droid Mini • Samsung Galaxy Grand
• Motorola Droid Razr Prime
• Motorola Droid Razr HD • Samsung Galaxy K Zoom
• Motorola Droid Razr M • Samsung Galaxy Light
• Motorola Droid Razr M 4G LTE • Samsung Galaxy Mega
• Motorola Droid Razr Maxx HD • Samsung Galaxy Mini 2
• Motorola Droid Turbo • Samsung Galaxy Note
• Motorola Droid Turbo 2/Moto X • Samsung Galaxy Note 3
Force • Samsung Galaxy Note 4
• Motorola Droid Ultra • Samsung Galaxy Note II
• Motorola MC75A HF • Samsung Galaxy Premier
• Motorola Moto X • Samsung Galaxy Round
• Motorola Photon Q 4G LTE • Samsung Galaxy Rugby
• Motorola Razr D3 LTE/Pro
• Motorola Razr i/MT788 • Samsung Galaxy S
Advance
• MTS 975
• Samsung Galaxy S Blaze
• Nextbit Robin
4G
• Nokia 603
• Samsung Galaxy S II
• Nokia 700
• Samsung Galaxy S II Plus
• Nokia 701
• Samsung Galaxy S III
175
• Nokia 801T • Samsung Galaxy S III Mini
• Nokia 808 PureView • Samsung Galaxy S4
• Nokia C7/Astound • Samsung Galaxy S4
• Nokia Lumia 1020 Active
• Nokia Lumia 1520 • Samsung Galaxy S4 Mini
• Nokia Lumia 2520 • Samsung Galaxy S4 Zoom
• Nokia Lumia 610 NFC • Samsung Galaxy S5
• Nokia Lumia 620 • Samsung Galaxy S5
• Nokia Lumia 720 Active/Sport
• Nokia Lumia 730/735 • Samsung Galaxy S5 Mini
• Nokia Lumia 820 • Samsung Galaxy S6
• Nokia Lumia 830 • Samsung Galaxy S6
• Nokia Lumia 920 Active
• Nokia Lumia 925 • Samsung Galaxy S6 Edge
• Nokia Lumia 928 • Samsung Galaxy S7
• Nokia Lumia 930 • Samsung Galaxy S7 Edge
• Nokia Lumia Icon • Samsung Galaxy
• Nokia N9 Stratosphere II
• Nokia Oro • Samsung Galaxy Victory
• OnePlus 3 4G LTE
• OnePlus One • Samsung Galaxy Young
• Oppo Find 5 • Samsung S5230 NFC
• Oppo Find 7 • Samsung S5260 NFC
• Oppo N1 • Samsung SHW-A170K
• Orange Infinity 996 • Samsung Wave 578
• Orange San Diego • Samsung Wave M
• OrientPhone P6 Plus • Samsung Wave Y
• Panasonic BizPad • Samsung Windows RT Ativ
• Panasonic Eluga Tablet
• Panasonic Eluga Power • Samsung WP8 Ativ S
• Pantech Discover • Sharp Aquos Phone Serie
• Pantech Sky Vega LTE • Sharp Aquos Phone Zeta
• Pantech Sky Vega Racer • Sharp RW-T107 NFC
• Philips Xenium W336 Tablet
• Porsche Design P’9981 • Sharp RW-T110 NFC
Tablet
• Porsche Design P’9982
• Smartisan T2
• Prada phone by LG 3.0
• Sonim XP1301 Core NFC
• Runbo X6
• Sonim XPand NFC
• Samsung Ativ Odyssey
176
• Samsung Ativ S Neo • Sony SWR10 SmartBand
• Samsung Ativ SE • Sony Vaio Fit
• Samsung Galaxy A3 • Sony Xperia Acro S
• Samsung Galaxy A3 (2016) • Sony Xperia AX
• Samsung Galaxy A5 (2016) • Sony Xperia C5 Ultra
• Samsung Galaxy A7 (2016) • Sony Xperia E3 Dual
• Samsung Galaxy Ace 2 • Sony Xperia Ion
• Samsung Galaxy Ace 4 LTE • Sony Xperia L
• Samsung Galaxy Ace Style • Sony Xperia M
• Samsung Galaxy Alpha • Sony Xperia M2
• Samsung Galaxy Avant • Sony Xperia M5
• Samsung Galaxy • Sony Xperia P
Axiom/Samsung Galaxy Admire • Sony Xperia S
2 • Sony Xperia Sola
• Samsung Galaxy Core 2 • Sony Xperia SP
• Samsung Galaxy Core Advance • Sony Xperia T
• Samsung Galaxy Core LTE • Sony Xperia T2 Ultra
• Samsung Galaxy Exhilarate • Sony Xperia Tablet Z
• TazTag TazPad • Sony Xperia V
• TazTag TPH-One • Sony Xperia VL
• The Toughphone Defender • Sony Xperia Z
• THL 5000 • Sony Xperia Z Ultra
• Toughshield R-500 • Sony Xperia Z1
• Toughshield T700 • Sony Xperia Z1 Compact
• Turkcell MaxiPRO5 • Sony Xperia Z2
• Turkcell T11/ZTE Racer II • Sony Xperia Z2 Tablet
• Turkcell T40 • Sony Xperia Z3
• Umi Cross • Sony Xperia Z3 Compact
• Umi X2S • Sony Xperia Z5
• Vertu Constellation • Sony Xperia ZL
• Vertu Ti • Sony Xperia ZR
• Vodafone Smart 4 Power
• Vodafone Smart 4 Turbo
• Vodafone Smart III
• Xiaomi Mi 2A
• Xiaomi Mi 5 and Mi 5 Pro
• Xiaomi Mi Mix
• Xiaomi Mi Note 2
• Xiaomi Mi3
177
• Xolo X900
• Yota Devices YotaPhone (2014)
• Yulong Coolpad 8870 NFC
• Zopo ZP998
• ZTE Axon
• ZTE Blade II
• ZTE GoTa GH800
• ZTE Grand X IN
• ZTE Kis
• ZTE Nubia Z5
• ZTE Orbit
• ZTE PF200
• ZTE R233
178
7. DISEÑO DEL SISTEMA
Los siguientes requisitos son los definidos para la el desarrollo del prototipo
propuesto en este proyecto.
179
j. Marca (Char)
k. Línea(Char)
l. Modelo(Char)
m. Cedula propietario (Char)
7. La aplicación TransitoWeb, debe estar en la capacidad de recibir los datos
provenientes del dispositivo móvil desde la aplicación.
8. La aplicación WebTransito debe permitir editar, crear y eliminar campos de la
BD de datos del tránsito.
9. La aplicación NFCMovil debe desarrollarse para Android utilizando el API de
NFC
Este modelo permite manejar las funciones de cada uno de los componentes de
una forma más clara. El sistema, en este caso trabaja con un servidor Web que se
180
encarga de administrar, gestionar y almacenar los datos del sistema de información
de vehículos. El sistema móvil consulta los datos al servidor tomando como
identificador el chip NFC leído desde la aplicación móvil.
7.3.1 Niveles.
7.3.2 Componentes.
181
• API NFC Android Developers: La cual
permite la comunicación con el hardware NFC del teléfono móvil. Su funcio
nalidad es estrictamente de lectura de etiquetas NFC con los datos del
vehículo.
7.4.1 NIVELES
182
7.4.2 COMPONENTES
7.4.3 PROTOCOLOS
183
7.5 PROCESO DE INGENIERÍA DE SOFTWARE
184
7.5.2 DIAGRAMA DE SECUENCIA SISTEMA MÓVIL
185
7.5.3 DIAGRAMA DE ACTIVIDADES SISTEMA MÓVIL
186
7.5.4 DIAGRAMA COLABORACIÓN
187
8. TECNOLOGÍAS DE SOFTWARE APLICADAS
8.1 BOOTSTRAP
8.2 JAVA
Este lenguaje se utilizó para desarrollar la aplicación sobre Android, ya que este
lenguaje es el lenguaje nativo del Sistema Operativo Android y Junto con la API de
NFC de Android permite acceder a una interfaz de programación que accede
a información de los contaccteles NFC y teléfonos móviles con esta tecnología.
8.3 MySQL
Se eligió este Sistema de Gestión de base de datos para este proyecto por
ser una plataforma de software libre bajo la GNU, lo que sirve para
nuestras necesidades académicas y por las características técnicas de MySql
como soportar multihilo, grandes cantidades de datos, APIs para los diferentes
lenguajes, portabilidad, índices por tabla, gestión de usuarios, fácil instalación,
configuración y rapidez.
188
8.4 ASP.NET
Este framework permite desarrollar aplicaciones web usando lenguajes como C#.
Es un producto creado por Microsoft, cuanta con una gran comunidad y usuarios en
todo el mundo que lo usan para desarrollar aplicaciones web y servicios en XML.
Como se desarrolló una aplicación Web que interactúa con un servicio Web,
utilizamos este lenguaje debido a la experiencia y la robustez de su framework.
El proyecto utilizo un servidor de Windows donde se instaló un servicio Web de Asp
2.0.
8.6 PHP
Se usó PHP por el conocimiento que se tiene sobre el lenguaje, y ser uno de los
lenguajes más usados para desarrollo web, permite conectarse con la mayoría de
los motores de base de datos, programar orientado a objetos, es libre, fácil de
aprender y usar, cuenta con buena documentación, se tiene experiencia en el
desarrollo con este lenguaje y es la mejor opción para el desarrollo de la aplicación
móvil que permite administrar usuarios y tags NFC
189
9. DESARROLLO DEL SISTEMA
Las características del servidor son suficientes para que corra la aplicación Web
requerida para el funcionamiento del prototipo.
Para el desarrollo se estableció una solución pasiva NFC en las que funciona en la
frecuencia 13,56 HF.
190
9.2 REQUERIMIENTOS DE SELECCIÓN DE ETIQUETA NFC ADECUADA
191
• ¿Cuál será la velocidad del tag en el momento de la lectura?
R/ La velocidad de lectura de la etiqueta NFC está dada por el estándar que se
especifique.
9.2.1 Selección de Etiqueta NFC. Como resultado del análisis del sistema de
etiquetado NFC y tipo de tags NFC para el sistema, se eligió como solución óptima
la etiqueta desarrollada por la empresa UPM raflatac, que cumple con los
requerimientos deseados para el sistema. El producto se llama RaceTrack NFC
RFID que tiene un excelente rendimiento global y propiedades de seguridad. El
producto conforme con la ISO 14443A ha sido mejorado con un circuito integrado
Mifare UL C de NXP.
192
Figura 79. UPM Reaflatac
Fuente: www.upmrfid.com
Para la implementación del sistema fue necesario emular una situación real del
entorno en donde seria implementado el sistema de lectura de vehículos NFC, para
ello se utilizaron varias etiquetas NFC que fueron registradas en el sistema de
información para cumplir con el propósito del proyecto.
193
La aplicación web fue desarrollada en PHP, cumplía con la función de administrar y
gestionar los datos del sistema de información de la base de datos que estaba en
MySQL.
La aplicación fue desarrollada en un equipo portátil con procesador i7, 4 Gb de
memoria RAM y sistema operativo Windows 10. Esas características de hardware
fueron suficientes para que el servicio web funcionara adecuadamente.
La primera versión de la aplicación móvil solo contaba con la lectura de una etiqueta
NFC, en esta etapa se probó la funcionalidad de lectura de celular. Posteriormente
se implementó la función de conexión a un sistema de webservice, luego de varias
pruebas y refinamientos se logró unificar las dos partes para que interactuaran
juntas.
Para la prueba se utilizaron etiquetas CONFIDEX PET TIKET, de estándar ISO 1443
A y B, muy similares a las de UPM.
Las pruebas se realizaron con teléfonos Samsung Galaxy S3, en el cual se instaló
una etiqueta sobre un vidrio y se comprobó la lectura del tag sobre un vidrio.
194
Figura 80. Pruebas de lectura de tag sobre vidrio
195
9.6 RESULTADOS DEL PILOTO
La aplicación web móvil está en un estado muy básico, debido a que este no era el
objetivo del proyecto, una implementación futura podría ser conectar el sistema
móvil al sistema de información real del RUNT directamente mediante la utilización
de servicios web del gobierno.
Una característica que se podría añadir seria visualizar la posición GPS de donde
se están haciendo los registros de NFC, esto con el fin de tener un esquema
geográfico de donde se están haciendo los registros.
196
9.7.3 Diseño. El diseño de la aplicación móvil se utilizó Boostrap para el diseño del
Front del sistema de Información que contiene la información de los vehículos y el
tag asignado a cada uno.
197
9.7.5 Base de Datos. Para el desarrollo del prototipo se creó una base de datos
llamada Smartapp_nfcappmovil la cual está compuesta de tres tablas:
198
9.7.7 Código SQL de la tabla usertbl
199
`noMotor` varchar(50) NOT NULL,
`cilindrada` varchar(50) NOT NULL,
`color` varchar(50) NOT NULL,
`placa` varchar(50) NOT NULL,
`marca` varchar(50) NOT NULL,
`linea` varchar(50) NOT NULL,
`modelo` varchar(50) NOT NULL,
`cedulaPropietario` varchar(50) NOT NULL,
PRIMARY KEY (`idData`)
) ENGINE=MyISAM AUTO_INCREMENT=47 DEFAULT CHARSET=utf8;
/*!40101 SET character_set_client = @saved_cs_client */;
200
9.9 ADMINISTRACIÓN DE TAGS
201
información.
9.9.3 Borrar Registro de Tags. Se creó el botón para Eliminar para realizar el
borrado de toda la información del tag según el registro del Vehículo en el Sistema
de Información de Vehículos.
202
Fuente Elaboración Propia
9.9.4 Registro de Nuevo Tag. Para realizar el registro de un nuevo tag se deba ir
al menú Gestor de Tags lo cual desplegara el submenú “Nuevo” lo cual carga el
formulario de registro para nuevos tags.
203
permite listar los usuarios creados y crear nuevos registros de usuarios
Administradores del Sistema. Igualmente se crearon los botones para editar o borrar
usuarios.
Para lograr realizar consultas a la Base de Datos MySql desde Android es necesario
realizar un Web Service, para el desarrollo general del prototipo fue necesario crear
204
el Web Service para que haga consultas a la BD según el Id del Tag y devuelva los
datos en un String para ser consumidos por el Dispositivo Móvil.
Para el desarrollo del prototipo se creó un Web Service en C# usando Visual Studio
2012 y se publicó en servidor Windows Server 2012 con soporte para Asp y como
servidor web Internet Information Server (IIS).
El Web Service recibe las peticiones de consulta con ID del Tag NFC leído de la
app del Smartphone Android y este realizará la petición al servidor de Base de Datos
haciendo la consulta según el ID del tag, el servidor de Base de Datos ejecuta la
consulta solicitada y envía el Query al Web Service para que esta sea recibida y
enviada a la app Android donde se mostrará en una Activity los datos
correspondientes al Query que le corresponde el Id del Tag NFC según los campos
asociados al tag del Vehículo.
Para el desarrollo del servicio web con Android se trabajó con una librería
OpenSoucrce y de licencia MIT, KSOAP2, es una librería con cierto tipo de
características que nos sirven para realizar la comunicación entre el dispositivo
205
móvil de Android y el servidor que aloja la base de datos. Es una librería ligera,
eficiente y muy usada en el desarrollo de aplicaciones móviles.
Al hacer el acceso desde un navegador Web al Web Service este nos muestra el
método creado para obtener los datos de la Base de datos al Web Service
GetDataVehiculo
206
En el código XML podemos ver el POST realizado al WebServiceTransito.asmx en
el protocolo http/1.1 y la SoapAction solicitando los datos al servidor de BD y
guardándolos en un String. El String creado será consumido por el cliente en este
caso el dispositivo Android con la App Móvil NFC Transito.
HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length
207
<GetDataVehiculoResult>string</GetDataVehiculoResult>
</GetDataVehiculoResponse>
</soap:Body>
</soap:Envelope>
En el código xml podemos ver el POST en la versión del protocolo http/1.1 realizado
al servidor y la SoapAction solicitando los datos al servidor de BD y guardándolos
en un String
HTTP/1.1 200 OK
208
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length
Luego entramos a definir en namespace del proyecto en este caso se definió como
WebServiceTransito donde definimos la ubicación del WebService (url).
Creamos la clase publica llamada WSTransito que hereda los métodos de las clases
System.Web.Services.Webservice, en ella se definen las variables necesarias para
el uso de conexión y transacción a la Base de Datos.
209
guardados en otras variables de tipo String retornando los datos y cerrando la
conexión.
using System.Collections.Generic;
using System.Web;
using System.Web.Services;
using System.Text;
using System.Data;
using System.Security.Cryptography;
using MySql.Data.MySqlClient;
[WebService(Namespace = "http://www.smartappsnfc.com/Webservice/WebServiceTransito/")]
[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]
[System.ComponentModel.ToolboxItem(false)]
210
set { _intExistencias = value; }
public WSTransito()
//connConnection = System.Configuration.ConfigurationManager.ConnectionStrings["strConne
ction"].ConnectionString;
connConnection = "server=190.8.176.202;user=smart_nfcmiguel;port=3306;database=smartapp_
nfcappmovil;password=mF222is*;";
[WebMethod]
try
cmdSelect.CommandType = CommandType.Text;
connection.Open();
211
int ordColor = dr.GetOrdinal("color");
while (dr.Read())
if (!dr.IsDBNull(ordIdChip))
if (!dr.IsDBNull(ordCedulaPropietario))
else
212
{
connection.Close();
}
}
}
}
9.11.1 Aplicación Móvil Transito. La aplicación móvil fue diseñada para que corra
en dispositivos móviles con Sistema Operativo Android y que tengan el hardware de
NFC integrado. Para desarrollo y pruebas se utilizaron teléfonos Samsung Galaxy
S3, S4, S5, y Galaxy Note 4, LG G2 y Lg G4.
9.11.2 Permiso de NFC e Internet. La app NFC debe tener configurados los
permisos de Internet y NFC en el archivo AndroidManifest.xml.
213
<uses-sdk android:minSdkVersion="15" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.NFC" />
<uses-feature
android:name="android.hardware.nfc"
android:required="true" />
<application
android:icon="@drawable/ic_launcher"
android:label="@string/app_name" >
<activity
android:name=".NFCAppActivity"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="TagViewer"
android:theme="@style/AppTheme" >
<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>
</application>
</manifest>
214
Fuente Elaboración Propia
215
Fuente Elaboración Propia
package com.miguelgonzalez.nfcapp
import android.app.Activity;
import android.content.Intent;
import android.nfc.NfcAdapter;
import android.os.Bundle;
import android.os.StrictMode;
import android.view.Menu;
import android.view.MenuInflater;
import android.view.MenuItem;
import android.view.View;
import android.widget.Toast;
216
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
MenuInflater inflater = getMenuInflater();
inflater.inflate(R.menu.menubar, menu);
return true;
}
@Override
public boolean onOptionsItemSelected(MenuItem item){
Intent objIntent;
switch(item.getItemId())
{
case R.id.menu_search:
makeToast("Buscando Tag...");
objIntent = new Intent(NfcAdapter.ACTION_TAG_DISCOVERED);
objIntent.setClass(this, TagViewer.class);
startActivity(objIntent);
break;
case R.id.menu_salir_Item:
makeToast("Salir...");
finish();
break;
}
return true;
}
217
{
makeToast("Buscando Tag...");
Intent objIntent = new Intent(NfcAdapter.ACTION_TAG_DISCOVERED)
;
objIntent.setClass(this, TagViewer.class);
startActivity(objIntent);
}
218
Fuente Elaboración Propia
219
una carpeta llamada libs y se importa KSOAP2 desde Android Studio.
Una vez creado el proyecto de NFC y se ha importado la librería debemos tener
varios datos donde se publicara el servicio web como el servidor con su dirección
Ip, Url, Namespace y los métodos a ejecutar.
El siguiente paso es la definición de las variables private static final String del
proyecto:
Una vez define estos datos y teniendo en cuenta que para el desarrollo de este web
service se usó Visual Studio 2012 y 2015 debemos iniciar a construir la solicitud al
método del servicio.
• Lo seguido a realizar es identificar parámetros y el tipo de datos que son
devueltos por el método del servicio.
• Posteriormente iniciamos la construcción de la petición SOAP utilizando la
clase SoapObject.
• Una vez iniciamos la petición seguido debemos construir el "sobre" del
mensaje SOAP: En la parametrización, se especifica el tipo de protocolo de
comunicación (SOAP1.1 / 1.2, etc..) y como característica especial si el
EndPoint es un servicio dotNet
• A la petición (objeto request) se la añaden los parámetros con el método
AddProperty.
• Se construye el objeto de transporte para invocar el método (clase
HttpTransportSE).
• Al invocar al método "call" de la clase "HttpTransportSE" se recogen los
resultados del servicio.
• Finalmente se recogen los resultados utilizando el objeto devuelto
(response) e invocando al método getProperty.
220
{String SoapAction = "http://www.smartappsnfc.com/Webservice/WebServiceT
ransito/GetDataVehiculo";
String MethodName = "GetDataVehiculo";
TextView txtClaseVehiculo = (TextView) findViewById(R.id.tvClaseVehiculo);
TextView txtTipoCarroseria = (TextView) findViewById(R.id.tvTipoCarroceria);
TextView txtCombustible = (TextView) findViewById(R.id.tvCombustible);
TextView txtcapacidad = (TextView) findViewById(R.id.tvCapacidad);
TextView txtnoMotor = (TextView) findViewById(R.id.tvNoMotor);
TextView txtcilindrada = (TextView) findViewById(R.id.tvCilindrada);
TextView txtcolor = (TextView) findViewById(R.id.tvColor);
TextView txtplaca = (TextView) findViewById(R.id.tvPlaca);
TextView txtmarca = (TextView) findViewById(R.id.tvMarca);
TextView txtlinea = (TextView) findViewById(R.id.tvLinea);
TextView txtmodelo = (TextView) findViewById(R.id.tvModelo);
TextView txtcedulaPropietario = (TextView) findViewById(R.id.tvCedulaPropietario
);
makeToast("Cargando datos...");
if(soapResult.toString() != null)
{
if(soapResult.toString().trim().length() != 0)
221
{
String[] DataProdu = soapResult.toString().split(">");
if(DataProdu.length > 1)
{
txtClaseVehiculo.setText("Clase Vehiculo: " + DataProdu[0]);
txtTipoCarroseria.setText("Carroseria: " + DataProdu[1]);
txtCombustible.setText("Combustible: " + DataProdu[2]);
txtcapacidad.setText("Capacidad: " + DataProdu[3]);
txtnoMotor.setText("No Motor: " + DataProdu[4]);
txtcilindrada.setText("Cilindrada: " + DataProdu[5
txtcolor.setText("Color: " + DataProdu[6]);
txtplaca.setText("Placa: " + DataProdu[7]);
txtmarca.setText("Marca: " + DataProdu[8]);
txtlinea.setText("Linea: " + DataProdu[9]);
txtmodelo.setText("Modelo: " + DataProdu[10]);
txtcedulaPropietario.setText(" Cedula Propietario: " + DataProdu[11]);
}
Else
{
txtClaseVehiculo.setText("ID Tag no encontrado en sistema!!!");
}
}
makeToast("¡OK!");
222
Fuente Elaboración Propia
223
Figura 96. Generar APK Key Creation
Una vez se diligencia los datos como se muestra en la figura anterior hacemos clic
en next y para finalizar en Finish, esto nos generara el APK en la carpeta del
proyecto.
9.11.9 Instalación de la App NFC. La aplicación puede instalarse utilizando la
herramienta AirDroid http://airdroid.com/, esta app puede instalarse en Windows,
Android y Mac, existen otros métodos para realizar la transferencia de la apk al
teléfono móvil como puede ser por USB, Bluethooh, correo y otras aplicaciones.
Para este caso lo vamos a realizar con AirDroid en Windows 10, descargamos e
instalamos AirDroid. Abrimos la aplicación, se realiza el registro y luego se debe
acceder con el usuario y login creados.
224
Fuente Elaboración Propia
Una vez se realiza la transferencia del apk del Pc al Smartphone en este caso un
Samsung Galaxy Note 4 modelo SM-N910C, procedemos a ir al teléfono para hacer
la instalación desde el móvil.
225
Abrimos la app de AirDroid desde el Smartphone y observamos que tenemos una
notificación en la transferencia de un archivo, vamos a transferencia lo cual nos
muestra en la pantalla en nombre de la apk, procedemos a hacer clic para
descargarla como se muestra en la siguiente figura:
226
Fuente Elaboración Propia
227
Fuente Elaboración Propia
228
aplicación se debe ubicar el icono instalado en un escritorio del dispositivo móvil y
procedemos ejecutarla.
229
Fuente Elaboración Propia
230
Fuente Elaboración Propia
231
10. PRUEBAS Y FUNCIONAMIENTO.
Se realizaron pruebas para ingresar al Sistema Web Vehículos para registrar tags y
los datos de cada vehículo. Las pruebas se realizaron en equipos Windows con
Sistema Operativo Windows 10 y Linux Fedora 23, navegador Google Chrome, las
pruebas realizadas todas fueron exitosas, la interfaz web abrió sin ninguna novedad
en diseño y no se presentaron errores en su ejecución.
La instalación de los tags en los vehículos se realizó sin problemas, se usaron tags
adheribles al vidrio panorámico del vehículo. Se ubicó el tag al lado izquierdo. El tag
seleccionado es un tag circular de color blanco que puede personalizarse con el uso
de impresoras Zebra especiales para tag NFC y RFID.
232
Figura 105. Tags en Vehículos
Una vez finalizado el desarrollo del Web Service se debe subir e instalar al servidor
con las características técnicas mencionadas anteriormente, Con la prueba de
funcionamiento de la App móvil se puede comprobar el correcto funcionamiento del
Web Service al mostrar los datos en la app móvil, que es el resultado de la consulta
realizada al servidor de Bases de Datos.
233
10.5 PRUEBA EN DIFERENTES DISPOSITIVOS MÓVILES
Una vez el tag se ha instalado en el vehículo, se puede usar cualquier app NFC
para comprobar su funcionamiento y no se haya dañado su estructura durante el
proceso de instalación. Para proyectos en producción es necesario realizar la
impresión o personalización de los tags antes de ser adheridos a los vehículos,
realizar una prueba de lectura y obtener su ID para ser ingresado al sistema de
Información.
La siguiente prueba se realiza con los tag NXP MIFARE Ultralight (Ultralight C) –
NTAG203 y NXP mifare classic 1k con el dispositivo Samsung Galaxy Note 4 y Lg
G4.
234
Figura 106. Lectura de Tags y resultados de consulta
235
Figura 107. Prueba de lectura de Tags en Vehículos
236
Fuente Elaboración Propia
237
10.8 Recolección Datos y Pruebas de Lectura
Se utilizaron tags Mifare Classic de 1K que son compatibles con los tres
smartphones como lo muestra la siguiente tabla:
238
Tabla 14. Prueba de lectura tags NFC en vehículos. Prueba N° 1
# de prueba 001
VEHÍCULO MODELO / Chevrolet Cruze Nickel LS
MARCA
NÚMERO DE PLACA REV317
Idchip 049b21aa973b80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTURA Samsung 1.11 Samsung 6.65 Lg G4 1.09
(segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
239
Tabla 15. Prueba de lectura tags NFC en vehículos. Prueba N° 2
# de prueba 002
VEHÍCULO MODELO / Mazda 3
MARCA
NÚMERO DE PLACA RCN567
Idchip 04990faa973b80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.58 Samsung 4.78 Lg G4 1.01
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
240
Tabla 16. Prueba de lectura tags NFC en vehículos. Prueba N° 3
# de prueba 003
VEHÍCULO MODELO / Chevrolet Sail Lt
MARCA
NÚMERO DE PLACA ZYV181
Idchip 049b1caa973b80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTURA Samsung 1.26 Samsung 4.61 Lg G4 1.12
(segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
241
Tabla 17. Prueba de lectura tags NFC en vehículos. Prueba N° 4
# de prueba 004
VEHÍCULO MODELO / Grand Vitara SZ Suzuki
MARCA
NÚMERO DE PLACA CXM426
Idchip 049a18aa973b80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.57 Samsung 4.53 Lg G4 1.10
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
242
Tabla 18. Prueba de lectura tags NFC en vehículos. Prueba N° 5
# de prueba 005
VEHÍCULO MODELO Chevrolet Sail
/ MARCA
NÚMERO DE PLACA UUP336
Idchip 049914aa973b80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.16 Samsung 5.90 Lg G4 1.32
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
243
Tabla 19. Prueba de lectura tags NFC en vehículos. Prueba N° 6
# de prueba 006
VEHÍCULO MODELO Chevrolet Sonic
/ MARCA
NÚMERO DE PLACA HCW561
Idchip 043058129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.35 Samsung 5.88 Lg G4 1.10
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
244
Tabla 20. Prueba de lectura tags NFC en vehículos. Prueba N° 7
# de prueba 007
VEHÍCULO MODELO / Chevrolet Captiva
MARCA
NÚMERO DE PLACA DGO999
Idchip 044558129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTURA Samsung 1.32 Samsung 4.46 Lg G4 1.17
(segundos) Galaxy Galaxy S3
Note 4
Observaciones
Fotografía
245
Tabla 21. Prueba de lectura tags NFC en vehículos. Prueba N° 8
# de prueba 008
VEHÍCULO MODELO / Ford Ecosport
MARCA
NÚMERO DE PLACA CVZ682
Idchip 043b58129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.6 Samsung 4.25 Lg G4 1
A (segundos) Galaxy 5 Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
246
Tabla 22. Prueba de lectura tags NFC en vehículos. Prueba N° 9
# de prueba 009
VEHÍCULO MODELO Toyota Prado tx
/ MARCA
NÚMERO DE PLACA MJU983
Idchip 043558129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.16 Samsung 4.39 Lg G4 1.12
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones
Fotografía
247
Tabla 23. Prueba de lectura tags NFC en vehículos. Prueba N° 10
# de prueba 0010
VEHÍCULO MODELO / Chevrolet Aveo
MARCA
NÚMERO DE PLACA KEQ609
Idchip 044058129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.27 Samsung 4.16 Lg G4 0.86
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
248
Tabla 24. Prueba de lectura tags NFC en vehículos. Prueba N° 11
# de prueba 0011
VEHÍCULO MODELO / Volkswagen Jetta
MARCA
NÚMERO DE PLACA CYG370
Idchip 042458129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTURA Samsung 1.7 Samsung 4.53 Lg G4 1.12
(segundos) Galaxy 1 Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
249
Tabla 25. Prueba de lectura tags NFC en vehículos. Prueba N° 12
# de prueba 0012
VEHÍCULO MODELO / Renault Duster Dynamique Mt
MARCA
NÚMERO DE PLACA MBT721
Idchip 041f58129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.74 Samsung 5.09 Lg G4 1.10
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
250
Tabla 26. Prueba de lectura tags NFC en vehículos. Prueba N° 13
# de prueba 0013
VEHÍCULO MODELO Kia Sorento
NÚMERO DE PLACA RAZ099
Idchip 041a58129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.65 Samsung 7.29 Lg G4 1.16
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones
Fotografía
251
Tabla 27. Pruebas lectura tags NFC en vehículos. Prueba N° 14
# de prueba 0014
VEHÍCULO MODELO Ford Ranger
/ MARCA
NÚMERO DE PLACA DJX857
Idchip 041c57129a4c80
TIPO DE TAG
TIEMPO DE LECTUR Samsung 1.4 Samsung 5.57 Lg G4 0.87
A (segundos) Galaxy 8 Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
252
Tabla 28. Pruebas lectura tags NFC en vehículos. Prueba N° 15
# de prueba 0015
VEHÍCULO MODELO / Swift Suzuki
MARCA
NÚMERO DE PLACA IMU114
Idchip 042157129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.74 Samsung 5.39 Lg G4 0.94
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
253
Tabla 29. Pruebas lectura tags NFC en vehículos. Prueba N° 16
# de prueba 0016
VEHÍCULO MODELO Chevrolet captiva sport
/ MARCA
NÚMERO DE PLACA KAM128
Idchip 042657129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.73 Samsung 6.43 Lg G4 0.96
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
254
Tabla 30. Pruebas lectura tags NFC en vehículos. Prueba N° 17
# de prueba 0017
VEHÍCULO MODELO Kia Cerato Pro
NÚMERO DE PLACA UCT349
Idchip 042d57129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.95 Samsung 3.85 Lg G4 1.18
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
255
Tabla 31. Pruebas lectura tags NFC en vehículos. Prueba N° 18
# de prueba 0018
VEHÍCULO MODELO Chevrolet luv D max
/ MARCA
NÚMERO DE PLACA SXN424
Idchip 043257129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.73 Samsung 5.04 Lg G4 1.02
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
256
Tabla 32. Pruebas lectura tags NFC en vehículos. Prueba N° 19
# de prueba 0019
VEHÍCULO MODELO / Nissan Pathfinder
MARCA
NÚMERO DE PLACA OUE538
Idchip 043957129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.63 Samsung 4.19 Lg G4 1.01
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
257
Tabla 33. Pruebas lectura tags NFC en vehículos. Prueba N° 20
# de prueba 0020
VEHÍCULO MODELO / Renault symbol alize
MARCA
NÚMERO DE PLACA MQJ984
Idchip 042958129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 2.19 Samsung 4.70 Lg G4 1.08
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
258
Tabla 34. Pruebas lectura tags NFC en vehículos. Prueba N°21
# de prueba 0021
VEHÍCULO MODELO / Chevrolet sail
MARCA
NÚMERO DE PLACA IJL641
Idchip 040256129a4c81
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.25 Samsung 5.80 Lg G4 1.04
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
259
Tabla 35. Pruebas lectura tags NFC en vehículos. Prueba N° 22
# de prueba 0022
VEHÍCULO MODELO / Hyundai Tucson gls
MARCA
NÚMERO DE PLACA CMD185
Idchip 04fd56129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTURA Samsung 1.63 Samsung 5.26 Lg G4 1.26
(segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
260
Tabla 36. Pruebas lectura tags NFC en vehículos. Prueba N° 23
# de prueba 0023
VEHÍCULO MODELO Nissan Frontier
/ MARCA
NÚMERO DE PLACA RHR573
Idchip 04f356129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 2.21 Samsung 5.03 Lg G4 1.16
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
261
Tabla 37. Pruebas lectura tags NFC en vehículos. Prueba N° 24
# de prueba 0024
VEHÍCULO MODELO / Renault Symbol Ii Luxe
MARCA
NÚMERO DE PLACA RCV582
Idchip 04f856129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTURA Samsung 1.95 Samsung 6.48 Lg G4 1.03
(segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
262
Tabla 38. Pruebas lectura tags NFC en vehículos. Prueba N° 25
# de prueba 0025
VEHÍCULO MODELO / Mazda 6
MARCA
NÚMERO DE PLACA FLM000
Idchip 04ee56129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.50 Samsung 6.21 Lg G4 1.17
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
263
Tabla 39. Pruebas lectura tags NFC en vehículos. Prueba N° 26
# de prueba 0026
VEHÍCULO MODELO / Toyota prado sumo
MARCA
NÚMERO DE PLACA BYV825
Idchip 04e956129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.57 Samsung 6.74 Lg G4 1
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
264
Tabla 40. Pruebas lectura tags NFC en vehículos. Prueba N° 27
# de prueba 0027
VEHÍCULO MODELO Chevrolet Optra
NÚMERO DE PLACA BRC533
Idchip 04e356129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.64 Samsung 5.30 Lg G4 1.16
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
265
Tabla 41. Pruebas lectura tags NFC en vehículos. Prueba N° 28
# de prueba 0028
VEHÍCULO MODELO / Grand Vitara SUZUKI
MARCA
NÚMERO DE PLACA ABP 813
Idchip 04de56129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTURA Samsung 1.48 Samsung 3.53 Lg G4 0.96
(segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
266
Tabla 42. Pruebas de lectura tags NFC en vehículos. Prueba N° 29
# de prueba 0029
VEHÍCULO MODELO / Nissan Pathfinder
MARCA
NÚMERO DE PLACA RKK441
Idchip 04d956129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 2.20 Samsung 3.14 Lg G4 1.02
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
267
Tabla 43. Pruebas lectura tags NFC en vehículos. Prueba N° 30
# de prueba 0030
VEHÍCULO MODELO FORD ECO SPORT
NÚMERO DE PLACA CVZ682
Idchip 04d456129a4c80
TIPO DE TAG MIFARE ULTRALIGHT
TIEMPO DE LECTUR Samsung 1.55 Samsung 6.05 Lg G4 1.12
A (segundos) Galaxy Galaxy S3
Note 4
Observaciones Lectura sin novedad
Fotografía
268
Tabla 44. Consolidación de Datos
3 Chevrolet Sai
ZYV181 049b1caa973b80 1.26 4.61 1.12
l Lt
4 Grand Vitara
CXM426 049a18aa973b80 1.57 4.53 1.10
SZ Suzuki
5 Chevrolet Sai
UUP336 049914aa973b80 1.16 5.90 1.32
l
6 Chevrolet So
HCW561 043058129a4c80 1.35 5.88 1.10
nic
7 Chevrolet Ca
DGO999 044558129a4c80 1.32 4.46 1.17
ptiva
8 Ford Ecospor
CVZ682 043b58129a4c80 1.65 4.25 1
t
9 Toyota Prado
MJU983 043558129a4c80 1.16 4.39 1.12
tx
10 Chevrolet Av
KEQ609 044058129a4c80 1.27 4.16 0.86
eo
11 Volkswagen
CYG370 042458129a4c80 1.71 4.53 1.12
Jetta
12 Renault Dust
er Dynamiqu MBT721 041f58129a4c80 1.74 5.09 1.10
e
13 Kia Sorento
RAZ099 041a58129a4c80 1.65 7.29 1.16
14 Ford Ranger DJX857 041c57129a4c80 1.48 5.57 0.87
15 Swift Suzuki IMU114 042157129a4c80 1.74 5.39 0.94
16 Chevrolet ca
KAM128 042657129a4c80 1.73 6.43 0.96
ptiva sport
17 Kia Cerato Pr
UCT349 042d57129a4c80 1.95 3.85 1.18
o
18 Chevrolet luv
SXN424 043257129a4c80 1.73 5.04 1.02
D max
19 Nissan Pathfi
OUE538 043957129a4c80 1.63 4.19 1.01
nder
20 Renault sym
MQJ984 042958129a4c80 2.19 4.70 1.08
bol alize
21 Chevrolet sai
IJL641 040256129a4c81 1.25 5.80 1.04
l
269
22 Hyundai Tuc
CMD185 04fd56129a4c80 1.63 5.26 1.26
son gls
23 Nissan Fronti
RHR573 O4f356129a4c80 2.21 5.03 1.16
er
24 Renault Sym
RCV582 04f856129a4c80 1.95 6.48 1.03
bol Ii Luxe
25 Mazda 6
FLM000 04ee56129a4c80 1.50 6.21 1.17
26 Toyota prado
BYV825 04e956129a4c80 1.57 6.74 1
sumo
27 Chevrolet Op
BRC533 04e356129a4c80 1.64 5.30 1.16
tra
28 Grand Vitara
ABP 813 04de56129a4c80 1.48 3.53 0.96
SUZUKI
29 Nissan Pathfi
RKK441 04d956129a4c80 2.20 3.14 1.02
nder
30 FORD ECO
CVZ682 04d456129a4c80 1.55 6.05 1.12
SPORT
270
11. RESULTADOS OBTENIDOS
Hace parte del Sistema creado tres aplicaciones que se comunican entre sí por
medio de Servicio Web para el intercambio de datos entre la Base de Datos y la
Aplicación móvil en el Smartphone.
El Sistema creado también es una alternativa de bajo costo para realizar el proceso
de identificación de vehículos ya que no sería necesario que las entidades que
ejercen control y vigilancia adquieran e implementen soluciones en Hardware y
Software más costosos, como por ejemplo el proyecto realizado para el Control a
Taxis en Bogotá por medio de Lectores Hand Held UHF como se describe en la
página 28 de este documento.
Esta Sistema desarrollado aporta una alternativa de bajo costo y muy alto beneficio
para realizar el proceso de identificación vehicular en nuestra ciudad y país.
271
11.1 FUNCIONAMIENTO TÉCNICO DE LA TECNOLOGÍA NFC
Se logró identificar las áreas donde se puede implementar esta tecnología como en
Transporte, Juegos, Educación, Marketing y Publicidad, Bibliotecas, Vehículos,
Hogar, Oficina, Dispositivos Multimedia, Pagos Electrónicos y Aplicaciones Móviles.
Como resultado se obtuvo una Aplicación web y una Aplicación móvil totalmente
funcionales, probadas satisfactoriamente en el Sistema de Identificación Vehicular
desarrollado. Se realizó la identificación de varios vehículos y se comprobó la
información del tag correspondiera a la del vehículo.
272
11.4 APP MÓVIL TRANSITO
La aplicación móvil fue diseñada para que corra en dispositivos móviles con Sistema
Operativo Android 5, y que tengan el hardware de NFC integrado. Para desarrollo y
pruebas se utilizaron teléfonos Samsung Galaxy Note 4 y Lg G4 y Tags de lectura
y escritura Tipo I correspondientes a la norma ISO 14443A.
Se realizó una descripción de las Clases, Interfaces del API, además se aprendió
a usar el Sistema de Despacho de Tags, se documentó su funcionamiento y se
describieron los Intents ACTION_NDEF_DISCOVERED,
ACTION_TECH_DISCOVERED y ACTION_TAG_DISCOVERED y el desarrollo en
XML para cada uno de ellos. De igual manera se describió como se crean los
registros NDEF, leer y escribir Tags NFC.
Estos estándares ISO / IEC también son usados en los diferentes tipos de Tags y
sobre el cual trabaja cada uno tanto en lectura como en escritura. Las pruebas
permitieron obtener como resultado que se debe tener en cuenta que tipo de tags
son compatibles con el Dispositivo móvil a usar, no todas las etiquetas NFC con
compatibles con todos los móviles existentes hoy en el mercado.
273
11.7 DISEÑO UN SISTEMA DE BASE DE DATOS QUE PERMITA MOSTRAR LA
INFORMACIÓN DE LOS VEHÍCULOS
Los atributos para los que se crearon campos en la Base de Datos son:
• IdCHip
• Placa
• Cedula de Propietario
• Clase de Vehículo
• Capacidad
• N motor
• Cilindraje
• Color
• Marca
• Línea
• Modelo
El resultado del desarrollo del Web Service fue una aplicación que se comunicara
con la Base de Datos y la App Móvil, se logró realizar consultas a la BD según el Id
del Tag y devolver los datos en un String para ser consumidos por la App del
Dispositivo Móvil.
274
El Web Service recibe las peticiones de consulta con ID del Tag NFC leído de la
app del Smartphone Android y este realizará la petición al servidor de Base de Datos
haciendo la consulta según el ID del tag, el servidor de Base de Datos ejecuta la
consulta solicitada y envía el Query al Web Service para que esta sea recibida y
enviada a la app Android donde se mostrará en una Activity los datos
correspondientes al Query que le corresponde el Id del Tag NFC según los campos
asociados al tag del Vehículo.
275
12. ANÁLISIS DE RESULTADOS DE LAS PRUEBAS
Para la instalación del tag en el vidrio panorámico delantero del vehículo debe
encontrarse libre de agua, polvo y humedad. Se retira la capa protectora y se instala
como se muestra en la figura 105. Se usaron tags circulares y rectangulares Mifare
Ultralight para las pruebas, lo importante es que el tag sea compatible con el móvil
con el que se realiza la lectura o usar un tipo de tag universal y que sea compatible
con el teléfono usar.
Se decidió colocar el tag al lado izquierdo del parabrisas del vehículo para facilitar
la lectura al operador que realiza la lectura del tag y poder ejercer una mejor
comunicación con el conductor en caso de algún requerimiento adicional.
La etiqueta NFC debido a que se comunica por acoplamiento inductivo las ondas
de radio pasan el vidrio a una distancia muy corta permitiendo la lectura del tag.
Es importante mencionar que el tag va a estar por mucho tiempo expuesto al sol, lo
que se estima que la vida útil de la etiqueta sea de 2 años a 3 años. Con el tiempo
se puede condensar la etiqueta NFC y hay que cambiarla. La etiqueta debe de tener
un una cobertura aislante que permita que la etiqueta sufra menos con la exposición
de humedad y temperatura.
En las pruebas que se realizaron se logró evidenciar que el registro de Tags puede
realizarse desde un Pc normal con Sistema Operativo, navegador Web y conexión
a internet, la aplicación Web Transito se desarrolló bajo estándares Responsive
Design lo cual permite que la interfaz se adapte a cualquier dispositivo móvil sin
ningún inconveniente, ello permite un acceso fácil y rápido al Sistema de
Información Web y registrar Tags.
276
Figura 108. Tags en Vehículos desde Navegador Smartphone
277
con tiempo promedio de 5,1743 segundos, este ultimo teléfono tiene menor
capacidad en memoria y procesador.
Todos los tags funcionaron en las pruebas de lectura y se evidencio que para
realizar una lectura precisa se debe acercarse el Smartphone al tag en la posición
de la batería para evitar demoras en la detección del tag.
En sitios cerrados o sin ningún tipo de conectividad es imposible que se carguen los
datos, la app móvil Transito requiere conexión a Internet para comunicarse con el
Servidor donde se aloja el Web Service.
6
5
4
3 5,1743
2
1 1,5986 1,075
0
Samsung Galaxy Samsung Galaxy S3 Lg G4
Note 4
278
Un aspecto importante para la lectura de los tags es la respuesta de la
comunicación, en las pruebas realizadas se evidencio que la recepción de los
resultados en la aplicación móvil puede estar entre los 1 a 6 segundos.
Se realizaron pruebas con tags tipo 1 con las aplicaciones de Samsung, NFCTools
para realizar la escritura y lectura de tag para diferentes eventos como enviar un
correo abrir una página web, enviar un mensaje de texto, realizar una llamada. Con
eso se logró comprobar el funcionamiento de tags y las diferentes funciones que
traen muchas apps disponibles en Google Play Store.
12.5.2. Tags. Según el proyecto a realizar se debe identificar los Tags NFC a usar
deben ser compatibles con el dispositivo móvil o lector NFC a usar, esto para evitar
inconvenientes de compatibilidad entre los modelos de móviles y los diferentes tipos
de Tags.
279
Los Tags y según su tipo tienen distintas características y capacidades como la
capacidad de memoria, memoria útil, longitud de textos, url, compatibilidad con
dispositivos móviles, usos, distancia de escaneo, criptografía e ID, estas
características permiten diferentes usos.
Según el proyecto a realizar se pueden usar los tags NTAG 203 y los Ultralight que
son compatibles con todos los teléfonos móviles NFC que cuentan con esta
tecnología.
Una recomendación de los fabricantes de Tags es que si se van a usar sobre una
superficie metálica se debe utilizar tags especiales para estas condiciones como
anti métales, si no se tiene en cuenta ese factor el metal va interferir en el campo
magnético, evitando que se lea o escriba sobre un tag.
Los Tags de la Serie NTAG son compatibles con todos los dispositivos. En el
mercado se encuentran de chips NTAG. De diferentes referencias como lo son los
NTAG203, NTAG212, NTAG213, NTAG215 y NTAG216.
280
13. TRABAJO FUTURO
Para las próximas versiones del proyecto y trabajo futuro por realizar se plantean
una serie de actividades para llegar a una versión de producción estable y
comercial:
• Subir el proyecto a GitHub, en una versión básica y se libere con una licencia
Opensource.
• Utilizar MVC – Modelo – Vista – Controlador para mejorar el desarrollo para
la aplicación web.
• Compilar la app móvil para Android en versiones 6 y 7.
• Seleccionar un proveedor de tags teniendo en cuenta el diseño
personalizado e impresión de tags.
• Realizar pruebas de seguridad a los tags, aplicaciones web y móviles, se
plantea realizar pruebas para conocer el procedimiento para la clonación de
tags y duplicación de Ids de cada tag.
• Implementar un login de acceso a usuarios en la App Móvil para controlar y
tener un log de las consultar realizadas por cada usuario que realiza la
identificación vehicular.
• Crear un campo de observaciones para que se escriba algún comentario u
observación para ser guardado en la Base de Datos, de igual manera se
puede cargar una imagen del vehículo y tomar una fotografía del mismo en
caso de un accidente o novedad.
281
14. CONCLUSIONES
NFC cuenta con tres modos de funcionamiento y en cada uno de ellos existen
diversidad de aplicaciones, siendo en estos últimos dos años el más importate el
Modo de Emulación de Tarjeta, para realizar pagos con Tarjetas de Crédito
cargadas desde el teléfono móvil.
282
Secretarias de Transito y Movilidad de las principales ciudades, para controlar la
información que sea requerida de cada vehículo; NFC probó ser una alternativa
efectiva y posible para la solución de este problema e inclusive demostró que
puede ser muchísimo más conveniente que las soluciones RFID UHF empleadas
actualmente en la ciudad de Bogotá.
283
Bibliografía
284
El Espectador. (29 de 12 de 2008). El Espectador. Obtenido de En Bogotá, hay 48.
000 taxis legales: http://www.elespectador.com/noticias/bogota/articulo1027
80-bogota-hay-48000-taxis-legales
España, D. (2011). Xpress Hosting Blog. Obtenido de Angry Birds Magic: libera niv
eles con NFC.: http://blog.xpress.com.mx/2011/04/angry-birds-magic-libera-
niveles-con-nfc/
Etiquetas NFC. (2015). Lector NFC ACR122 USB. Obtenido de http://www.etiqueta
s-nfc.es/acr122-usb
Exposito G, J. (22 de Octubre de 2014). ExpoCode Tech. Obtenido de http://expoc
odetech.com/nfc-en-android/
GlobalPlatform. (2015). Obtenido de https://www.globalplatform.org/mediaguideSE.
asp
Google. (2012). Google Wallet . Obtenido de http://www.google.com/wallet/busines
s/in-store/nfc.html
Google Android. (Octubre de 2015). ANDROID MARSHMALLOW. Obtenido de htt
ps://www.android.com/versions/marshmallow-6-0/
Google Android. (2015). Android Pay. Recuperado el Octubre de 2015, de https://w
ww.android.com/pay/
Google Play. (11 de Enero de 2013). NFC Actions. Obtenido de https://play.google.
com/store/apps/details?id=com.nfcquickactions.appfree
Google Play. (2 de Marzo de 2014). NFC Developer. Obtenido de https://play.googl
e.com/store/apps/details?id=com.antares.nfc
Google Play. (26 de Agosto de 2014). NFC TagInfo by NXP. Obtenido de https://pla
y.google.com/store/apps/details?id=com.nxp.taginfolite
Google Play. (2015). Aplicaciones. Obtenido de https://play.google.com/store/searc
h?q=NFC&c=apps
Google Play. (2015). NFC TagInfo. Obtenido de https://play.google.com/store/apps/
details?id=at.mroland.android.apps.nfctaginfo
Google Play. (2 de Abril de 2015). NFC TagWriter by NXP. Obtenido de https://play
.google.com/store/apps/details?id=com.nxp.nfc.tagwriter&hl=es_419
Google Play. (26 de Mayo de 2015). NFC Tools. Obtenido de https://play.google.co
m/store/apps/details?id=com.wakdev.wdnfc
Google Play. (21 de Marzo de 2015). Trigger. Obtenido de https://play.google.com/
store/apps/details?id=com.jwsoft.nfcactionlauncher&hl=es_419
Hamblen Matt, W. T. (19 de diciembre de 2012). ¿Cuál es la historia de NFC? Obte
nido de https://nfcfirststeps.codeplex.com/wikipage?title=%C2%BFCu%C3
%A1l%20es%20la%20historia%20de%20NFC?
HÉBUTERNE, S., & PÉROCHON, S. (2014). Android Guía de desarrollo de aplica
ciones para Smartphones y Tabletas. En S. HÉBUTERNE, & S. PÉROCHO
N, Android Guía de desarrollo de aplicaciones para Smartphones y Tabletas
(pág. 513). Ediciones Eni.
HYUNDAI. (10 de Enero de 2013). HYUNDAI REVEALS HIGHER LEVELS OF SM
ARTPHONE-CAR CONNECTIVITY. Obtenido de http://www.hyundaipressof
fice.co.uk/release/362/#
Kent, B. (1999). Extreme Programming Explained. Embrace Change. En K. Beck,
285
Extreme Programming Explained. Embrace Change. Boston, MA, USA : Ad
dison-Wesley Longman Publishing Co. Recuperado el 28 de Junio de 2014
Manaure, A. (4 de Mayo de 2015). BenQ lanza proyectores NFC inalámbricos para
empresas. Obtenido de BenQ lanza proyectores NFC inalámbricos para em
presas
Manzhirova, V. S. (9 de Mayo de 2015). SPC WOW Speaker y Go NFC Speaker, a
ltavoces inalámbricos de diseño. Obtenido de http://www.tuexperto.com/201
5/05/09/spc-wow-speaker-y-go-nfc-speaker-altavoces-inalambricos-de-dise
no/
McFerran, D. (19 de Febrero de 2015). Android Lollipop vs. Android KitKat: New F
eatures & Material Design Explored. Obtenido de http://www.knowyourmobil
e.com/mobile-phones/android-lollipop/22329/android-lollipop-vs-android-kitk
at-new-features-material-design
Michaelson, E. (1 de Abril de 2013). Library Journal. Obtenido de http://lj.libraryjour
nal.com/2013/04/marketing/ad-students-aim-to-bring-the-library-to-commute
rs-with-nfc-technology/
MIFARE. (2012). MIFARE Reader-Writer Kit. Obtenido de https://www.mifare.net/e
s/productos/tools/mifare-reader-writer-kit/
MIFARE. (2015). Mifare. Obtenido de https://www.mifare.net/es/
Mobility Services for Business. (2010). Gestión OTA (Over The Air) | Mobility Servic
es for Business. Obtenido de http://www.ms4b.com/soluciones/ecosistema/
OTA
Molina, Y. S. (2012). Sistema operativo android: características y funcionalidad par
a dispositivos móviles. Tesis de pregrado no publicada, Universidad Tecnoló
gica de Pereira, Pereira. Recuperado el 12 de Marzo de 2013
Morales, V. &. (2008). BDIGITAL. Recuperado el 8 de Noviembre de 2014, de Univ
ersidad EAFIT: http://bdigital.eafit.edu.co/PROYECTO/P621.3845CDM828/
marcoTeorico.pdf
Moreno, A. O. (2000). Modelado conceptual de bases de datos relacionales: El mo
delo E/R. Obtenido de http://elies.rediris.es/elies9/4-1-2.htm
Móvil arena. (2012). Iphone-NFC -Movilarena. Obtenido de http://movilarena.com/
wp-content/uploads/2012/01/iphone-NFC.jpg
Movilidad, S. d. (2011). Secretaría Distrital de Movilidad. Obtenido de http://www.m
ovilidadbogota.gov.co/hiwebx_archivos/audio_y_video/boletin%20de%20cifr
as%2011-07-2012.pdf
NetBrain. (Agosto de 2014). Tecnología NFC. Recuperado el 21 de Agosto de 201
5, de http://www.netbrain.es/tecnologia-nfc/
NFC forum. (2015). (N. forum, Productor) Recuperado el 1 de agosto de 2012, de
http://www.nfc-forum.org/aboutnfc/
NFC FORUM. (2015). About the Technology. Obtenido de http://nfc-forum.org/what
-is-nfc/about-the-technology/
NFC phones: The definitive list. (2 de Junio de 2015). Obtenido de http://www.nfcw
orld.com/nfc-phones-list/
NFC world. (2 de Junio de 2016). NFC phones: The definitive list. Obtenido de http
://www.nfcworld.com/nfc-phones-list/
286
Ocampo, C. (2012). Conecti.ca. Obtenido de Actualización de foursquare para and
roid 4.0 soportará nfc.
Omicrono. (10 de Agosto de 2012). Omicrono. Obtenido de NFC y Apple Passbook
, ¿qué son y cuál es mejor?: http://www.omicrono.com/2012/10/nfc-y-apple-
passbook-que-son-y-cual-es-mejor/
Orfali, R. H. (1997). Cliente/Servidor. Guía de Supervivencia. México, México D.F::
McGraw-Hill.
Pérez, D. M. (2007). Ingenieria del software en entornos de SL Barcelona. España:
Eureca Media.
Perez, E. (31 de 8 de 2014). Entendiendo el impacto de ART, la nueva máquina vir
tual de Android. Obtenido de http://www.elandroidelibre.com/2014/08/entend
iendo-el-impacto-de-art-la-nueva-maquina-virtual-de-android.html
PHILIPS. (2014). Philips Wireless Bluetooth headphones SHB7150FB Over-ear Bl
ack. Obtenido de http://www.p4c.philips.com/cgi-bin/dcbint/cpindex.pl?slg=e
n&scy=fr&ctn=SHB7150FB/00
Project PINGEBORG. (2013). Project INGEBORG. Obtenido de http://pingeb.org/
Ramos, T. (1 de Junio de 2015). Valencia hará de sus policías locales, agentes 2.0
en una «smart city». Obtenido de http://www.larazon.es/valencia-hara-de-su
s-policias-locales-agentes-2-0-en-una-smart-city-DF9878072
Samsung. (9 de Julio de 2013). Samsung presenta sus nuevas impresoras láser y
multifunción con tecnología NFC. Obtenido de http://www.samsung.com/es/
news/local/samsung-presenta-sus-nuevas-impresoras
SAMSUNG. (2 de marzo de 2015). Samsung presenta Samsung Pay, un revolucio
nario servicio de pagos a través del móvil. Obtenido de http://www.samsung
.com/es/news/local/samsung-pay
Sánchez, N. M. (2010). Universidad Carlos III de Madrid. Obtenido de http://e-archi
vo.uc3m.es/handle/10016/7487
Santos, A. (10 de Julio de 2012). Austrian city builds public library with nothing but
QR codes, NFC and stickers. Obtenido de http://www.engadget.com/2012/0
7/10/austrian-city-builds-public-library-with-qr-codes-nfc-stickers/
ShopNFC, NFCque. (2017). Chips NFC - Principales Diferencias. Obtenido de http
://www.shopnfc.it/es/content/11-como-elegir-la-etiqueta-nfc
Smart Card Alliance. (2015). About Smart Cards : Introduction : Standards »
Smart Card Alliance. Obtenido de http://www.smartcardalliance.org/smart-ca
rds-intro-standards/
Sony. (2015). SmartWatch 3 SWR50. Obtenido de http://www.sonymobile.com/glob
al-es/products/smartwear/smartwatch-3-swr50/specifications/#tabs
Sony Corporation. (2015). FeliCa,NFC,contactless,smart card,reader. Obtenido de
http://www.sony.net/Products/felica/about/index.html
Sony Xperia M2. (25 de abril de 2014). Sony Xperia M2, un smartphone poderoso |
Xperia M2. Obtenido de http://xperiam2.com/es/sony-xperia-m2-un-smartph
one-poderoso/
Soto, J. L. (26 de Abril de 2015). Criterio Hidalgo. Obtenido de http://www.criteriohi
dalgo.com/notas.asp?id=304858
SymbolRepairParts. (2015). Motorola Symbol Repair Parts and Accessories. Obten
287
ido de http://www.symbolrepairparts.com/images/mc319z-g.jpg
Tan, K. (15 de Marzo de 2013). The Underground Library. Obtenido de https://vime
o.com/58161297
Tap To Pay. (2015). Tap To Pay. Recuperado el 25 de Julio de 2015, de http://www.
taptopay.com/
Toboso, E. (2013). Programación de Aplicaciones Android. Obtenido de http://pers
o.wanadoo.es/emiliotoboso/android/introduccion.htm
Transmilenio. (27 de Agosto de 2013). TARJETA TULLAVE. Obtenido de http://ww
w.transmilenio.gov.co/es/articulos/tarjeta-tullave
Transmisitp, T. y. (20 de Agosto de 2013). Transmilenio y SITP - TransmiSitp. Obte
nido de http://www.transmisitp.com/
Universidad Nacional Mayor de San Marcos. (2001). Universidad Nacional Mayor
de San Marcos. Obtenido de Control ambiental de vehículos: http://sisbib.un
msm.edu.pe/bvmedioambiente/dia_tierra/control.htm
Velasto, J. J. (26 de Diciembre de 2012). NFC, el smartphone sustituye a la llave d
e nuestro coche. Obtenido de http://hipertextual.com/2012/12/nfc-smartphon
e-llave-coche
Veloz, D. (2010). BDIGITAL Escuela Politécnica Nacional. Obtenido de http://bibdig
ital.epn.edu.ec/handle/15000/2
W3C. (2012). World Wide Web Consortium. Obtenido de Los servicios Web en Fu
ncionamiento: http://www.w3c.es/Divulgacion/GuiasBreves/ServiciosWeb
W3C, W. W. (2012). Guía Breve de Servicios Web. Obtenido de http://www.w3c.es/
Divulgacion/GuiasBreves/ServiciosWeb
288