ebook img

Pagos por Móvil con Arduino & NFC para la Internet de las Cosas PDF

211 Pages·2014·3.26 MB·English
Save to my drive
Quick download
Download
Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.

Preview Pagos por Móvil con Arduino & NFC para la Internet de las Cosas

UNIVERSIDAD NACIONAL DE EDUCACIÓN A DISTANCIA ESCUELA TÉCNICA SUPERIOR DE INGENIERÍA INFORMÁTICA Trabajo de Fin de Grado de Ingeniero en Tecnologías de la Información Pagos por Móvil con Arduino & NFC para la Internet de las Cosas ÁNGEL CIFUENTES SABIO Dirigido por: ANTONIO SOLANO TARROC Supervisado por: NATIVIDAD DURO CARRALERO y RAQUEL DORMIDO CANTO Curso: 2013-14 Pagos por móvil con Arduino & NFC para la Internet de las Cosas Trabajo de Fin de Grado de modalidad oferta general ÁNGEL CIFUENTES SABIO Dirigido por: ANTONIO SOLANO TARROC (firma) Supervisado por: RAQUEL DORMIDO CANTO NATIVIDAD DURO CARRALERO (firma) Tribunal calificador: Presidente: D./Da. ....................................................................................................................... (firma) Secretario: D./Da. ........................................................................................................................ (firma) Vocal: D./Da. ............................................................................................................................... (firma) Fecha de lectura y defensa: ........................................................................................................ Calificación: ................................................................................................................................ Resumen El objetivo del proyecto es extender los sistemas de vending tradicional mediante nuevo hardware y nuevas tecnologías, incorporando dichos sistemas de vending a lo que se ha definido como Internet de las cosas, esto es, el uso de internet por dispositivos distintos de los tradicionales (PC, Servidores, Tablets, SmartPhones,…, manejados por personas) y con la intención de interactuar entre sí e intercambiar información. El proyecto que aquí se describe, utiliza como hardware el microcontralador open hardware Arduino, y como tecnología, Near Field Comunication (NFC), para desarrollar un módulo mediante el cual el usuario del sistema de vending pueda utilizar, como primera alternativa su smartphone, mediante una url proporcionada, para realizar el proceso de compra, y como segunda alternativa, una tarjeta NFC como medio de identificación dentro del sistema de vending en un sistema de prepago, con opción de recarga de saldo. El proyecto se encuentra enmarcado dentro de un proyecto de mayor envergadura, en el que se ofrece una solución de cloud computing a los propietarios de máquinas de vending. Pagos por móvil con Arduino & NFC para la Internet de las Cosas 4 Lista de palabras clave Vending, Arduino, NFC, Internet de las cosas, Smartphone. Pagos por móvil con Arduino & NFC para la Internet de las Cosas 5 Título del proyecto en inglés Mobile payments with Arduino & NFC for Internet of Things Pagos por móvil con Arduino & NFC para la Internet de las Cosas 6 Índice RESUMEN ............................................................................................................................................... 4 LISTA DE PALABRAS CLAVE ............................................................................................................ 5 TÍTULO DEL PROYECTO EN INGLÉS ............................................................................................. 6 ÍNDICE ..................................................................................................................................................... 7 LISTA DE FIGURAS Y TABLAS ......................................................................................................... 9 DESCRIPCIÓN DEL PROYECTO ..................................................................................................... 13 1 CONTEXTO .................................................................................................................................. 14 2 PLANIFICACIÓN DE TAREAS Y ACTIVIDADES ................................................................................ 16 2.1 Planificación de tareas y actividades ............................................................................... 21 2.2 Sprint Octubre 2013 .......................................................................................................... 22 2.3 Sprint Noviembre 2013 ..................................................................................................... 23 2.4 Sprint Diciembre 2013 ...................................................................................................... 23 2.5 Sprint Enero 2014 ............................................................................................................. 24 2.6 Sprint Marzo 2014 ............................................................................................................ 24 2.7 Sprint Junio 2014 .............................................................................................................. 25 2.8 Documentación y cierre del proyecto. .............................................................................. 26 3 INTRODUCCIÓN A NFC ................................................................................................................ 27 3.1 Estado actual de NFC. ...................................................................................................... 31 3.2 Campos de aplicación de NFC ......................................................................................... 34 3.2.1 Automatización de Tareas (NFC task launcher) .......................................................................... 34 3.2.2 Tarjetas inteligentes (Smart Cards) ............................................................................................ 35 3.2.3 Smart Posters .............................................................................................................................. 36 3.2.4 Medios de pago ........................................................................................................................... 37 3.2.5 Identificación y presentación de credenciales ............................................................................. 38 3.3 Qué puede ofrecer la tecnología NFC en el campo del Vending. ..................................... 39 3.4 Conclusión. ....................................................................................................................... 41 4 INTRODUCCIÓN A ARDUINO Y VMC-MDB ................................................................................. 42 4.1 Arduino ............................................................................................................................. 43 4.1.1 Introducción ................................................................................................................................ 43 4.2 Comunicaciones entre dispositivos. .................................................................................. 47 4.2.1 Comunicación I2C ...................................................................................................................... 47 4.2.2 Comunicación SPI....................................................................................................................... 48 4.2.3 Comunicación UART/USART. .................................................................................................. 50 4.3 Comunicaciones de Arduino en el sistema ........................................................................ 51 4.3.1 Arduino – GPRS ......................................................................................................................... 52 4.3.2 Arduino – PN532 ........................................................................................................................ 62 4.4 VMC-MDB ........................................................................................................................ 68 Pagos por móvil con Arduino & NFC para la Internet de las Cosas 7 4.4.1 Vending Micro-Controller VMC................................................................................................. 68 4.4.2 MultiDrop Bus Protocol MDB .................................................................................................... 70 5 MÓDULO PN532 Y COMMANDSET .............................................................................................. 74 5.1 Módulo PN532 .................................................................................................................. 74 5.2 PN532 CommandSet ......................................................................................................... 83 5.2.1 GetFirmwareVersion ................................................................................................................... 87 5.2.2 SAMConfiguration ...................................................................................................................... 88 5.2.3 PowerDown................................................................................................................................. 89 5.2.4 RFConfiguration ......................................................................................................................... 91 5.2.5 InJumpForDEP ........................................................................................................................... 93 5.2.6 InListPassiveTarget ..................................................................................................................... 95 5.2.7 InDataExChange ......................................................................................................................... 97 6 ALMACENAMIENTO EN DISPOSITIVOS NFC ................................................................................. 98 6.1 NXP Mifare ....................................................................................................................... 99 6.2 Mifare Application Directory .......................................................................................... 103 6.3 Sector Trailers ................................................................................................................ 107 6.4 Seguridad NFC ............................................................................................................... 114 7 NFC DATA EXCHANGE FORMAT ............................................................................................... 116 7.1 Layout ............................................................................................................................. 117 7.2 Registros NDEF .............................................................................................................. 121 8 MODOS Y COMUNICACIONES NFC ............................................................................................ 123 9 CASOS DE USO .......................................................................................................................... 125 9.1 Captura y Escritura de url corta en tarjeta nfc .............................................................. 127 9.1.1 Solicitar una URL dinámica al servidor. ................................................................................... 129 9.1.2 Formatear e inicializar la tarjeta NFC ....................................................................................... 133 9.1.3 Almacenar URL en la tag/card NFC de la máquina de vending ................................................ 140 9.2 Medios de pago con móvil .............................................................................................. 144 9.3 Medios de pago con tarjeta prepago .............................................................................. 158 9.4 Detección de presencia mediante NFC ........................................................................... 175 9.5 Interfaz de usuario .......................................................................................................... 191 10 FUTURO ..................................................................................................................................... 203 11 CONCLUSIONES ......................................................................................................................... 204 BIBLIOGRAFÍA ................................................................................................................................. 205 SIGLAS ................................................................................................................................................. 207 ANEXOS ............................................................................................................................................... 211 12 SOFTWARE UTILIZADO .............................................................................................................. 211 13 INSTALACIÓN DEL SOFTWARE DEL CD-ROM ............................................................................ 211 14 LISTADO DEL CÓDIGO FUENTE DE LA APLICACIÓN ..................................................................... 211 Pagos por móvil con Arduino & NFC para la Internet de las Cosas 8 Lista de figuras y tablas Figuras Figura 1.1 Innovación en venta en máquinas de vending ...............................................14 Figura 1.2 Lógica de interfaces de Openvend ................................................................15 Figura 2.1 Burndown Chart ............................................................................................20 Figura 3.1 Evolución NFC ..............................................................................................27 Figura 3.2 Comunicación NFC .......................................................................................28 Figura 3.3 Toque con Smartphones NFC .......................................................................28 Figura 3.4 Comunicación lector/grabador con nfc tag .....................................................30 Figura 3.5 Comunicación en modo Peer-to-Peer ............................................................30 Figura 3.6 Comunicación en modo Card Emulation........................................................31 Figura 3.7 Evolución de la integración de NFC en dispositivos móviles ..........................32 Figura 3.8 Evolución NFC Software ...............................................................................33 Figura 3.9 Contactless SmartCard .................................................................................35 Figura 3.10 SmartPoster ................................................................................................37 Figura 3.11 TPV NFC .....................................................................................................38 Figura 3.12 Google Vending Machine ............................................................................40 Figura 3.13 SAP Vending Machine .................................................................................41 Figura 4.1 Estructura de una aplicación IP del módulo SIM900 ......................................53 Figura 4.2 Módulo PN532...............................................................................................63 Figura 4.3 Vista inferior Módulo PN532 ..........................................................................64 Figura 4.4 GBoard Pro (ATmega2560) ...........................................................................64 Figura 4.5 Detalle de las conexiones SPI, I2C y UART en GBoard Pro ..........................65 Figura 4.6 Máquina Mealy ..............................................................................................68 Figura 4.7 Máquina Moore .............................................................................................68 Figura 4.8 Detalle de las conexiones serie RxTx ............................................................69 Figura 5.1 Bloques del Sistema simplificado ..................................................................74 Figura 5.2 Diagrama de bloques del módulo PN532 ......................................................75 Figura 5.3 Frame de información Normal .......................................................................75 Figura 5.4 Frame de información Extendida ...................................................................77 Figura 5.5 Frame ACK ...................................................................................................78 Figura 5.6 Frame NACK .................................................................................................78 Figura 5.7 Frame de Error ..............................................................................................79 Figura 5.8 Preámbulo .....................................................................................................79 Figura 5.9 Postámbulo ...................................................................................................80 Pagos por móvil con Arduino & NFC para la Internet de las Cosas 9 Figura 5.10 Diálogo de un intercambio normal. ..............................................................80 Figura 5.11 Byte de estado ............................................................................................81 Figura 5.12 Frames modificados para I2C ......................................................................82 Figura 5.13 Detalle comunicación P70_IRQ ...................................................................82 Figura 5.14 Frame ..........................................................................................................83 Figura 5.15 Frame de respuesta ....................................................................................84 Figura 5.16 Petición GetFirmwareVersion ......................................................................87 Figura 5.17 Respuesta GetFirmwareVersion ..................................................................87 Figura 5.18 .....................................................................................................................88 Figura 5.19 detalle del SAM ...........................................................................................88 Figura 5.20 Petición SAMConfiguration ..........................................................................88 Figura 5.21 Respuesta SAMConfiguration .....................................................................89 Figura 5.22 Petición PowerDon ......................................................................................90 Figura 5.23 Byte WakeUpEnable ...................................................................................90 Figura 5.24 Respuesta PowerDown ...............................................................................91 Figura 5.25 Petición RFConfiguration .............................................................................91 Figura 5.26 Respuesta RFConfiguration ........................................................................93 Figura 5.27 Petición InJumpForDEP ..............................................................................94 Figura 5.28 Respueta InJumpForDEP ............................................................................94 Figura 5.29 Petición InListPassiveTarget .......................................................................95 Figura 5.30 Respuesta InListPassiveTarget ...................................................................96 Figura 5.31 InListPassiveTarget .....................................................................................96 Figura 5.32 Petición InDataExchange ............................................................................97 Figura 5.33 Respuesta InDataExchange ........................................................................97 Figura 5.34 Proceso del comando InDataExchange .......................................................98 Figura 6.1 Estructura de tarjeta Mifare Classic 1K ........................................................ 101 Figura 6.2 Estructura MAD1 ......................................................................................... 103 Figura 6.3 Bloque 0, sector 0 ....................................................................................... 103 Figura 6.4 AID .............................................................................................................. 105 Figura 6.5 Mifare Classic 1K en estado inicializado ...................................................... 107 Figura 6.6 Estructura Sector Trailer .............................................................................. 108 Figura 6.7 Bits de Acceso y byte de propósito general ................................................. 108 Figura 6.8 detalle sector trailer ..................................................................................... 112 Figura 7.1 NDEF Layout ............................................................................................... 117 Figura 7.2 Estructura de un mensaje NDEF ................................................................. 121 Figura 9.1 Símbolo NFC ............................................................................................... 126 Figura 9.2 Devolución de llamada a NewToken ........................................................... 131 Figura 9.3 Detalle de CRC, InfoByte y Sector 1 NFC ................................................... 135 Pagos por móvil con Arduino & NFC para la Internet de las Cosas 10

Description:
5. Lista de palabras clave. Vending, Arduino, NFC, Internet de las cosas, Smartphone. Mobile payments with Arduino & NFC for Internet of Things
See more

The list of books you might like

Most books are stored in the elastic cloud where traffic is expensive. For this reason, we have a limit on daily download.