Nfc basics
Post on 13-Jun-2015
2029 Views
Preview:
DESCRIPTION
Transcript
1
University of Castilla-La Mancha, SpainMAmI Research Lab
Near Field CommunicationQuick Start
Jesús Fontecha Diezma
2
INTRODUCCIÓN A NFC
• Basado en la identificación por radiofrecuencia (RFID)• Propósito: Transmisión de la identidad de un
objeto mediante ondas de radio• Componentes• Lectores RFID• Etiquetas o tags RFID
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
3
INTRODUCCIÓN A NFC
• NFC Posible gracias al NFC Forum• 115 miembros
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
• Promueve la implantación y estandarización de NFC
4
CARACTERÍSTICAS Y ESPECIFICACIONES
• ¿Tecnología o protocolo?• Aprobado como estándar ISO en 2003 ISO14443• Compatible con otras tecnologías• Bluetooth, WiFi, RFID,…
• Trabaja en la banda de los 13,56MHz• No requiere licencia de uso
• Transmisión a distintas velocidades (106kb/s, 212kb/s, 424kb/s)
• Corto alcance de interacción (escasos cms)• ¿Limitación? NO Es la clave• Control del usuario
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
5
CARACTERÍSTICAS Y ESPECIFICACIONES
• Comunicación NFC 5 fases (similar al Bluetooth)• Pero… transparente al usuario• p.e. “no existe pareamiento”
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
Descubrimiento Autenticación Negociación Transferencia Reconocimiento
• Incluye• Procedimiento de autenticación seguro•Mecanismo anti-colisiones
• Fácil e intuitivo•Mejora la usabilidad y la experiencia del usuario
6
ELEMENTOS
• Tipos
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
Activos Pasivos
Procesamiento – Iniciar conversación
Semi-pasivos
7
ELEMENTOS
• Etiquetas NFC-RFID• Emiten una señal de respuesta a otra señal
enviada por un lector• Tipos: Activas, pasivas, semi-pasivas• Etiquetas MIFare (ISO 14443 A)
• Las más comunes• Define el almacenamiento de los datos• 1KB de memoria EEPROM• Almacenamiento en bytes• Sectores protegidos con claves
• Multitud de objetos NFC
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
8
ELEMENTOS
• Dispositivos• Lectores• Teléfonos móviles
• Lector NFC embebido
• Funcionamiento• El lector emite una señal de radio• Entra en contacto con la etiqueta• Se activa el microchip de la etiqueta• Se transfiere la información
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
9
FORMATOS
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
• Procedentes del estándar común• Se definen varios tipos
• Dentro de estos tipos están las etiquetas de tecnología MIFARE, DESFire, Topaz,… que cumplen la ISO.
10
FORMATOS
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
• NDEF (NFC Data Exchange Format)• Para el intercambio de información• Registrado por el NFC Forum• Datos empaquetados• Cabecera (bytes reservados ) + Payload
• Implementado por las APIs que quieren hacer uso de NFC.• p.e. “Contactless Communication API”
(JSR257) o Google API
11
MODOS DE FUNCIONAMIENTO
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
• Para comunicaciones p2p entre dispositivos NFC• Deben soportar el estándar NFCIP-1
ACTIVO PASIVO
- Ambos dispositivos generan su propio campo electromagnético- Ambos necesitan energía para transmitir
-Solo un dispositivo genera campo electromagnético-El otro se aprovecha de la modulación para transmitir
12
COMPARACIÓN TECNOLOGÍAS
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
13
USOS
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
14
PROGRAMACIÓN NFC
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
• ¿Qué hace falta?
IDE SDK Java - JavaME
Nokia - Symbian Android
API
15
APIs
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
• JavaMe Contactless Communication API• Google API.
16
APIs
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
• JavaME: JSR-257
javax.microedition.contactlessProporciona funciones comunes a todos los dispositivos NFC.
javax.microedition.contactless.ndefProporciona funcionalidad para el intercambio de datos en formato NDEF (NFC Data Exchange Format) con otros dispositivos NFC.
javax.microedition.contactless.rfNos permite interactuar con dispositivos RF físicos.
javax.microedition.contactless.scNos facilita la comunicación con tarjetas inteligentes externas (Smart Cards SC).
javax.microedition.contactless.visualProporciona formas de leer la información almacenada en códigos de barras (etiquetas visuales) y de generar dichas etiquetas.
17
SDK Nokia
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
• Descargar el SDK para el teléfono o plataforma a utilizar• Abrir el IDE• Añadir nueva plataforma Java
• Seleccionar el SDK• ¡Ya podemos usar el API!• Emular aplicaciones
• Los APIs proceden del estándar NDEF• Funciones y métodos similares.
18
LEER/ESCRIBIR TAGS
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
• Descubrimiento de dispositivos y Listener// Get DiscoveryManager instance and set TargetListener// for NDEF_TAG targetDiscoveryManager dm = DiscoveryManager.getInstance();try {
dm.addTargetListener(listener,TargetType.NDEF_TAG);}catch (ContactlessException ce) {// handle exception}• Descubrimiento de registros y Listener// Get DiscoveryManager instance and set TargetListener// for NDEF_TAG and NFC_PEER targetsDiscoveryManager dm = DiscoveryManager.getInstance();try {
NDEFRecordType recordType = new NDEFRecordType(NDEFRecordType.MIME,"MyType");
dm.addNDEFRecordListener(listener, recordType);}catch (. . .) {
// handle exception}
19
LEER/ESCRIBIR TAGS
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
• Leer con funcionalidad PushRegistrypublic class YYY implements NDEFRecordListener {
public void recordDetected(NDEFMessage ndefMessage) {NDEFRecord[] records = ndefMessage.getRecords();for (int i=0; i<records.length; i++) {
// Handle data}
}}
• Push Registry: Arranque automático de MIDlets al aproximar el móvil a una etiqueta.• Declarado en el .jad de nuestro MIDlet.• Implementado en el .java del MIDlet.• Definido en las propiedades del proyecto en el IDE.
20
LEER/ESCRIBIR TAGS
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
• Leer y Escribir (Intercambio de datos)public void targetDetected(TargetProperties[] prop) {
// Select first targetTargetProperties target = prop[0];try {
// NDEF_TAG target foundString url = target.getUrl();// Open NDEFTagConnection to the targetconn =
(NDEFTagConnection)Connector.open(url);// Read data from the targetNDEFMessage message = conn.readNDEF();NDEFRecord[] records =
message.getRecords();// Handle data// Modify records or create new messageconn.writeNDEF(message);
data = conn.readNDEF();conn.close();
} catch (. ..) {
// handle exception}
}
21
LEER/ESCRIBIR TAGS
Introducción a NFCCaracterísticas EspecificacionesElementosFormatosModos de funcionamiento
Comparación tecnologíasUsos Programación NFC
APIs JavaME & NFC
SDK Nokia Leer/Escribr tags Peer-to-peer
• Comunicación entre dispositivos a través de NFC• Uso del protocolo NFCIP-1
Iniciador
Objetivo
NFCIPConnection conn = (NFCIPConnection)Connector.open("nfc:rf;type=nfcip;mode=initiator");byte[] message = ... conn.send(message); byte[] response = conn.receive();
NFCIPConnection conn = (NFCIPConnection) Connector.open(“nfc:rf;type=nfcip;mode=target"); byte[] message = conn.receive(); byte[] response = ...; conn.send(response);
22
Jesús Fontecha Diezma
Near Field Communication Quick Start
top related