SlideShare una empresa de Scribd logo
1 de 29
Programación de aplicaciones NFC en
             android
             Jornada III
Índice – día 3


  Android NFC Tech
  Protocolos P2P
   – LLCP (Logical Link Control Protocol)
   – NPP (NDEF Push Protocol)
   – SNEP (Simple NDEF Exchange Protocol)
   – Android NFC P2P
  Practica 2
ANDROID NFC TECH : NFC Forum Tag Types
ANDROID NFC TECH

  ¿Y SI NO HAY UN MENSAJE NDEF?
  android.nfc.tech.IsoDep
  android.nfc.tech.NfcA
  android.nfc.tech.NfcB
  android.nfc.tech.NfcF
  android.nfc.tech.NfcV
  android.nfc.tech.Ndef
  android.nfc.tech.NdefFormatable
  android.nfc.tech.MifareClassic
  android.nfc.tech.MifareUltralight
ANDROID NFC TECH: ISODEP

 Permite el acceso a propiedades y operaciones I/O a tags 14443-4.
 Algunos métodos:
  –   close()
  –   connect()
  –   static get(Tag tag)
  –   byte[] getHiLayerResponse()
  –   byte[] getHistoricalBytes()
  –   getMaxTransceiveLength()
  –   Tag getTag()
  –   getTimeout()
  –   isConnected()
  –   isExtendedLengthApduSupported()
  –   setTimeout(int timeout)
  –   byte[] transceive(byte[] data)
ANDROID NFC TECH: MifareUltraligth


  Métodos comunes:
  – close(), connect(), get(Tag tag),
    getMaxTransceiveLength(), getTag(), getTimeout(),
    isConnected(),setTimeout(int time), transceive(byte[]
    data)
  Métodos específicos de la tecnología:
  – getType()
     • Devuelve el tipo de MFUL.
  – byte[] readPages(int pageOffset)
     • Lee 4 páginas (16 bytes)
  – void writePage(int pageOffset, byte[] data)
     • Escribe 1 página (4 bytes).
ANDROID NFC TECH: NDEF

 Métodos Específicos
  – boolean canMakeReadOnly()
      • Devuelve true si el tag puede bloquearse
  – NdefMessage getCachedNdefMessage()
      • Devuelve el mensaje NDEF que contenía el tag al ser detectado
  – int getMaxSize()
      • Devuelve el tamaño máximo del NDEF que puede almacenar el tag
  – NdefMessage getNdefMessage()
      • Devuelve el mensage NDEF actual
  – String getType()
      • Devuelve el tipo de NDEF tag
  – boolean isWritable()
      • Determina si el tag se puede sobreescribir
  – boolean makeReadOnly()
      • Bloquea el tag
  – void writeNdefMessage(NdefMessage msg)
      • Sobreescribe el NDEF del tag
ANDROID NFC TECH: NDEF FORMATEABLE


 Métodos Específicos
  – void format(NdefMessage firstMessage)
     • Da formato NDEF al tag, luego escribe el mensaje.
  – void formatReadOnly(NdefMessage firstMessage)
     • Da formato NDEF al tag, luego escribe el mensaje y
       bloquea el tag.
ANDROID NFC TECH: FILTROS

  Una aplicación puede necesitar capturar tecnologías específicas: surgen
  los filtros

  Son ficheros .xml que se utilizan en el manifest:
<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>
ANDROID NFC TECH: FILTROS


   Ejemplo de filtro (nfc_tech_filter):
<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>
LLCP


  LLCP (Logical Link Control Protocol)
  Transferencia de datos CO
  – Fiable
  – Al menos 128 bytes
  Transferencia de datos CL
  Soporta conexiones múltiples
LLCP

       MAC Mapping:
       – integra el/los protocolo/s RF en la
         arquitectura LLCP.
       Link Management:
       – componente responsable de
         serializar todos los intercambios
         LLCP PDU (orientados a conex y
         no orientdos)
       – Agregación y desgregación de
         pequeños PDUs
       – Garantiza      el    modo       de
         comunicación             asíncrono
         balanceado
       – Supervisa el estado del enlace
LLCP (II)


            Connection-oriented
            Transport :
            – Mantener los intercambios
              orientados a conexión
              incluidos set-up y
              termination.
            Connectionless Transport:
            – Intercambios
              unacknowledged.
NPP


 Protocolo por encima de LLCP:
  – PUSH de mensajes NDEF de un dispositivo a otro.
  – one way (cliente - servidor).
  – siempre se debe correr el servidor NPP.
  – cliente se ejecuta cuando hay un mensaje NDEF
    disponible para hacer el PUSH.
  – intercambio bidireccional de mensajes NDEF.
NPP PDU

PDU




NDEF Entry
NPP


 Action code => 0x01 (Passive Tag)
 Servidor:
  – Service name: com.android.npp
  – ¿Transacción completada?
      • último NDEF entry recibido y conexión cerrada
 Cliente
  – Conexión al socket LLCP: com.android.npp
  – Enviar Header + Entrys
  – Desconectarse del socket
SNEP


 Protocolo por encima de LLCP CO
 Nombre del servicio por defecto urn:nfc:sn:snep
 Servidor espera peticiones en un punto de acceso
 al servicio LLC
 Cliente envía una petición de conexión (nombre
 de servicio)
 Una vez establecida Cliente – SNEP Request
                     Servidor – SNEP Response
 El cliente cierra la conexión
SNEP Request
SNEP Response
SNEP & NPP over LLCP
ANDROID NFC P2P


 Requiere NPP desde API level 9 (Android 2.3) a
 API level 13 (Android 3.2)

 A partir de API level 14 permite NPP y SNEP

 A partir de la API level 16 se han añadido
 nuevas features para facilitar la programación
ANDROID NFC P2P: NfcAdapter

  Métodos P2P

  – void setNdefPushMessage(NdefMessage message, Activity activity, Activity...
    activities)
      • Establece un mensaje NFC estático que será enviado por Beam

  – void setNdefPushMessageCallback(NfcAdapter.CreateNdefMessageCallback
    callback, Activity activity, Activity... activities)
      • Establece un callback que genera mensajes NDEF dinámicamente que
         serán enviados por Beam. Nuestra Activity debe implementar la interfaz
         NfcAdapter.CreateNdefMessageCallback

  – void setOnNdefPushCompleteCallback(
    NfcAdapter.OnNdefPushCompleteCallback callback, Activity activity, Activity...
    activities)
      • Establece un callback que será llamado cuando se transmita un mensaje
         NDEF por Beam. Nuestra Activity debe implementar la interfaz
         NfcAdapter.OnNdefPushCompleteCallback
ANDROID NFC P2P: NfcAdapter (II)


  Métodos P2P (API level 16)

  – isNdefPushEnabled()
      • Devuelve true si Beam está activado
  – void setBeamPushUris(Uri[] uris, Activity activity)
      • Establece una o más Uris que serán enviadas por Beam
  – void setBeamPushUrisCallback(
    NfcAdapter.CreateBeamUrisCallback callback, Activity activity)
      • Establece un callback que genera Uris dinámicamente que
        serán enviados por Beam. Nuestra Activity debe
        implementar la interfaz NfcAdapter.CreateBeamUrisCallback
ANDROID NFC P2P: Ejemplo


http://developer.android.com/resources/sample
s/AndroidBeamDemo/src/com/example/android
/beam/Beam.html
Práctica II


  Incluir en la app:
   – Escritura de NDEF en tags
   – Transmisión de NDEF por Beam

Más contenido relacionado

La actualidad más candente

Robot Programable Moway
Robot Programable MowayRobot Programable Moway
Robot Programable Mowayminirobots
 
Arduino smtp envío de correo electrónico (email)
Arduino smtp envío de correo electrónico (email)Arduino smtp envío de correo electrónico (email)
Arduino smtp envío de correo electrónico (email)Israel Magaña
 
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOFernando Marcos Marcos
 
Encriptacion de datos, una vista general
Encriptacion de datos, una vista generalEncriptacion de datos, una vista general
Encriptacion de datos, una vista generalChristian Caceres
 
Encriptación de datos y seguridad de los mismos
Encriptación de datos y seguridad de los mismosEncriptación de datos y seguridad de los mismos
Encriptación de datos y seguridad de los mismosAnyeni Garay
 
Tema 2 - Introducción a la Criptografía
Tema 2 - Introducción a la CriptografíaTema 2 - Introducción a la Criptografía
Tema 2 - Introducción a la CriptografíaDaniel Pecos Martínez
 
Hugo Teso - Inguma 0.5 Red Wagon [Rooted CON 2012]
Hugo Teso - Inguma 0.5 Red Wagon [Rooted CON 2012]Hugo Teso - Inguma 0.5 Red Wagon [Rooted CON 2012]
Hugo Teso - Inguma 0.5 Red Wagon [Rooted CON 2012]RootedCON
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoÁngel Acaymo M. G.
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOFernando Marcos Marcos
 
Taller practico iot fundación telefónica
Taller practico iot fundación telefónicaTaller practico iot fundación telefónica
Taller practico iot fundación telefónicaSara Alvarellos Navarro
 
Escaneo de puertos clase 2 28 02-13
Escaneo de puertos clase 2 28 02-13Escaneo de puertos clase 2 28 02-13
Escaneo de puertos clase 2 28 02-13Tensor
 
Taller de introducción a Arduino FesTICval 2012
Taller de introducción a Arduino FesTICval 2012Taller de introducción a Arduino FesTICval 2012
Taller de introducción a Arduino FesTICval 2012assdl
 
Encriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y PrivadasEncriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y PrivadasDaniel Yánez
 
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...Carlos Camacho
 

La actualidad más candente (20)

Robot Programable Moway
Robot Programable MowayRobot Programable Moway
Robot Programable Moway
 
Arduino smtp envío de correo electrónico (email)
Arduino smtp envío de correo electrónico (email)Arduino smtp envío de correo electrónico (email)
Arduino smtp envío de correo electrónico (email)
 
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO DESCENDENTE DE 8 BITS CON ARDUINO
 
Ethernet Shield
Ethernet ShieldEthernet Shield
Ethernet Shield
 
Encriptacion de datos, una vista general
Encriptacion de datos, una vista generalEncriptacion de datos, una vista general
Encriptacion de datos, una vista general
 
Seminario de Arduino
Seminario de ArduinoSeminario de Arduino
Seminario de Arduino
 
Encriptación de datos y seguridad de los mismos
Encriptación de datos y seguridad de los mismosEncriptación de datos y seguridad de los mismos
Encriptación de datos y seguridad de los mismos
 
Iniciacion arduino
Iniciacion arduinoIniciacion arduino
Iniciacion arduino
 
Tema 2 - Introducción a la Criptografía
Tema 2 - Introducción a la CriptografíaTema 2 - Introducción a la Criptografía
Tema 2 - Introducción a la Criptografía
 
Hugo Teso - Inguma 0.5 Red Wagon [Rooted CON 2012]
Hugo Teso - Inguma 0.5 Red Wagon [Rooted CON 2012]Hugo Teso - Inguma 0.5 Red Wagon [Rooted CON 2012]
Hugo Teso - Inguma 0.5 Red Wagon [Rooted CON 2012]
 
Interfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduinoInterfaz visual basic 6 y arduino
Interfaz visual basic 6 y arduino
 
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINOCONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
CONTADOR BINARIO ASCENDENTE DE 8 BITS CON ARDUINO
 
Arduino + ethernet shield (1)
Arduino + ethernet shield (1)Arduino + ethernet shield (1)
Arduino + ethernet shield (1)
 
Taller practico iot fundación telefónica
Taller practico iot fundación telefónicaTaller practico iot fundación telefónica
Taller practico iot fundación telefónica
 
Escaneo de puertos clase 2 28 02-13
Escaneo de puertos clase 2 28 02-13Escaneo de puertos clase 2 28 02-13
Escaneo de puertos clase 2 28 02-13
 
Taller de introducción a Arduino FesTICval 2012
Taller de introducción a Arduino FesTICval 2012Taller de introducción a Arduino FesTICval 2012
Taller de introducción a Arduino FesTICval 2012
 
Encriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y PrivadasEncriptacion De Claves Publicas Y Privadas
Encriptacion De Claves Publicas Y Privadas
 
Iot (3)
Iot (3)Iot (3)
Iot (3)
 
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...Barcamp 2015 -  Integración de proyectos embebidos utilizando Arduino, Raspbe...
Barcamp 2015 - Integración de proyectos embebidos utilizando Arduino, Raspbe...
 
Tipos de cifrado
Tipos de cifradoTipos de cifrado
Tipos de cifrado
 

Similar a CursoProgamacionNFC-Dia3

CursoProgramacionNFC-Dia1
CursoProgramacionNFC-Dia1CursoProgramacionNFC-Dia1
CursoProgramacionNFC-Dia1Aditium
 
Servicio dhcp gnu linux-centos ::: http://leymebamba.com
Servicio dhcp gnu linux-centos  ::: http://leymebamba.comServicio dhcp gnu linux-centos  ::: http://leymebamba.com
Servicio dhcp gnu linux-centos ::: http://leymebamba.com{|::::::. ELDAVAN .:::::::|}
 
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsSofia2 Smart Platform
 
Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjectsmamcx
 
Herramientas de monitoreo
Herramientas de monitoreoHerramientas de monitoreo
Herramientas de monitoreoTensor
 
Fundamentos de redes: 3. Funcionalidad y protocolos de la capa de aplicación
Fundamentos de redes: 3. Funcionalidad y protocolos de la capa de aplicaciónFundamentos de redes: 3. Funcionalidad y protocolos de la capa de aplicación
Fundamentos de redes: 3. Funcionalidad y protocolos de la capa de aplicaciónFrancesc Perez
 
Mikrotik ultimo manual
Mikrotik ultimo manual Mikrotik ultimo manual
Mikrotik ultimo manual pattala01
 
Prueba del comando_iperf_telematica
Prueba del comando_iperf_telematicaPrueba del comando_iperf_telematica
Prueba del comando_iperf_telematicaFinalDP1
 
Mikrotik ultimo manual
Mikrotik ultimo manualMikrotik ultimo manual
Mikrotik ultimo manualChristian Val
 
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...OpenNebula Project
 
Sysmana 2015 - Comunicación NFC entre Raspberry pi y Android
Sysmana 2015 - Comunicación NFC entre Raspberry pi y AndroidSysmana 2015 - Comunicación NFC entre Raspberry pi y Android
Sysmana 2015 - Comunicación NFC entre Raspberry pi y AndroidJosé Ignacio Álvarez Ruiz
 

Similar a CursoProgamacionNFC-Dia3 (20)

Descripcion Net-SNMP
Descripcion Net-SNMP Descripcion Net-SNMP
Descripcion Net-SNMP
 
CursoProgramacionNFC-Dia1
CursoProgramacionNFC-Dia1CursoProgramacionNFC-Dia1
CursoProgramacionNFC-Dia1
 
Curso Redes Linex 5
Curso Redes Linex 5Curso Redes Linex 5
Curso Redes Linex 5
 
Curso Redes Linex 5
Curso Redes Linex 5Curso Redes Linex 5
Curso Redes Linex 5
 
Comunicación NFC entre Raspberry Pi y Android
Comunicación NFC entre Raspberry Pi y AndroidComunicación NFC entre Raspberry Pi y Android
Comunicación NFC entre Raspberry Pi y Android
 
Servicio dhcp gnu linux-centos ::: http://leymebamba.com
Servicio dhcp gnu linux-centos  ::: http://leymebamba.comServicio dhcp gnu linux-centos  ::: http://leymebamba.com
Servicio dhcp gnu linux-centos ::: http://leymebamba.com
 
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboardsTaller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
Taller IoT: desarrollo visual en Sofia2 con Raspberry Pi, Node-RED y dashboards
 
Presentacion remobjects
Presentacion remobjectsPresentacion remobjects
Presentacion remobjects
 
Herramientas de monitoreo
Herramientas de monitoreoHerramientas de monitoreo
Herramientas de monitoreo
 
Snmp
SnmpSnmp
Snmp
 
Protocolos
ProtocolosProtocolos
Protocolos
 
Fundamentos de redes: 3. Funcionalidad y protocolos de la capa de aplicación
Fundamentos de redes: 3. Funcionalidad y protocolos de la capa de aplicaciónFundamentos de redes: 3. Funcionalidad y protocolos de la capa de aplicación
Fundamentos de redes: 3. Funcionalidad y protocolos de la capa de aplicación
 
Mikrotik ultimo manual
Mikrotik ultimo manual Mikrotik ultimo manual
Mikrotik ultimo manual
 
Prueba del comando_iperf_telematica
Prueba del comando_iperf_telematicaPrueba del comando_iperf_telematica
Prueba del comando_iperf_telematica
 
Mikrotik ultimo manual
Mikrotik ultimo manualMikrotik ultimo manual
Mikrotik ultimo manual
 
Mininet.pdf
Mininet.pdfMininet.pdf
Mininet.pdf
 
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
OpenNebulaConf 2016 - Fast Prototyping of a C.O. into a Micro Data Center - A...
 
RPC
RPCRPC
RPC
 
Sysmana 2015 - Comunicación NFC entre Raspberry pi y Android
Sysmana 2015 - Comunicación NFC entre Raspberry pi y AndroidSysmana 2015 - Comunicación NFC entre Raspberry pi y Android
Sysmana 2015 - Comunicación NFC entre Raspberry pi y Android
 
Actividad III
Actividad IIIActividad III
Actividad III
 

Último

LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptchaverriemily794
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxAlexander López
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxNombre Apellidos
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxazmysanros90
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosAlbanyMartinez7
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx241523733
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA241531640
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxtjcesar1
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesEdomar AR
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzzAlexandergo5
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúCEFERINO DELGADO FLORES
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1ivanapaterninar
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificialcynserafini89
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxAlexander López
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfFernandoOblitasVivan
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx241522327
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfjeondanny1997
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOnarvaezisabella21
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfedepmariaperez
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxGESTECPERUSAC
 

Último (20)

LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).pptLUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
LUXOMETRO EN SALUD OCUPACIONAL(FINAL).ppt
 
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptxLAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
LAS_TIC_COMO_HERRAMIENTAS_EN_LA_INVESTIGACIÓN.pptx
 
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptxCrear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
Crear un recurso multimedia. Maricela_Ponce_DomingoM1S3AI6-1.pptx
 
tics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptxtics en la vida cotidiana prepa en linea modulo 1.pptx
tics en la vida cotidiana prepa en linea modulo 1.pptx
 
Documentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos JuridicosDocumentacion Electrónica en Actos Juridicos
Documentacion Electrónica en Actos Juridicos
 
GonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptxGonzalezGonzalez_Karina_M1S3AI6... .pptx
GonzalezGonzalez_Karina_M1S3AI6... .pptx
 
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6    CREAR UN RECURSO MULTIMEDIAActividad integradora 6    CREAR UN RECURSO MULTIMEDIA
Actividad integradora 6 CREAR UN RECURSO MULTIMEDIA
 
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptxModelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
Modelo de Presentacion Feria Robotica Educativa 2024 - Versión3.pptx
 
Los Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, AplicacionesLos Microcontroladores PIC, Aplicaciones
Los Microcontroladores PIC, Aplicaciones
 
tarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzztarea de exposicion de senati zzzzzzzzzz
tarea de exposicion de senati zzzzzzzzzz
 
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del PerúRed Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
Red Dorsal Nacional de Fibra Óptica y Redes Regionales del Perú
 
Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1Guía de Registro slideshare paso a paso 1
Guía de Registro slideshare paso a paso 1
 
Presentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia ArtificialPresentación sobre la Inteligencia Artificial
Presentación sobre la Inteligencia Artificial
 
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptxEl_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
El_Blog_como_herramienta_de_publicacion_y_consulta_de_investigacion.pptx
 
certificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdfcertificado de oracle academy cetrificado.pdf
certificado de oracle academy cetrificado.pdf
 
FloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptxFloresMorales_Montserrath_M1S3AI6 (1).pptx
FloresMorales_Montserrath_M1S3AI6 (1).pptx
 
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdfLa Electricidad Y La Electrónica Trabajo Tecnología.pdf
La Electricidad Y La Electrónica Trabajo Tecnología.pdf
 
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPOAREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
AREA TECNOLOGIA E INFORMATICA TRABAJO EN EQUIPO
 
Trabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdfTrabajo de tecnología excel avanzado.pdf
Trabajo de tecnología excel avanzado.pdf
 
Tecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptxTecnologias Starlink para el mundo tec.pptx
Tecnologias Starlink para el mundo tec.pptx
 

CursoProgamacionNFC-Dia3

  • 1. Programación de aplicaciones NFC en android Jornada III
  • 2. Índice – día 3 Android NFC Tech Protocolos P2P – LLCP (Logical Link Control Protocol) – NPP (NDEF Push Protocol) – SNEP (Simple NDEF Exchange Protocol) – Android NFC P2P Practica 2
  • 3. ANDROID NFC TECH : NFC Forum Tag Types
  • 4. ANDROID NFC TECH ¿Y SI NO HAY UN MENSAJE NDEF? android.nfc.tech.IsoDep android.nfc.tech.NfcA android.nfc.tech.NfcB android.nfc.tech.NfcF android.nfc.tech.NfcV android.nfc.tech.Ndef android.nfc.tech.NdefFormatable android.nfc.tech.MifareClassic android.nfc.tech.MifareUltralight
  • 5. ANDROID NFC TECH: ISODEP Permite el acceso a propiedades y operaciones I/O a tags 14443-4. Algunos métodos: – close() – connect() – static get(Tag tag) – byte[] getHiLayerResponse() – byte[] getHistoricalBytes() – getMaxTransceiveLength() – Tag getTag() – getTimeout() – isConnected() – isExtendedLengthApduSupported() – setTimeout(int timeout) – byte[] transceive(byte[] data)
  • 6. ANDROID NFC TECH: MifareUltraligth Métodos comunes: – close(), connect(), get(Tag tag), getMaxTransceiveLength(), getTag(), getTimeout(), isConnected(),setTimeout(int time), transceive(byte[] data) Métodos específicos de la tecnología: – getType() • Devuelve el tipo de MFUL. – byte[] readPages(int pageOffset) • Lee 4 páginas (16 bytes) – void writePage(int pageOffset, byte[] data) • Escribe 1 página (4 bytes).
  • 7. ANDROID NFC TECH: NDEF Métodos Específicos – boolean canMakeReadOnly() • Devuelve true si el tag puede bloquearse – NdefMessage getCachedNdefMessage() • Devuelve el mensaje NDEF que contenía el tag al ser detectado – int getMaxSize() • Devuelve el tamaño máximo del NDEF que puede almacenar el tag – NdefMessage getNdefMessage() • Devuelve el mensage NDEF actual – String getType() • Devuelve el tipo de NDEF tag – boolean isWritable() • Determina si el tag se puede sobreescribir – boolean makeReadOnly() • Bloquea el tag – void writeNdefMessage(NdefMessage msg) • Sobreescribe el NDEF del tag
  • 8. ANDROID NFC TECH: NDEF FORMATEABLE Métodos Específicos – void format(NdefMessage firstMessage) • Da formato NDEF al tag, luego escribe el mensaje. – void formatReadOnly(NdefMessage firstMessage) • Da formato NDEF al tag, luego escribe el mensaje y bloquea el tag.
  • 9. ANDROID NFC TECH: FILTROS Una aplicación puede necesitar capturar tecnologías específicas: surgen los filtros Son ficheros .xml que se utilizan en el manifest: <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>
  • 10. ANDROID NFC TECH: FILTROS Ejemplo de filtro (nfc_tech_filter): <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>
  • 11.
  • 12. LLCP LLCP (Logical Link Control Protocol) Transferencia de datos CO – Fiable – Al menos 128 bytes Transferencia de datos CL Soporta conexiones múltiples
  • 13. LLCP MAC Mapping: – integra el/los protocolo/s RF en la arquitectura LLCP. Link Management: – componente responsable de serializar todos los intercambios LLCP PDU (orientados a conex y no orientdos) – Agregación y desgregación de pequeños PDUs – Garantiza el modo de comunicación asíncrono balanceado – Supervisa el estado del enlace
  • 14. LLCP (II) Connection-oriented Transport : – Mantener los intercambios orientados a conexión incluidos set-up y termination. Connectionless Transport: – Intercambios unacknowledged.
  • 15.
  • 16. NPP Protocolo por encima de LLCP: – PUSH de mensajes NDEF de un dispositivo a otro. – one way (cliente - servidor). – siempre se debe correr el servidor NPP. – cliente se ejecuta cuando hay un mensaje NDEF disponible para hacer el PUSH. – intercambio bidireccional de mensajes NDEF.
  • 18. NPP Action code => 0x01 (Passive Tag) Servidor: – Service name: com.android.npp – ¿Transacción completada? • último NDEF entry recibido y conexión cerrada Cliente – Conexión al socket LLCP: com.android.npp – Enviar Header + Entrys – Desconectarse del socket
  • 19.
  • 20. SNEP Protocolo por encima de LLCP CO Nombre del servicio por defecto urn:nfc:sn:snep Servidor espera peticiones en un punto de acceso al servicio LLC Cliente envía una petición de conexión (nombre de servicio) Una vez establecida Cliente – SNEP Request Servidor – SNEP Response El cliente cierra la conexión
  • 23. SNEP & NPP over LLCP
  • 24.
  • 25. ANDROID NFC P2P Requiere NPP desde API level 9 (Android 2.3) a API level 13 (Android 3.2) A partir de API level 14 permite NPP y SNEP A partir de la API level 16 se han añadido nuevas features para facilitar la programación
  • 26. ANDROID NFC P2P: NfcAdapter Métodos P2P – void setNdefPushMessage(NdefMessage message, Activity activity, Activity... activities) • Establece un mensaje NFC estático que será enviado por Beam – void setNdefPushMessageCallback(NfcAdapter.CreateNdefMessageCallback callback, Activity activity, Activity... activities) • Establece un callback que genera mensajes NDEF dinámicamente que serán enviados por Beam. Nuestra Activity debe implementar la interfaz NfcAdapter.CreateNdefMessageCallback – void setOnNdefPushCompleteCallback( NfcAdapter.OnNdefPushCompleteCallback callback, Activity activity, Activity... activities) • Establece un callback que será llamado cuando se transmita un mensaje NDEF por Beam. Nuestra Activity debe implementar la interfaz NfcAdapter.OnNdefPushCompleteCallback
  • 27. ANDROID NFC P2P: NfcAdapter (II) Métodos P2P (API level 16) – isNdefPushEnabled() • Devuelve true si Beam está activado – void setBeamPushUris(Uri[] uris, Activity activity) • Establece una o más Uris que serán enviadas por Beam – void setBeamPushUrisCallback( NfcAdapter.CreateBeamUrisCallback callback, Activity activity) • Establece un callback que genera Uris dinámicamente que serán enviados por Beam. Nuestra Activity debe implementar la interfaz NfcAdapter.CreateBeamUrisCallback
  • 28. ANDROID NFC P2P: Ejemplo http://developer.android.com/resources/sample s/AndroidBeamDemo/src/com/example/android /beam/Beam.html
  • 29. Práctica II Incluir en la app: – Escritura de NDEF en tags – Transmisión de NDEF por Beam