Sei sulla pagina 1di 288

DISEÑO E IMPLEMENTACIÓN DE UN PROTOTIPO DE SISTEMA DE

IDENTIFICACIÓN CON NFC (NEAR FIELD COMMUNICATION) PARA LA


VERIFICACIÓN DE INFORMACIÓN DE VEHÍCULOS USANDO SMARTPHONES
CON SISTEMA OPERATIVO ANDROID

Miguel Ángel González Garzón, 9812043

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


FACULTAD DE INGENIERÍA
INGENIERÍA DE SISTEMAS
BOGOTÁ - COLOMBIA
2017
DISEÑO E IMPLEMENTACIÓN DE UN PROTOTIPO DE SISTEMA DE
IDENTIFICACIÓN CON NFC (NEAR FIELD COMMUNICATION) PARA LA
VERIFICACIÓN DE INFORMACIÓN DE VEHÍCULOS USANDO SMARTPHONES
CON SISTEMA OPERATIVO ANDROID

Miguel Ángel González Garzón


Cod: 9812043

Trabajo de grado para optar al título


de Ingeniero de Sistemas

Director
Alberto Acosta López

UNIVERSIDAD DISTRITAL FRANCISCO JOSÉ DE CALDAS


FACULTAD DE INGENIERÍA
INGENIERÍA DE SISTEMAS
BOGOTÁ - COLOMBIA
2017
Nota de aceptación
__________________________
__________________________
__________________________
__________________________
__________________________
__________________________

__________________________
Firma del director

__________________________
Firma del jurado

__________________________
Firma del jurado

Bogotá, 1 de marzo de 2017

3
Dedicatoria

Este trabajo de grado va dedicado a mis padres, en especial al trabajo y esfuerzo


de mi madre, quien nunca perdió la ilusión en mí, gracias porque esto es un regalo
para ti.

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.

Gracias a mi Padre y hermanos.

5
CONTENIDO

pág.

LISTA DE TABLAS ................................................................................................. 17

LISTA DE FIGURAS .............................................................................................. 19

GLOSARIO ............................................................................................................ 24

RESUMEN ............................................................................................................. 26

INTRODUCCIÓN ................................................................................................... 27

1. PLANTEAMIENTO DEL PROBLEMA ................................................................ 29

1.1 JUSTIFICACIÓN .............................................................................................. 30


1.2 OBJETIVOS ..................................................................................................... 31
1.2.1 Objetivo General ........................................................................................... 31
1.2.2 Objetivos Específicos .................................................................................... 31
1.3 ALCANCES ...................................................................................................... 32
1.4 LIMITACIONES ................................................................................................ 33
1.5 IMPACTO SOCIAL ........................................................................................... 33
1.6 PERTENENCIA SOCIAL.................................................................................. 33
1.7 APORTE A LA EDUCACIÓN ............................................................................ 33
1.8 IMPACTO AMBIENTAL .................................................................................... 34
1.9 PROBLEMÁTICA Y OPORTUNIDAD .............................................................. 35
1.10 METODOLOGÍA ............................................................................................ 36
1.10.1 Tipo de investigación. ................................................................................. 36
1.10.2 Fases de investigación................................................................................ 36
1.10.2.1 Fase de Planeación. ................................................................................ 36
1.10.2.2 Fase De Recolección De Información. ..................................................... 36
1.10.2.3 Fase de Documentación en NFC. ............................................................ 37

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

2. MARCO TEÓRICO ............................................................................................ 39

2.1 NFC NEAR FIELD COMMUNICATION ............................................................ 39


2.2 ORIGEN Y DESARROLLO .............................................................................. 40
2.3 HISTORIA DE NFC .......................................................................................... 40
2.4 PRINCIPALES VENTAJAS DE NFC ................................................................ 41
2.5 DISPOSITIVOS INTELIGENTES NFC ............................................................ 42
2.5.1 Teléfono Móvil con NFC. ............................................................................... 42
2.5.2 Lector de NFC............................................................................................... 42
2.5.3 Etiqueta NFC. ............................................................................................... 43
2.6 EVOLUCIÓN DE NFC ..................................................................................... 43
2.6.1 Códigos de Barras. ....................................................................................... 43
2.6.2 Tarjetas de Banda Magnética........................................................................ 44
2.6.3 Tarjetas Inteligentes. ..................................................................................... 44
2.6.3.1 Tarjetas de Contacto .................................................................................. 44
2.6.3.2 Tarjetas Inteligentes Sin Contacto. ............................................................. 44
2.6.3.3 Tarjetas Hibridas. ....................................................................................... 45
2.6.4 Normas y Especificaciones de Tarjetas......................................................... 45
2.6.5 Clases de Tarjetas......................................................................................... 46
2.6.5.1 Tarjetas Mifare............................................................................................ 46
2.6.5.2 Tarjetas Calypso......................................................................................... 46
2.6.5.3 Tarjetas FeliCa. .......................................................................................... 46
2.7 OPERACIÓN ENTRE DISPOSITIVOS NFC .................................................... 47
2.8 COMUNICACIÓN DE LA TECNOLOGÍA NFC ................................................. 47
2.9 ARQUITECTURA DE NFC EN TELÉFONOS MÓVILES ................................. 48
2.10 CLASIFICACIÓN DE LOS DISPOSITIVOS NFC ........................................... 49

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

3.1 BASES DE DATOS .......................................................................................... 80


3.2 ARQUITECTURA CLIENTE-SERVIDOR PARA BASES DE DATOS ............... 81
3.2.1 Conceptos de Arquitectura Cliente / Servidor................................................ 81
3.3 COMPONENTES CLIENTE/SERVIDOR ......................................................... 82
3.4 ARQUITECTURA DE 3 CAPAS ....................................................................... 82
3.5 SERVICIOS WEB ............................................................................................ 83
3.5.2 Funcionamiento de Servicios Web. ............................................................... 83
3.6 INGENIERÍA DE SOFTWARE ......................................................................... 86
3.6.1 Ciclo de Vida del Software. ........................................................................... 86
3.7 PROGRAMACIÓN EXTREMA ......................................................................... 86
3.7.1. Historias de Usuario. .................................................................................... 88
3.7.2. Roles XP. ..................................................................................................... 88
3.7.3. Proceso XP. ................................................................................................. 89
3.7.4. PRÁCTICAS XP ........................................................................................... 89

4. ANDROID........................................................................................................... 91

4.1 QUE ES ANDROID .......................................................................................... 91


4.2 ARQUITECTURA ............................................................................................. 92
4.3 HISTORIA ........................................................................................................ 92
4.4 USO DE VERSIONES ANDROID ................................................................... 93
4.5 CARACTERÍSTICAS Y FUNCIONES ACTUALES .......................................... 95
4.6 ANDROID SDK ................................................................................................ 99
4.7 VERSIONES Y NIVELES DE API FRAMEWORK............................................ 99

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

5. ANDROID API ANDROID PARA EL DESARROLLO NFC ............................... 107

5.1 RESUMEN DE CLASES ................................................................................ 107


5.2 INTERFACES ................................................................................................ 107
5.3 EXCEPTIONS ................................................................................................ 108
5.4 SISTEMA DE DESPACHO TAG..................................................................... 108
5.5 DISTRIBUCIÓN DE ETIQUETAS NFC PARA APLICACIONES .................... 111
5.6 FUNCIONAMIENTO SISTEMA DE DESPACHO TAG ................................... 112
5.7 SOLICITUD DE ACCESO NFC EN EL MANIFIESTO DE ANDROID ............ 113
5.8 FILTRADO POR DISPOSITIVO ..................................................................... 114
5.9 INTENTOS DE FILTRADO PARA NFC .......................................................... 114
5.9.1 ACTION_NDEF_DISCOVERED ................................................................. 115
5.9.2 ACTION_TECH_DISCOVERED ................................................................. 115
5.9.3 ACTION_TAG_DISCOVERED .................................................................... 117
5.10 OBTENCIÓN DE INFORMACIÓN DE LAS INTENCIONES ........................ 117
5.11 DESCUBRIR UN TAG NFC.......................................................................... 118
5.12 CREACIÓN DE TIPOS COMUNES DE REGISTROS NDEF ...................... 118
5.12.1 Compatibilidad Con Una Intención ACTION_NDEF_DISCOVERED ........ 118
5.12.2 TNF_ABSOLUTE_URI .............................................................................. 119
5.12.3 TNF_MIME_MEDIA .................................................................................. 119
5.12.4 TNF_WELL_KNOW .................................................................................. 120
5.12.5 TNF_WELL_KNOWN with RTD_TEXT ..................................................... 120
5.12.6 TNF_WELL_KNOWN with RTD_URI: ....................................................... 121
5.12.7 TNF_EXTERNAL_TYPE: .......................................................................... 122
5.12.8 TNF_EMPTY, TNF_UNCHANGED y TNF_UNKNOWN ............................ 123
5.13 TECNOLOGÍAS DE TAGS SOPORTADOS ................................................. 124

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

6. ESTADO DEL ARTE ........................................................................................ 139

6.1 ESTADO DEL ARTE NFC COLOMBIA .......................................................... 139


6.1.1 Transmilenio y SITP – TransmiSitp. ............................................................ 139
6.1.2 Tarjeta tullave. ............................................................................................. 140
6.2 ESTADO DEL ARTE NFC EXTERIOR ........................................................... 142
6.2.1 Google Wallet.............................................................................................. 142
6.2.2 Angry Birds Magic. ...................................................................................... 143
6.2.3 Foursquare.................................................................................................. 144
6.2.4 Android Beam. ............................................................................................ 144
6.2.5 Universidad Católica San Antonio de Murcia. ............................................. 144
6.2.6 Sector de los Taxis. ..................................................................................... 145
6.2.7 Vodafone Posters Inteligentes con NFC en Gijón. ...................................... 145
6.3 USO DE NFC EN BIBLIOTECAS .................................................................. 146
6.3.1 La Biblioteca Pública de Hanno. ................................................................. 146
6.3.2 Biblioteca Pública Austriaca. ....................................................................... 147

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

7. DISEÑO DEL SISTEMA ................................................................................... 179

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

8. TECNOLOGÍAS DE SOFTWARE APLICADAS ............................................... 188

8.1 BOOTSTRAP ................................................................................................. 188


8.2 JAVA .............................................................................................................. 188
8.3 MySQL ........................................................................................................... 188
8.4 ASP.NET ....................................................................................................... 189
8.5 ANDROID STUDIO Y ECLIPSE ..................................................................... 189
8.6 PHP ............................................................................................................... 189

9. DESARROLLO DEL SISTEMA ........................................................................ 190

9.1 REQUERIMIENTOS DE IMPLEMENTACIÓN CON NFC .............................. 190


9.2 REQUERIMIENTOS DE SELECCIÓN DE ETIQUETA NFC ADECUADA ..... 191
9.2.1 Selección de Etiqueta NFC ......................................................................... 192
9.3 SISTEMA DE LECTURA NFC EN ANDROID ................................................ 193
9.4 IMPLEMENTACIÓN DEL PILOTO ................................................................. 193

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

10. PRUEBAS Y FUNCIONAMIENTO. ................................................................ 232

10.1 PRUEBAS DE REGISTRO DE TAGS .......................................................... 232


10.2 PRUEBAS DE INSTALACIÓN DE TAGS EN VEHÍCULOS ......................... 232
10.3 PRUEBA DE INSTALACIÓN DE APP MÓVIL .............................................. 233
10.4 PRUEBA DE WEB SERVICE....................................................................... 233
10.5 PRUEBA EN DIFERENTES DISPOSITIVOS MÓVILES .............................. 234
10.6 PRUEBA DE LECTURA DE TAGS EN VEHÍCULOS ................................... 234
10.7 PRUEBA DE CONSULTA DE INFORMACIÓN SEGÚN TAGS .................... 234
10.8 Recolección Datos y Pruebas de Lectura .................................................... 238

11. RESULTADOS OBTENIDOS.......................................................................... 271

11.1 FUNCIONAMIENTO TÉCNICO DE LA TECNOLOGÍA NFC ........................ 272


11.2 DISEÑO E IMPLEMENTACIÓN DE UNA HERRAMIENTA DE SOFTWARE M
ÓVIL Y WEB PARA LA IDENTIFICACIÓN Y CONTROL DE VEHÍCULOS .......... 272
11.3 APLICACIÓN WEB VEHÍCULOS ................................................................. 272
11.4 APP MÓVIL TRANSITO ............................................................................... 273
11.5 PRINCIPALES CARACTERÍSTICAS DEL API DE ANDROID...................... 273
11.6 ESTÁNDARES DE TAGS USADOS PARA LA LECTURA CON NFC .......... 273
11.7 DISEÑO UN SISTEMA DE BASE DE DATOS QUE PERMITA MOSTRAR LA I
NFORMACIÓN DE LOS VEHÍCULOS ................................................................. 274
11.8 DESARROLLO DE UN SERVICIO WEB ..................................................... 274

12. ANÁLISIS DE RESULTADOS DE LAS PRUEBAS......................................... 276

12.1 INSTALACIÓN DE TAGS ............................................................................. 276


12.2 REGISTRO DE TAGS .................................................................................. 276
12.2 LECTURA DE TAGS Y RESPUESTA DE DATOS ........................................ 277

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

13. TRABAJO FUTURO................................................................................... 281

14. CONCLUSIONES .......................................................................................... 282

Bibliografía ........................................................................................................... 284

16
LISTA DE TABLAS

pág.

Tabla 1 Ventajas de uso de NFC en vehículos 35

Tabla 2. Historia de NFC 41

Tabla 3. Diferencias entre NFC y código de barras 70

Tabla 4. Diferencias entre metodologías ágiles y no ágiles 87

Tabla 5. Funciones de Android 6.0 Marshmallow 95

Tabla 6. Versiones y API de Android 100

Tabla 7. Nombre Tipo De Formato (TNF) Y Sus Asignaciones 109

Tabla 8. RTD para TNF_WELL_KNOWN y sus asignaciones 110

Tabla 9. Protocolos de tipo URI para el primer Byte 132

Tabla 10. Protocolos de tipo URI para el primer Byte 133

Tabla 11. Tabla de Aplicaciones NFC Google Play 169

Tabla 12. Lista de Telefonos con NFC 173

Tabla 13. Comparación De Teléfonos Usados Y Compatibilidad De Tags 238

Tabla 14. Pruebas lectura tags NFC en vehículos. Prueba N° 1 239

Tabla 15. Pruebas lectura tags NFC en vehículos. Prueba N° 2 240

Tabla 16. Pruebas lectura tags NFC en vehículos. Prueba N° 3 241

Tabla 17. Pruebas lectura tags NFC en vehículos. Prueba N° 4 242

Tabla 18. Pruebas lectura tags NFC en vehículos. Prueba N° 5 243

Tabla 19. Pruebas lectura tags NFC en vehículos. Prueba N° 6 244

Tabla 20. Pruebas lectura tags NFC en vehículos. Prueba N° 7 245

17
Tabla 21. Pruebas lectura tags NFC en vehículos. Prueba N° 8 246

Tabla 22. Pruebas lectura tags NFC en vehículos. Prueba N° 9 247

Tabla 23. Pruebas lectura tags NFC en vehículos. Prueba N° 10 248

Tabla 24. Pruebas lectura tags NFC en vehículos. Prueba N° 11 249

Tabla 25. Pruebas lectura tags NFC en vehículos. Prueba N° 12 250

Tabla 26. Pruebas lectura tags NFC en vehículos. Prueba N° 13 251

Tabla 27. Pruebas lectura tags NFC en vehículos. Prueba N° 14 252

Tabla 28. Pruebas lectura tags NFC en vehículos. Prueba N° 15 253

Tabla 29. Pruebas lectura tags NFC en vehículos. Prueba N° 16 254

Tabla 30. Pruebas lectura tags NFC en vehículos. Prueba N° 17 255

Tabla 31. Pruebas lectura tags NFC en vehículos. Prueba N° 18 256

Tabla 32. Pruebas lectura tags NFC en vehículos. Prueba N° 19 257

Tabla 33. Pruebas lectura tags NFC en vehículos. Prueba N° 20 258

Tabla 34. Pruebas lectura tags NFC en vehículos. Prueba N° 21 259

Tabla 35. Pruebas lectura tags NFC en vehículos. Prueba N° 22 260

Tabla 36. Pruebas lectura tags NFC en vehículos. Prueba N° 23 261

Tabla 37. Pruebas lectura tags NFC en vehículos. Prueba N° 24 262

Tabla 38. Pruebas lectura tags NFC en vehículos. Prueba N° 25 263

Tabla 39. Pruebas lectura tags NFC en vehículos. Prueba N° 26 264

Tabla 40. Pruebas lectura tags NFC en vehículos. Prueba N° 27 265

Tabla 41. Pruebas lectura tags NFC en vehículos. Prueba N° 28 266

Tabla 42. Pruebas lectura tags NFC en vehículos. Prueba N° 29 267

Tabla 43. Pruebas lectura tags NFC en vehículos. Prueba N° 30 268

18
LISTA DE FIGURAS

pág.

Figura 1. Lector Hand Held UHF 30

Figura 2. Lector móvil NFC 31

Figura 3. Funcionamiento de NFC para pagos 47

Figura 4. Arquitectura NFC en Teléfonos Móviles 48

Figura 5. Tipos de Tags NFC 50

Figura 6. Esquema del modo de funcionamiento pasivo NFC 53

Figura 7. Esquema del modo de funcionamiento activo NFC 54

Figura 8. Modo Lectura / Escritura 56

Figura 9. Modo punto a punto 59

Figura 10 Modelo de uso genérico de modo peer-to-peer 60

Figura 11. Modo Emulación de Tarjeta 62

Figura 12. Modo de Uso Genérico del Modo de Emulación de la Tarjeta 62

Figura 13. Ejemplo de modelo de uso del pago con tarjeta de crédito 65

Figura 14. Ejemplo de modelo de uso de la emisión de Tickets 66

Figura 15. Elementos Seguros NFC 69

Figura 16. NFC vs código de barras 70

Figura 17. Logo NFC Forum 71

Figura 18. Ecosistema NFC 72

Figura 19. Estándares soportados por NFC para compartir datos 73

Figura 20. Ecma International NFCIP-2 76

19
Figura 21. Tags para NFC 78

Figura 22. Lector NFC de escritorio 79

Figura 23. Los servicios Web en Funcionamiento 84

Figura 24. Estructura de los mensajes 85

Figura 25. Ciclo de Vida del Software 86

Figura 26. Android Lollipop vs. Android KitKat 91

Figura 27. Arquitectura Android 93

Figura 28. Distribuciones de Android 94

Figura 29. Sabores Android 101

Figura 30. Android Lollipop 101

Figura 31. Android Marshmallow y Nougat 101

Figura 32. Android Studio 102

Figura 33. Dalvik Virtual Machine 103

Figura 34. Vida de un APK 105

Figura 35. Funcionamiento de Sistema de Despacho de Tags 113

Figura 36. Clases de Tags Soportados 124

Figura 37. Clases de tecnologías de etiquetas opcionales soportadas 125

Figura 38. Aplicación Móvil TrasmsiSitp 140

Figura 39. Tarjeta tullave 141

Figura 40. Activación NFC tullave 141

Figura 41. Consulta de saldo tarjeta tullave 142

Figura 42. Google Wallet 143

20
Figura 43. NFC Angry Birds 143

Figura 44. Aplicación Foursquare 144

Figura 45. Concurso Hípico Internacional 146

Figura 46. NFC Biblioteca Pública de Hanno 146

Figura 47. Project Pingeb.org 147

Figura 48. The Underground Library 148

Figura 49. Uso de NFC en vehículos HYUNDAI 149

Figura 50. Apps en vehículos HYUNDAI 150

Figura 51. Identificación vehicular en Valencia - España 151

Figura 52. Funcionamiento de NFC en transporte público 152

Figura 53. Proyectores NFC 153

Figura 54. Dispositivos Sony NFC 154

Figura 55. Bafles NFC 154

Figura 56. Relojes NFC 155

Figura 57. Auriculares NFC 156

Figura 58. Impresoras NFC 156

Figura 59. Tap to Pay 157

Figura 60. Sasmsug Pay 158

Figura 61. Tarjetas de Crédito en Apple Pay 159

Figura 62. Apple Pay 159

Figura 63. Android Pay 160

Figura 64. NFC TagInfo 162

Figura 65. NFC TagWriter 163

21
Figura 66. NFC Trigger 165

Figura 67. NFC Actions 166

Figura 68. NFC TagInfo NXP 167

Figura 69. NFC Developer 168

Figura 70. NFC Tools 169

Figura 71. Arquitectura del Sistema 180

Figura 72. Diagrama de lectura NFC Móvil 181

Figura 73. Arquitectura NFC Vehicular 182

Figura 74. Diagrama de clases 184

Figura 75. Diagrama de Secuencia 185

Figura 76. Diagrama de Actividades 186

Figura 77. Diagrama Colaboración 187

Figura 78. UPM Reaflatac 192

Figura 79. UPM Reaflatac Especificaciones 193

Figura 80. Prueba de lectura de tags sobre vidrio 195

Figura 81. Front aplicación Web 197

Figura 82. Base de datos smartapp_nfcappmovil en PhpMyAdmin 197

Figura 83. Autenticación sistema Web vehículos 200

Figura 84. Gestor de Tags Sistema Web Vehículos 201

Figura 85. Menú Sistema Web Vehículos 201

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

Figura 89. Administración de Usuarios del Sistema Web Vehículos 204

Figura 90. WebService Transito 205

Figura 91. Acceso Web a WebServiceTransito 206

Figura 92. Estructura de Proyecto NFCApp 215

Figura 93. Clase y Métodos de la Actividad principal NFCActivity 216

Figura 94. Estructura Activity TagViewer 219

Figura 95. Generar APK 223

Figura 96. Generar APK Key Creation 224

Figura 97. Interfaz AirDroid 225

Figura 98. Transferencia de Archivos AirDroid 225

Figura 99. Notificaciones AirDroid Transferencia 226

Figura 100. Descarga de App NFCApp2016 227

Figura 101. Proceso de Instalación en el Smartphone 228

Figura 102. Icono de App en Escritorio Android 229

Figura 103. Aplicación Móvil NFC Vehicular 230

Figura 104. Aplicación Móvil en Lectura de Tags 231

Figura 105. Lectura de Tags y resultados de consulta 233

Figura 106. Tags en Vehículos 235

Figura 107. Prueba de lectura de Tags en Vehículos 236

Figura 108. Tags en Vehículos desde Navegador Smartphone 277

Figura 109. Tiempo Promedio en lectura de Tags 278

23
GLOSARIO

BIDIRECCIONAL: capacidad de operar en los dos sentidos. Por ejemplo un tag que
se puede leer pero también escribir.

BLOQUE DE MEMORIA: (Memory block): normalmente la memoria de un chip está


dividida en diferentes secciones, que pueden ser leídas o escritas
independientemente. Algunas se pueden bloquear o permitir sobrescribir.

CAMPO DE DATOS (DATA FIELD): área de la memoria del chip asignado a un tipo
de información.

CAPACIDAD: número de bits que pueden ser programados en el tag.

ISO (INTERNATIONAL ORGANIZATION FOR STANDARDIZATION): Institución


de estandarización a nivel mundial.

ISO 18000: conjunto de estándares internacionales que definen el protocolo de


interfaz aérea usada en los sistemas RFID para etiquetar productos dentro de la
cadena de suministro.

MEMORIA (MEMORY): capacidad de almacenamiento del chip de la etiqueta RFID

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.

PROTOCOLO (PROTOCOL): conjunto de reglas que gobiernan los sistemas de


comunicación.

PROTOCOLO DE INTERFAZ AÉREA (AIR INTERFACE PROTOCOL): conjunto


de reglas que definen como los lectores y los tags deben comunicarse.

TAG: transceptor adjunto a un objeto con capacidad de almacenamiento de


información, mediante etiquetas electrónicas u otros mecanismos. Aunque su
nombre técnico es transpondedor, su nombre más común es tag.

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.

TAGS PASIVOS: etiquetas que no contienen fuente de alimentación. Utilizan como

24
fuente un elemento externo, normalmente de la señal radiada de un lector/grabador.

TAGS SEMI-PASIVOS: (semi-passive tag): similar a los tags activos, pero su


batería solo alimenta el chip en momentos puntuales, el resto se encuentra en
estado dormido (sleep). Normalmente son tags con sensores que complementan
sus funcionalidades.

TRANSPONDEDOR (TRANSPONDER): transmisor/receptor radio que se activa


cuando recibe una predeterminada señal. A veces a las etiquetas RFID se les llama
transpondedores.

TRANSCEPTOR (TRANSCEIVER): elemento con capacidad para transmitir y


recibir ondas de radio.

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.

OMNIDIRECCIONAL: capacidad de radiar igual en todas las direcciones.

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.

El sector de transporte es un área donde la implementación de NFC ha sido utilizada


desde hace pocos años, pero gracias a su evolución, hoy se cuenta con una
tecnología confiable y de fácil implementación.

Teniendo en cuenta estos aspectos, se desarrolló un prototipo de identificación y


verificación de vehículos en momentos específicos mediante, la implementación de
tecnológica NFC,

El prototipo fue desarrollado para el sistema operativo Android de Google, el móvil


se encarga de realizar la lectura de un Tag o etiqueta NFC adherida a cada uno de
los automóviles. La información capturada por móvil se envía por medio de un
servicio web a una base de datos donde se realizará una consulta para enviar los
datos consultados al móvil y permitir que la persona que hace el control del vehículo
pueda identificar y verificar las características y atributos del vehículo con la
información recibida.

El prototipo está dirigido a entidades reguladoras en el control de transporte


(¨secretarias de transito departamentales, locales¨), pero se espera que este trabajo
sea de utilidad a otras áreas vinculadas al transporte como las entidades
controladoras de las emisiones de gas vehicular, aseguradoras y entidades de
control ambiental.

Debido a la gran cantidad de información que es manejada para el control vehicular


y a la naturaleza crítica de la misma, se hace uso de tecnologías de este tipo, de
manera que la información que se disponga en cada instante sea lo más acertada
posible y se tenga acceso a ella en el menor tiempo ya que un error o un retraso en
el acceso a la información, como se ha planteado, pone en juego la integridad de
cada uno de los procesos de estas organizaciones.

Palabras clave: RFID, NFC, ANDROID, TAG, PROTOTIPO

26
INTRODUCCIÓN

En los últimos años se ha visto como la industria de las telecomunicaciones ha


avanzado de forma acelerada, hoy en día es una necesidad la comunicación y el
intercambio de información entre usuarios de forma inmediata, lo que hace que el
elemento más utilizado por las personas para estos fines son los teléfonos móviles
que con sus últimos avances pueden realizar la tarea de cualquier ordenador
personal.

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.

Dado su enorme campo de aplicación los fabricantes de teléfonos como Samsung,


Nokia, Sony, Blackberry, Motorola y Apple ya están incluyendo esta tecnología en
sus dispositivos. Se espera que en los próximos años el crecimiento de esta
tecnología sea adoptada por todos los fabricantes y sea la más empleada,
permitiendo así un mayor número de aplicaciones y funcionalidades para los
usuarios.

Los costos de esta tecnología están comenzado a reducirse y los estándares ya se


encuentran disponibles; sin lugar a dudas la tecnología NFC tendrá un impacto
mucho más profundo que el generado por la introducción del código de barras en
los años 80.

NFC aporta múltiples beneficios y mejoras en los procesos, no obstante, su


implementación requiere de conocimientos específicos en relación a diversos
aspectos propios del funcionamiento de la radiofrecuencia y programación.

En este trabajo investigativo se realizó el estudio, usos y avance de la tecnología


NFC, se desarrolló un prototipo usando el API de NFC para Android que permite la
identificación vehicular. Del mismo modo busca aportar una aplicación funcional a
la sociedad y fomentar el desarrollo de aplicaciones en nuevos campos y diferentes
áreas del conocimiento, para que la comunidad en general siga desarrollando e
implementando soluciones innovadoras.

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

En Colombia el problema de clonación vehicular ha tenido en jaque a las


autoridades que velan por la seguridad y transporte de las ciudades. Actualmente
para mitigar este problema se han desarrollado e implementado varias soluciones
tecnologías que les ayuden a controlar y verificar que los vehículos que están
circulando por las ciudades cuentan con los permisos necesarios para transitar por
las carreteras.

Actualmente para esta verificación es necesario hacer el uso de retenes


aventurados en varias zonas de las ciudades del país.

En Bogotá se tomó la medida de identificación vehicular de taxis la implementación


de la tecnología RFID (¨Sistemas de identificación por radiofrecuencia¨), mediante
la cual se le instala una etiqueta RFID UHF (¨Ultra Higth Frecuency¨) el parabrisas
de cada taxi. Esta etiqueta identifica a cada taxi y permite que un agente de tránsito
por medio de una pistola de lectura de RFID UHF se logre obtener información de
cada vehículo de servicio de taxi.

Según la noticia publicada en El Espectador (2008) nos informa que en el mes de


septiembre hasta noviembre de 2.008 se entregaron 48.011 chips, correspondientes
al mismo número de taxis que estaban autorizados para circular legalmente por las
calles de Bogotá. Esta iniciativa que fue emprendida por la Administración Distrital
con el fin de evitar el ‘gemeleo' de los automotores de servicio público en la ciudad.
El censo de vehículos amarillos de servicio público que realizó la Secretaría Distrital
de Movilidad, por medio de la empresa SIM, costó cerca de $5.600 millones

En Ibagué se realizó un proyecto similar que tenía como objeto "CONTRATAR LA


REALIZACIÓN DE UN CENSO A LOS VEHÍCULOS DE TRANSPORTE PÚBLICO
TIPO TAXI, CONSISTENTE EN SUMINISTRO DE TECNOLOGÍA, DESARROLLO
DE SOFTWARE E INSTALACIÓN DE UN TAG O DISPOSITIVO DE
IDENTIFICACIÓN ELECTRÓNICA EN CADA UNO DE LOS TAXIS REGISTRADOS
ANTE LA SECRETARÍA DE TRÁNSITO, TRANSPORTE Y DE LA MOVILIDAD DEL
MUNICIPIO DE IBAGUÉ " Portal Único de contratación (2009). Esto muestra que
hay una problemática no sólo en el interior si no que es una problemática que abarca
varias zonas del territorio nacional.

29
1.1 JUSTIFICACIÓN

El sistema de comunicación de campo cercano NFC permite que procesos que


actualmente se realizan de una manera propensa a errores, con largos tiempos de
respuesta en la adquisición de información y con poca capacidad de gestionar y
manipular la información del entorno para la ayuda en la toma de decisiones, sean
realizados de forma que se eviten estas situaciones. El sistema permite tener mayor
disponibilidad y movilidad a la hora de verificar la información de los vehículos.

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.

Figura 1. Lector Hand Held UHF

Fuente (SymbolRepairParts, 2015)

Debido a la dificultad de portabilidad con estas lectoras, actualmente se colocan


zonas geográficas fijas de lectura para la identificación y toma de la información.
Con el sistema NFC en el teléfono móvil Figura 2. Se reduce el costo del proyecto
y se realiza la identificación y toma de información de los vehículos.

30
Figura 2. Lector móvil NFC

Fuente Móvil Arena (2013).

Un análisis previo simple de costos, hace inferir rápidamente que si se invierte 10


millones en un lector RFID UHF, con NFC se comprarían 10 equipos
aproximadamente con ese valor. Esto ayuda a mejorar el servicio si cualquier
guarda de tránsito pueda acceder a la aplicación desde su dispositivo móvil.

El sistema de comunicación de campo cercano permite que procesos que


actualmente se realizan de una manera propensa a largos tiempos de ejecución,
largos tiempos de respuesta en la adquisición de información y a la poca capacidad
de gestión y manipulación, sean más eficientes a la hora de tomar decisiones del
entorno donde se esté implementando.

1.2 OBJETIVOS

1.2.1 Objetivo General

Analizar como la tecnología NFC puede ser aplicada para el mejoramiento de la


identificación y verificación de información vehicular desde un sitio y momento
específico para el diseño e implementación de un prototipo que permita identificar
información y características de los vehículos obtenidos de la consulta a un tag
instalado en cada vehículo usando Smartphone con Sistema Operativo Android.

1.2.2 Objetivos Específicos

• Comprender y conocer el funcionamiento técnico de la tecnología NFC, para


definir las posibles áreas de aplicación en las que se puede implementar esta
tecnología.

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.

• Identificar y definir las principales característica del API de Android (android.nfc),


para el desarrollo de aplicaciones con NFC donde se pueda nombrar las
principales clases, interfaces y excepciones del API para NFC.

• Definir los principales estándares de los tags usados para la lectura de


dispositivos con NFC

• Diseñar un Sistema de Base de Datos que permita mostrar la información de los


vehículos donde se cuente con los campos básicos para la identificación de los
vehículos

• Desarrollar un servicio web que permita hacer la conexión de la base de datos


del servidor con el Smartphone y permita hacer la consulta de los datos para la
verificación de los vehículos.

1.3 ALCANCES

• El proyecto se realizó hasta la integración una aplicación móvil NFC a una


plataforma Web que recibe la información de los datos recibidos por un Tag
NFC. La información es procesada y administrada desde el sitio Web.

• No se tuvo en cuenta aspectos de seguridad, que pueden ser objeto de


estudio de investigaciones posteriores.

• Para la solución se utilizaron teléfonos con tecnología NFC Samsung y LG.

• La metodóloga de desarrollo que se utilizada para el desarrollo del prototipo


fue la Programación Extrema.

• En la etapa de ingeniería del modelo XP, se utilizaron algunos de los


diagramas planteados en UML para la definición y especificación del
proyecto, sin embargo solo se utilizaron los que se consideraron necesarios
para hacer una especificación clara de la aplicación.

• Se debe tener en cuenta que lo que se desea investigar e implementar es un


prototipo que permita visualizar el funcionamiento básico de un sistema
usando teléfonos móviles con tecnología NFC.

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.

1.5 IMPACTO SOCIAL

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.

1.6 PERTENENCIA SOCIAL

El proyecto prototipo desarrollado uso como herramienta la tecnología NFC y el


desarrollo de una aplicación móvil que permita evitar grandes problemas como el
gemeleo de taxis, pero que se puede extender a la verificación de documentos del
conductor y el control de gases entre otros. Traer la información de una manera ágil
y simple trae grandes beneficios a toda la ciudad, dado el éxito de este proyecto se
puede extender a otras entidades y a otras regiones para abarcar un gran beneficio
de la ciudadanía y de la región.

1.7 APORTE A LA EDUCACIÓN

El presente proyecto dejo a la comunidad científica una documentación de la


tecnología NFC actualizada y un prototipo de software simple para el control

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.

Mediante el Grupo de Investigación SEINTEL se hicieron jornadas de inclusión


digital en el uso de la tecnología RFID y NFC en la Universidad Distrital para generar
interés en el desarrollo de nuevas aplicaciones. Se espera crear aplicaciones
inicialmente útiles para las instituciones educativas como Controles de Acceso a
Bibliotecas, Acceso a Zonas Restringidas, Lectoras de Información de Eventos,
Asistencia a Clases, Préstamo de Libros etc.

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.

1.8 IMPACTO AMBIENTAL

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.

Las aplicaciones de RFID y NFC permiten el desarrollo de sistemas de información


para controlar infinidad de variables que afectan la salud pública de sus habitantes,
dentro del proyecto se puede contar con datos importantes de cada vehículo, uno
de ellos es del control y emisión de gases, es importante manejar esta información
en una ciudad con más de 1.600.000 vehículos.

Según el artículo publicado por la Universidad Nacional Mayor de San Marcos


(2001) en las grandes ciudades encontramos muchos gases que afectan la salud
de sus habitantes, algunos que causan graves efectos son:

Monóxido de Carbono: Es un gas sin color ni olor y puede causar la disminución


de percepción y pensar, disminuye los reflejos y causa inconsciencias en valores
muy altos.

Hidrocarburos: Este irrita los ojos, causa tos y cansancio, causa de varios cáncer
como de pulmón.

Plomo: Afecta el sistema circulatorio, reproductivo y nervioso. Puede causar daños


neurológicos.

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.

Dióxido de azufre: Por el contenido de azufre en el diésel. Irrita las membranas de


sistema respiratorio y causa inflamación en la garganta.

1.9 PROBLEMÁTICA Y OPORTUNIDAD

En el contexto colombiano, diariamente para el control y cumplimiento de seguros y


emisiones de gas, las empresas de seguros tienen un sistema de información
asociando su vigencia de seguro vehicular, por otro lado el cumplimiento de las
emisiones también se encuentra en un sistema de información interno por las
organizaciones que lo regulan.

Tabla 1. Ventajas de uso de NFC en vehículos

Sujeto Elemento Ventajas


Chip de bajo costo
Estándar habilitado globalmente para su
Ministerio de Automóviles utilización.
Transporte Sistema Pasivo. No necesita batería el Tag.
Elevada transmisión de datos hasta 424 kbps.
Fabricantes Automóviles Abrir y cerrar las puertas de Vehículos,
de maletero por medio de Smartphone o Relojes
Automóviles NFC.

Realizar pago en estaciones de Gasolina.

Sincronización de música y archivos


multimedia.

Recibir información y datos de las vías.

Adaptación del auto a personalización del


conductor (Posiciones de espejos, silla, volante
etc.)

Fuente del Autor

35
1.10 METODOLOGÍA

El proyecto es una solución basada en tecnología NFC embebida en Sistema


Operativo Android para la identificación y verificación vehicular. Para esto se realizó
primeramente un proceso de investigación y estado del arte de esta tecnología para
proponer la solución del prototipo del sistema final desarrollado.

1.10.1 Tipo de investigación. Para el desarrollo metodológico del proyecto se


aplicó una investigación cuantitativa y descriptiva. El proyecto tiene el planteamiento
del problema definido al igual que los objetivos, y descriptiva porque se pretende
describir el estado y las características de las tecnologías NFC y ANDROID.

1.10.2 Fases de investigación. Para el cumplimiento de los objetivos y resultados


de la investigación se realizó en varias fases, inicialmente al estudio de
funcionamiento y uso, que problemas se encontraron, ventajas y desventajas de
esta tecnología, luego se aplicó el conocimiento al problema planteado y se usó una
metodología de desarrollo de software para la creación del prototipo funcional.

Finalmente se pasó a la fase de pruebas y documentación de los resultados


obtenidos en la investigación y se socializo el proyecto ante la comunidad
académica.

1.10.2.1 Fase de Planeación.

• Investigación y formulación del problema


• Definir marco teórico
• Objetivos
• Investigación del estado de arte.
• Creación del documento del Proyecto.

1.10.2.2 Fase De Recolección De Información.

• Investigación y documentación de RFID


• Investigación y documentación de tecnología NFC
• Investigación y documentación de arquitecturas para desarrollo en móviles
• Recopilación de información vehicular por parte de los organismos
controladores de Tránsito en la Ciudad de Bogotá.
• Investigación de implementaciones en control vehicular en la ciudad de
Bogotá

36
1.10.2.3 Fase de Documentación en NFC.

• Definir funcionamiento de la tecnología NFC


• Documentar el funcionamiento
• Investigar y documentar aplicaciones realizadas con estas tecnología a nivel
mundial
• Documentar ventajas del uso de la tecnología NFC
• Definir las problemáticas encontradas
• Definir las ventajas de esta tecnología
• Listar posibles aplicaciones a desarrollar

1.10.2.4 Fase de Desarrollo - Metodología XP de Software.

Para el desarrollo del prototipo se usó una metodología de desarrollo de software


que nos permita hacer un desarrollo ágil, ligero, basándonos en buenas prácticas
para cumplir los objetivos y aumentar la productividad a la hora de desarrollar.

Esta metodología de desarrollo de software da prioridad a actividades para un


resultado directo y hace más ligero el desarrollo, puede dividirse en cuatro fases
que son planificación, diseño, desarrollo y pruebas.

1.10.2.5 Fase de Desarrollo.

• Diseño de Base de datos


• Diseño y Desarrollo de aplicación web
• Diseño y Desarrollo de aplicación móvil
• Desarrollo de servicio web

1.10.2.6 Fase de Instalación de Software.

• Configuración de servidores de base de datos Mysql, servidor de


aplicaciones, servidor web Apache.
• Configuración e instalación de servicio web SOA.
• Configuración de Web Service.
• Instalación del aplicativo en los celulares.

37
1.10.2.7 Fase de Pruebas.

• Pruebas del aplicativo en el celular.


• Pruebas de los servicios de los servidores web.
• Pruebas del aplicativo en terreno de campo.
• Pruebas del sistema en general.

1.10.2.8 Fase de documentación.

• Elaboración de documento final.


• Revisión de objetivos cumplidos.
• Conclusiones finales.
• Socialización del proyecto y demostración del aplicativo.

38
2. MARCO TEÓRICO

2.1 NFC NEAR FIELD COMMUNICATION

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).

La tecnología NFC permite la comunicación entre dos teléfonos móviles con


capacidad de NFC, un teléfono móvil y un lector NFC o una etiqueta NFC en el otro
extremo, además es considerada una solución muy práctica debido al uso masivo
de los dispositivos móviles y su creciente mercado a nivel mundial permitiendo el
desarrollo de modernos dispositivos con diferentes características, actualizaciones
y nuevas versiones de Sistemas Operativos en Android y IOS, quienes ahora están
integrando esta tecnología al nuevo Sistema de Pagos con NFC (Coskun, Ok, &
Ozdenizci, 2012).

La tecnología (NFC) facilita operaciones cotidianas de los usuarios y se hace


beneficiosa para todas las industrias y desarrolladores en todo el mundo al permitir
hacer transacciones comerciales, intercambio de contenidos digitales y conectar
dispositivos electrónicos. (NFC forum, 2015).

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).

2.2 ORIGEN Y DESARROLLO

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.

Su desarrollo empieza en el año 2002 y sus promotores fueron Philips y Sony


principalmente para conseguir compatibilidad con sus tecnologías, Mifare y FeliCa
respectivamente, pero no sino hasta finales del año 2003 que se la aprueba como
el estándar ISO 180926 (Coskun, Ok, & Ozdenizci, 2012).

2.3 HISTORIA DE NFC

El sistema de comunicación de campo cercano NFC nace de la tecnología RFID,


identificación por radiofrecuencia, las dos tecnologías manejan los mismos
estándares, sin embargo existe una característica que distingue a la NFC con la
RFID. NFC permite la comunicación entre dos dispositivos (Hamblen Matt, 2012).

40
Tabla 2. Historia de NFC

2002 Comienza el Desarrollo de la tecnología NFC.


2003 Aprobado bajo los estándares ISO / IEC 18092 y ECMA
2004 Nokia, Philips y Sony establecieron la Near Field Communication (NFC)
Forum. Nace NFC Forum.
2006 Especificaciones iniciales de etiquetas NFC
Nokia 6131 primer teléfono con NFC.
2009 NFC Forum publica las normas para transferir contactos punto a punto,
URL, iniciar Bluetooth para permitir a usuarios enviar fotos, música y
películas a otros teléfonos NFC.
2010 Primeros teléfonos Android con NFC, Samsung Nexus S
2011 Google I / O demuestra NFC para iniciar un juego y para compartir un
contacto, URL, aplicaciones, vídeos, etc.
Nokia lanzó los dispositivos Symbian Anna y Meego que daban soporte
a la tecnología NFC.
Lanzamiento de Google Wallet, esta aplicación apareció como sistema
de pagos

2012 Primer smartposter creado por un restaurante EAT y un operador de


red móvil en el Reino Unido.
Nokia lanza Lumia 610, en el Mobile World Congress, primer Windows
Phone con NFC.
Sony lanza Sony Xperia Smartphone P junto con etiquetas inteligentes
NFC.
Samsung promociona el Samsung Galaxy SIII con NFC y S Beam para
compartir datos.
Lanzamiento de Google Play.
Primeras Apps de NFC en Google Play.
2013 Aumenta la publicación de Apps en Google Play.
Comercialización de Dispositivos con NFC.
2014 Apple Integra NFC a sus nuevo móviles Iphone 6.
2015 Lanzamiento de Servicios Samsung Pay y Apple Pay.

Fuente (Hamblen Matt, 2012)

2.4 PRINCIPALES VENTAJAS 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.

• Versátil: NFC es ideal para la más amplia gama de industrias, entornos y


usos.

• Basada en estándares abiertos: Las capas subyacentes de la tecnología


NFC siguen los estándares universales implementado las normas ISO,
ECMA y ETSI

• Tecnologías habilitadas: NFC facilita la configuración rápida y sencilla de


las tecnologías inalámbricas como Bluetooth, Wi-Fi, etc).

• Intrínsecamente seguro: las transmisiones de la NFC son de corto alcance


(de un toque a unos pocos centímetros).

• Interoperable: NFC trabaja con las actuales tecnologías de tarjetas sin


contacto.

• Seguridad: NFC ha incorporado en las capacidades para soportar


aplicaciones seguras

2.5 DISPOSITIVOS INTELIGENTES NFC

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).

2.5.2 Lector de NFC. El lector NFC realiza la transferencia de datos con un


componente de NFC, por ejemplo en un punto de venta de almacén se puede
realizar pagos en un lector NFC sin contacto. En el mercado se pueden encontrar
varios modelos de lectores NFC compatibles con tarjeras Mifare, ISO 14443 A y B,

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).

En la tecnología NFC el que inicia la comunicación se llama INICIADOR, y el


dispositivo que responde las peticiones se llama OBJETIVO. Cuando un
componente NFC tiene su fuente de alimentación integrada y generar su propio
cambio de RF se inicia de forma natural y conduce la comunicación es llamada
Dispositivo Activo. En el otro lado si el dispositivo no cuanta con fuente de
alimentación propia o integrada es llamado dispositivo pasivo y solo responde al
dispositivo activo (Coskun, Ok, & Ozdenizci, 2012).

2.6 EVOLUCIÓN DE NFC

NFC es una extensión de RFID y en ambas se puede utilizar varias interfaces de


tarjetas inteligentes Smart Cards. La evolución de esta tecnología la podemos ver
desde sus antecesores como el código de barras siendo estos primeros que la
tecnología RFID y las tarjetas de banda magnética (Coskun, Ok, & Ozdenizci, 2012).

2.6.1 Códigos de Barras. Un código de barras es una representación visual de los


datos de objeto al que está unido. La información de los códigos de barras es
escaneado por los lectores de códigos de barras y se transfiere a los dispositivos
de computación que están conectados a los lectores. A continuación, el dispositivo
procesa la información, los códigos de barras representan datos variando las
anchuras y espaciamiento de líneas paralelas, y se conocen como lineal o
unidimensional (1D) (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.2 Tarjetas de Banda Magnética. Una tarjeta de banda magnética contiene un


espacio de almacenamiento digital donde los datos son cargados en la fase de
fabricación. La banda se compone de diminutas partículas magnéticas en una
resina. Es tradicionalmente un elemento de sólo lectura. Se lee por contacto físico
al deslizar la tarjeta más allá de un dispositivo con un cabezal de lectura magnética.
Actualmente, bandas magnéticas se utilizan sobre todo en la de débito bancaria y
tarjetas de crédito, tarjetas de fidelización, billetes de avión y las tarjetas de
embarque (Coskun, Ok, & Ozdenizci, 2012).

2.6.3 Tarjetas Inteligentes. Las tarjetas inteligentes o común mente conocidas


como Smart Card son tarjetas en cuyo interior se encuentra un circuito integrado,
son hechas de plástico PVC y se pueden usar tanto en SIM para celulares como en
tarjetas bancarias o de identificación permitiendo acceso a muchos servicios usadas
en infinidad de aplicaciones, no tiene fuente de energía por tal motivo son
energizadas por el dispositivo o lector externo. Este tipo de tarjetas se pueden
clasificar según diversas características como su memoria, características de
circuitos, formato, interfaz y contacto (Coskun, Ok, & Ozdenizci, 2012).

2.6.3.1 Tarjetas de Contacto. Definidas por los estándares ISO/IEC


7816 e ISO/IEC 7810. Para su uso deben ser insertadas en una ranura de un lector.
Tiene contactos metálicos visibles de color dorado por medio de los cuales el lector
alimenta eléctricamente a la tarjeta y transmite los datos. Se comunica con un lector
de tarjetas por contacto físico directo. Contienen un módulo de micro que contiene
una sola tarjeta de circuito integrado de silicio con la memoria y el microprocesador.
La transmisión de comandos, datos y estado de la tarjeta de información se lleva a
cabo sobre estos puntos de contacto físico (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).

Un estándar alternativo de tarjetas inteligentes sin contacto es el ISO 15693, el cual


permite la comunicación a distancias de hasta 50 cm. Lectores y tarjetas cuentan
con antena por medio del cual se realiza el enlace sin contacto alguno trasmitiendo

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).

2.6.4 Normas y Especificaciones de Tarjetas. La Smart Card Alliance (2015)


define que para el control, regulación, fabricación y uso de tarjetas inteligentes
existen una serie de normas como los estándares ISO; las principales normas,
estándares y organismos de normalización de las diferentes tarjetas inteligentes:

• Normas ISO / IEC


• Procesamiento de Información Federal Standard 201 - FIPS 201
• Normas de Procesamiento de Información Federal
• Normas American National Standards Institute (ANSI)
• Plataforma Global (GP) (Plataforma Abierta)
• Common Criteria (CC)
• Organización de Aviación Civil Internacional (OACI)
• Aerolínea Internacional y la Asociación de Transporte (IATA)
• G-8 de Normas Sanitarias
• La Ley de Portabilidad y Responsabilidad de Seguros de Salud (HIPAA) de
1996 (Ley Pública 104-191)
• Sistema Global para Comunicaciones Normas Móviles (GSM)
• EMV 2000 Especificaciones
• Personal Computer / Smart Card (PC / SC) Especificaciones de grupo de
trabajo abiertas
• OpenCard (TM) Marco
• Asociación Americana de Transporte Público
• Java Card

45
• MULTOS
• Normas biométricas

2.6.5 Clases de Tarjetas. Para el trabajo de tarjetas inteligentes con dispositivos


NFC en el mercado actual existen varios fabricantes siendo los más importantes
NXP, Calyso y FeliCa.

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).

2.6.5.2 Tarjetas Calypso. Esta organización internacional de billetaje electrónico


definiendo un estándar para microprocesador de tarjetas inteligentes sin contacto,
diseñado por un grupo de transporte europeo. Asegura múltiples fuentes de
productos compatibles, y hace posible la interoperabilidad entre varios operadores
de transporte en la misma zona (CALYPSO, 2014).

2.6.5.3 Tarjetas FeliCa. FeliCa es un Sistema sin contacto de tarjetas Inteligentes


RFID, creado por Sony, es utilizado en muchos países, trabaja a 13,56 MHz. Para
su uso en lectores y grabadores solo hay que colocar la tarjeta en estos dispositivos
para activar la trasmisión de datos de alta velocidad para escribir los datos en la
tarjeta (Sony Corporation, 2015).

• Cuenta con un alto estándar de seguridad lo que le permite ser usada en un


alto volumen de transacciones en transporte público, dinero electrónico,
llaves para control de acceso a áreas restringidas.
• Su nombre viene de la palabra felicidad para hacer la vida más agradable y
cómoda.
• El chip y la antena están incrustados.
• El tiempo de una transacción completa es de 0.1 segundo
• Los usuarios pueden usar la tarjeta sin ser necesario sacarla de la cartera o
bolso.
• Cumple la norma ISO / IEC 15408 EAL4 / nivel de seguridad EAL4 +
• Los datos contenidos en la tarjeta esta protegidos para ataques maliciosos
(Sony Corporation, 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).

2.8 COMUNICACIÓN DE LA TECNOLOGÍA NFC

Estudiando cómo se comunican los dispositivos NFC, Chavarría (2011) menciona


que cuando dos dispositivos con NFC se aproximan lo suficiente en este caso
menos de 10 cm, para que sus campos magnéticos entren en contacto, se produce
un acoplamiento por inducción magnética para transferir energía y datos entre ellos.

Este acoplamiento magnético es la gran diferencia entre NFC y otros dispositivos


como Bluetooth y Wi-Fi.

Figura 3. Funcionamiento de NFC para pagos

Fuente Omicrono (2012).

Un dispositivo NFC puede comunicarse con cualquier tarjeta inteligente y lector,


existentes dentro del estándar ISO/IEC 14443, también como con otros dispositivos
NFC. Dependiendo de la función que realice, enviar o recibir datos, el dispositivo
NFC toma una de las siguientes funciones:

• Iniciador (initiator): Como su nombre lo indica es quien inicia y controla


el intercambio de información (el equivalente al lector en los sistemas

47
RFID/NFC).

• Objetivo (target): Es el dispositivo que responde a los requerimientos del


iniciador.

Cualquier dispositivo electrónico con NFC (excepto una etiqueta NFC) puede operar
de las dos formas: como Iniciador o como Objetivo (Chavarría, 2011).

2.9 ARQUITECTURA DE NFC EN TELÉFONOS MÓVILES

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).

La interfaz NFC se compone de:

• Front-end analógico / digital, un Front-end (NFC CLF) NFC sin contacto


• Antena NFC
• Controlador NFC para permitir la comunicación NFC.

El controlador NFC permite la comunicación NFC del teléfono móvil con el


dispositivo NFC externo (Coskun, Ok, & Ozdenizci, 2012).

Figura 4. Arquitectura NFC en Teléfonos Móviles

Fuente (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 CLASIFICACIÓN DE LOS DISPOSITIVOS NFC

Dos dispositivos NFC comienzan inmediatamente su comunicación a medida que


se tocan. La acción de tocar se toma como la condición de activación para la
comunicación NFC. Los dispositivos NFC se pueden clasificar en la comunicación
en base a dos parámetros. El primer parámetro es el suministro de energía que se
traduce en dispositivos activos y pasivos. El segundo está iniciando la
Comunicación y conduce a iniciador y los dispositivos de destino (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).

Un iniciador, obviamente, siempre tiene que ser un dispositivo activo, ya que


requiere una fuente de alimentación para iniciar la comunicación. El objetivo, por
otro lado, puede ser un activo o un dispositivo pasivo. Si el destino es un dispositivo
activo, entonces utiliza su propia fuente de energía para responder; si es un
dispositivo pasivo, que utiliza la energía creada por el campo electromagnético que

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).

2.11 NFC FORUM TIPOS DE ETIQUETAS

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).

Diferentes definiciones de etiquetas NFC se enumeran a continuación con una


comparación de los tipos de etiquetas.

Figura 5. Tipos de Tags NFC

Fuente (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).

2.12 TIPOS DE CHIPS NFC

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.3 Chip NTAG215 y NTAG216. Son superiores en capacidades de


almacenamiento que los anteriores chips NFC, tienen una memoria de 504 y 888
bytes, compatible con las especiaciones de NFC FORUM, sin criptografía (previene
que sea clonado y el acceso no autorizado a los datos), por su capacidad en
memoria se hacen más costos el adquirirlos (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).

2.13 FASES DE LA COMUNICACIÓN EN NFC

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.

• Autenticación: En esta parte los dispositivos verifican si el otro dispositivo


está autorizado o si deben establecer algún tipo de cifrado para la
comunicación.

• Negociación: En esta parte del establecimiento, los dispositivos definen


parámetros como la velocidad de transmisión, la identificación del
dispositivo, el tipo de aplicación, su tamaño, y si es el caso también definen
la acción a ser solicitada.

• Transferencia: Una vez negociados los parámetros para la comunicación,


se puede decir que ya está realizada exitosamente la comunicación y ya se
puede realizar el intercambio de datos.

• Confirmación: El dispositivo receptor confirma el establecimiento de la


comunicación y la transferencia de datos (p. 34).

2.14 MODOS DE FUNCIONAMIENTO.

La tecnología NFC puede operaras de dos modos distintos: Pasivo y Activo.

2.14.1 Modo Pasivo. El dispositivo Iniciador genera el campo electromagnético


y el dispositivo destino se comunica con éste modulando la señal recibida. En
este modo, el dispositivo destino obtiene la energía necesaria para funcionar del
campo electromagnético generado por el Iniciador” (Chavarría, 2011, p. 39)

Figura 6. Esquema del modo de funcionamiento pasivo NFC

Fuente (Chavarría, 2011, p. 40)

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)

Figura 7. Esquema del modo de funcionamiento activo NFC

Fuente (Chavarría, 2011, p. 41)

2.15 ESTÁNDARES DE NFC EN DISPOSITIVOS MÓVILES

La tecnología NFC fue desarrollada conjuntamente por Philips y Sony a finales de


2002 para establecer una comunicación sin contacto entre sus dispositivos y en ese
mismo año ECMA Internacional la adoptó como un estándar. La Organización
Internacional de Normalización (ISO) y la Comisión Electrotécnica Internacional
(IEC) adoptaron NFC en diciembre de 2003, para el 2004, Nokia, Philips y Sony
fundaron el NFC Forum para promover la tecnología (Coskun, Ok, & Ozdenizci,
2012).

Los estándares de la Tecnología NFC son reconocidos por:

• ISO International Organization for Standardization


• IEC International Electrotechnical Commission
• ETSI European Telecommunications Standards Institute
• ECMA European Computer Manufacturers Association

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

2.16 MODOS DE FUNCIONAMIENTO NFC

Hay tres modos de funcionamiento, lectura / escritura, punto a punto, y emulación


de la tarjeta. El modo de lectura / escritura permite al móvil NFC intercambiar datos
con una etiqueta NFC. El modo punto a punto permite dos móviles habilitados para
NFC para intercambiar datos entre sí. En el modo de emulación de tarjeta, un
teléfono móvil se puede utilizar como una tarjeta inteligente para interactuar con un
lector de NFC. Cada modo de funcionamiento tiene una infraestructura técnica
diferente, así como beneficios para los usuarios (Coskun, Ok, & Ozdenizci, 2012).

2.16.1 Modo de Lectura / Escritura. Este modo permite la comunicación de un


móvil NFC con una etiqueta NFC. El objetivo de la comunicación es o bien la lectura
o escritura de datos desde o hacia una etiqueta por el teléfono móvil. Podemos
clasificar aún más el modo en dos modos diferentes: el modo lector y modo de
escritor. En el modo de lector, el móvil lee los datos de una etiqueta NFC; mientras
que en el modo de escritor, el teléfono móvil escribe datos en una etiqueta NFC
(Coskun, Ok, & Ozdenizci, 2012).

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).

Figura 8. Modo Lectura / Escritura

Fuente (Coskun, Ok, & Ozdenizci, 2012).

Las características de los teléfonos móviles, tales como la potencia de


procesamiento, / capacidad de audio y vídeo y acceso a Internet, junto con el lector
/ modo de escritor ofrecen muchas oportunidades para los usuarios y los
proveedores de servicios. Un usuario puede comprar una entrada de cine después
de abrir una aplicación móvil o ir a sitio web al tocar su dispositivo móvil a una
etiqueta en un cartel inteligente. Las aplicaciones en este modo son innumerables
y pueden ser muy innovador (Coskun, Ok, & Ozdenizci, 2012).
2.16.1.1 Usos de lectura y escritura

• Carteles Inteligentes: Son materiales publicitarios o carteles que están


equipados con etiquetas NFC. Esas etiquetas pueden contener diferentes
tipos de datos, como una dirección URL, un servicio de cupones, un servicio
de SMS (Coskun, Ok, & Ozdenizci, 2012).

• Modelo Genérico de uso: Un usuario interactúa con una etiqueta NFC y


utiliza su teléfono móvil como un dispositivo de lectura / escritura. La
información en la etiqueta es posiblemente la información que se utiliza para
acceder a algún servidor proporcionado por el proveedor de servicios, tales
como el URL de alguna página, información de reserva o de venta de
entradas de datos de servicios web. En otro escenario, una etiqueta NFC
almacena una URL para que el sitio web relacionado puede ser lanzado por
el navegador en el teléfono móvil después de que se reciba la URL (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).

• Recopilación de información: Es uno de los usos más importante para el


modo de lectura / escritura. La mayor parte de la recopilación de información
de aplicaciones incluye aplicaciones de carteles inteligentes. La recopilación
de información incluye la lectura de la información de una etiqueta NFC y
luego o bien almacenar o mostrarlo en el teléfono móvil. Hay dos opciones
para almacenar los datos:

• Los datos reales pueden ser almacenados en la etiqueta; la etiqueta


incluye la URL de una página web que contiene los datos reales.
• La ventaja de almacenar los datos en la etiqueta es que la recepción por
el móvil es fácil y rápido para pequeñas cantidades; la ventaja de utilizar
un servidor es que puede contener cantidades más grandes de datos. El
almacenamiento de los datos en el servidor tiene otra ventaja: los datos
se pueden actualizar fácilmente con respecto a la modificación de todas
las etiquetas NFC que contienen los datos obsoletos. Cuando los datos
se almacenan en un servidor remoto, utilizando el servicio web
proporciona una solución conveniente y contemporánea. Para utilizar un
servicio web, una aplicación adecuada que puede hacer que se necesita
utilizar el servicio web para ser instalado en el dispositivo móvil (Coskun,
Ok, & Ozdenizci, 2012).

• Si la cantidad de datos es pequeña y estática, es más prudente para


integrar los datos en la etiqueta, ya que no habrá necesidad de actualizar
los datos en las etiquetas (Coskun, Ok, & Ozdenizci, 2012).

• Descargas: Permite a los usuarios descargar los horarios (por ejemplo,


horarios de autobuses) a un teléfono móvil a través de carteles inteligentes,
los horarios pueden ser guardados dentro de la etiqueta cuando la cantidad
de datos es pequeña y estática de modo que no cambia con frecuencia. Si
ellos cambian con frecuencia, la información debe guardarse en un sitio web
que es accesible en los navegadores móviles o en un servidor de base de
datos que es accesible a través de un cliente de servicios web. Los horarios
pueden ser manejados con facilidad si la información se almacena en un
recurso de Internet (Coskun, Ok, & Ozdenizci, 2012).

• Información sobre el producto: Este caso de uso permite a los usuarios


recopilar información sobre los productos de una etiqueta que se incrusta en

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).

• Historia de productos: Este caso de uso permite conocer la historia de un


producto para ser leído a través de una etiqueta NFC. Como un ejemplo,
cuando un cliente compra carne de un supermercado, la información de
producción de la carne como raza y edad de la vaca, la ubicación de la granja,
y se puede obtener información del matadero donde fue producida. (Coskun,
Ok, & Ozdenizci, 2012).

• Comercialización a distancia: Comercialización a distancia es otro caso de


uso agradable en el modo de lectura / escriturar que permiten las reservas y
compras en línea (Coskun, Ok, & Ozdenizci, 2012).

• Reserva online y compra: Reserva y compra de boletos como el cine y el


teatro se pueden hacer en línea por medio de carteles inteligentes. La
etiqueta NFC contiene información resumida, que puede ser estática. La
información de la programación es posiblemente dinámica y requiere ser
almacenada en algún servidor. Después de que el usuario está conectado al
servidor, puede o bien hacer la reserva o adquirir la entrada (Coskun, Ok, &
Ozdenizci, 2012).

• Ofertas en línea: Ofertas especiales tales como centro comercial, tienda o


descuentos en productos y la información de la campaña se pueden recibir
al tocar un dispositivo móvil a una etiqueta NFC en el cartel inteligente
(Coskun, Ok, & Ozdenizci, 2012).

• Compras a distancia: El caso remoto de uso comercial se puede


implementar de varias maneras para que las compras en línea. Todos los
productos vienen con una etiqueta NFC unido a sus paquetes. Cuando se
consume un elemento, el usuario puede tocar el dispositivo móvil a la etiqueta
en el envase del producto y agregarlo a una lista de compras. Después, el
usuario será capaz de ordenar la lista de compras en línea (Coskun, Ok, &
Ozdenizci, 2012).

• Redes sociales: En general, todos los casos de redes sociales en el modo


lectura / escritura pueden incluir información de presencia y actualización en
las redes sociales. En este caso, las etiquetas NFC pueden proporcionar un
medio para la actualización de un perfil en redes sociales. Por ejemplo, en
aplicaciones de redes sociales, los usuarios pueden tocar etiquetas NFC que
están incrustados en la entrada del local de ocio o institución educativa para

58
actualizar la información de estado o ubicación al entrar o salir del lugar
(Coskun, Ok, & Ozdenizci, 2012).

• Servicios de Ubicación: Los servicios de localización pueden ser


implementados en diferentes contextos. Como un servicio para, los turistas,
los usuarios pueden recibir información sobre el cajero automático más
cercano o centro de información turística, así como información de la ciudad,
una guía turística, mapa de la ciudad u otra información de carteles
inteligentes. Navegaciones NFC basados, recomendaciones, eventos
sociales, y la ubicación de la publicidad móvil basada son otros ejemplos en
este contexto (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).

El control de energía incorporado a los teléfonos móviles, ambos dispositivos están


en modo activo durante la comunicación en modo peer-to-peer. Los datos se envían
a través de un canal dúplex medio bidireccional, lo que significa que cuando un
dispositivo está transmitiendo, el otro tiene que escuchar y debe empezar a
transmitir datos después de que finalice la primera. La tasa de datos máxima posible
en este modo es de 424 kbps (Coskun, Ok, & Ozdenizci, 2012).

Figura 9. Modo punto a punto

Fuente (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).

Figura 10. Modelo de uso genérico de modo punto – a punto

Fuente (Coskun, Ok, & Ozdenizci, 2012).

• Intercambio de datos: Dos usuarios pueden intercambiar datos a través de


teléfonos móviles.
• Uso del servicio adicional: cuando los datos son compartidos entre los
teléfonos móviles, estos datos se pueden usar opcionalmente para los
propósitos adicionales, tales como el ahorro de una tarjeta de negocios
recibida a una base de datos a través de Internet después de una cuota de
éxito o iniciar una amistad en una red social (Coskun, Ok, & Ozdenizci, 2012).

• Aplicaciones: En esta sección, nos centramos en las principales


aplicaciones que se benefician de modo peer-to-peer:

• Intercambio de datos: La información crítica puede ser almacenada en un


dispositivo móvil de forma segura y se puede intercambiar con otras personas
autorizadas mediante el modo peer-to-peer. Dado que la comunicación se
realiza a través de unos pocos centímetros, los usuarios se sienten seguros
para compartir datos privados e importantes que utilizan la tecnología NFC.
Cuando más alto nivel de los requisitos de seguridad se establecen las
medidas de seguridad adicionales deben ser proporcionados también. Dos

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).

• Redes Sociales: Las redes sociales en modo peer-to-peer incluye casos de


uso para las personas intercambien su información social. A partir de una
amistad en las redes sociales es un buen ejemplo de este caso. Intercambio
de tarjetas de negocios es otro ejemplo (Coskun, Ok, & Ozdenizci, 2012).

• Dispositivos de emparejamiento: Dos dispositivos habilitados para NFC se


pueden combinar como auriculares con teléfonos móviles, dispositivos en el
automóvil, componentes de ordenador, y así sucesivamente (Coskun, Ok, &
Ozdenizci, 2012).

• Beneficios aplicación: El número de aplicaciones desarrolladas utilizando


el modo peer-to-peer es menor que para otros modos de funcionamiento
hasta ahora. Se utiliza generalmente para el emparejamiento de dispositivos,
redes y operaciones de transferencia de archivos. Emparejar dispositivos
Bluetooth, intercambiar tarjetas de visita, y hacer nuevos amigos en las redes
en línea son posibles implementaciones de este modo. Peer-to-peer modo
proporciona fácil intercambio de datos entre dos dispositivos (Coskun, Ok, &
Ozdenizci, 2012).

• El Fácil intercambio de datos entre dos dispositivos compatibles con NFC


ofrece la posibilidad de intercambio seguro de datos privados. Dispositivos
NFC pueden transferir datos en unos pocos centímetros, por lo que el
intercambio de datos privados e importantes pueden ser una de las
principales aplicaciones de este modo futuras (Coskun, Ok, & Ozdenizci,
2012).

2.16.3 Modo de Emulación de Tarjeta. Este modo ofrece la oportunidad de un


móvil NFC para funcionar como una tarjeta inteligente sin contacto. Algunos
ejemplos de la emulada tarjeta inteligente sin contacto son las tarjetas de crédito,
tarjetas de débito, tarjetas de fidelización y así sucesivamente. Un móvil NFC puede
incluso almacenar múltiples aplicaciones sin contacto de tarjeta inteligente al mismo
tiempo. El modo de emulación de la tarjeta es un modo importante, ya que permite
a las aplicaciones de pago y de venta de entradas y es compatible con la
infraestructura de tarjetas inteligentes existentes (Coskun, Ok, & Ozdenizci, 2012).

En este modo de funcionamiento de un teléfono móvil NFC no genera su propio


campo de RF; las interfaces de comunicación soportados actualmente para el modo
de emulación de la tarjeta son la norma ISO / IEC 14443 Tipo A y Tipo B, y FeliCa.
El Modo de emulación de la tarjeta es un modo importante, ya que permite a las

61
aplicaciones de pago y de venta de entradas, es compatible con la infraestructura
de tarjetas inteligentes existentes (Coskun, Ok, & Ozdenizci, 2012).

Figura 11. Modo Emulación de Tarjeta

Fuente (Coskun, Ok, & Ozdenizci, 2012).

• Modelo Genérico de uso: En el modo de emulación de la tarjeta, el usuario


interactúa con un lector NFC, generalmente usando su teléfono móvil como
una tarjeta inteligente. El lector NFC es propiedad de un proveedor de
servicios que está posiblemente conectado a Internet también. En este modo
de funcionamiento, el usuario se conecta a un proveedor de servicios a través
de un lector de NFC, posiblemente, sin notificar al proveedor de servicios
(Coskun, Ok, & Ozdenizci, 2012).

Figura 12. Modo de uso genérico del modo de emulación de tarjeta

Fuente (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.

• Aplicaciones Leading: En esta sección se presentan las principales


implementaciones de modo de emulación de la tarjeta.

• Pago: No puede haber diferentes tipos de aplicaciones de pago NFC. No hay


duda de que las solicitudes de pago más importantes son el crédito y el uso
de tarjetas de débito que puede ser activado por los lectores NFC. También
hay otras oportunidades de pago NFC, como el almacenamiento y el uso de
vales, el uso de tarjetas de regalo, y así sucesivamente (Coskun, Ok, &
Ozdenizci, 2012).

• Lealtad: Los puntos de fidelidad se pueden obtener en los puntos de pago y


luego se pueden utilizar para realizar compras libres o para obtener un
regalo. Además, los cupones que se descargan a través de carteles
inteligentes que utilizan el modo de lectura / escritura pueden además ser
utilizadas por los lectores NFC que utilizan este modo de funcionamiento
(Coskun, Ok, & Ozdenizci, 2012).

• Venta de Entradas: Casos de uso de venta de entradas se pueden


implementar en diferentes formas. Los usuarios pueden almacenar diferentes
tipos de entradas como entradas de teatro, autobuses, y de vuelo que se han
descargado previamente a través de carteles inteligentes o por algún otro
método. Estos billetes pueden entonces ser utilizados en torniquetes o
puntos de validación a través de modo de emulación tarjeta. Prepago o
tarjetas de venta de entradas mensuales también pueden ser almacenados
y utilizados (Coskun, Ok, & Ozdenizci, 2012).

• Control de Acceso: Casos de uso de control de acceso permiten a los


usuarios almacenar sus objetos de control de acceso en sus dispositivos
móviles. Ejemplos de estos casos incluyen cerradura electrónica para

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).

• Servicios de Identidad: Otro caso interesante de uso de esta modalidad es


el almacenamiento de la información basada en la identidad en los
dispositivos móviles y que permite al personal autorizado para acceder a ella.
Un ejemplo de este tipo de servicio es el almacenamiento de los datos del
paciente. La historia de un paciente se puede almacenar en un móvil
dispositivo y el usuario puede optar por dar permiso a un médico para
acceder a esos datos a través de un lector de NFC. Esto aumenta la
privacidad del usuario ya que no deseadas terceros tales como compañías
de seguros no podrán acceder a la información del paciente. Aún más
interesantes aplicaciones se pueden desarrollar en esta categoría, como la
integración de las tarjetas de identificación nacional, pasaportes, huellas
dactilares, y licencias de conducir a los teléfonos móviles (Coskun, Ok, &
Ozdenizci, 2012).

• Entorno Inteligente: El caso entorno inteligente se refiere al uso de la


tecnología NFC en entornos inteligentes (hogar inteligente, oficina, etc.). El
ejemplo más común es la gestión de entornos inteligentes a través de los
datos pre configurados en un teléfono móvil. En este caso, cuando un usuario
entra en un entorno inteligente, configuración del entorno inteligente
específicas (por ejemplo, nivel de brillo, selección de canciones) pueden ser
ajustados por el dispositivo móvil. También se puede integrar con un
mecanismo de control de acceso de modo que cuando un usuario abre la
puerta con su llave electrónica NFC, un entorno inteligente personalizada
puede ser activado (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

Fuente (Coskun, Ok, & Ozdenizci, 2012).

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).

1. Solicitud de Pago: Alice solicita el pago NFC al tocar su teléfono móvil al


lector NFC, El lector NFC lee los datos de tarjetas de crédito requeridas y los
procesa. El teléfono móvil puede ser visto como el iniciador en este proceso,
sin embargo, el dispositivo que crea el campo magnético es el lector NFC, y
por lo tanto el lector NFC es el dispositivo iniciador. La acción táctil del usuario
puede ser visto como la acción de disparo (Coskun, Ok, & Ozdenizci, 2012).

2. Autorización de tarjeta de crédito: El lector NFC envía la información de la


tarjeta de los servicios bancarios para la autorización de la tarjeta de crédito.
El servicio de autorizaciones responde a la solicitud de transacción (Coskun,
Ok, & Ozdenizci, 2012).
3. confirmación de pago: El teléfono móvil se notifica a continuación sobre la
transacción. Alice estaba feliz de pagar con su teléfono móvil (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).

Figura 14. Ejemplo de modelo de uso de la emisión de tickets

Fuente (Coskun, Ok, & Ozdenizci, 2012).

2. Validación de entradas: El lector NFC envía la información del boleto para el


servidor de venta de entradas con el fin de validarla. Alternativamente, la
validación también puede llevarse a cabo fuera de línea a través de una
aplicación en el lector de NFC (Coskun, Ok, & Ozdenizci, 2012).
3. Torniquete apertura: Después de validar el billete, el sistema abre el
torniquete, por lo que Alice y Bob pueden pasar a través (Coskun, Ok, &
Ozdenizci, 2012).

• Beneficios de la aplicación: El teléfono móvil está vinculado a su usuario


en su lugar. Lo que queremos decir es que el uso de un móvil teléfono en el
modo de emulación de la tarjeta no afecta a la movilidad del usuario porque
el usuario ya es móvil, incluso cuando se lleva tarjetas de crédito para realizar
las mismas funciones (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).

Para resumir, la característica dominante del modo de emulación tarjeta


implica la eliminación de la necesidad de un objeto físico. Por otra parte, en
aplicaciones de venta de entradas, un NFC teléfono móvil elimina objetos
físicos mediante la eliminación de la necesidad de llevar billetes de papel o
en formato electrónico. En un control de acceso o una aplicación llave
electrónica, el uso de NFC elimina la necesidad de llevar una llave física o
una llave inteligente sin contacto. Como se utiliza para entrar en las
habitaciones sin necesidad de utilizar llaves electrónicas, sino que también
proporciona control de acceso. Como resultado, los beneficios más
importantes de aplicaciones modo de emulación de la tarjeta son la
eliminación de los objetos físicos y proporcionar control de acceso (Coskun,
Ok, & Ozdenizci, 2012).

2.17 OTA

Es un estándar mundial para la transmisión de información de forma inalámbrica,


se utiliza él envió de mensajes SMS para enviar información al usuario encriptada
para asegurar la seguridad al usuario. Permite al operador de las tarjetas SIM tener
control total de la tarjeta, permitiendo realizar tareas de configuración remota.
(Mobility Services for Business, 2010).

2.18 Secure Element (SE)

Es una plataforma a prueba de manipulaciones y un requisito para almacenar


información digital y aplicaciones de forma segura y encriptada para proporcionar la
ejecución concurrente de múltiples servicios NFC en la misma tarjeta inteligente de
forma segura (Coskun, Ok, & Ozdenizci, 2012).

Existen tres factores de forma de SE

• Universal Integrated Circuit Card (UICC)

67
• Embedded SE
• microSD

Tanto la UICC y microSD son extraíbles. (GlobalPlatform, 2015).

La Tecnología NFC debe tranquilizar a los usuarios y proveedores de servicios


asegurando que la transacción se lleva a cabo en un ambiente protegido. Esta
protección se logra mediante el uso de un Elemento Seguro SE, que proporciona
los mecanismos de seguridad necesarios para apoyar diversos modelos de negocio.
SE es una combinación de hardware, software, interfaces y protocolos incorporados
en un teléfono móvil que permite un almacenamiento seguro (Coskun, Ok, &
Ozdenizci, 2012).

El SE tiene un Sistema Operativo como de costumbre (por ejemplo, MULTOS,


JavaCard OS), y este SO apoya la ejecución segura de aplicaciones y el
almacenamiento seguro de datos de la aplicación. El Sistema Operativo también
puede apoyar la carga segura de aplicaciones (Coskun, Ok, & Ozdenizci, 2012).

Si las aplicaciones habilitadas NFC se guardan y se ejecutan en la memoria del


controlador de host del teléfono móvil NFC, estas aplicaciones no están protegidas
contra la eliminación accidental o manipulación intencionada de los datos
guardados en la memoria. Sólo transmiten datos entre NFC habilitado los teléfonos
móviles o recopilan información de carteles inteligentes. En ticketing sin contacto,
pago y otros casos de aplicación similares, la seguridad es un tema importante.
Estas aplicaciones utilizan datos valiosos, y el almacenamiento de información
valiosa, privada (por ejemplo, información de tarjeta de crédito) en una memoria sin
garantía es inaceptable. Los datos podrían ser transmitidos a través de una interfaz
de GSM a un tercero que pueda hacer mal uso de la información (Coskun, Ok, &
Ozdenizci, 2012).

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

Fuente (Coskun, Ok, & Ozdenizci, 2012).

2.19 DIFERENCIAS ENTRE NFC Y CÓDIGO DE BARRAS

La identificación y control de productos en miles de compañías del mundo son


realizadas por medio de código de barras. Esta tecnología brinda una manera de
diferenciar los productos el uno del otro. El rápido cambio del mundo para tratar y
ver los negocios, la globalización, son unos de los factores que influyeron en la
evolución de una tecnología que identificación que permitiera llevar un seguimiento
y control de los productos a medida que se mueven. La tecnología NFC ("Sistemas
de comunicación de campo cercano"), hace ver a la tecnología de código de barras
como obsoleta, frente a las bondades que brinda para la identificación el sistema de
radiofrecuencia.

69
Figura 16. NFC vs código de barras

Fuente Krowne (2012).

Tabla 3. Diferencias entre NFC y código de barras

Características NFC Código de Barras


Limitación de
Capacidad Superior cantidad de información
información
Identificación Depende del Producto Estandarizada.
Actualización Lectura y Escritura Solo lectura
No requiere línea de visión para la Requiere línea de visión
Flexibilidad
lectura. para la lectura
Lee a través de diversos
Tipo de Lectura Lee solo en superficie
materiales y superficies.
No requiere intervención humana, Si Requiere
Precisión
100% automático Intervención Humana
Soporta ambientes agresivos
Puede dañarse
Durabilidad (intemperie, químicos, humedad,
fácilmente
temperaturas).

Fuente Del Autor

2.20 NFC FÓRUM

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

Fuente (NFC forum, 2015).

2.20.1 Ecosistema NFC. El potencial para aplicaciones NFC y productos es amplia


y profunda, ya sea aprovechando la promesa de las comunicaciones Bluetooth peer-
to-peer, el desarrollo de aplicaciones de sistemas de pago, o la creación de los chips
que permitan futuros productos basados en NFC (NFC forum, 2015).

2.20.2 NFC Forum Ayuda a Construir el Ecosistema. “Miembros del Foro


abarcan todas las partes del ecosistema NFC. Estas empresas comparten su
desarrollo, aplicación y experiencia de marketing para desarrollar las mejores
soluciones posibles para avanzar en el uso de NFC. Todas las decisiones son
aprobadas por los miembros de votación para asegurar que una amplia gama de
perspectivas se incluyen con el fin de construir una base firme y flexible para todo
el crecimiento del mercado NFC futuro” (NFC forum, 2015).

2.21 ESTÁNDARES NFC

Los estándares NFC y de las smartcards son reconocidos por diferentes organismos
internacionales como:

• ISO/IEC (International Organization for Standardization / International


Electro-technical Commission)
• ETSI (European Telecommunications Standards Institute)
• ECMA (European Association for Standardizing Information and
Communication Systems) (Veloz, 2010, p.13).

71
Figura 18. Ecosistema NFC

Fuente (NFC forum, 2015)

Estos estándares especifican los esquemas de modulación, codificación,


velocidades de transferencia y formato de marco de la interfaz RF (radio-frecuencia)
de los dispositivos NFC. Definen también esquemas de inicialización y condiciones
requeridas para control de colisiones de datos durante la inicialización, tanto para
modos pasivos como modos activos de NFC, y protocolos de transporte, incluyendo
protocolos de activación y métodos de intercambio de datos. (Chavarría, 2011)

Actualmente la colaboración técnica y de negocios relacionada con NFC se realiza


bajo los acuerdos del NFC Fórum. Sus miembros principales son:NXP (Philips),
Sony, Nokia, HP, Texas Instruments, NEC, Samsung, Motorola, MasterCard, Visa,
Panasonic, Microsoft, Gemalto, Vodafone, NTT DoCoMo, Siemens, entre otros
(Csapodi & Nagy, 2002).

NFC también incorpora una variedad de estándares pre-existentes, lo que habilita


a esta tecnología para ser compatible con otras infraestructuras tecnológicas, y otro
tipo de dispositivos de lectura:

• ISO 15693: Vicinity Cards


• 14443: Proximity Cards (MIFARE Tipos A y B).

72
Figura 19. Estándares soportados por NFC para compartir datos

Fuente Sánchez (2009)

2.22 FUNCIONAMIENTO TÉCNICO DE NFC

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.

NFC trabaja bajo lo que se conoce como el acoplamiento magnético inductivo, lo


cual es una técnica sencilla y fácil de aplicar sobre el silicio, lo que permite una
integración más sencilla y eficaz de las antenas del sistema NFC (para el envío y
recepción de señales) y diferentes circuitos digitales en un solo chip para un
dispositivo móvil.

El módulo de transmisión NFC de un semiconductor PN511 diseñado por la


empresa Philips, en donde se logra ilustrar cómo los elementos de un sistema NFC
se pueden integrar en un solo chip dentro de un dispositivo. Este circuito análogo
procesa las señales que se reciben o se envían desde otro dispositivo. El elemento
UART maneja toda la parte tecnológica detrás de la comunicación NFC entre
dispositivos. El buffer FIFO permite la transferencia de datos entre el host y el UART
Otros componentes del chip se refieren a un detector de nivel de radio frecuencia
que se sintoniza para reconocer señales de 13.56 MHz y poder así también
identificar la presencia de otro dispositivo NFC cerca.

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).

2.22.1 Near Field Communication Interface and Protocol (NFCIP): En la capa


física, la interfaz de Near Field Comunicación y Protocolo (NFCIP) está
estandarizado en dos formas como NFCIP - 1, que define los modos de NFC de
comunicación en la capa RF y otras características técnicas de la capa RF y NFCIP
- 2, que soporta el modo de conmutación mediante la detección y la selección de un
modo de comunicación (Coskun, Ok, & Ozdenizci, 2012).

2.23 NFC PROTOCOLO (NFCIP- 1)

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.

En modo activo, tanto el iniciador como el target generan un campo de frecuencia


de radio. El iniciador empieza la comunicación usando el protocolo NFCIP-1 Una
vez se completa la configuración y el handshake, comienza la transmisión de datos.
En modo pasivo, solo el iniciador genera un campo de radio frecuencia .El target
obtiene energía a través del acoplamiento inductivo y es capaz de enviar o recibir
datos.

Este modo permite el ahorro significativo de energía. Además, NFCIP-1 define el


protocolo de transporte, métodos de anti-colisión para el modo activo, y selección
de target e inicialización para el modo pasivo. (Veloz, 2010, p.35)

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:

• Dos modos de comunicación activo y pasivo.


• Campo de RF
• Interfaz de señal de comunicación de RF
• Flujo de protocolo general.
• Protocolo de transporte incluyendo la activación de protocolo
• El protocolo de intercambio de datos con arquitectura marco y la detección
de error de cálculo de código (CRC tanto para el modo de comunicación en
cada velocidad de datos), y los métodos de desactivación de protocolo.
• Condiciones de inicialización de las velocidades de datos compatibles de
106, 212 y 424 kbps en detalle.
• Frecuencia portadora del campo de RF es 13,56 MHz.
• Para el modo comunicación activa, tanto el iniciador y destino utilizan su
propio campo de RF para habilitar la comunicación.
• El iniciador inicia la comunicación NFCIP-1 mientras que el objetivo responde
a un comando de iniciador en el modo de la comunicación activa usando
modulación autogenerada del campo auto-generado RF.
• El objetivo es alimentado por acoplamiento inductivo y es capaz de enviar y
recibir datos.
• En el modo de comunicación pasiva, el iniciador genera el campo de RF y se
inicia la comunicación. El objetivo responde a un comando de iniciador en el
modo de comunicación pasiva utilizando un esquema de modulación de
carga.
• Todos los dispositivos NFCIP-1 tienen la capacidad de comunicación en 106,
212 o 424 kbps y pueden cambiar a otra velocidad de transferencia o
quedarse en la misma velocidad de transferencia (Coskun, Ok, & Ozdenizci,
2012).

2.23.2 NFC INTERFACE PROTOCOLO (NFCIP- 2)

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).

Figura 20. Ecma International NFCIP-2

Fuente (Ecma International, 2013)

NFCIP - 2 es un estándar especificado en la norma ISO / IEC 21481, ECMA 352 y


ETSI TS 102 312. La norma específica el mecanismo de selección del modo de
comunicación y está diseñado para no molestar a ninguna comunicación continua
a 13,56 MHz para dispositivos de ejecución NFCIP - 1, ISO / IEC 14443 e ISO / IEC
15693. Aunque toda la ISO / IEC 18092, ISO / IEC 14443 e ISO / IEC 15693
especifica los estándares de 13,56 MHz como su frecuencia de trabajo, se pueden
especificar los modos de comunicación distintos. Estos se definen como NFC, PCD,
PICC y los modos de comunicación VCD. Esto se consigue utilizando Carrier Sense
Acceso Múltiple (CSMA), por lo tanto, un dispositivo de NFCIP-2 no se activará su
campo de RF cuando se detecta un RF externa que supera un cierto umbral
(Coskun, Ok, & Ozdenizci, 2012).

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 COMPONENTES ADICIONALES

La tecnología NFC permite trabajar con una serie de componentes adicionales al


dispositivo móvil, lo cual le permite ampliar el número de servicios y aplicaciones
que se pueden desarrollar a partir de la misma; algunos de estos componentes se
refieren a tags, lectores, servidores, etc.

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.

Las especificaciones operativas para el funcionamiento de los diferentes tipos de


tag descritos por el NFC Fórum (Tipo: 1/2/3/4), proporcionan la información técnica
necesaria para aplicar la lectura/escritura y las funciones de control del dispositivo
NFC para interactuar con las tags. Veloz (2010) nos define los siguientes tipos de
tags:

• Tag Tipo 1: Se basa en la norma ISO14443A. Los tags permiten ser de


lectura y reescritura, aunque los usuarios pueden configurar el tag sólo para
lectura. La memoria disponible es de 96 Bytes y expandible a 2 Kb; la
velocidad de comunicación es de 106 Kbps.

• Tag Tipo 2: Se basa en la norma ISO14443A. Los tags permiten ser de


lectura y reescritura, aunque los usuarios pueden configurar el tag sólo para
lectura. La memoria disponible es de 48 Bytes y expandible a 2 Kb; la
velocidad de comunicación es de 106 Kbps.

77
Figura 21. Tags para NFC

Fuente: (NetBrain, 2014)

• Tag Tipo 3: Se basa en la Japanese Industrial Standard (JIS) X 6319- 4,


también conocido como FeliCa. Los tags se encuentran ya configurados
desde la fabricación, ya sea para escritura, o sólo para lectura. La memoria
disponible es variable, pero teóricamente el límite de memoria es 1 MB por
servicio; la velocidad de comunicación es de 212 Kbps o 424 Kbps.

• Tag Tipo 4: Es plenamente compatible con ISO14443A y los estándares B.


Los encuentran ya configurados desde la fabricación, ya sea para lectura y
escritura, o de sólo lectura. La memoria disponible es variable, de hasta 32
KB por servicio; la velocidad de comunicación es de hasta 424 Kbps (p. 29).

• 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.

2.24.2 Lector NFC. El lector NFC es un transmisor/receptor que lee el contenido


de los tags y dispositivos NFC. El componente permite a la interfaz de equipo
principal interactuar y comunicarse con el dispositivo o tag NFC. Dependiendo de
la aplicación, el equipo central puede ser un PC de escritorio, un portátil, PDA,
dispositivos de electrónica de consumo, etc. o teléfono móvil. El PC/portátil es donde
se almacena la aplicación que se habilita en el momento en que el dispositivo o tag
NFC hace contacto con el reader. En el caso del teléfono se almacena localmente
en el dispositivo móvil (Veloz, 2010).

78
Figura 22. Lector NFC de escritorio

Fuente: (MIFARE, 2012)

79
3. SOFTWARE

3.1 BASES DE DATOS

3.1.1 Definición: Un sistema de bases de datos es un sistema computarizado para


llevar registros, es decir, es un sistema computarizado cuya finalidad general es
almacenar información y permitir a los usuarios recuperar y actualizar esa petición
con base a peticiones (Date, C.J. 2001).

Los principales objetivos de un DBMS que describe Moreno, A. O. (2000) son los
siguientes:

• Independencia lógica y física de los datos: se refiere a la capacidad de


modificar una definición de esquema en un nivel de la arquitectura sin que
esta modificación afecte al nivel inmediatamente superior. Para ello un
registro externo en un esquema externo no tiene por qué ser igual a su
registro correspondiente en el esquema conceptual.
• Redundancia mínima: se trata de usar la base de datos como repositorio
común de datos para distintas aplicaciones.
• Acceso concurrente: por parte de múltiples usuarios: control de
concurrencia mediante técnicas de bloqueo o cerrado de datos accedidos.
• Distribución espacial de los datos: la independencia lógica y física facilita
la posibilidad de sistemas de bases de datos distribuidas. Los datos pueden
encontrarse en otra habitación, otro edificio e incluso otro país. El usuario no
tiene por qué preocuparse de la localización espacial de los datos a los que
accede.
• Integridad de los datos: se refiere a las medidas de seguridad que impiden
que se introduzcan datos erróneos. Esto puede suceder tanto por motivos
físicos (defectos de hardware, actualización incompleta debido a causas
externas), como de operación (introducción de datos incoherentes).
• Consultas complejas optimizadas: la optimización de consultas permite la
rápida ejecución de las mismas.
• Seguridad de acceso y auditoría: se refiere al derecho de acceso a los
datos contenidos en la base de datos por parte de personas y organismos.
El sistema de auditoría mantiene el control de acceso a la base de datos, con
el objeto de saber qué o quién realizó una determinada modificación y en qué
momento.
• Respaldo y recuperación: se refiere a la capacidad de un sistema de base
de datos de recuperar su estado en un momento previo a la pérdida de datos.
• Acceso a través de lenguajes de programación estándar: se refiere a la
posibilidad ya mencionada de acceder a los datos de una base de datos
mediante lenguajes de programación ajenos al sistema de base de datos
propiamente dicho.

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:

• El administrador de bases de datos (DBA: Database Administrator): diseña y


mantiene la DB.
• El desarrollador de aplicaciones (programador): implementa las
transacciones e interfaces.
• Los usuarios finales: consultan y editan los datos de la DB mediante un
lenguaje de consulta de alto nivel (Moreno, 2000).

3.2 ARQUITECTURA CLIENTE-SERVIDOR PARA BASES DE DATOS

3.2.1 Conceptos de Arquitectura Cliente / Servidor. Con base en la definición


de Orfali et al. (1997) define clientes y servidores son entidades lógicas
independientes que operan en conjunto a través de una red para realizar una tarea.
Se prefiere cambiar la palabra red, por mecanismos de comunicación, pues clientes
y servidores pueden estar en la misma máquina.

Las características más importantes que se distinguen cliente/servidor son:

• Orientado a servicios. El servidor los ofrece y el cliente los consume.

• Compartición de recursos. Servicios ofrecidos a muchos clientes. Un


servidor puede atender muchos clientes que solicitan esos servicios.

• Transparencia de ubicación. El servidor es un proceso que puede residir


en el mismo aparato que el cliente o en un aparato distinto a lo largo de una
red. Un programa puede ser un servidor en un momento y convertirse en un
cliente posteriormente.

• Mezcla e igualdad. Tal vez de las más importantes ventajas de este


paradigma. Una aplicación cliente/servidor, idealmente es independiente del
hardware y de sistemas operativos; mezclando e igualando estas
plataformas.

• Interacción a través de mensajes, para envío y respuesta de servicios.

• Servicios encapsulados, exponiendo los servicios a través de interfaces, lo


que facilita la sustitución de servidores son afectar los clientes; permitiendo
a la vez una fácil escalabilidad.

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).

El cliente envía mensajes que representados en solicitudes SQL hacia el servidor


de bases de datos. Los resultados de cada orden de SQL son devueltos al cliente.
El DBMS se encarga de recolectar los datos desde su base de datos, no envía los
registros completos, teniéndose un uso mucho más eficiente de la capacidad de
procesamiento distribuida. Es usual que se generen aplicaciones en el cliente y en
el servidor. Los servidores de bases de datos constituyen el fundamento de los
sistemas de apoyo de decisiones que precisan de consultas específicas y reportes
flexibles

3.4 ARQUITECTURA DE 3 CAPAS

La estrategia tradicional de utilizar aplicaciones compactas causa gran cantidad de


problemas de integración en sistemas software complejos como pueden ser los
sistemas de gestión de una empresa o los sistemas de información integrados
consistentes en más de una aplicación. Estas aplicaciones suelen encontrarse con
importantes problemas de escalabilidad, disponibilidad, seguridad, integración etc.

Para solventar estos problemas se ha generalizado la división de las aplicaciones


en capas que normalmente serán tres: una capa que servirá para guardar los datos
(base de datos), una capa para centralizar la lógica de negocio (modelo) y por último
una interfaz gráfica que facilite al usuario el uso del sistema.

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:

• Centralización de los aspectos de seguridad y transaccionalidad, que serían


responsabilidad del modelo.
• No replicación de lógica de negocio en los clientes: esto permite que las
modificaciones y mejoras sean automáticamente aprovechadas por el
conjunto de los usuarios, reduciendo los costes de mantenimiento.
• Mayor sencillez de los clientes.

3.5 SERVICIOS WEB

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.

3.5.2 Funcionamiento de Servicios Web. El siguiente gráfico publicado en la


página de W3C. (2012) se muestra cómo interactúa un conjunto de Servicios Web:

83
Figura 23. Los servicios Web en Funcionamiento

Fuente World Wide Web Consortium W3C. (2012)

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

Fuente World Wide Web Consortium W3C. (2012)

Para optimizar el rendimiento de las aplicaciones basadas en Servicios Web, se han


desarrollado tecnologías complementarias a SOAP, que agilizan el envío de los
mensajes (MTOM) y los recursos que se transmiten en esos mensajes (SOAP-
RRSHB).

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).

Durante la evolución de las necesidades de las aplicaciones basadas en Servicios


Web de las grandes organizaciones, se han desarrollado mecanismos que permiten
enriquecer las descripciones de las operaciones que realizan sus servicios mediante
anotaciones semánticas y con directivas que definen el comportamiento. Esto
permitiría encontrar los Servicios Web que mejor se adapten a los objetivos
deseados. Además, ante la complejidad de los procesos de las grandes
aplicaciones empresariales, existe una tecnología que permite una definición de
estos procesos mediante la composición de varios Servicios Web individuales, lo
que se conoce como coreografía 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)

Figura 25. Ciclo de Vida del Software

Fuente Pérez, D.A.,Ginestà, M.H.,Matías, M. H.,& Hernández, J.M. (2007)

El proyecto tiende a pasar iterativamente por estas fases, en lugar de hacerlo de


forma lineal. Así pues, se han propuesto varios modelos (en cascada, incremental,
evolutivo, en espiral, o concurrente, por citar algunos) para describir el progreso real
del proyecto (Pérez, D.A.,et al. 2007).

3.7 PROGRAMACIÓN EXTREMA

En su artículo Canós, J.C.,Letelier, P., & Penadés, M.C.(2004) define la


programación Xp como una metodología ágil centrada en potenciar las relaciones

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.

Tabla 4. Diferencias entre metodologías ágiles y no ágiles

Metodologías Ágiles Metodologías Tradicionales


Basadas en normas provenientes de
Basadas en heurísticas provenientes
estándares seguidos por el entorno de
de prácticas de producción de código
desarrollo
Especialmente preparados para
Cierta resistencia a los cambios
cambios durante el proyecto
Impuestas internamente (por el equipo) Impuestas externamente
Proceso menos controlado, con pocos Proceso mucho más controlado, con
principios numerosas políticas/normas
No existe contrato tradicional o al
Existe un contrato prefijado
menos es bastante flexible
El cliente es parte del equipo de El cliente interactúa con el equipo de
desarrollo desarrollo mediante reuniones
Grupos pequeños (<10 integrantes) y Grupos grandes y posiblemente
trabajando en el mismo sitio distribuidos

Pocos artefactos Más artefactos


Pocos roles Más roles
Menos énfasis en la arquitectura del La arquitectura del software es esencial
software y se expresa mediante modelos

Fuente (Canós, et al., 2004).

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.

Canós, et al (2004) en su artículo presenta un ejemplo de ficha (customer story and


task card) en la cual pueden reconocerse los siguientes contenidos: fecha, tipo de
actividad (nueva, corrección, mejora), prueba funcional, número de historia,
prioridad técnica y del cliente, referencia a otra historia previa, riesgo, estimación
técnica, descripción, notas y una lista de seguimiento con la fecha, estado cosas
por terminar y comentarios. A efectos de planificación, las historias pueden ser de
una a tres semanas de tiempo de programación (para no superar el tamaño de una
iteración). Las historias de usuario son descompuestas en tareas de programación
(task card) y asignadas a los programadores para ser implementadas durante una
iteración.

3.7.2. Roles XP. Los roles de acuerdo con la propuesta original de Beck (1999)
son:

• Programador. El programador escribe las pruebas unitarias y produce el


código del sistema.
• Cliente. Escribe las historias de usuario y las pruebas funcionales para
validar su implementación. Además, asigna la prioridad a las historias de
usuario y decide cuáles se implementan en cada iteración centrándose en
aportar mayor valor al negocio.
• Encargado de pruebas (Tester). Ayuda al cliente a escribir las pruebas
funcionales. Ejecuta las pruebas regularmente, difunde los resultados en
el equipo y es responsable de las herramientas de soporte para pruebas.
• Encargado de seguimiento (Tracker). Proporciona realimentación al
equipo. Verifica el grado de acierto entre las estimaciones realizadas y el
tiempo real dedicado, para mejorar futuras estimaciones. Realiza el
seguimiento del progreso de cada iteración.
• Entrenador (Coach). Es responsable del proceso global. Debe proveer
guías al equipo de forma que se apliquen las prácticas XP y se siga el
proceso correctamente.

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.3. Proceso XP. El ciclo de desarrollo consiste (a grandes rasgos) en los


siguientes pasos descrito por Canós, et al (2004):

1 El cliente define el valor de negocio a implementar.


2 El programador estima el esfuerzo necesario para su implementación.
3 El cliente selecciona qué construir, de acuerdo con sus prioridades y las
restricciones de tiempo.
4 El programador construye ese valor de negocio.
5 Vuelve al paso 1.

En todas las iteraciones de este ciclo tanto el cliente como el programador


aprenden. No se debe presionar al programador a realizar más trabajo que el
estimado, ya que se perderá calidad en el software o no se cumplirán los plazos. De
la misma forma el cliente tiene la obligación de manejar el ámbito de entrega del
producto, para asegurarse que el sistema tenga el mayor valor de negocio posible
con cada iteración.

El ciclo de vida ideal de XP consiste de seis fases: Exploración, Planificación de la


Entrega (Release), Iteraciones, Producción, Mantenimiento y Muerte del Proyecto.

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.

• El juego de la planificación. Hay una comunicación frecuente el cliente y los


programadores. El equipo técnico realiza una estimación del esfuerzo
requerido para la implementación de las historias de usuario y los clientes
deciden sobre el ámbito y tiempo de las entregas y de cada iteración.
• Entregas pequeñas .Producir rápidamente versiones del sistema que sean
operativas, aunque no cuenten con toda la funcionalidad del sistema. Esta
versión ya constituye un resultado de valor para el negocio. Una entrega no
debería tardar más 3 meses.
• Metáfora. El sistema es definido mediante una metáfora o un conjunto de

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

4.1 QUE ES 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.

Fue construido para permitir a los desarrolladores la creación de aplicaciones


móviles que aprovechan al máximo el uso de todas las herramientas que un
dispositivo como este puede ofrecer.

Implementa una arquitectura en la que cualquier aplicación puede obtener acceso


a las capacidades del teléfono móvil. Por ejemplo, una aplicación puede llamar una
o varias de las funcionalidades básicas de los dispositivos móviles, tales como
realizar llamadas, enviar mensajes de texto, o utilizar la cámara, facilitando a los
desarrolladores crear experiencias más ricas y con más coherencia para los
usuarios.

Figura 26. Android Lollipop vs. Android KitKat

Fuente (McFerran, 2015)

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).

La estructura del sistema operativo Android se compone de aplicaciones que se


ejecutan en un framework Java de aplicaciones orientadas a objetos sobre el núcleo
de las bibliotecas de Java en una máquina virtual Dalvik con compilación en tiempo
de ejecución. Las bibliotecas escritas en lenguaje C incluyen un administrador de
interfaz gráfica (surface manager), un framework OpenCore, una base de datos
relacional SQLite, una API gráfica OpenGL ES 2.0 3D, un motor de renderizado
WebKit, un motor gráfico SGL, SSL y una biblioteca estándar de C Bionic (Android
OS, 2012)

El sistema operativo está compuesto por 12 millones de líneas de código,


incluyendo 3 millones de líneas de XML, 2,8 millones de líneas de lenguaje C, 2,1
millones de líneas de Java y 1,75 millones de líneas de C++ (Android OS, 2012).

4.2 ARQUITECTURA

La arquitectura interna de la plataforma Android, está básicamente formada por 4


componentes: aplicaciones, armazón de aplicaciones, librerías y kernel/Linux, como
se muestra en la Figura 27.

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

Fuente Molina et al. (2012)

4.4 USO DE VERSIONES ANDROID

La siguiente figura proporciona datos sobre las versiones y distribuciones usadas


hasta el mes de noviembre de 2016 para la plataforma de Android.

93
Figura 28. Distribuciones de Android

Fuente (Developers, 2016)

94
4.5 CARACTERÍSTICAS Y FUNCIONES ACTUALES

Tabla 5. Funciones de Android 6.0 MARSHMALLOW

Asistencia contextual • Now on Tap: recibe asistencia sin interrumpir


lo que estás haciendo, ya sea que estés en
una app o en un sitio web. Solo tienes que
mantener presionado el botón de inicio.

• Realiza más acciones con la voz. Puedes


usar la voz y dialogar con cualquiera de las
apps que admitan el nuevo servicio de
interacción con la voz. Por ejemplo, si un
usuario dice “reproducir música en Tuneln”,
Tuneln le preguntará “¿qué género?”.

• Compartir directamente: una forma rápida y


sencilla para compartir con la persona
indicada en la app correcta.

Batería • Función de descanso: cuando está inactivo el


dispositivo, la función de descanso lo pone
en estado de suspensión automáticamente
para aumentar la duración de la batería en el
modo de espera.
• App en modo de espera: las apps que no se
usan con frecuencia ya no agotan la batería.
La función “App en modo de espera” limita el
impacto en la duración de la batería para que
la carga dure mucho más.
• Compatibilidad con USB tipo C: transfiere
rápidamente energía y datos, todo con el
mismo cable. La carga veloz te brinda
muchas horas de energía en tan solo
minutos.

Privacidad y seguridad • En un dispositivo con Android Marshmallow,


las apps diseñadas para ese sistema
operativo solo piden permiso cuando es
necesario. Puedes denegar cualquier tipo de
permiso y seguir usando la app.

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.

Android Runtime (“ART”) • Mejor rendimiento de la app y menor carga


de memoria para poder realizar múltiples
tareas más rápido.

Productividad • Compatibilidad con la pluma stylus


Bluetooth™, incluidas la sensibilidad de
presión y las teclas modificadoras.

• Composición tipográfica y presentación de


texto mejorados.
• Selección de texto más inteligente, función
integrada para deshacer y rehacer, y
acciones de texto más cerca de los dedos.

• Acciones de selección de texto, como la


opción nueva de traducción que te permite
traducir texto de un idioma a otro en el acto.

• Ahorra papel con la función de impresión a


doble cara.

Sistema de usabilidad • Vínculos de app: habilita apps instaladas


mejorado para que controlen de forma automática las
URL de los sitios web de modo que puedas
acceder directamente a 6.0
MARSHMALLOW, FUNCIONES
COMPLETAS la app, en lugar del sitio web
para dispositivos móviles, según
corresponda.

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.

Conectividad • Búsqueda más eficiente de balizas cercanas


y accesorios con Bluetooth de baja energía.
• Hotspot 2.0: establece conexión con redes
Wi-Fi compatibles de forma continua y
segura.
• Bluetooth SAP: haz llamadas desde el
teléfono del auto con la SIM de tu teléfono.
• El hotspot de Wi-Fi portátil ahora admite
bandas de frecuencia de 5 GHZ.

Almacenamiento • Flexibilidad de almacenamiento: simplifica el


expansible uso de las tarjetas SD o el almacenamiento
externo como almacenamiento expansible
encriptado para las apps y los juegos en
Android Marshmalow.

Configuración del • Di “OK Google, configura el dispositivo” para


dispositivo y migración transferir tus cuentas, apps y datos a otros
dispositivos fácilmente.

97
• Con el asistente de configuración, puedes
agregar otros correos electrónicos de
cuentas personales o corporativas (por
ejemplo, IMAP).

• Copia de seguridad automática para apps:


haz una copia de seguridad y restaura los
datos sin inconvenientes.

• Haz una copia de seguridad o restaura los


parámetros de configuración del sistema
adicional, como la sincronización, las apps
preferidas, el modo “No molestar”, la
accesibilidad y los IME habilitados.

Medios de comunicación • Compatibilidad con MIDI: puedes usar tu


dispositivo Android con dispositivos USB
MIDI, MIDI con Bluetooth de baja energía y
dispositivos con software de MIDI para crear,
escuchar y tocar música.

Internacionalización • Android está disponible en más de 74


idiomas y sumamos seis nuevos:
azerbaiyano, gujarati, kazajo, albanés, urdu y
uzbeko. 6.0 MARSHMALLOW, FUNCIONES
COMPLETAS

Android for Work


• Ahora, cuando recibes llamadas o lees
mensajes antiguos, puedes ver los detalles
del contacto de trabajo, incluso si no
accediste a tu perfil de trabajo.

• Notificación de estado de trabajo: ahora


aparece un ícono de maletín en la barra de
estado cuando usas una app desde el perfil
de trabajo. Si se desbloquea el dispositivo
directamente para una app en el perfil de
trabajo, una alerta notifica al usuario.

• Las apps VPN ahora se pueden ver en


Configuración > Más > VPN. Además, ahora
las notificaciones que usan las VPN son
específicas de acuerdo a si la VPN está

98
configurada para un perfil de trabajo o para
todo el dispositivo.

Fuente (Google Android, 2015)

4.6 ANDROID SDK

En Android el SDK significa Software Development Kit, el cual proporciona un


conjunto de herramientas, para desarrollar, ejecutar, emular y correr aplicaciones
Android. Se pueden usar diferentes IDES para el desarrollo siendo los más usados
Eclipse, NebBeans y Android Studio. El desarrollo de las aplicaciones Android se
realiza en el lenguaje de programación Java (Developers, 2016).

4.7 VERSIONES Y NIVELES DE API FRAMEWORK

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.

La API Framework consiste en:

• Paquetes básicos y clases


• Conjunto de elementos y atributos XML para declarar el archivo Manifiest.
• Conjunto de elementos y atributos XML para declarar y dar acceso a los
recursos
• Conjunto de Intenciones
• Permisos que las aplicaciones pueden solicitar

Cada versión sucesiva de la plataforma Android puede incluir actualizaciones del


Android API framework de las aplicaciones que ofrece.

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

Platform Version API Level VERSION_CODE

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

Fuente (Developers, 2016)

100
Figura 29. Sabores Android

Fuente (InformAndroid, 2015)

Figura 30. Android Lollipop

Fuente (Android, 2016)

Figura 31. Android Marshmallow y Nougat

Fuente (Android, 2016)

101
4.8 ANDROID STUDIO

Android Studio es un entorno de desarrollo integrado (IDE), lanzado por Google en


mayo de 2013 y el oficial para el desarrollo de aplicaciones para Android, basado
en IntelliJIDEA de JetBrains y disponible en Windows, Linux y Mac OS (Developers,
2016).

Características de Android Studio

• Editor de diseño Rich


• Nuevo diseño e interfaz
• Herramientas Lint
• Gradle
• Soporte de Aplicaciones Wear
• Control de Versiones
• Proguard
• Vista previa en diferentes resoluciones
• Soporte integrado para Google Cloud Platform
• Generación de archivos apk
• Plantillas de código
• Permite acceder a repositorios Mercurial, Git, Github o Subversión.

Figura 32. Android Studio

Fuente (Developers, 2016)

102
4.9 DALVIK VIRTUAL MACHINE (DVM)

La máquina virtual Dalvik (DVM) es usada en la plataforma y dispositivos Android,


permitiendo correr aplicaciones Java, tiene varias diferencias en comparación con
otras máquinas virtuales de Java. Las aplicaciones para Android están en
desarrolladas en el lenguaje Java. Requiere poca memoria y permite ejecutar varias
instancias de la máquina virtual paralelamente. En la última versión del Sistema
Operativo Android 5 fue sustituida por ART (Developers, 2016)

Características de Dalvik:

• Diseñada por Dan Bornstein y Google


• Su nombre fue elegido en honor a Dalvík, un pueblo Islandia
• Permite un menor consumo de energía en los dispositivos
• Mejora el rendimiento de las aplicaciones
• El bytecode generado, primero es transformado al bytecode de Java y
posteriormente se transforma en el usado por Android. Es decir, primero
son generados los .class típicos de JAVA, y posteriormente se transforman
al tipo de archivo .dex (dalvik executable). Estos archivos dex son
comprimidos en los conocidos APK (Android Package).
• Está diseñada para ejecutar varias instancias de la propia máquina
simultáneamente
• Optimizada para necesitar poca memoria
• Se basa en registros en vez de en pilas
• Está distribuida como software libre Apache

Figura 33. Dalvik Virtual Machine

Fuente (Toboso, 2013)

103
4.10 ART ANDROID RUNTIME

La nueva ART es un entorno de ejecución utilizado por las aplicaciones y algunos


servicios del sistema en Android. ART y su predecesor Dalvik fueron originalmente
creados específicamente para el proyecto Android (Developers, 2016).

Características de ART

• Este compilador funciona más rápido que Dalvik


• Se encuentra en versiones de Android 5.0
• Permite que las aplicaciones se carguen más rápido
• Soporta procesadores de 64 Bits
• realiza una pre compilación de las aplicaciones la primera vez que las
ejecuta
• Ocupa más espacio en memoria
• Ahorra el consumo de la batería
• Es nativo en Android 5.0 Lollipop
• Permite que las aplicaciones se compilen en código navito
• Su desempeño puede mejora hasta cuatro veces
• Al momento de la instalación, ART compila aplicaciones usando la
herramienta dex2oat en el dispositivo
• Mejora la recolección de basura. (GC)
• Mejoras de desarrollo y depuración

Cuando desarrollamos una aplicación para Android, obtenemos la aplicación en


formato .apk luego de ser compilada; este archivo está compuesto por las clases de
Java compiladas en un formato de Bytecode DEX. Este formato es independiente
de la arquitectura de los procesadores, siendo fundamental para ejecutarse necesita
convertirse a código de maquina nativo para el procesador de nuestro dispositivo
(Developers, 2016).

4.11 JIT

Just In Time (JIT), es un componente de software que tiene el código de la


aplicación, lo analiza y lo traduce de forma activa en una forma que corre más
rápido, haciendo así que mientras la aplicación sigue ejecutándose (Developers,
2016).

104
4.12 OAT

Ahead-of-time (AOT) compilation, ART introduce un compilación previa, lo que


permite mejorar el rendimiento de la aplicación.
Al momento de la instalación de las aplicaciones ART compila las aplicaciones
usando la herramienta dex2oat en el dispositivo. Esta herramienta recibe los
archivos DEX como entrada y genera un ejecutable de la aplicación compilada para
el dispositivo destino (Developers, 2016).

Figura 34. Vida de un APK

Fuente (Perez, 2014)

Existe una diferencia fundamental entre Dalvik y ART, es cuándo se realiza la


compilación. Dalvik utiliza lo que se llama compilación “justo a tiempo” (just-in-time,
o JIT), mientras que ART utiliza compilación previa (ahead-of-time, o AOT).

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

Android.NFC proporciona la funcionalidad de acceso a la comunicación de campo


cercano (NFC), permitiendo a las aplicaciones leer el mensaje NDEF en las
etiquetas NFC (Developers, 2016).

5.1 RESUMEN DE CLASES

• Nfcmanager. Gestor de alto nivel, utilizado para obtener una instancia de


un NfcAdapter.

• Nfcadapter. Representa el adaptador del dispositivo NFC, que es su punto


de entrada a la realización de las operaciones de NFC.

• Ndefmessage. Mensaje de datos NDEF, es el formato estándar en el que


"graba" el transporte de datos y se transmiten entre los dispositivos y
etiquetas. La aplicación puede recibir estos mensajes de una intención
ACTION_TAG_DISCOVERED.

• NdefRecord. Representa un registro, que se entrega en una NdefMessage


y describe el tipo de datos que se comparten y lleva los datos en sí.

• NfcEvent. Envuelve la información asociada con cualquier evento NFC.

• Tag. Representa una etiqueta NFC que se ha descubierto (Developers,


2016).

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

5.4 SISTEMA DE DESPACHO TAG

Los dispositivos móviles con tecnología NFC, tienen la propiedad de estar


detectando la proximidad de una etiqueta sin importar que la pantalla del móvil se
encuentre bloqueada a menos que la configuración de NFC este deshabilitada.
Cuando un dispositivo con Android descubre una etiqueta NFC, el comportamiento
deseado es tener la actividad más apropiada manejar la intención sin preguntar al
usuario qué aplicación utilizar. Los datos son recibidos en formato NDEF, lo cual
permite categorizar los datos y ubicar en el móvil la aplicación interesada según
los datos y el formato, se debe iniciar para consumir de los datos provenientes del
tag NFC (Developers, 2016).

Android proporciona un sistema de despacho de etiquetas especial que analiza las


etiquetas NFC escaneadas, y trata de localizar las aplicaciones que están
interesados en los datos escaneados (Developers, 2016).

Esto se hace mediante:

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.

Una aplicación Android se dispara al recibir datos, y debe tener implementado un


Intent Filter a través del cual el Tag Dispatch System logre identificar que aplicación
debe iniciar ante la detección de una etiqueta NFC. El mensaje proveniente de la
etiqueta NFC puede venir en diferentes formatos siendo el más conocido el formato
NDEF (Exposito G, 2014).

Los datos en formato NDEF, están encapsulados en un mensaje (NdefMessage) el


cual contiene uno o más registros (NdefRecord); donde cada uno de estos registros
debe estar correctamente formado de acuerdo con las especificaciones del tipo de
registro que se desea crear. Android soporta la detección de otras tecnologías NFC
que no implementan el formato de datos NDEF y esto lo logra por medio de las
clases definidas en el paquete android.nfc.tech (Exposito G, 2014).

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:

Tabla 7. Nombre Tipo De Formato (TNF) Y Sus Asignaciones

NOMBRE TIPO DE FORMATO MAPEO


(TNF)

TNF_ABSOLUTE_URI Indica que el tipo de registro contiene un URI


TNF_EMPTY Indica que el tipo de registro está vacío
TNF_EXTERNAL_TYPE Indica que el tipo de registro es de tipo externo.
URI basado en la URN en el campo Tipo
TNF_MIME_MEDIA Indica que el tipo de registro es de tipo MIME.
TNF_UNCHANGED Indica que el PAYLOAD (datos transferidos)
son intermedios o finales de un fragmento de
un registro NDEF Fragmentado.
TNF_UNKNOWN Indica que el tipo de PAYLOAD (datos
transferidos) es desconocido.

109
TNF_WELL_KNOWN Tipo MIME o URI dependiendo de la definición
Tipo de registro (RTD), que se establece en el
campo Tipo.

Fuente (Developers, 2016)

2. Tipo de Longitud Variable: Este campo describe la tipología de los registros.


En el caso de que el tipo de formato sea TNF_WELL_KNOWN, este campo
es empleado para especificar la Definición de Tipo de Registro (RTD) según
los siguientes valores:

Tabla 8. RTD para TNF_WELL_KNOWN y sus asignaciones

DEFINICIÓN TIPO DE MAPEO


REGISTRO (RTD)
RTD_ALTERNATIVE_CARRIER Para este tipo de RTD se pasa el control al
ACTION_TECH_DISCOVERED.
RTD_HANDOVER_CARRIER Para este tipo de RTD se pasa el control al
ACTION_TECH_DISCOVERED.
RTD_HANDOVER_CARRIER Para este tipo de RTD se pasa el control al
ACTION_TECH_DISCOVERED
RTD_HANDOVER_REQUEST Para este tipo de RTD se pasa el control al
ACTION_TECH_DISCOVERED.
RTD_HANDOVER_SELECT Para este tipo de RTD se pasa el control al
ACTION_TECH_DISCOVERED
RTD_SMART_POSTER Tipo de registro URI basado en el parseo del
PAYLOAD.
RTD_TEXT MIME de tipo texto plano.
RTD_URI URI basado en el Paypload

Fuente (Developers, 2016)

3. Longitud del PAYPLOAD: Aquí se encuentran los datos a escribir o leer


(PAYLOAD). Un mensaje NDEF puede contener múltiples registros NDEF,
por lo que es importante no asumir que todos los datos del PAYPLOAD están
en el primero registro del mensaje.

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).

Por ejemplo, si el sistema de etiquetas de despacho se encuentra con un registro


de tipo TNF_ABSOLUTE_URI, se asigna el campo de tipo de longitud variable de
ese registro en una URI. El sistema de etiquetas de tags encapsula el URI en el
campo de datos en un intent ACTION_NDEF_DISCOVERED junto con otra
información sobre la etiqueta, tales como la carga útil. Por otro lado, si se encuentra
un registro de tipo TNF_UNKNOWN, se crea una intención que encapsula las
tecnologías de la etiqueta en su lugar (Developers, 2016).

5.5 DISTRIBUCIÓN DE ETIQUETAS NFC PARA APLICACIONES

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:

1. ACTION_NDEF_DISCOVERED: Este Intent es usado para iniciar una


Activity cuando una etiqueta que contiene datos en formato NDEF y con una
tipología reconocida es escaneada. Este es el Intent con la prioridad más de
ejecución alta y el Tag Dispatch System intentará en la medida de lo posible
iniciar un Activity con este Intent antes que cualquier otro Intent (Developers,
2016).

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).

3. ACTION_TAG_DISCOVERED: Este Intent se inicia siempre que no existan


actividades registradas para los dos Intents anteriores
(ACTION_NDEF_DISCOVERED o ACTION_TECH_DISCOVERED)
(Developers, 2016).

5.6 FUNCIONAMIENTO SISTEMA DE DESPACHO TAG

La forma básica en que funciona el sistema de despacho de etiquetas es el


siguiente:

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).

3. Si no hay aplicaciones de filtro para cualquiera de los intentos, no hacer nada


(Developers, 2016).

112
Figura 35 Funcionamiento de Sistema de Despacho de Tags

Fuente (Developers, 2016)

5.7 SOLICITUD DE ACCESO NFC EN EL MANIFIESTO DE ANDROID

Antes de poder acceder al hardware NFC de un dispositivo y manejar


adecuadamente las intenciones de NFC, se debe declarar los siguientes ítems en
el archivo AndroidManifest.xml (Developers, 2016):

NFC <uses-permission>elemento de acceso al hardware NFC:

<uses-permission android:name="android.permission.NFC" />

La versión mínima de SDK soportada para las aplicaciones es La API de nivel 9,


sólo es compatible con el envío de etiquetas limitado por medio
ACTION_TAG_DISCOVERED, y sólo da acceso a los mensajes a través de
mensajes NDEF via EXTRA_NDEF_MESSAGES. La API de nivel 10 incluye un
amplio soporte de lectura / escritura, así como parte del contenido NDEF, y el nivel
de API 14 proporciona una manera más fácil de enviar mensajes NDEF a otros
dispositivos con Android Beam y métodos de conveniencia adicionales para crear
registros NDEF (Developers, 2016).

113
<uses-sdk android:minSdkVersion="10"/>

5.8 FILTRADO POR DISPOSITIVO

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):

El elemento uses-feature, permite que la aplicación se muestra en Google Play solo


para los dispositivos con hardware NFC:

<uses-feature android:name="android.hardware.nfc" android:required="true" />

5.9 INTENTOS DE FILTRADO PARA NFC

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).

La intención ACTION_TECH_DISCOVERED es una reserva para


ACTION_NDEF_DISCOVERED cuando no hay filtro de aplicaciones para
ACTION_NDEF_DISCOVERED o para cuando la carga útil no es NDEF. El Filtrado
de ACTION_TAG_DISCOVERED suele ser demasiado general de una categoría
para filtrar. Muchas aplicaciones para filtrar ACTION_NDEF_DISCOVERED o
ACTION_TECH_DISCOVERED antes ACTION_TAG_DISCOVERED, por lo que su
aplicación tiene una baja probabilidad de aparición. ACTION_TAG_DISCOVERED
sólo está disponible como un último recurso para las aplicaciones que va a filtrar en
los casos en los que no existen otras aplicaciones para manejar la
ACTION_NDEF_DISCOVERED o ACTION_TECH_DISCOVERED intent
(Developers, 2016).

114
5.9.1 ACTION_NDEF_DISCOVERED

Para filtrar los intents de ACTION_NDEF_DISCOVERED, se debe declarar la


intención del filtro junto con el tipo de datos que desea filtrar. Los siguientes filtros
de ejemplo para las intenciones ACTION_NDEF_DISCOVERED con un tipo MIME
text / plain (Developers, 2016):

<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain" />
</intent-filter>

El siguiente ejemplo filtra por un URI en la forma de


http://developer.android.com/index.html

<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

Si el filtro de intensión de la actividad es ACTION_TECH_DISCOVERED, debe


crear un archivo de recursos XML que especifica las tecnologías que la actividad
apoya en un conjunto de tech-list. La actividad se considera un partido si un
conjunto tech-list es un subconjunto de las tecnologías que son compatibles con
la etiqueta, se puede obtener llamando getTechList ( ). Por ejemplo, si la etiqueta
escaneada es MifareClassic, NdefFormatable, y NFCA, su conjunto de tech-list
debe especificar los tres, dos o una de las tecnologías con el fin de su actividad,
que se ajustará (Developers, 2016).

El siguiente ejemplo define todas las tecnologías. Crear el archivo en <project-


root>/res/xml (Developers, 2016).

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>

También se permite especificar varios conjuntos tech-list. Cada uno de los


conjuntos de tech-list es considerado de forma independiente, y su actividad se
considera un partido si cualquier conjunto tech-list única es un subconjunto de las
tecnologías que son devueltos por getTechList ( ). Esto proporciona AND y OR
semántica para hacer coincidir las tecnologías. El ejemplo siguiente coincide con
etiquetas que pueden apoyar las tecnologías NFCA y NDEF o pueden apoyar las
tecnologías NFCB y NDEF (Developers, 2016):

<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>

En el archivo AndroidManifest.xml, especificar el archivo de recursos que acaba de


crear en el elemento <meta-data> dentro de la <activity> elemento como en el
siguiente ejemplo (Developers, 2016):

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

Para filtrar por ACTION_TAG_DISCOVERED utilizar el siguiente filtro de intención:

<intent-filter>
<action android:name="android.nfc.action.TAG_DISCOVERED"/>
</intent-filter>

5.10 OBTENCIÓN DE INFORMACIÓN DE LAS INTENCIONES

Si una actividad se inicia debido a una intención de NFC, se puede obtener


información acerca de la etiqueta NFC escaneada de la intención. Las intenciones
pueden contener las siguientes funciones extras de la etiqueta que fue escaneada
(Developers, 2016):

• EXTRA_TAG (requerido): Un objeto etiqueta que representa la etiqueta


escaneada.
• EXTRA_NDEF_MESSAGES (opcional): Una serie de mensajes NDEF
examinados de la etiqueta. Este extra es obligatoria en las intenciones
ACTION_NDEF_DISCOVERED

• EXTRA_ID (opcional): El ID de bajo nivel de la etiqueta.

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

Android encapsula la información de los tags NFC en intents de acciones diferentes.


A cada acción de intención le corresponde, en la aplicación, un filtro de intención
específico. Las intenciones creadas por el sistema siguen una jerarquía, que va de
más a menos especializada (HÉBUTERNE & PÉROCHON, 2014).

• Nivel 1: si el tag contiene un mensaje con formato NDEF, el sistema lee el


primer registro del mensaje para tratar de extraer un tipo MIME o una URI. Si
dicha extracción es correcta, es la aplicación capaz de trabajar con el tipo
MIME, o la aplicación indicada por la URI, la que se inicia. La intención
correspondiente tiene como acción ACTION_NDEF_DISCOVERED
(HÉBUTERNE & PÉROCHON, 2014).

• Nivel 2: si el tag no contiene un mensaje en formato NDEF, o si no se


encuentra ninguna aplicación en la etapa 1, el sistema selecciona la
aplicación teniendo en cuenta las tecnologías de tag que cada aplicación ha
declarado como capaz de procesar, a nivel de los filtros de intención. El
sistema crea, en este caso, una intención de acción
ACTION_TECH_DISCOVERED (HÉBUTERNE & PÉROCHON, 2014).

• Nivel 3: por último, si no se ha podido seleccionar ninguna aplicación en las


dos etapas anteriores, se crea una intención de tipo
ACTION_TAG_DISCOVERED, que se provee a la aplicación que tenga en
cuenta esta acción de intención (HÉBUTERNE & PÉROCHON, 2014).

5.12 CREACIÓN DE TIPOS COMUNES DE REGISTROS NDEF

La creación de tipos comunes de registros NDEF ayuda a escribir en las etiquetas


NFC o el envío de datos con Android Beam. A partir de Android 4.0 (API de nivel
14), el createUri ( ) método está disponible para ayudar a crear registros URI de
forma automática. A partir de Android 4.1 (API de nivel 16), createExternal () y
createMime ( ) están disponibles para ayudar a crear registros MIME y NDEF
(Developers, 2016).

5.12.1 Compatibilidad Con Una Intención ACTION_NDEF_DISCOVERED: En


el caso de un mensaje con formato NDEF, es el propio mensaje el que se encapsula
en la intención ACTION_NDEF_DISCOVERED. El sistema lee el primer registro del
mensaje NDEF, para determinar la estructura del conjunto del mensaje.

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):

5.12.2 TNF_ABSOLUTE_URI: Puede crear un registro TNF_ABSOLUTE_URI


NDEF de la siguiente manera:

NdefRecord uriRecord = new NdefRecord(


NdefRecord.TNF_ABSOLUTE_URI ,
"http://developer.android.com/index.html".getBytes(Charset.forName("US-ASCII
")),
new byte[0], new byte[0]);

El filtro de intención para el registro NDEF es el siguiente:

<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.12.3 TNF_MIME_MEDIA: Puede crear un registro TNF_MIME_MEDIA NDEF de


las siguientes maneras:

Utilizando el método createMime ():

NdefRecord mimeRecord = NdefRecord.createMime("application/vnd.com.example.andro


id.beam",
"Beam me up, Android".getBytes(Charset.forName("US-ASCII")));

Creación de la NdefRecord manualmente:

NdefRecord mimeRecord = new NdefRecord(


NdefRecord.TNF_MIME_MEDIA ,

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")));

El filtro de la intención de los registros NDEF anteriores se vería así:

<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>

TNF_MIME_MEDIA es compatible con todos los tipos MIME: la etiqueta <data


android:mimetype> permite filtrar los tipos compatibles

<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED"/>
<category android:name="android.intent.category.DEFAULT"/>
<data android:mimeType="text/plain" />
</intent-filter>

5.12.4 TNF_WELL_KNOW: Este formato debe verse como un formato que


encapsula varios subtipos, y que provee convenciones de formato de escritura de
datos, de cara a hacer el conjunto más compacto y eficaz. Los subtipos, prefijados
por RTD (Record Type Definition), se corresponden con los que pueden codificarse
en un tag NFC: principalmente, texto (RTD_TEXT), una URI (RTD_URI) o un
smart_poster (RTD_SMART_POSTER). Por ejemplo, el subtipo RTD_URI permite
almacenar el protocolo en un byte, en lugar de escribirlo completamente, como sería
necesario en un registro de formato TNF_ABSOLUTE_URI. El filtro de intención
compatible con un registro de tipo WELL_KNOWN es el correspondiente a su
subtipo. Se recomienda almacenar los mensajes en formato TNF_WELL_KNOWN,
este formato es más eficaz que los formatos TNF que encapsula. (HÉBUTERNE &
PÉROCHON, 2014).

5.12.5 TNF_WELL_KNOWN with RTD_TEXT: Para crear un registro


TNF_WELL_KNOWN NDEF se realiza de la siguiente manera (Developers, 2016):

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;
}

El filtro intención sería el siguiente:

<intent-filter>
<action android:name="android.nfc.action.NDEF_DISCOVERED" />
<category android:name="android.intent.category.DEFAULT" />
<data android:mimeType="text/plain" />
</intent-filter>

5.12.6 TNF_WELL_KNOWN with RTD_URI: Para crear un registro


TNF_WELL_KNOWN NDEF se puede realizar de las siguientes maneras: Utilizando
el método createUri (String ) (Developers, 2016):

NdefRecord rtdUriRecord1 = NdefRecord.createUri("http://example.com");

Utilizando el método createUri (URI):

Uri uri = new Uri("http://example.com");

121
NdefRecord rtdUriRecord2 = NdefRecord.createUri(uri);

Creación de la NdefRecord manualmente:

byte[] uriField = "example.com".getBytes(Charset.forName("US-ASCII"));


byte[] payload = new byte[uriField.length + 1]; //add 1 for the URI
Prefix
byte payload[0] = 0x01; //prefixes http://w
ww. to the URI
System.arraycopy(uriField, 0, payload, 1, uriField.length); //appends URI to pa
yload
NdefRecord rtdUriRecord = new NdefRecord(
NdefRecord.TNF_WELL_KNOWN, NdefRecord.RTD_URI, new byte[0], payload);

El filtro de la intención de los registros NDEF anteriores se vería así:

<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>

5.12.7 TNF_EXTERNAL_TYPE: Para crear un registro TNF_EXTERNAL_TYPE


NDEF se reailza de las siguientes maneras: Utilizando el método createExternal ()
(Developers, 2016):

byte[] payload; //assign to your data


String domain = "com.example"; //usually your app's package name
String type = "externalType";
NdefRecord extRecord = NdefRecord.createExternal(domain, type, payload);

Creación de la NdefRecord manualmente:

122
byte[] payload;
...
NdefRecord extRecord = new NdefRecord(
NdefRecord.TNF_EXTERNAL_TYPE, "com.example:externalType", new byte[0], paylo
ad);

El filtro de la intención de los registros NDEF anteriores se vería así:

<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>

El formato TNF_EXTERNAL_TYPE permite definir un tipo de mensaje propietario.


El filtro de intención menciona el dominio, que se corresponde con la organización
que declara este tipo propietario, y el tipo deseado. Esta información se indica en la
propiedad pathPrefix de la etiqueta data. La etiqueta data contiene también el
esquema utilizado, así como la mención al tipo externo (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="vnd.android.nfc"
android:host="ext"
android:pathPrefix="/com.midominio:miTipo"/>
</intent-filter>

5.12.8 TNF_EMPTY, TNF_UNCHANGED y TNF_UNKNOWN: Estos tipos de


registro no son compatibles con un mensaje de tipo NDEF. En su lugar, se inicia
una intención de tipo ACTION_TECH_DISCOVERED (HÉBUTERNE &
PÉROCHON, 2014).

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).

Figura 36 Clases de Tags Soportados

Fuente (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

Fuente (Developers, 2016)

5.14 TAGS Y LA INTENCIÓN ACTION_TECH_DISCOVERED

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:

1. Filtro para la intención ACTION_TECH_DISCOVERED especificando las


tecnologías de la etiqueta que desea manejar. Ver las intenciones de filtrado
para NFC para obtener más información. En general, el sistema de etiquetas
de envío intenta iniciar un intento ACTION_TECH_DISCOVERED cuando un
mensaje NDEF no se puede asignar a un tipo MIME o URI, o si la etiqueta
escaneada no contenía datos NDEF. Para obtener más información acerca
de cómo esto se determina, consulte el sistema de Despacho Tag.
2. Cuando la aplicación recibe el intento, obtener el objeto de la etiqueta de la
intención:

Tag tagFromIntent = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

3. Obtener una instancia de un TagTechnology, llamando a uno de los métodos


de fábrica get de las clases del paquete android.nfc.tech. Puede enumerar
las tecnologías compatibles de la etiqueta llamando getTechList () antes de
llamar a un método de fábrica get (Developers, 2016).

125
Para obtener una instancia de una etiqueta MifareUltralight:

MifareUltralight.get(intent.getParcelableExtra(NfcAdapter.EXTRA_TAG));

5.15 COMPATIBILIDAD CON UNA INTENCIÓN ACTION_TECH_D.

Si se selecciona la aplicación en la segunda etapa, la intención provista tendrá una


acción ACTION_TECH_DISCOVERED. La información encapsulada en la intención
será la relativa a las tecnologías del tag y al contenido en formato binario. El paquete
android.nfc.tech provee las clases de encapsulación para cada tecnología,
facilitando la explotación del contenido del mensaje. Para filtrar correctamente la
intención creada por el sistema, se debe especificar en el manifest la lista de
tecnologías con las que es compatible la aplicación. Esta lista debe declararse en
un archivo XML, en forma de enumeración. La raíz de la enumeración es el tag
<tech-list> (HÉBUTERNE & PÉROCHON, 2014).

El formato del archivo XML:

<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>

El archivo XML de las tecnologías compatibles puede llamarse de cualquier forma.


Se ubica en la carpeta /res/xml, y se incluye una etiqueta XML en el manifest
indicando el nombre de archivo de las tech-lists (HÉBUTERNE & PÉROCHON,
2014).

<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).

5.16 COMPATIBILIDAD CON UNA INTENCIÓN ACTION_TAG_DISCOVERED

Una intención ACTION_TAG_DISCOVERED es más compleja de gestionar, la


intención no encapsula más que el contenido en formato binario. Es tarea del

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>

5.17 ANDROID APPLICATION RECORDS

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).

A diferencia del mecanismo de descubrimiento por filtro de intención, el inicio de la


aplicación mediante un registro AAR se realiza a nivel de la aplicación, no a nivel de
la actividad. Los sistemas Android de versión anterior a la versión 4.0 no son
compatibles con los registros AAR (HÉBUTERNE & PÉROCHON, 2014).

5.18 FOREGROUND DISPATCH

Cuando su aplicación de gestión de tags NFC se ejecuta, puede resultar molesto


para el usuario que presenta un tag que se abra una ventana de notificación que
pide seleccionar qué aplicación debe utilizar el tag: lo deseable, en este caso, sería
forzar al sistema a utilizar la aplicación en curso. Para ello, conviene implementar
en la actividad en curso, la misma que debe utilizar el tag, un mecanismo de
sobrecarga, llamado foreground dispatch. Este mecanismo se declara en el código
de la actividad, habitualmente en los métodos onCreate() y onResume(), con ayuda
del método enableForegroundDispatch(...) del objeto NfcAdapter (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.

Por otro lado, es indispensable que la actividad que invoca al método


enableForegroundDispatch(...) se habilite. Por ello, la llamada se hará en el
métodoonResume() de la actividad. Del mismo modo, conviene deshabilitar el
mecanismo de foreground dispatch cuando se pone la actividad en pausa,
invocando al método disableForegroundDispatch() desde el método onPause() de
la actividad. Es posible recuperar la intención que se envía a la actividad cuando se
descubre el tag mediante el método onNewIntent(Intent) de la actividad. Para ello,
es preciso sobrecargar este método para procesar la intención y su contenido
(HÉBUTERNE & PÉROCHON, 2014).

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();
}

Tradicionalmente, el mecanismo de foregroundDispatch se utiliza para escribir tags


NFC, la compatibilidad de los tags de lectura se ha declarado en el manifiesto. En
este escenario, es posible imaginar cómo se invoca al método
enableForegroundDispatch en el método onClick de un botón de la interfaz, por
ejemplo. El mecanismo de foregroundDispatch es prioritario al mecanismo de
Android Application Record (HÉBUTERNE & PÉROCHON, 2014).

5.19 LEER UN TAG NFC

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).

Lectura de los distintos tipos de mensajes NDEF:

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).

Uri tagUri= ndefRecord.toUri();

En las versiones anteriores de Android es preciso hacer referencia a las


especificaciones del formato de los registros NdefRecord, disponibles en la
siguiente dirección: http://www.nfc-forum.org/specs/ Estas especificaciones indican
que la codificación sigue las siguientes reglas (HÉBUTERNE & PÉROCHON, 2014):

• El payload es una tabla de bytes.


• El primer byte (payload[0]) contiene un indicador que define el protocolo de
la URI. Este formato se utiliza para aumentar la memoria disponible para el
detalle de la URI, ahorrando así el espacio necesario para escribir el
protocolo.
• El resto del payload constituye la URI propiamente dicha, codificada en UTF-
8.

131
El protocolo puede decodificarse según las correspondencias dadas en la tabla
siguiente (extracto):

Tabla 9. Protocolos de tipo URI para el primer Byte

Decimal Hex Protocolo


0 0x00 N/A. No prepending is done, and the URI field
contains the unabridged URI.
1 0x01 http://www.
2 0x02 https://www.
3 0x03 http://
4 0x04 https://
5 0x05 tel:
6 0x06 mailto:
7 0x07 ftp://anonymous:anonymous@
8 0x08 ftp://ftp.
9 0x09 ftps://
… … …

Fuente (HÉBUTERNE & PÉROCHON, 2014)

5.19.3 Leer Una Cadena De Caracteres: En el caso de un NdefRecord cuyo


subtipo sea RTD_TEXT, los primeros bytes del payload contienen información
acerca de la codificación del contenido (HÉBUTERNE & PÉROCHON, 2014).

• Un primer elemento define la codificación, UTF-8 o UTF-16, así como la


longitud del código que le sigue.
• El siguiente elemento define el código del lenguaje utilizado.
La extracción del texto del registro consiste, por tanto, en determinar la codificación
de la cadena de caracteres "útiles" de payload y, a continuación, transcribir la tabla
de bytes como una cadena de caracteres en función de su codificación
(HÉBUTERNE & PÉROCHON, 2014).

private String readText(byte[] payload) throws


UnsupportedEncodingException {
String formatoCodificacion =
((payload[0] & 0200) == 0) ? "UTF-8" : "UTF-16";

int longitudCodigoLenguaje = payload[0] & 0077;


String codigoLenguaje =

132
new String(payload, 1, longitudCodigoLenguaje, "US-ASCII");
return new String(payload,
longitudCodigoLenguaje + 1,
payload.length - longitudCodigoLenguaje - 1,
formatoCodificacion);
}

5.19.4 Leer Un Tipo MIME: La lectura de un registro de tipo TNF_MIME_MEDIA es


muy sencilla, pues existen métodos disponibles desde la versión 9 de Android. Un
tag de tipo TNF_MIME_MEDIA incluye dos campos: el tipo MIME, que debe leerse
mediante el método getType() del objeto NdefRecord, y un contenido (value), al que
se accede mediante el método getValue() (HÉBUTERNE & PÉROCHON, 2014).

private void readMimeTypeTag(NdefRecord record) {


String mimeType=new String(record.getType());
String value =new String(record.getPayload());
}

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):

Tabla 10. Protocolos de tipo URI para el primer Byte

Subtipo (RTD) Descripción


RTD_SMART_POSTER Registro de tipo URI, basado en el análisis del
payload.
RTD_TEXT Registro de tipo MIME de valor text/plain.
RTD_URI URI

Fuente (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
}

5.20 ESCRIBIR UN TAG NFC

La escritura de un tag se realiza, habitualmente, tras comprobar la compatibilidad


del tag detectada por la intención. Se recomienda crear únicamente mensajes NFC
con formato NdefMessage. La escritura de un tag sigue la estructura de un objeto
de tipo NdefMessage: el mensaje incluye uno o varios registros (objetos de tipo
NdefRecord), que pueden ser de distintos tipos. La escritura del tag se realiza
mediante un objeto de tipo android.nfc.tech.Ndef, que provee métodos de alto nivel
para la escritura. Es posible obtener una instancia de Ndef utilizando el método
estático get(Tag) de la clase Ndef. El tag que se pasa como parámetro es el objeto
que la intención provee una vez descubierto el tag (HÉBUTERNE & PÉROCHON,
2014).

Tag tag = intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);


Ndef ndef = Ndef.get(tag);
// ... escritura del tag

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();
}

5.21 CONSTRUIR UN PAYLOAD DE TIPO TEXTO

El payload de un registro de tipo texto debe comenzar con información relativa a la


codificación del texto y, a continuación, el propio texto codificado (HÉBUTERNE &
PÉROCHON, 2014).

• 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.

A continuación, se incluye el valor de la codificación del idioma (codificado en "US-


ASCII", por ejemplo), y a continuación el propio texto. La longitud total de la tabla
de bytes que constituye el payload será, por tanto, la suma del byte de información
acerca de la codificación, el tamaño del código de idioma y el tamaño del mensaje.
Es posible, entonces, construir el payload de la siguiente manera: (HÉBUTERNE
& PÉROCHON, 2014):

byte[] buildTextPayload(String mensaje, String codificacion,


Locale idioma) {
Charset charsetCodificacion = Charset.forName(codificacion);
byte[] payload;
byte[] bIdioma =
idioma.getIdioma().getBytes(Charset.forName("US-ASCII"));
byte[] bMensaje= mensaje.getBytes(charsetCodificacion);

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;

5.22 CONSTRUIR UN PAYLOAD DE TIPO URI

Se recomienda escribir los mensajes de tipo URI utilizando el formato


TNF_WELL_KNOWN. La tabla de bytes que componen el payload contiene, en este
caso, la siguiente información (HÉBUTERNE & PÉROCHON, 2014):

• El primer byte contiene el código correspondiente al prefijo de la URI


• Los siguientes bytes contienen el sufijo de la URI, codificado en UTF-8.
La tabla de bytes tendrá, entonces, un tamaño igual a 1 + el tamaño del sufijo.
La construcción del payload se realiza de la siguiente manera:

byte[] buildUriPayload(String uri) {


String[] protocolo = new String[] {"",
"http://www.",
"https://www.",
"http://",
"https://",
"tel:",
"mailto:",
"ftp://anonymous:anonymous@",
"ftp://ftp.",
"ftps://" //[...] // Todos los protocolos.
};
byte[] payload;
int indicePrefijo = -1;

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; }

No hay que olvidar sustraer el protocolo de la URI antes de codificarlo en UTF-8 y


volver a copiar la tabla de bytes en el payload. Se debe estar atentos a la tabla que
enumera los protocolos que tiene, como primer elemento, una cadena vacía. El
bucle for que determina el prefijo debe tenerlo en cuenta y comenzar en el segundo
elemento de la tabla (HÉBUTERNE & PÉROCHON, 2014).

El método de construcción de un payload para un registro de tipo Absolute_URI:


basta con considerar que el prefijo de la URI es la cadena vacía - que se
corresponde con tener un 0 en el primer byte del payload, y codificar toda la URI
(prefijo incluido) en UTF-8 en el resto de la tabla de bytes (HÉBUTERNE &
PÉROCHON, 2014).

5.23 DEFINIR UN REGISTRO NDEFRECORD CON LAS API 14 Y 16

La API 14 de Android provee un método que simplifica al máximo la creación de un


registro ndefRecord de tipo URI:

NdefRecord ndefRecord =NdefRecord.createUri("http://www.miurl.es");

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).

byte[] data = getData(); NdefRecord ndefRecord = NdefRecord.createMime("image/jp


eg",data);

Del mismo modo, el método createExternal(String domain, String type, byte[]data)


permite crear un registro de tipo TNF_EXTERNAL_TYPE , y recibe como
parámetros el dominio, el tipo y los datos. El único punto destacable de este método
es la clase del dominio y del tipo: según la recomendación del foro NFC, esta
información no debería ser sensible a mayúsculas y minúsculas, lo cual no es
compatible con los principios de Android (los filtros de intención sí son sensibles).
El sistema gestiona esta diferencia aplicando el método toLowerCase()
sistemáticamente a estos dos parámetros en el método createExternal()
(HÉBUTERNE & PÉROCHON, 2014).

138
6. ESTADO DEL ARTE

Como fundamento de investigación para el trabajo de grado, se debe partir de la


Tecnología NFC y sus avances en el estado de arte tanto a nivel nacional como
internacional, permitiendo así conocer los principales avances tecnológicos y las
implementaciones realizadas en la industria.

El concepto del cual se tratará el estado del arte será: Near Field Communication
NFC, dispositivos, estándares, aplicaciones reconocidas, aplicaciones NFC.

6.1 ESTADO DEL ARTE NFC COLOMBIA

Hoy en día la tecnología NFC está ingresando en el país en diferente dispositivos


como Smartphones, Tabletas, dispositivos para el hogar como Televisiones,
Parlantes, Impresoras; Ropa, accesorios, vehículos y muchos otros elementos que
cada día son creados y diseñados para ser compatibles con NFC.

Para años anteriores al 2012 no se habían desarrollado aplicaciones exitosamente


en el país, desde el año 2013 una implementación para el Sistema Integrado de
Transporte Publico SITP y Transmilenio en su Fase 3, implementaron el uso tarjetas
compatibles con la Tecnología NFC, y desarrollaron una aplicación multiplataforma
con muchas funciones, la aplicación permite consultar el saldo de la tarjeta desde
el teléfono móvil con 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.

Actualmente ya se cuenta con el uso de tarjetas NFC de contacto en empresas para


el uso de carnets de identificación y acceso a zonas restringidas, igualmente los
Bancos ya iniciaron el trabajo de la creación de las tarjetas de crédito virtuales para
que funcionen como tarjetas de crédito y permitan realizar pagos con el teléfono
móvil.

6.1.1 Transmilenio y SITP – TransmiSitp. La aplicación TrasnmiSitp permite a los


usuarios:
• Consultar las estaciones por troncales
• Ver direccione de las estaciones del Sistema
• Consultar rutas y paradas de los buses de Transmilenio
• Calcular ruta
• Obtener información de Buses alimentadores

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

Figura 38. Aplicación Móvil TrasmsiSitp

Fuente (Transmisitp, 2013)

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

Fuente (Transmilenio, 2013)

• Consulta de Saldo 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.

Figura 40. Activación NFC tullave

Fuente (Transmilenio, 2013)

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

Figura 41. Consulta de saldo tarjeta tullave

Fuente (Transmilenio, 2013)

6.2 ESTADO DEL ARTE NFC EXTERIOR

En el exterior existen compañías encargadas en desarrollar soluciones integradas


de software para diferentes dispositivos NFC. A continuación algunos casos en
implementaciones:

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

Fuente Google Wallet (2012)

6.2.2 Angry Birds Magic. Es un juego con la tradicional mecánica que ya se


conoce, pero ahora se puede jugar con otras personas que tengan dispositivos que
soporten la tecnología NFC para liberar los niveles de juego. Esta versión del juego
fue sacada en Mónaco, Se lanzó en exclusiva para el Nokia C7 y de hecho viene
preinstalada en la actualización de Symbian Anna. Asimismo, se espera sea incluida
en otros equipos con chips NFC. Para ello, los programadores de Rovio están
trabajando arduamente en crear nuevos niveles para una versión completa de
Magic.

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).

Figura 43. NFC Angry Birds

Fuente (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).

Figura 44. Aplicación Foursquare

Fuente (Foursquare, 2012)

6.2.4 Android Beam. Es el nombre con el que Google nombró a sus


comunicaciones peer-to-peer y por ese medio los usuarios en Foursquare podrán
compartir listas, información de lugares visitados, enviar solicitud de amistad y hacer
check-ins en cualquier lugar donde haya tags NFC. Así, cada vez que un usuario
visite un lugar donde estén disponibles y su Smartphone Android 4.0 tenga NFC,
aparecerá una notificación inmediata para invitarlo a que haga check-in (Ocampo,
2012).

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).

La tecnología NFC permitirá realizar operaciones desde comprobar el tiempo del


autobús hasta alquilar una bicicleta la Universidad Católica San Antonio de Murcia.
Otras facilidades que ofrece la tecnología NFC es el poder almacenar perfiles
académicos o el uso de datos en el campo (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.

El sistema está en proceso de prueba y ya son más de 5.000 taxis de la ciudad


condal, los que se han atrevido a incorporar este nuevo método de pago en sus
servicios. La mecánica será acercar el teléfono móvil a al datafono y por un importe
menor de 20 euros no se pedirá el PIN de la tarjeta; si el importe es mayor de 20
euros sí se pedirá.

Actualmente, La Caixa dispone de más de 19.000 TPV´s en funcionamiento y verá


incrementado su número gracias al uso de esta tecnología NFC en los pagos de los
viajes en taxi. (NFCON 2012).

6.2.7 Vodafone Posters Inteligentes con NFC en Gijón. El artículo publicado en


la página de (NFCON, 2012) nos muestra cómo se comienzan a verse campañas
de Posters Inteligentes con etiquetas NFC en España. Con motivo del Concurso
Hípico Internacional de Gijón 2012, realizado entre el 29 de agosto y el 03 de
septiembre, Vodafone ha realizado unos Posters Inteligentes con NFC.

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.

La acción ha sido coordinada en la parte técnica por la empresa Sooft, especializada


en Tecnología NFC y propietaria de este portal (NFCON, 2012).

145
Figura 45. Concurso Hípico Internacional

Fuente (NFCON, 2012).

6.3 USO DE NFC EN BIBLIOTECAS

6.3.1 La Biblioteca Pública de Hanno. Ubicada en Saitama (Japón) cuenta con un


Sistema NFC llamado El proyecto Karirutatchi, donde se colocaron 100 tags en los
estantes los cuales son dirigidos a Portal Web optimizado para móviles donde se
acceden a diferentes fuentes de información permitiendo ampliar la información de
los libros y la colección, permitiendo a los usuarios decidir al seleccionar los libros,
hacer comentarios, reseñas y solicitar el material (Arroyo, 2013).

Figura 46. NFC Biblioteca Pública de Hanno

Fuente (Arroyo, 2013)

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)

Figura 47. Project Pingeb.org

Fuente (Project PINGEBORG, 2013)

6.3.3 Underground Biblioteca. En el Sistema de transporte subterráneo de Nueva


York, estudiantes han creado una iniciativa que permite a los usuarios del sistema
acceder a libros usando la tecnología NFC. La aplicación permite a los usuarios de
teléfonos inteligentes la descarga extractos de libros, primeras páginas
seleccionado de la Biblioteca Pública de New York, y una vez se sale del metro la
aplicación mostrara la biblioteca más cercana para solicitar el libro completo (Tan,
2013).

En el video publicitario del proyecto publicado en la red social Vimeo


(https://vimeo.com/58161297 ) se puede ver a usuarios del metro utilizar su teléfono
móvil para escanear un cartel inteligente para acceder a las 10 primeras páginas de
un libro bestseller sin que sea necesario tener acceso a redes Wi-Fi (Tan, 2013).

147
Figura 48. The Underground Library

Fuente (Tan, 2013)

6.4 USO DE NFC EN VEHICULOS

Las grandes compañías fabricantes de automóviles como BMW, Mercedes Benz y


Audi, están integrando la tecnología NFC a sus automóviles. Esta tecnología
permite abrir puertas, maleteros con teléfonos inteligentes o con relojes NFC; la
aplicación de esta tecnología también permite personalizar la posición del asiento
del conductor, emparejar música y contactos con el panel instrumental del vehículo.

Los principales fabricantes de chips de NFC como NXP y Broadcom Corporation


ofrecen soluciones a empresas automotrices y prometen grandes avances en la
implementación de esta tecnología en el sector, trayendo grandes beneficios al
momento de rentar un vehículo, realizar pagos y acceder a zonas restringidas como
parqueaderos (Cruz, 2015).

148
Figura 49. Uso de NFC en vehículos HYUNDAI

Fuente (HYUNDAI, 2013)

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.

Hyundai propone en los teléfonos móviles datos relativos a la preferencia del


conductor como las emisoras favoritas, listas de reproducción de canciones,
contactos, posición de espejos retrovisores, colocación de los asientos y otro tipo
de configuraciones para luego transmitirlos al automóvil vía NFC; esto permitirá
llegar a la personalización de las características según configuración realizada por
los diferentes conductores que usen el vehículo. Se espera que esta propuesta de
configuración esté disponible desde el 2015. (Velasto, 2012)

149
Figura 50. Apps en vehículos HYUNDAI

Fuente (HYUNDAI, 2013)

6.5 TRANSPORTE PUBLICO

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).

6.5.2 Transporte Público Español. En España se estudia un modelo de


implantación de la tecnología NFC en el transporte público. Esta presentación se
realizó en el XV congreso Español de Sistemas Inteligentes de Transporte donde
se analizaron las experiencias luego de la implantación comercial del uso de
teléfonos inteligentes para el transporte público en la ciudad de valencia. EL
operador que logro este avance fue Movistar, Valencia es la primera ciudad
española en ofrecer este sistema de pago incluido el metro y tranvía. Las tres
principales empresas de telefonía ofrece este servicio. El servicio entra en
funcionamiento el mes de mayo de 2015 y dará viajes gratis a sus usuarios

150
6.6 IDENTIFICACIÓN VEHICULAR CON NFC

Figura 51. Identificación vehicular en Valencia - España

Fuente (Ramos, 2015).

La ciudad de Valencia, España está haciendo la implementación de la tecnología


NFC en las entidades locales de la ciudad. La tecnología NFC logra hacer un ahorro
económico con el desarrollo de aplicaciones usadas como en el caso del Cuerpo de
Policía local de Valencia, aprovechando de que trabaja en las calles y para su
comunicación para la identificación solicita ayuda por su radio de comunicación
(Ramos, 2015).

Con el desarrollo de nuevos dispositivos tecnológicos se logra realizar una conexión


que permite al agente conectarse a la red usando alguna aplicación para consultar
información instantáneamente, por lo cual se favorece su trabajo ya que es más
rápida, sencilla y eficiente. En Valencia la empresa EMT que más ha modernizado
y lo ha implementado en el transporte, brindando información en las paradas de
buses y brindar información a usuarios, igualmente se aplicara a los
establecimientos quienes colocaran tags que tendrán información importante para
la administración local (Ramos, 2015).

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).

El uso de estos tags en los vehículos permite la consulta de información y muchos


tipos de consultas. En la Ciudad de valencia los tag son entregados e instalados por
la oficina de pago de impuestos del vehículo. La etiqueta será instalada en el

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).

Figura 52. Funcionamiento de NFC en transporte público

Fuente Omicrono. (2012).

6.7 HOGAR

6.7.1 Uso de NFC en Juguetes. Los principales fabricantes de juguetes están


incorporando la tecnología NFC y aplicaciones en juguetes para agregarles
mayores funciones y ser más atractivos e interactivos para los niños. Entre los
fabricantes están Disney, Hasbro, Nintendo, Crayola, Mattel y Activision (Soto,
2015).

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)

6.7.2 Proyectores NFC. La Compañía BenQ anuncio los modelos de proyectores


MW665+ y MX666+. Están diseñaos para realizar las presentaciones con el
tapNshow, una solución única hasta el momento permitiendo transmitir una
presentación del teléfono móvil a proyector usando la Tecnología NFC, BenQ busca

152
dar un verdadero poder a las presentaciones con mayor comodidad, confianza y
facilidad (Manaure, 2015).

Figura 53. Proyectores NFC

Fuente (Manaure, 2015)

6.7.3 Tecnología de Sony con NFC. Podemos mencionar también toda la


tecnología que tiene el fabricante SONY, quien ofrece todo tipo de soluciones para
lograr un hogar conectado con la tecnología NFC, algunos de los más destacados
son:

• Televisor X9 con resolución de 4K


• Altavoces Inalámbricos con Wi-Fi SRS-X9
• Auriculares MDR-1RBT
• Cámara Digital DSC-RX100M2
• Altavoces SRS-BTV5 y SRS-BTM8
• SmartTags
• Smartphones
• SmartWatch 2 SW2

153
Figura 54. Dispositivos Sony NFC

Fuente (Sony Xperia M2, 2014)

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).

Figura 55. Bafles NFC

Fuente (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).

Un modelo destacado es el Sony SmartWatch 3 SW2 (MN3) es un reloj inteligente


con Android incluido conectividad NFC Bluetooh 3.0, su duración de batería es de
4 días, pantalla transflectiva de 1.6 pulgadas, una resolución de 320 x 320 pixeles.
Desde el reloj controlar las llamadas, actualizaciones de redes sociales, correo entre
otras funciones, la pantalla es multitáctil. Además tiene sensores Sensores de luz
ambiente, Acelerómetro, Brújula, Giro, GPS. En rendimiento Quad ARM A7, 1.2
Ghz, 512 MB de RAM, 4 GB de eMMC (Sony, 2015).

Figura 56. Relojes NFC

Fuente (Sony, 2015)

6.7.6 Auriculares NFC. Otro dispositivo donde se está aplicando la tecnología


NFC, son los auriculares inalámbricos, de esta forma acercando los auriculares y
un Smartphone podemos trasmitir archivos MP3 a los auriculares. Uno de estos
modelos es el auricular SHB7150FB de Philips, permitiendo el apareamiento con
otros dispositivos como Mini componentes, Smartphones, este dispositivo permite
recibir llamadas mientras se está escuchando música, se detiene la reproducción y
se continúa en la llamada, debido a que cuenta con micrófono. Permite la conexión
por cable que viene como accesorio, pesan 1.76 y otros modelos como el HP2B de
Noblex, posee función de manos libres, tienen una duración de 14 de horas de
batería, y una sensibilidad de 108 dB. (Castrillón, 2015).

155
Figura 57. Auriculares NFC

Fuente (PHILIPS, 2014)

6.7.7 Impresoras NFC. Samsung ha creado impresoras compatibles con la


Tecnología NFC, en el mercado encontramos impresoras multifuncionales
monocromáticas y a color con funciones de impresión, escaneo y copia, algunos
modelos son la Xpress SL-M2070FW, Xpress C410W, MFPs C460W, estas
multifuncionales permiten la conexión por cable USB, Red y Wi-Fi. Cuentan con un
Tag NFC y desde la página de Samsung se puede descargar un App llamada
Samsung Mobile Print para realizar la impresión Tap & Print permitiendo imprimir
con facilidad desde los smartphones fotografías y documentos en alta calidad
(Samsung, 2013).

Figura 58. Impresoras NFC

Fuente (Samsung, 2013)

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).

Figura 59. Tap to Pay

Fuente (Tap To Pay, 2015)

6.8.2 Sasmsug Pay. Samsung ha presentado su propuesta tecnológica para


realizar pagos desde los Smartphones llamada Samsung Pay, este servicio permite
a los usuarios realizar compras en cualquier establecimiento comercial, para ello
Samsung hace uso de la tecnología NFC y un desarrollo propio denominado
Magnetic Secure Trasmission MST, para facilitar los pagos a los usuarios clientes y
comercio. Esta plataforma de pago ha trabajado con las principales empresas de
pagos como MasterCard y Visa y están buscando ampliar las alianzas con todos
partners financieros de todo el mundo y proporcionar un mayor acceso y flexibilidad
y hacer una mejor experiencia más segura y simple (SAMSUNG, 2015).

Samsung Pay puede ser usado en 30 millones de locales comerciales en el mundo,


lo que la convierte hasta la fecha en la única solución de pagos móviles con mayor
cobertura, otra ventaja de este sistema de pago es que los usuarios pueden usarlo
en locales comerciales independiente si los terminales funcionan con NFC o son
lectores de tarjetas tradicionales (SAMSUNG, 2015).

157
Figura 60. Samsung Pay

Fuente (SAMSUNG, 2015)

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.

Este sistema de pago tampoco guarda los números de cuenta en el dispositivo, la


seguridad de pagos de Samsung se ha mejorado con su propia plataforma de
seguridad móvil (Samsung KNOXTM) y ARM TrustZone®, que conjuntamente
protegen la información de las transacciones frente a los delincuentes y los ataques
a los datos. También se cuenta con la función la función Find My Mobile, en el caso
de que se pierda un teléfono, y permite a los usuarios localizar, bloquear e incluso
vaciar sus dispositivos de forma remota, garantizando que los datos de Samsung
Pay nunca se vean comprometidos. (SAMSUNG, 2015)

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).

Figura 61. Tarjetas de Crédito en Apple Pay

Fuente (Apple, 2015)

La aplicación permite agregar tarjetas a Passbook y luego para realizar el pago se


toca el móvil para validar la huella dactilar. Apple no almacena datos como el
número de la tarjeta de crédito, por si se pierde el teléfono se puede entrar a la web
de Apple y desactivar el acceso a los dispositivos (Apple, 2015).

Figura 62. Apple Pay

Fuente (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).

6.8.4 Android Pay. Es la nueva plataforma de pagos móviles de Google. Utiliza el


chip NFC que tiene el teléfono móvil como hacía Google Wallet. Los usuarios de
esta primera solución de Google podrán portar su información de pagos al nuevo
sistema porque esencialmente es la misma API. Android Pay también permitirá
transacciones de pagos y almacenar tarjetas de fidelización compatibles.

Su funcionamiento depende de que existan máquinas que acepten pagos


NFC.Todo lo que tiene que hacer el usuario es acercar el teléfono a la máquina para
pagar, y en su pantalla aparecerá la confirmación de si la transacción se ha
completado con éxito. Cuando el sistema se configure por primera vez habrá que
habilitar una forma de bloqueo del dispositivo con una contraseña, un patrón de
desbloqueo o huella dactilar, si el teléfono dispone del hardware necesario.

Figura 63. Android Pay

Fuente (Google Android, 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:

• Lee información detallas de etiquetas NFC y tarjetas inteligentes


• Permite comprobar la información grabada en las etiquetas
• Lee y visualiza datos del mensaje NDEF
• Lee y visualiza metadatso de la etiqueta
• Leer y visualiza datos en hexadecimal, ASCII y UTF-8 codificación de texto
• Lee y visualizar las condiciones de acceso
• Leer y visualizar pasaporte electrónico (DVLM electrónicos)
• Guardar información de la etiqueta a los archivos Compatibles registros
NDEF:
o Text Record
o URI Record
o Smartposter Record
o Control genérico Record
o Firma del Registro
o NFC Geo Record

• Etiquetas compatibles para la lectura de las condiciones de acceso de datos:

o NFC Forum Type 1


o NFC Forum Type 2 / MIFARE Ultralight (EV1) / NTAG
o NFC Forum Type 3 / FeliCa Lite
o my-d(TM) NFC / my-d(TM) move
o MIFARE Classic
o MIFARE DESFire
o MIFARE DESFire EV1
o FeliCa
o ISO/IEC 15693 (only limited support)
o NFC Barcode

161
Figura 64. NFC TagInfo

Fuente (Google Play, 2015)

6.9.2 NFC TagWriter by NXP. La aplicación de NFC TAGwriter desarrollada por


NXP, cuenta con funciones para almacenar contactos, favoritos, datos de ubicación
geográfica, activar y enviar datos por Bluetooth, correo, mensajes de texto y muchos
más opciones para trabajar con las etiquetas NFC, es útil para ser aplicada en
elementos como carteles, tarjetas de visita, relojes y muchos más habilitados con
NFC. Una vez que los datos se han almacenado la aplicación permite también la
lectura y la visualización de los datos programados incluyendo opciones para iniciar
aplicaciones automáticamente en función de los datos contenidos (Google Play,
2015).

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:

• Contacto (vCard) para importar datos en la libreta de direcciones (Contactos)


• Marcadores (URL) para abrir una dirección web determinada
• Texto sin formato para mostrar mensajes sencillos directamente en la
pantalla
• SMS (SMS URI) para crear un nuevo mensaje
• Mail (Correo URI) para crear un nuevo mensaje de correo
• Número de teléfono (TEL URI) para iniciar una llamada
• Bluetooth para emparejar y conectar dispositivos
• Wi-Fi para conectarse a redes Wi-Fi
• Ubicación de Geo para abrir un archivo de destino

La aplicación es totalmente compatible con el NFC Forum TagTipo 1, Tag Tipo 2


Tag Tipo 3, Tag Tipo 4. Esto incluye toda una serie de NXP y de terceros con NFC
IC productos sin contacto MIFARE Ultralight como, MIFARE Classic, MIFARE
DESFire, NTAG 21x, NTAG I2C, ICODE SLI y muchos otros (Google Play, 2015).

Figura 65. NFC TagWriter

Fuente (Google Play, 2015).

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).

Tiene varios usos los más comunes son:

• En el automóvil para establecer una conexión Bluetooth para abrir el GPS y


abrir aplicaciones de música.
• En la mesa de noche podemos programar una etiqueta NFC para que la
alarma Vibre y se apague la pantalla y ajuste la alarma.
• En el hogar permite configurar la desactivación de datos móviles cuando el
teléfono detecta la red Wi-Fi.
• Abrir o cerrar aplicaciones
• Cambiar el volumen o los tonos de notificación.
• Enviar mensajes a Redes Sociales y SMS
• Cambiar el volumen o los tonos de notificación.
• Cambiar los ajustes de brillo, tiempo de espera, giro automático o luces de
notificación de la pantalla
• Abrir una URL
• Dictar texto
• Ir a una dirección

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

Fuente (Google Play, 2015)

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:

• Enciende y apagar redes Wi-Fi, activar el Bluetooth, pasar a Modo Avión.


• Ejecuta aplicaciones
• Marcar números telefónicos.
• En Foursquare realiza un Check-in en un lugar determinado.
• Enciende y apagar la luz del dispositivo.
• Escribir un mail al leer un tag NFC.
• Maps: Ejecuta Google Maps a través de NFC.
• Ejecuta Google Maps Navigation.
• Envia Sms
• Street View: Abre Google Street View.
• Escribir texto plano en un tag NFC.
• Url: Abrir un sitio web con solo leer un tag NFC.
• Wi-Fi: Permite conectar a una red Wi-Fi a través de NFC.
• Youtube: Permite ver un video al leer un tag NFC.
• Utilidades para resetear y clonar Tags (Google Play, 2013).

165
Figura 67. NFC Actions

Fuente (Google Play, 2013)

6.9.7 NFC TagInfo by NXP. Esta aplicación es proporcionada por NXP


Semiconductors, utiliza la tecnología NFC siendo estos co-inventores de NFC, la
cual ayuda a explorar las características de los TagsNFC y ayuda al usuario a
obtener información almacena en los tags (Google Play, 2014).

Características Principales:

• Identifica aplicaciones contenidas en etiquetas y tarjetas


• Identifica fabricante y tipos
• Extraer y analizar conjuntos de datos NFC (mensajes NDEF)
• Soportes para todo tipo de registro de NFC Forum
• Mostrar detalles de las tarjetas sin contacto y etiquetas
• Permite acceder al contenidos de tarjetas de transporte y pago públicos
o Soporta aplicaciones como:
o CLIPPER, todo en una sola tarjeta de tránsito, área de la bahía de San
Francisco, CA, EE.UU.
o Kiev Metro, Kiev, Ucrania
o ORCA, una tarjeta regional para toda la región de Puget Sound, WA,
EE.UU.
o OV-chipkaart, chipkaart vervoer Openbaar (transporte público chip de
la tarjeta), Países Bajos

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.

(Google Play, 2014).

Figura 68. NFC TagInfo NXP

Fuente (Google Play, 2014)

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:

• Detección automática y vista previa de diferentes tipos de datos


• Cargar / guardar en un archivo, archivo adjunto de correo electrónico
• Escritura de Etiquetas como de sólo lectura
• Lectura de etiquetas
• Vistas previas de impresión de XML y JSON

Ejemplos en https://code.google.com/p/ndef-tools-for-android/ / para ejemplos de


código y aplicaciones de demostración completos (Google Play, 2014).

Figura 69. NFC Developer

Fuente (Google Play, 2014)

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:

• Fabricante de la etiqueta (NXP, Nokia, IBM)


• Tipo de etiqueta (MIFARE Ultralight, Ultralight C, DESFire, NTAG203)
• Norma de la etiqueta (NFC Forum Type 2)
• Tecnología disponible (Clases Android)
• Número de serie
• Tamaño de la etiqueta y de los datos presentes

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).

Figura 70. NFC Tools

Fuente (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:

Tabla 11. Tabla de Aplicaciones NFC Google Play

• Conexión fácil NFC • Samsung GALAXY NFC


• NFC Tools Tagwriter
• NFC Smart Tags • Dashclock NFC Extension
• NFC TagInfo by NXP • NFC File Transfer
• Trigger • Clonificador de etiquetas NFC
• Egomotion • NFC TagInfo

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

Fuente (Google Play, 2015)

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:

Tabla 12. Lista de Teléfonos con NFC

• Acer Cloud Mobile • BQ Aquaris M5.5


• Acer E320 Liquid Express • BWC ToughSlate 7″
• Acer Liquid Glow • C-Mii 1
• Acer Liquid S2 • C-Mii 3
• Adlink IMX-2000 • Casio DT-X8
• Alcatel One Touch 922 • Casio G’zOne CA-201L
• Alcatel One Touch 996
• Casio IT-800
• Alcatel Onetouch Idol 2
• Cat S60
• Alcatel Onetouch Idol 2 Mini S
• Alcatel Onetouch Idol 2S • Cetrix CB250
• Alcatel Onetouch Pop Fit • Cetrix CD661
• Amazon Fire Phone • Cetrix CT973G
• Apple iPhone 6 and iPhone 6 Pl • Cetrix CV300
us • Dell Venue 11 Pro
• Apple iPhone 6s and iPhone 6s • DLI 9000
Plus • Faea F1
• Apple iPhone 7 and iPhone 7 Pl • Faea F2
us • Faea F2S
• Apple iPhone SE
• Famoco FX-100
• Apple Watch
• Firefox OS Flame
• Asmaitha Sruta 7″ Tablet
• Fujitsu Arrows A
• Asus MeMO Pad 8 (ME581CL)
• Asus Padfone 2 • Fujitsu Arrows µ F-07D
• Asus Padfone Infinity • Fujitsu Arrows Kiss
• Asus Vivo Tab • Fujitsu Arrows Tab
• Asus Vivo Tab RT • Fujitsu Arrows V
• Asus VivoTab Smart • G.To N800
• Asus ZenFone 2 • Gentag GT-601v2
• BBK Vivo Xplay • Gionee Elife E7
• Benq T80 • Google Nexus 10
• BlackBerry Bold 9790 • Google Nexus 5
• BlackBerry Bold 9900/9930 • Google Nexus 5X
• BlackBerry Classic
• Google Nexus 6
• BlackBerry Curve 9350/9360/93
• Google Nexus 6P
70

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

Fuente (NFC world, 2016)

178
7. DISEÑO DEL SISTEMA

En este capítulo se describe el desarrollo y el prototipo en términos técnicos y de


arquitectura, enmarcados en algunos estándares de Ingeniería de Software. Es de
aclarar que para la implementación del prototipo no se tuvo en cuenta todos los
lineamientos, debido a que el sistema no lo ameritaba, ni tampoco era el fin de este
proyecto.

Debido a que se realizó un gran esfuerzo en investigar una tecnología emergente,


el trabajo se esforzó en entender aspectos técnicos y teóricos. Mediante la ayuda
de textos adquiridos personalmente de NFC y documentación web, se logró
establecer un proyecto que le sirva a la comunidad en general para la investigación
y desarrollo de nuevas soluciones tecnológicas.

7.1 REQUISITOS FUNCIONALES

Los siguientes requisitos son los definidos para la el desarrollo del prototipo
propuesto en este proyecto.

1. La aplicación NFCTransitoMovil debe permitir leer los tags NFC y mostrar el


ID del tag leído.
2. NFCTransitoMovil debe permitir enviar vía 4G los datos leídos en el Tag NFC,
que contienen la información del UID del vehículo.
3. En el caso de que se envié la información de IUD hacia webservicetransito y
no se encuentre ese IUD Registrado en el sistema, debe aparecer un evento
que indique que el IUD no está en el Sistema de Información.
4. La información que envía la aplicación TransitoWeb debe mostrarse de una
manera amigable en el dispositivo móvil.
5. La aplicación debe poder auto-ejecutarse apenas se acerque una etiqueta
NFC.
6. La base de datos debe almacenar los datos de :
a. Tag Id
b. Clase de vehículo (Char)
c. Tipo carrocería(Char)
d. Combustible(Char)
e. Capacidad(Char)
f. Numero Motor(Char)
g. Cilindrada(Char)
h. Color(Char)
i. Placa (Char)

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

7.2. ARQUITECTURA DEL SISTEMA NFC VEHÍCULOS

Figura 71. Arquitectura del Sistema

Fuente: Elaboración Propia

El sistema se desarrolló basado en modelos de arquitectura de software cliente


servidor, gracias a las ventajas que este modelo ofrece, se puede adecuar a las
necesidades de este sistema.

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 ARQUITECTURA DE LECTURA NFC

Figura 72. Diagrama de lectura NFC Móvil

Fuente Elaboración Propia

7.3.1 Niveles.

• Dispositivo Móvil: Teléfono móvil NFC con el cual se leen


o codificaron las etiquetas NFC.
• Etiquetas: Se utilizaron las etiquetas MIFARE 1K que cumplían los estánda
res de codificación del NFC Forum.

7.3.2 Componentes.

• LecturaNFCMovil: Aplicación móvil fue desarrollada en Eclipse + ADT


Plugin y AndroidSDK.

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.3.3 Protocolos NFC: La lectura se lleva cabo a través de los mecanismos de la


tecnología NFC para la comunicación de Targets. A nivel Físico, la lectura (al igual
que la escritura), se lleva a cabo a través de lo que se llama acoplamiento inductivo.

7.4 ARQUITECTURA DE LA APLICACIÓN NFC VEHICULAR

Figura 73. Arquitectura NFC Vehicular

Fuente Elaboración Propia

7.4.1 NIVELES

• Servidor: El computador servidor aloja tanto el servidor de aplicación


Asp.Net, como el servidor de base de datos en MySQL 5.0.
• Dispositivo Móvil: Teléfono móvil NFC con el cual se leen las etiquetas
NFC para vehículos.
• Etiquetas: Se utilizaron las etiquetas MIFARE 1K que cumplían los
estándares de codificación del NFC Forum.

182
7.4.2 COMPONENTES

• AppNFCReader: Aplicación móvil fue desarrollada en Android Studio + ADT


Plugin y Android SDK.
• API NFC Android Developers, que permite la comunicación con el
hardware NFC del teléfono móvil. Su funcionalidad es leer la etiqueta NFC
que está en el vehículo y solicitar la validación al servidor de remoto del de
transito que tiene la información de los vehículos, para que finalmente
muestre la información en el móvil.
• Aplicación WebTransito: Aplicación desarrollada en .Net. Esta aplicación
gestiona la información que es enviada desde los equipos móviles y es la
encargada de regresar la información al móvil.
• Base de datos: alojada en el sistema de gestión de base de datos MySQL,
almacena todos los datos de los diferentes vehículos.

7.4.3 PROTOCOLOS

• NFC: La lectura se lleva cabo a través de los mecanismos de la tecnología


NFC para la comunicación de Targets. A nivel Físico, la lectura (al igual que
la escritura), se lleva a cabo a través de lo que se llama acoplamiento
inductivo.

• HTTP: Es el protocolo empleado para la comunicación entre el dispositivo


móvil y la aplicación Web.

183
7.5 PROCESO DE INGENIERÍA DE SOFTWARE

7.5.1 DIAGRAMA DE CLASES

Figura 74. Diagrama de clases

Fuente Elaboración Propia

184
7.5.2 DIAGRAMA DE SECUENCIA SISTEMA MÓVIL

Figura 75. Diagrama de Secuencia

Fuente Elaboración Propia

185
7.5.3 DIAGRAMA DE ACTIVIDADES SISTEMA MÓVIL

Figura 76. Diagrama de Actividades

Fuente Elaboración Propia

186
7.5.4 DIAGRAMA COLABORACIÓN

Figura 77. Diagrama Colaboración

Fuente Elaboración Propia

187
8. TECNOLOGÍAS DE SOFTWARE APLICADAS

Una de las características principales del proyecto fue la diversidad de tecnologías


empleadas para el desarrollo del prototipo.

A continuación se enumeran y describen las tecnologías, lenguajes


de programación y API’s que fueron empleadas en este proyecto de grado:

8.1 BOOTSTRAP

Se utilizó este framework para el diseño de la aplicación web, aprovechado las


características disponibles para la construcción de elementos como formularios,
botones, tipografías, menús y otros elementos haciendo que las aplicaciones sean
adaptables a dispositivos móviles con el uso de Css y Html y JavaScript.

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.5 ANDROID STUDIO Y ECLIPSE

Se usaron estos dos IDE´s de Android para el desarrollo de la aplicación móvil.


Android Studio es el IDE oficial para el desarrollo de aplicaciones para Android,
basado en IntelliJ IDEA. Posee funciones avanzadas en sus editor de código
inteligente capaz de realizar la como finalización avanzada código, refactorización,
y análisis de código.

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

La problemática que se desarrolló en este proyecto fue la de generar una propuesta


para dar una solución a la identificación vehicular de la ciudad de Bogotá. De esa
manera, el escenario que se quería emular era el de un policía de tránsito que
detiene un vehículo particular o publico en un retén, mediante el teléfono móvil
dotado de tecnología NFC el policía lee el Tag NFC del vehículo y la aplicación trae
de un Sistema de Información Simulando al Sistema de Tránsito de Bogotá con la
información asociada al vehículo.

La información que le llega al oficial de tránsito le permite verificar si el vehículo está


registrado en el Sistema de Tránsito, lo que permite saber y tener controlado
Vehículos clonados en la ciudad de Bogotá.

La aplicación Web se encuentra instalada en un Servidor IIS (Internet Information


Server) Cuyo Sistema Operativo es Windows Server 2012, con procesador i7 y 4
Gigas en memoria RAM, el servidor cuenta con conectividad a internet permanente
para tener siempre disponibilidad y accesibilidad del servicio Web.

Las características del servidor son suficientes para que corra la aplicación Web
requerida para el funcionamiento del prototipo.

9.1 REQUERIMIENTOS DE IMPLEMENTACIÓN CON NFC

Para el diseño e implementación del sistema se debe tener en cuenta la interacción


conjunta de los siguientes componentes:

• Ubicación del Tag NFC Vehículo


• Tipo de Tag NFC (“Estándar, forma”).
• Software lectura NFC
• Aplicación Web Administrador de datos.

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

Para la identificación vehicular se requiere seleccionar y conocer la ubicación del


tag NFC, para ello se realizaron las siguientes preguntas antes de seleccionar la
etiqueta.

• ¿Qué se está etiquetando?


R/ Vehículo, parabrisas del carro.

• ¿El elemento contiene líquido, o metal, o agua?


R/ El tag va a estar sobre una superficie de vidrio.

• ¿Existe un espacio de aire que permita la comunicación con el tag?

R/ Si, la etiqueta NFC debido a que se comunica por acoplamiento inductivo


las ondas de radio pasan el vidrio a una distancia muy corta.

• ¿A qué tipo de condiciones ambientales van a estar expuestos los tags?


¿Tendrán que soportar alta humedad, o temperaturas extremadamente
altas o bajas?
R/ Si, 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.

• ¿Cómo va a ser aplicado el tag? ¿Por quién?


R/ La etiqueta se debe colocar con un pegante epoxico que permite que se
seque y adhiera rápidamente la etiqueta NFC al vidrio del vehículo.
La secretaria de transito de Bogotá cuenta con un centro de etiquetado de
RFID para etiquetas UHF, la idea es utilizar este mismo equipo para etiquetar
los nuevos tags NFC.

• ¿Los tags serán reutilizados?


R/ Los tag NFC no se pueden reutilizar, si el tag físicamente se intenta extraer
del vehículo dejara de funcionar y eso alerta al guarda de seguridad porque
no deja leer la etiqueta, por tal razón debe ser reemplazado.

• ¿Cuándo y dónde el tag debe ser visto?


R/ Los tags deben mirar preferentemente hacia el exterior cuando se colocan
en el vidrio, con el distintivo de la secretaria de transito de Bogotá.

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.

• ¿Hay requisitos específicos de orientación?


R/ El campo de interrogación depende de la polarización de la antena, así como de
la polarización de la antena del tag.
En el sistema de comunicación de campo cercano no es importante la polarización
de antenas, debido a que la comunicación no es por ondas de radiofrecuencia si no
por acoplamiento inductivo.

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.

El producto RaceTrack NFC ofrece una memoria programable de solo lectura de


1536 bits que se puede borrar electrónicamente (EEPROM), autentificación 3DES
y protección contra clonación. Aunque en este proyecto no se investigo a fondo los
problemas de seguridad, sabemos por las especificaciones tecnicas de esta
etiqueta que el sistema de cifrado es altamente seguro.
Esta empresa cuenta con tres diferentes pruebas de confiabilidad de etiquetas RFID
enbebidas, ademas cuenta con pruebas de temperatura y humedad que estan
estipuladas en el estandar IEC60068-2-67 y JESD22- A104-B.

Figura 78. UPM Reaflatac

Fuente UPM Reaflatac

192
Figura 79. UPM Reaflatac

Fuente: www.upmrfid.com

9.3 SISTEMA DE LECTURA NFC EN ANDROID

La aplicación fue desarrollada en Android 5.1 y anteriores, debido a esa distribución


que tiene mayor cantidad equipos móviles instalados en el mercado.

9.4 IMPLEMENTACIÓN DEL PILOTO

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.

El trabajo consistió en el desarrollo de una aplicación móvil programada en Android,


que permitía leer tag NFC desde el móvil, para el piloto se programaron varias
etiquetas cada una asociada a un vehículo, la información del vehículo tiene
asociada la información de placa y propietario. Cada Tag viene con un código de
identificación único de fábrica por esta razón no fue necesario codificar las etiquetas.

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 aplicación móvil fue implementada, instalada y probada sobre móviles Samsung


Galaxy S3, S4, S5, Samsung Galaxy note 4 y Lg G4, suficientes para que la
aplicación corriera adecuadamente.

9.5 EJECUCIÓN DEL PILOTO

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.

A finales de septiembre de 2015 se hicieron algunas correcciones de bugs que tenía


la aplicación, hasta que finamente a principios de Febrero la aplicación se integró
completamente desde de algunas mejoras realizadas.

Para la prueba se utilizaron etiquetas CONFIDEX PET TIKET, de estándar ISO 1443
A y B, muy similares a las de UPM.

La prueba se ejecutó en el laboratorio del Grupo de Investigación Sintel de la


Universidad Distrital, la etiqueta NFC se colocaba sobre un vidrio y una persona
acercaba el teléfono hacia la etiqueta que automáticamente accionaba la aplicación
de tránsito.

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

Fuente Elaboración Propia

195
9.6 RESULTADOS DEL PILOTO

Con los resultados obtenidos satisfactoriamente se cumplen los objetivos


propuestos en la tesis de grado. El sistema capturo los datos de una tarjeta NFC y
la información fue transmitida y recibida vía Red Celular 4G

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.

Otra mejora que se podría desarrollar sería un sistema de respuesta de petición,


queja y reclamo desde la aplicación móvil, para que la aplicación permita
retroalimentar la información que el guarda está realizando en el punto.

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.

9.7 APLICACIÓN WEB VEHÍCULOS

Para el desarrollo de la aplicación Web Vehículos a nivel de software se utilizaron


las tecnologías descritas en el capítulo 8. En cuanto a hardware se usó un servidor
en el cual se instaló y configuro todo para que la aplicación funcione correctamente.

9.7.1 Servidor. Para la implementación del sistema configuro un nombre dominio


y un servidor con Php, IIS y Mysql y PhpMyAdmin.

Características de Software del Servidor

• Mysql Versión del servidor: 5.6.26


• Php, 5.5.3
• IIS
• PhpMyadmin

9.7.2 Dominio. Para acceder a la aplicación Web de vehículos se adquirió y


configuro el dominio http://www.smartappsnfc.com/ donde se creó un Front para
explicar lo que es la tecnología NFC y permitir al acceso fácil y desde cualquier
lugar.

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.

Figura 81. Front aplicación Web

Fuente Elaboración Propia

9.7.4 Administración de la Base de Datos. Para la administración de la Base de


Datos se utilizó la herramienta PhpMyadmin el cual permite crear bases de datos,
tablas y realizar todas operaciones requeridas en la administración de la base de
datos para la operación de la aplicación móvil.

Figura 82. Base de datos smartapp_nfcappmovil en PhpMyAdmin

Fuente Elaboración Propia

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:

• Administrador: tiene el usuario y la contraseña de autenticación de la


aplicación web.
• Vehículos: tiene las tablas con las características asociadas al vehículo
(ïdchip, placa, ect.)
• Usertbl

9.7.6 Código SQL de la tabla Administrator. La tabla nos permite almacenar la


información correspondiente a los usuarios registrados como administradores para
poder ingresar al Sistema de Información móvil y registrar nuevos usuarios
administradores.

-- Table structure for table `administrator`

DROP TABLE IF EXISTS `administrator`;


/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `administrator` (
`idDataU` int(12) NOT NULL AUTO_INCREMENT,
`full_name` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`email` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`usuario` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`password` varchar(50) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
PRIMARY KEY (`idDataU`),
UNIQUE KEY `usuario` (`usuario`)
) ENGINE=MyISAM AUTO_INCREMENT=10 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;
/*!40101 SET character_set_client = @saved_cs_client */;

198
9.7.7 Código SQL de la tabla usertbl

-- Table structure for table `usertbl`


DROP TABLE IF EXISTS `usertbl`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `usertbl` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`full_name` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`email` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`username` varchar(20) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
`password` varchar(32) COLLATE utf8_unicode_ci NOT NULL DEFAULT '',
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=MyISAM AUTO_INCREMENT=5 DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci;

/*!40101 SET character_set_client = @saved_cs_client */;

9.7.8 Código SQL de la tabla Vehículos. La principal información a almacenar en


esta tabla corresponde a campos como la Clase de Vehículo, combustible,
Carrocería, Capacidad, Número de Motor, Cilindraje, color, Placa, Marca entre
otros.

-- Table structure for table `vehiculos`


DROP TABLE IF EXISTS `vehiculos`;
/*!40101 SET @saved_cs_client = @@character_set_client */;
/*!40101 SET character_set_client = utf8 */;
CREATE TABLE `vehiculos` (
`idData` int(11) NOT NULL AUTO_INCREMENT,
`idChip` varchar(20) NOT NULL,
`claseVehiculo` varchar(50) NOT NULL,
`tipoCarroseria` varchar(50) NOT NULL,
`combustible` varchar(50) NOT NULL,
`capacidad` varchar(50) NOT NULL,

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 */;

9.8 AUTENTICACION DE USUARIOS

El Sistema de Información Web de Transito cuenta con un sistema de autenticación


de usuario y contraseña para el acceso a la información de los vehículos
registrados. Para la demostración de la funcionalidad de la Aplicación se creó el
usuario Administrator y la clave es Smartapp@2016

Figura 83. Autenticación Sistema Web vehículos

Fuente Elaboración Propia

200
9.9 ADMINISTRACIÓN DE TAGS

Una vez se ha realizado el inicio de sesión se ingresa al Panel Administrador de


Tags NFC. Podemos visualizar las columnas de la Base de Datos la cual nos
muestra la información según el IdChip de cada Vehículo.

Figura 84. Gestor de Tags Sistema Web Vehículos

Fuente Elaboración Propia

Según los requerimientos planteados la aplicación permite editar cualquier campo


de información o ser borrado todo el registro.

9.9.1 Menú de Navegación. Para la navegación fácil de la aplicación Web se


desarrolló un menú superior con los menús: Inicio, Gestor de Tags, Gestor de
Usuarios, Ayuda y Cerrar Sesión.

Figura 85. Menú Sistema Web Vehículos

Fuente Elaboración Propia


9.9.2 Vista para Edición de Tags. Se creó el botón para editar los campos según
el IdChip al que le corresponde al vehículo seleccionado al cual se va actualizar la

201
información.

Figura 86. Edición de registros de Tags para el Sistema Web Vehículos

Fuente Elaboración Propia

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.

Figura 87. Borrar Registros de Tags para el Sistema Web 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.

Figura 88. Registro de Nuevo Tag al Sistema Web Vehículos

Fuente Elaboración Propia

9.9.5 Administración de Usuarios. Se desarrolló un administrador de usuarios el


cual es accesible desde el menú superior en el menú Gestión de Usuarios, el cual

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.

Figura 89. Administración de Usuarios del Sistema Web Vehículos

Fuente Elaboración Propia

9.10 WEB SERVICIE

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).

Figura 90. Web Service Transito

Fuente Elaboración Propia

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.

9.10.1 Librería KSOAP2

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.

Para descargarla podemos acceder al enlace del proyecto en github:


http://simpligility.github.io/ksoap2-android/index.html

La integración de esta librería debe hacerse en el proyecto de NFC donde se crea


una carpeta llamada libs y se importa KSOAP2 desde Android Studio o Eclipse.
Una vez creado el proyecto de NFC y se ha importado la librería debemos tener
varios datos de donde se publicara el servicio web, dirección Ip, Url, Namespace y
los métodos a ejecutar.

9.10.2 Acceso a Web Service

Para acceder al Web Service desarrollado se puede ingresar a la siguiente URL:


http://www.smartappsnfc.com/webservice/WebServiceTransito/WSTransito.asmx.

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

Figura 91. Acceso Web a WebServiceTransito

Fuente Elaboración Propia

9.10.3 SOAP 1.1

Cuando se realiza la invocación al método GetDataVehiculo desde el navegador


web este nos muestra el contenido XML del SOAP en versión 1.1

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.

POST /webservice/WebServiceTransito/WSTransito.asmx HTTP/1.1


Host: www.smartappsnfc.com
Content-Type: text/xml; charset=utf-8
Content-Length: length
SOAPAction: "http://www.smartappsnfc.com/Webservice/WebServiceTransito/GetDataVe
hiculo"

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/en
velope/">
<soap:Body>
<GetDataVehiculo xmlns="http://www.smartappsnfc.com/Webservice/WebServiceTra
nsito/">
<strIdchip>string</strIdchip>
</GetDataVehiculo>
</soap:Body>
</soap:Envelope>

HTTP/1.1 200 OK
Content-Type: text/xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="
http://www.w3.org/2001/XMLSchema" xmlns:soap="http://schemas.xmlsoap.org/soap/en
velope/">
<soap:Body>
<GetDataVehiculoResponse xmlns="http://www.smartappsnfc.com/Webservice/WebSe
rviceTransito/">

207
<GetDataVehiculoResult>string</GetDataVehiculoResult>
</GetDataVehiculoResponse>
</soap:Body>
</soap:Envelope>

9.10.4 SOAP 1.2

Cuando se realiza la invocación al método GetDataVehiculo desde el navegador


web este nos muestra el contenido XML del SOAP en versión 1.2

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

POST /webservice/WebServiceTransito/WSTransito.asmx HTTP/1.1


Host: www.smartappsnfc.com
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd
="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap
-envelope">
<soap12:Body>
<GetDataVehiculo xmlns="http://www.smartappsnfc.com/Webservice/WebServiceTra
nsito/">
<strIdchip>string</strIdchip>
</GetDataVehiculo>
</soap12:Body>
</soap12:Envelope>

HTTP/1.1 200 OK

208
Content-Type: application/soap+xml; charset=utf-8
Content-Length: length

<?xml version="1.0" encoding="utf-8"?>


<soap12:Envelope xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd
="http://www.w3.org/2001/XMLSchema" xmlns:soap12="http://www.w3.org/2003/05/soap
-envelope">
<soap12:Body>
<GetDataVehiculoResponse xmlns="http://www.smartappsnfc.com/Webservice/WebSe
rviceTransito/">
<GetDataVehiculoResult>string</GetDataVehiculoResult>
</GetDataVehiculoResponse>
</soap12:Body>
</soap12:Envelope>

9.10.5 Funcionamiento de WebServiceTransito

El Web Service creado para el funcionamiento del prototipo se desarrolló en C#,


teniendo en cuenta la documentación de MSDN de Microsoft, básicamente
podemos decir que primero se hace la importación de las librerías requeridas para
la conexión el uso de la Base de Datos, Sistema, Web Service, seguridad y otras.

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.

También se crea el método Publico public WSTransito () en el cual creamos las


variables que contienen los datos de la conexión al servidor de Bases de Datos,
seguido creamos el WebMethod donde definimos el método llamado
GetDataVehiculo, el cual realiza la conexión y ejecuta la consulta solicitando todos
los campos a la Base de Datos según el Where de la Consulta bajo el ID del chip.

Luego se ejecuta la consulta y entra a operar el DataReader creando una variable


para cada campo de la Base de Datos. Finalmente los datos cargados son

209
guardados en otras variables de tipo String retornando los datos y cerrando la
conexión.

9.10.6 Código fuente WebService.

using System; // espacio de nombre System // permite distinguir unos de otros

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;

namespace WebServiceTransito // conjunto de objetos relacionados

[WebService(Namespace = "http://www.smartappsnfc.com/Webservice/WebServiceTransito/")]

[WebServiceBinding(ConformsTo = WsiProfiles.BasicProfile1_1)]

[System.ComponentModel.ToolboxItem(false)]

public class WSTransito : System.Web.Services.WebService //clase publica

private MySqlConnection connection;

private MySqlTransaction _transaction;

public MySqlTransaction Transaction

get { return _transaction; }

set { _transaction = value; }

private string connConnection;

private string strQuery;

private int _intExistencias;

public int IntExistencias

get { return _intExistencias; }

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]

public string GetDataVehiculo(string strIdchip)

connection = new MySqlConnection(connConnection);

string strDataVehiculo = "Sin Dato>";

try

strQuery = "SELECT idChip, cedulaPropietario, claseVehiculo, tipoCarroseria, combust


ible, capacidad,noMotor, cilindrada, color, placa, marca, linea, modelo FROM Vehiculos WHERE idChip=
@idChip";

MySqlCommand cmdSelect = new MySqlCommand(strQuery, connection);

cmdSelect.CommandType = CommandType.Text;

cmdSelect.Parameters.Add(new MySqlParameter("@idChip", strIdchip));

connection.Open();

using (IDataReader dr = cmdSelect.ExecuteReader())

int ordIdChip = dr.GetOrdinal("idChip");

int ordCedulaPropietario = dr.GetOrdinal("cedulaPropietario");

int ordClaseVehiculo = dr.GetOrdinal("claseVehiculo");

int ordTipoCarroceria = dr.GetOrdinal("tipoCarroseria");

int ordCombustible = dr.GetOrdinal("combustible");

int ordCapacidad = dr.GetOrdinal("capacidad");

int ordNoMotor = dr.GetOrdinal("noMotor");

int ordCilindrada = dr.GetOrdinal("cilindrada");

211
int ordColor = dr.GetOrdinal("color");

int ordPlaca = dr.GetOrdinal("placa");

int ordMarca = dr.GetOrdinal("marca");

int ordLinea = dr.GetOrdinal("linea");

int ordModelo = dr.GetOrdinal("modelo");

while (dr.Read())

if (!dr.IsDBNull(ordIdChip))

strDataVehiculo = dr.GetString(ordIdChip) + ">";

if (!dr.IsDBNull(ordCedulaPropietario))

strDataVehiculo = strDataVehiculo + dr.GetString(ordCedulaPropietario) + ">";

else

strDataVehiculo = strDataVehiculo + "Sin Dato>";

strDataVehiculo = strDataVehiculo + dr.GetString(ordClaseVehiculo) + ">";

strDataVehiculo = strDataVehiculo + dr.GetString(ordTipoCarroceria) + ">";

strDataVehiculo = strDataVehiculo + dr.GetString(ordCombustible) + ">";

strDataVehiculo = strDataVehiculo + dr.GetString(ordCapacidad) + ">";

strDataVehiculo = strDataVehiculo + dr.GetString(ordNoMotor) + ">";

strDataVehiculo = strDataVehiculo + dr.GetString(ordCilindrada) + ">";

strDataVehiculo = strDataVehiculo + dr.GetString(ordColor) + ">";

strDataVehiculo = strDataVehiculo + dr.GetString(ordPlaca) + ">";


strDataVehiculo = strDataVehiculo + dr.GetString(ordMarca) + ">";
strDataVehiculo = strDataVehiculo + dr.GetString(ordLinea) + ">";
strDataVehiculo = strDataVehiculo + dr.GetString(ordModelo) + ">";
}
} }
return strDataVehiculo;
}
catch (Exception ex)
{
return ex.Message;
}
finally

212
{
connection.Close();
}
}
}
}

9.11 APP MÓVIL ANDROID

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.

<uses-permission android:name="android.permission.INTERNET" />


<uses-permission android:name="android.permission.NFC" />

9.11.3 AndrodiManifest.xml. Este archivo es uno de los principales de las


aplicaciones de Android, en el escribimos todas las configuraciones básicas de las
de la app creada. Se desarrolla en XML y sirve para que Android conozca la
aplicación, actividades creadas, permisos de usuario, se defina el icono, nombre de
la aplicación, versión, SDK requerido y otras opciones de configuración.
9.11.4 Contenido de AndroidManifest de la Aplicación NFCAPP.

<?xml version="1.0" encoding="utf-8"?>


<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.miguelgonzalez.nfcapp"
android:versionCode="2"
android:versionName="2.0" >

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>

Figura 92. Estructura de Proyecto NFCApp

214
Fuente Elaboración Propia

9.11.5 Actividad Principal NFCAppActivity. La actividad principal define la clase


pública NFCAppActivity la cual contiene los métodos:

Figura 93. Clase y Métodos de la Actividad principal NFCActivity

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;

public class NFCAppActivity extends Activity


{
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {

StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().p


ermitAll().build();
StrictMode.setThreadPolicy(policy);

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;
}

public void onClickVer(View botton)

217
{
makeToast("Buscando Tag...");
Intent objIntent = new Intent(NfcAdapter.ACTION_TAG_DISCOVERED)
;
objIntent.setClass(this, TagViewer.class);
startActivity(objIntent);
}

public void onClickSalir(View botton)


{
makeToast("Salir...");
finish();
}

public void makeToast(String message) {


Toast.makeText(this, message, Toast.LENGTH_SHORT).show();
}
}

9.11.6 TagViewer. El archivo TagViewer.java realiza las operaciones de consulta al


Web service

Figura 94. Estructura Activity TagViewer

218
Fuente Elaboración Propia

9.11.7 Recepción de Datos de WebService

La integración de esta librería debe hacerse en el proyecto de NFC donde se crea

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:

private SoapObject objSoap;


private SoapSerializationEnvelope soapEnvelope;
private HttpTransportSE aht;
private static String NameSpace = "http://www.smartappsnfc.com/Webservice/WebSer
viceTransito/";
private static String Url = "http://www.smartappsnfc.com/Webservice/WebServiceTr
ansito/WStransito.asmx";

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.

private void GetData()

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...");

objSoap = new SoapObject(NameSpace, MethodName);


objSoap.addProperty("strIdchip",_strIdChip);
soapEnvelope = new SoapSerializationEnvelope(SoapEnvelope.VER11
);
soapEnvelope.dotNet = true;
soapEnvelope.setOutputSoapObject(objSoap);
aht = new HttpTransportSE(Url);
try
{
aht.setXmlVersionTag("<?xml version=\"1.0\" encoding=\"UTF-8\"?>");
aht.call(SoapAction, soapEnvelope);
SoapPrimitive soapResult = (SoapPrimitive) soapEnvelope.getResponse();

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!");

9.11.8 Generar APK de la App NFC.Una vez realizado el desarrollo de la app en


Android se procede a generar el archivo apk para poder ser instalado en el
Smartphone. Desde Eclipse podemos exportar la apk, vamos al menú
File Export Seleccionamos Android y luego Export Android Application:

Figura 95. Generar APK

222
Fuente Elaboración Propia

Seleccionamos entre los proyectos que tengamos en Eclipse el que vamos a


exportar, seguidamente creamos un keystore, asignamos un nombre y password
luego diligenciamos todos los campos requeridos para la creación del KeyStore.

223
Figura 96. Generar APK Key Creation

Fuente Elaboración Propia

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.

Figura 97. Interfaz AirDroid

224
Fuente Elaboración Propia

Luego seleccionar el primer icono de Transferencia de Archivos, seguidamente


como se ve en la imagen hacer clic en el primer icono para que abra la venta y
seleccionar el apk a transferir al teléfono:

Figura 98. Transferencia de Archivos AirDroid

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:

Figura 99. Notificaciones AirDroid Transferencia

Fuente Elaboración Propia

Figura 100. Descarga de App NFCApp2016

226
Fuente Elaboración Propia

Una vez se procede a descargar la app de AirDroid al teléfono hacemos clic en el


icono de la aplicación para iniciar el proceso de instalación:

Figura 101. Proceso de Instalación en el Smartphone

227
Fuente Elaboración Propia

9.11.10 Ejecución de Aplicación NFC Transito. Luego del proceso de instalación


procedemos a la ejecución de la aplicación móvil NFC Transito. Para acceder a la

228
aplicación se debe ubicar el icono instalado en un escritorio del dispositivo móvil y
procedemos ejecutarla.

Figura 102. Icono de App en Escritorio Android

Fuente Elaboración Propia

Figura 103. Aplicación Móvil NFC Vehicular

229
Fuente Elaboración Propia

Para realizar la lectura de un tag, estando dentro de la aplicación hacemos clic en


el botón Leer Tag, esto hará que la app realice la lectura del tag detectando e
identificado el ID del Tag la aplicación envía el código único del tag al servicio web
quien realizara la consulta a la Base de datos según el ID del tag y este
posteriormente retornarla los datos de la consulta realizada al web service para que
sean entregados a la app móvil y presentados en el segundo layout de la app móvil,
en caso contrario sale un mensaje que indica que el vehiculó no se encuentra en el
sistema.

Figura 104. Aplicación Móvil en Lectura de Tags

230
Fuente Elaboración Propia

231
10. PRUEBAS Y FUNCIONAMIENTO.

En las pruebas se realizó el registro de tags correspondiente a varios vehículos, se


ingresaron los datos según la aplicación web y se comprobó la carga de datos en la
app móvil. Las pruebas fueron satisfactorias en todos los casos. La aplicación web
y móvil no se presentó errores o problemas en la ejecución.

10.1 PRUEBAS DE REGISTRO DE TAGS

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.

Se realizaron pruebas para ingreso de tags desde dispositivos móviles Android 5 y


6, la interfaz web cargo con el diseño Responsive Design y no se presentaron
problemas registrando información de Tags al Sistema Web Vehículos.

10.2 PRUEBAS DE INSTALACIÓN DE TAGS EN VEHÍCULOS

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

Fuente Elaboración Propia

10.3 PRUEBA DE INSTALACIÓN DE APP MÓVIL

Luego del proceso de desarrollo de la app móvil se procede a realizar la instalación


de la aplicación móvil, se procede a enviar el apk al móvil y realizar el proceso de
instalación como se describe en la página 224 a la página 226.

La prueba de instalación finalizo exitosamente, se instaló sin ningún error en el


dispositivo móvil, se creó el icono de la aplicación, se ejecutó sin cerrarse y no
muestro algún mensaje de error.

10.4 PRUEBA DE WEB SERVICE

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

La aplicación en su última versión se instaló en los dispositivos móviles Samsung


Galaxy Note 4 y Lg G4. En ambos se realizaron pruebas de instalación de la
aplicación móvil y lectura de tags de los vehículos. En ambos casos se recibieron
los datos solicitados según el tag de cada vehículo.

10.6 PRUEBA DE LECTURA DE TAGS EN VEHÍCULOS

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.

10.7 PRUEBA DE CONSULTA DE INFORMACIÓN SEGÚN TAGS

Esta prueba se realiza luego de la instalación de la aplicación móvil e ingreso de


información al Sistema de Información de Tags. Se procede a abrir la aplicación
móvil y acercar el teléfono al tag del vehículo, si todo el proceso es correcto se
deberá mostrar la información de cada vehículo según el tag.

234
Figura 106. Lectura de Tags y resultados de consulta

Fuente Elaboración Propia

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

Para la recolección de datos y pruebas de lectura se realizaron pruebas en una


muestra de 30 vehículos de diferentes modelos ycon tres modelos diferentes de
Smartphones: Samsung Galaxy Note 4, Lg G4 y Samsung Galaxy S3.

Se utilizaron tags Mifare Classic de 1K que son compatibles con los tres
smartphones como lo muestra la siguiente tabla:

Tabla 13. Comparación De Teléfonos Usados Y Compatibilidad De Tags

MARCA MODELO SISTEMA MIFARE MIFARE NTAG


OPERATI CLASSIC ULTRALIGHT
VO / 1K
LG G4 Android No Si Si
Samsung Galaxy Note 4 Android No Si Si
Samsung Galaxy S3 Android Si Si Si

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

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

Lectura desde app


Móvil NFCApp
Vehicular

Fuente Elaboración Propia

268
Tabla 44. Consolidación de Datos

# de VEHÍCULO NÚMERO Idchip TIEMPO TIEMPO DE L TIEMPO DE


prueba DE PLACA DE ECTURA LECTURA
LECTURA (segundos) (segundos)
(segundos)
Samsung Lg G4
Samsung Galaxy S3
Galaxy
Note 4
1 Chevrolet Cr
REV317 049b21aa973b80 1.11 6.65 1.09
uze NICKEL
2
Mazda 3 RCN567 04990faa973b80 1.58 4.78 1.01

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

Fuente Elaboración Propia

• # De Prueba: corresponde a cada prueba realizada, en total en esta prueba


se realizaron 30 lecturas de tags NFC con tres tipos de Smartphones.
• VEHÍCULO: corresponde a la marca del vehículo sobre el cual se verifico la
información y el tiempo de lectura.
• NÚMERO DE PLACA: corresponde al número de placa del vehículo a
identificar
• ID CHIP: Corresponde al ID identificador de cada tag y relacionado en la
aplicación Web Transito.
• TIEMPO DE LECTURA: La toma del tiempo de lectura se inicia desde que
se oprime el botón “Leer Tag” de la app NFCApp Vehicular, se acerca el
teléfono a una distancia de 0 a 5 cm del tag ubicado en el vidrio panorámico
del vehículo, la app identifica el Id del tag lo muestra en pantalla y se mide
hasta el tiempo que presenta los datos de identificación del vehículo en la
pantalla del Smartphone.

270
11. RESULTADOS OBTENIDOS

Como principal resultado y aporte de la investigación se desarrolló un sistema para


la identificación vehicular desde un sitio y momento específico, usando la tecnología
NFC en un dispositivo móvil Android por medio del uso de tags instalados en los
vehículos, el cual nos permitió validar la información de identificación de las
características de los vehículos en tiempo real y desde una Base de Datos validando
la información leída de cada tag y el respectivo vehículo al que pertenece.

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 desarrollado puede ser una solución para la Secretaria de Movilidad y


Transito de cualquier cuidad, entidad pública o privada que desee realizar la
identificación de vehículos con el uso de tecnología NFC y dispositivos móviles.

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.

En la ciudad de Bogotá las entidades encargadas del control vehicular como la


Secretaria de Movilidad, Policía de Tránsito y ninguna otra entidad encarga de
realizar control vehicular en el país han implementado una solución como la
realizada y documentada en esta investigación. Dado el avance y auge de la
tecnología NFC, en la fase de investigación hace más de dos años aun en el mundo
no había evidencia de solución similar alguna, para el año 2015 se encontró que la
Policía en Valencia - España realizo un desarrollo con la tecnología NFC para la
identificación vehicular, esta solución está documentada en la página 147 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

Como principal resultado de la documentación sobre el funcionamiento de la


tecnología NFC podemos afirmar que se describió y aprendió su funcionamiento,
historia, ventajas, clasificación, arquitectura, comunicación, estándares, usos,
modos, ecosistema NFC y protocolos.

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.

11.2 DISEÑO E IMPLEMENTACIÓN DE UNA HERRAMIENTA DE SOFTWARE


MÓVIL Y WEB PARA LA IDENTIFICACIÓN Y CONTROL DE VEHÍCULOS

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.

11.3 APLICACIÓN WEB VEHÍCULOS

Como parte del resultado se desarrolló la aplicación Web Vehículos, a nivel de


software se utilizaron las tecnologías descritas en el capítulo 8. En cuanto a
hardware se usó un servidor en el cual se instaló y configuro todo para que la
aplicación funcione correctamente.

Para la implementación del sistema configuro un nombre dominio y un servidor con


Php, IIS y Mysql y PhpMyAdmin.

Características de Software del Servidor

• Mysql Versión del servidor: 5.6.26


• Php, 5.5.3
• IIS
• PhpMyadmin

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.

11.5 PRINCIPALES CARACTERÍSTICAS DEL API DE ANDROID

Como resultado se documentó y desarrolló la aplicación móvil usando el API de


Android para NFC - (android.nfc), para el desarrollo de aplicaciones con NFC.

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.

11.6 ESTÁNDARES DE TAGS USADOS PARA LA LECTURA CON NFC

En el documento pagina 49 a 51, se describen los estándares NFC que se utilizan


en la tecnología NFC, los cuales especifican los esquemas de modulación,
codificación, velocidades de transferencia y formato de marco de la interfaz RF
(radio-frecuencia) de los dispositivos NFC. Definen también esquemas de
inicialización y condiciones requeridas para control de colisiones de datos durante
la inicialización, tanto para modos pasivos como modos activos de NFC, y
protocolos de transporte, incluyendo protocolos de activación y métodos de
intercambio de datos.

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

Como resultado se obtuvo el desarrollo de la Base de Datos llamada


Smartapp_nfcappmovil la cual está compuesta de tres tablas:

• Administrador: tiene datos de los usuarios con rol de Administrador, usuario


y contraseña de autenticación en la aplicación web.
• Vehículos: tiene los campos con las características asociadas al vehículo
(ïdchip, placa, etc.)
• Usertbl

La Base de Datos permite almacenar toda la información de los atributos de cada


vehículo y su gestión por parte del Administrador del Sistema.

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

11.8 DESARROLLO DE UN SERVICIO WEB

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.

El desarrollo se realizó 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).

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

12.1 INSTALACIÓN DE TAGS

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.

12.2 REGISTRO DE TAGS

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.

También se permite crear usuarios administradores para realizar el proceso de una


manera más distribuida en caso de varios lugares en que se requiera tener un
Administrador del Sistema.

276
Figura 108. Tags en Vehículos desde Navegador Smartphone

Fuente Elaboración Propia

12.2 LECTURA DE TAGS Y RESPUESTA DE DATOS

Se evidencio en las pruebas realizadas a los 30 vehículos que el tiempo de lectura


puede variar según el modelo y características de los smartphones con los cuales
se realiza la lectura de los tags en los vehículos.

De los tres modelos de Smartphones usados el que menor tiempo presento en la


lectura promedio fue el Lg G4 con un tiempo promedio de 1,075 segundos, seguido
del Samsung Galaxy Note 4 con un tiempo de 1,5986 Segundos y por ultimo el que
mayor tiempo promedio se tomo en presentar los datos fue el Samsung Galaxy S3

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.

También se evidencia que según los móviles y su compatibilidad además de las


aplicaciones que se tenga para usar el NFC pueden mostrarse mensajes por el
Toast Informando la compatibilidad alguna etiqueta.

La aplicación solo realiza la lectura, no se puede modificar algún campo desde la


app móvil, solo desde la aplicación web. Para las próximas versiones se podrá hacer
un campo de observaciones para que se escriba algún comentario y 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.

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.

Figura 109. Tiempo Promedio en lectura de Tags

Tiempo Promedio en Lectura Tags


Segundos (s)

6
5
4
3 5,1743
2
1 1,5986 1,075
0
Samsung Galaxy Samsung Galaxy S3 Lg G4
Note 4

Fuente Elaboración Propia

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 comprobó que los datos obtenidos de la Base de Datos corresponden


ordenadamente a los solicitados, cada valor de cadena de texto corresponde al valor
de la variable solicitada. Si un campo es null en la Base de datos se muestra como
vacío o espacio en blanco en la app móvil.

12.4 PRUEBA DE DATOS MÓVILES Y WI- FI

El Sistema Desarrollado requiere de conexión Wi-Fi o acceso a datos con Redes


móviles 4G, 3G, en el teléfono móvil y la respuesta depende en este caso si se
conecta a Redes con Datos disponibles para lograr realizar la consulta y presentar
los datos a la app móvil, si no hay señal celular o conexión a redes móviles la
aplicación móvil no podrá realizar la conexión al Web Servicie ni Base de Datos.

12.5 PRUEBAS DE TAGS

12.5.1 Instalación de Tags en Vehículos. Los tags a usarse en vehículos deben


ser adheribles y se deben instalar después de que se hayan registrado e impreso
con los logos o imágenes según la entidad que los controla.

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.

En las pruebas realizadas anteriormente se puede observar que el Sistema de


identificación móvil presenta una alta efectividad, lo que demuestra que la aplicación
cumple con los requerimientos específicos.

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.

Los Tags de chip MIFARE CLASSIC 1K E ULTRALIGHT, tienen compatibilidad


limitada en lectura para ciertos dispositivos móviles.

De todas las pruebas realizadas y mencionadas anteriormente se puede observar


que el Sistema de Identificación Vehicular compuesto por las tres aplicaciones
funciona correctamente y cumple con los requerimientos requeridos como prototipo
para demostrar el proceso de identificación vehicular con la Tecnología NFC,
dispositivos móviles con Sistema Operativo Android.

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

La tecnología NFC se ha posicionado en los últimos años varios sectores


industriales como la automotriz, transporte público, juguetería, hogar, mercadeo,
seguridad y en muchos otros sectores, lo cual permite demostrar una estabilidad y
un posicionamiento ya en el mercado de diversas soluciones donde se ha
implementado con muchos casos de éxito en el mundo.

Es una tecnología de bajo costo si se compara con otras, la inversión en un proyecto


puede limitarse al desarrollo de apps móviles, tags y lectores, permitiendo un más
fácil ingreso a cualquier sector industrial, implementar soluciones empresariales
usando la tecnología NFC permite el mejoramiento de servicios y productos a
empresas públicas o privadas.

La tecnología NFC se apoya en varios estándares y especificaciones técnicas


(ISO/IEC, ETSI, ECMA) para el uso, desarrollo e implementación de soluciones,
cuenta con respaldo de grandes compañías como Nokia, Philips y Sony, igualmente
existe La NFC Fórum, esta organización promueve el uso de la tecnología NFC,
asegurando la interoperabilidad entre dispositivos y servicios, permitiendo educar al
mercado acerca de la tecnología NFC.

Gran parte de los dispositivos móviles como Tabletas, Smartphones, Smartwatch,


Lectores NFC y una gran parte de dispositivos para el hogar ya cuentan con esta
tecnología, lo asegura un mayor uso por el usuario al ser integrada por los diferentes
fabricantes en sus dispositivos.

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.

Se brindó al lector una visión de las oportunidades de negocio alrededor de la


tecnología NFC y como se ha integrado al diario vivir de los usuarios para facilitar
el acceso a información a un bajo costo.

Se trabajó con el Sistema Operativo Android por su auge, gran avance en el


mercado y las diversas APIs de desarrollo; Android está construido sobre el Kernel
de Linux el cual es soportado por Google y avanza en el desarrollo de nuevas
funcionalidades en cada versión liberada según sus niveles de API, también para el
desarrollo del proyecto se usaron los dos principales IDE para el desarrollo de
aplicaciones en Android como lo es Android Studio y Eclipse.

El prototipo realizado puede mejorar procesos para la verificación de información de


vehículos a las entidades encargadas de administrar esta información como

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á.

El manejo de la Tecnología NFC se hizo menos complicado, dado que se contaba


con buena documentación por parte de Google de un API para el desarrollo de
aplicaciones, lo que permitió facilitar el desarrollo, para probar tags en una etapa
inicial se probaron aplicaciones disponibles en el Google Play Store para escribir y
leer tags y probar así sus diferentes modos de funcionamiento.

Es de gran valor el que se haya podido construir un prototipo con el nivel de


innovación y complejidad técnica del construido en este proyecto, y que además se
haya pensado no sólo como un proyecto interesante desde el punto de vista técnico
académico.

La problemática explorada en este proyecto de grado puede abarcar otras


aplicaciones diferentes a la identificación de campo cercano como control de
gases vehiculares, cumplimiento de seguro obligatorio, control de activos entre otros
y el impacto que tiene este prototipo permite visualizar nuevas oportunidades de
negocio que pueden ser desarrolladas con alto grado innovación, investigación y
desarrollo.

Por tratarse de un desarrollo en versión prototipo, no quisimos incurrir en un proceso


complejo de ingeniería de software, pues lo que se perseguía desde un principio
era superar la barrera técnica de adquisición y dominio de la tecnología de
comunicación de campo cercano para resolver una problemática específica que
tiene la identificación del tránsito de Bogotá

Como aporte de la investigación, el Grupo de Investigación SINTEL le fue aprobado


por el Centro de Investigaciones de la Universidad Distrital un importante proyecto
de investigación basado en tecnología NFC para desarrollar soluciones que
permitan optimizar problemas de transporte, educación y seguridad.

Se incentivó la investigación mediante el Grupo de Investigación SINTEL, al


desarrollo de software que implique la integración de sistemas web con aplicaciones
móviles NFC, los investigadores del Grupo de Investigación realizaron nuevos
aportes y soluciones usando esta tecnología.

283
Bibliografía

Android. (2016). Android 5.0 Lollipop. Obtenido de https://www.android.com/history


/#/lollipop
Android OS. (2012). Andorid OS. Obtenido de http://androidos.readthedocs.org/en/
latest/data/caracteristicas/
Apple. (2015). Your wallet. . Obtenido de https://www.apple.com/apple-pay/
Arroyo, N. (11 de julio de 2013). Biblioblog. Obtenido de http://biblioblog.org/2013/0
7/11/tecnologia-nfc-para-ampliar-la-informacion-sobre-la-coleccion-de-la-bib
lioteca/
CALYPSO. (2014). CNA, Calypso Networks Association. Obtenido de https://www.
calypsonet-asso.org/
Canós, J. H., Letelier, P., & Penadés, M. C. (2003). Metodologías Ágiles en el Des
arrollo de Software. Obtenido de Google Academico: https://scholar.google.
es/citations?view_op=view_citation&hl=es&user=oQ-2_UgAAAAJ&citation_f
or_view=oQ-2_UgAAAAJ:M05iB0D1s5AC
Castrillón, M. H. (16 de MAYO de 2015). Dispositivos para oír música sin enredars
e con los cables. Obtenido de http://www.lanacion.com.ar/1793206-dispositi
vos-para-oir-musica-sin-enredarse-con-los-cables
Chavarría, D. C. (2011). TECNOLOGÍA DE COMUNICACIÓN DE CAMPO CERCA
NO (NFC) Y SUS APLICACIONES. San José.
Contratacion, P. Ú. (2009). SECOP. Obtenido de http://www.contratos.gov.co/cons
ultas/detalleProceso.do?numConstancia=09-11-198326
Coskun, V., Ok, K., & Ozdenizci, B. (2012). Near field communication: from theory t
o practice. United Kingdom: Wiley.
Costello, C. (2014, enero 10). Smartphones Will Replace Subway Cards in New Yo
rk. Retrieved from http://www.smartertravel.com/blogs/today-in-travel/smartp
hones-will-replace-subway-cards-in-new-york.html?id=17280219
Cruz, C. (13 de Enero de 2015). NFC encuentra su futuro en los autos y el Internet
de las Cosas. Obtenido de http://www.cnet.com/es/noticias/nfc-futuro-autos-
y-internet-de-las-cosas-nxp-broadcom/
Csapodi, M. &. (2002). New Applications for NFC Devices.
DATE, C. (2001). Introducción a los sistemas de bases de datos. Naucalpan de Ju
árez, México: Pearson Educación.
Developers, A. (2016). Android Developers. Obtenido de Android Developers: http:/
/developer.android.com/intl/es/guide/topics/manifest/uses-sdk-element.html
#ApiLevels
Ecma International. (2012). ECMA - Standards@Internet Speed. Obtenido de http:/
/www.ecma-international.org/
Ecma International. (2012). Ecma International. Obtenido de http://www.ecma-inter
national.org/publications/files/ECMA-ST/ECMA-352.pdf
Ecma International. (Junio de 2013). NFCIP-2 - Ecma International. Recuperado el
29 de Junio de 2015, de http://www.ecma-international.org/flat/publications/fi
les/ECMA-ST/Ecma-352.pdf

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 &raquo;
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

Potrebbero piacerti anche