integração da tecnologia near field...

155
Instituto Superior de Engenharia do Porto Integração da tecnologia Near Field Communications nas Telecomunicações Móveis Pedro Leandro Guedes Nogueira Dissertação para obtenção do Grau de Mestre em Engenharia Informática Área de especialização em Arquitectura Sistemas e Redes Orientador: Paulo Gandra de Sousa Júri: Presidente: Vogais: Porto, Setembro de 2011

Upload: phambao

Post on 17-Dec-2018

223 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

Instituto Superior de Engenharia do Porto

Integração da tecnologia Near Field Communications nas

Telecomunicações Móveis

Pedro Leandro Guedes Nogueira

Dissertação para obtenção do Grau de Mestre em

Engenharia Informática

Área de especialização em

Arquitectura Sistemas e Redes

Orientador: Paulo Gandra de Sousa

Júri:

Presidente:

Vogais:

Porto, Setembro de 2011

Page 2: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

ii

Agradecimentos Ao meu orientador, Doutor Paulo Gandra, pelo seu apoio, disponibilidade, compreensão,

paciência e confiança que sempre depositou em mim e no desempenho deste projecto.

Aos meus líderes profissionais, Engenheiro José Oliveira, ao João Cruz pelo suporte e criação

de condições para execução do projecto e à minha equipa de trabalho, Rui Eusébio, Rui

Coimbra e Mário Marques pelo apoio e partilha de ideias.

Page 3: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

iii

À minha esposa, Marta Sousa, pelo apoio, amor, carinho e incentivo para concretizar este

objetivo. Aos meus pais e irmãos pelo exemplo que são e por tudo o que significam para a

minha vida.

Page 4: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

iv

Resumo O telemóvel tem-se transformado numa ferramenta essencial no nosso dia-a-dia,

constantemente são lançadas novas tecnologias que potenciam o uso do telemóvel nas tarefas

do nosso quotidiano. Atualmente a grande tendência passa por fazer o download de aplicações

com o objetivo de obter mais e diferentes tipos de informação, existe o desejo de ler de forma

simples e intuitiva o mundo que nos rodeia, como se cada elemento fosse um objeto sobre o

qual conseguiremos obter informação através do telemóvel.

A tecnologia Near Field Communication (NFC) ajuda a transformar este desejo ou necessidade

numa realidade de simples alcance. Podemos anexar “identificadores” nos objetos e “ver” estes

identificadores através do telemóvel recorrendo a aplicações que fazem a ponte com os

sistemas que nos permitem obter mais informação, por exemplo, internet.

O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência de

dados entre dois dispositivos separados por uma distância máxima de 10cm. NFC foi

desenhado para ser integrado em telemóveis, que podem comunicar com outros telemóveis

equipados com NFC ou ler informação de cartões ou tags.

A dissertação avalia as oportunidades que a tecnologia NFC oferece ao mundo das

telecomunicações móveis, nomeadamente na realidade do operador Vodafone Portugal,

principalmente numa relação Empresa - Cliente. Esta tecnologia reúne o interesse dos

fabricantes dos telemóveis, dos operadores e de parceiros críticos que vão ajudar a potenciar o

negócio, nomeadamente entidades bancárias e interbancárias.

A tecnologia NFC permite utilizar o telemóvel como um cartão de crédito/debito, ticketing, ler

informação de posters (Smart Poster) que despoletem navegação contextualizada para outras

aplicações ou para a internet para obter mais informação ou concretizar compras, estes são

alguns cenários identificados que mais valor o NFC consegue oferecer.

A dissertação foca-se na avaliação técnica do NFC na área de Smart Posters e resulta na

identificação num conjunto de novos cenários de utilização, que são especificados e

complementados com o desenvolvimento de um protótipo.

Palavras-chave

NFC Smart Poster TAG cartão

Page 5: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

v

Abstract The mobile phones has become an essential everyday tool, are constantly developing new

usage scenarios and investigating new ways for new technology. Downloading third-party

applications is one of biggest today trends in order to get more and different types of

information, there is a desire or need to read the world around us, in the simplest and most titled

way, as if each element were a subject about which you should be able to obtain information

through the phone.

The Near Field Communication (NFC) helps turn that desire or need a simple reality, we can

attach tags on objects and read these identifiers through mobile phone applications that bridge

with the systems that allow us to get more information, the most common is the bridge to the

Internet.

The NFC standard specifies a wireless communication network, which allows transfer of data

between two devices separated by a distance of 10cm. NFC is designed to be integrated into

mobile phones and can communicate with other NFC-enabled mobile phones or reading

information from cards or tags.

This thesis evaluates the business opportunities that NFC technology offers the world of mobile

telecommunications, especially in the reality of Vodafone Portugal, focusing on Business to

Customer relationship. This technology combines the interest of the largest manufacturers of

mobile phones, Mobile Telecoms and other critical partners, including banks and interbank

entities.

With NFC we can use the phone as a credit / debit, sharing of information between devices,

ticketing, read information posters (Smart Poster) that trigger contextual navigation to other

applications or to the Internet as a way to get more information or deliver purchases, that are

more worth the NFC can offer.

The dissertation focuses on the technical evaluation in the field of NFC smart posters and the

output is the in the identification of new usage scenarios, which are specified and complemented

with the development of a prototype.

Key Words

NFC Smart Poster TAG card

Page 6: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

vi

Índice

Agradecimentos ........................................................................................................................................ ii

Resumo ..................................................................................................................................................... iv

Abstract ...................................................................................................................................................... v

Índice ......................................................................................................................................................... vi

Índice de figuras ...................................................................................................................................... xii

Índice de tabelas .................................................................................................................................... xiv

Glossário .................................................................................................................................................. xv

Capítulo 1 – Introdução............................................................................................................................. 1

1.1 Pergunta de Investigação .............................................................................................. 3

1.2 Objetivos propostos ....................................................................................................... 3

1.3 Motivação ...................................................................................................................... 4

1.4 Integração com empresa ............................................................................................... 4

1.5 Organização deste trabalho ........................................................................................... 6

Capítulo 2 – Enquadramento teórico ....................................................................................................... 7

2.1 Tendências de mercado ................................................................................................ 7

2.2 Introdução a Near Field Communication ...................................................................... 11

2.2.1 Aplicações de referência .......................................................................................... 12

2.2.1.1 Pagamentos e Bilhética ........................................................................................ 12

2.2.1.2 Smart Poster ......................................................................................................... 13

2.2.2 Dependências .......................................................................................................... 14

2.3 NFC no Mundo ............................................................................................................ 15

2.4 NFC em Portugal ......................................................................................................... 16

2.5 Tecnologia NFC ........................................................................................................... 17

2.6 Especificações NFC..................................................................................................... 20

2.6.1 ISO 14443 ................................................................................................................ 21

Page 7: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

vii

2.6.2 NFCIP-1 ................................................................................................................... 21

2.6.3 MIFARE ................................................................................................................... 21

2.6.4 FeliCa ....................................................................................................................... 22

2.7 Protocolos NFC ........................................................................................................... 22

2.7.1 NDEF ....................................................................................................................... 22

2.7.2 Record type definition (RTD) .................................................................................... 24

2.7.2.1 Registo de Texto................................................................................................... 25

2.7.2.2 Registo URI .......................................................................................................... 26

2.7.2.3 Registos Smart Poster .......................................................................................... 26

2.7.3 LLCP ........................................................................................................................ 26

2.8 Tag NFC ...................................................................................................................... 27

2.8.1 Tags NFC Forum ..................................................................................................... 27

2.8.2 Tags NXP ................................................................................................................. 28

2.8.3 Componentes ........................................................................................................... 29

2.8.4 Modo de funcionamento das Tag: Ativo-Passivo ...................................................... 29

2.9 Comparação com outras tecnologias ........................................................................... 30

2.10 Segurança ................................................................................................................... 33

2.11 Arquitetura ................................................................................................................... 34

2.12 Campo RF ................................................................................................................... 35

2.13 Fluxo do protocolo ISO 18092 ..................................................................................... 35

2.13.1 Iniciação de uma ligação .......................................................................................... 36

2.13.2 Seleção de modo de comunicação .......................................................................... 38

2.14 Antenas ....................................................................................................................... 40

Capítulo 3 – Cenários de implementação e o seu desenvolvimento .................................................. 41

3.1 Cenários de implementação ........................................................................................ 41

3.2 Plataformas que suportam NFC ................................................................................... 43

3.2.1 RIM .......................................................................................................................... 45

Page 8: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

viii

3.2.1.1 Suporte NFC ......................................................................................................... 45

3.2.1.2 Aplicações NFC .................................................................................................... 45

3.2.2 Nokia ........................................................................................................................ 45

3.2.2.1 Suporte NFC ......................................................................................................... 46

3.2.2.2 Principais aplicações ............................................................................................ 47

3.2.3 Samsung Bada ......................................................................................................... 47

3.2.3.1 Suporte NFC ......................................................................................................... 47

3.2.3.2 Principais aplicações ............................................................................................ 48

3.2.4 Android ..................................................................................................................... 48

3.2.4.1 IDE ....................................................................................................................... 49

3.2.4.1.1 Eclipse IDE ........................................................................................................... 49

3.2.4.1.2 UI-DroidDraw ........................................................................................................ 49

3.2.4.1.3 Linguagem de Programação Java ........................................................................ 50

3.2.4.2 Suporte NFC ......................................................................................................... 50

3.2.4.3 Principais aplicações ............................................................................................ 51

3.3 Característica do telemóvel utilizado para a dissertação ............................................. 52

3.4 Controlador NFC .......................................................................................................... 52

3.5 Características das tags utilizadas na dissertação....................................................... 53

Capítulo 4 – Desenvolvimento Smart Poster ........................................................................................ 55

4.1 Serviços NFC numa loja – Informação ........................................................................ 55

4.2 Conceitos ..................................................................................................................... 56

4.3 Requisitos do sistema .................................................................................................. 57

4.4 Atores .......................................................................................................................... 57

4.5 Workflow ...................................................................................................................... 58

4.6 High Level Design ........................................................................................................ 59

4.7 Arquitetura do cliente ................................................................................................... 61

4.8 Desenho “NFC Master” ................................................................................................ 62

Page 9: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

ix

4.8.1 Fluxograma .............................................................................................................. 63

4.8.2 Diagrama de classes ................................................................................................ 65

4.8.3 Descrição das classes .............................................................................................. 68

4.8.3.1 Classe ScanTag ................................................................................................... 69

4.8.3.2 Classe ScanTag ................................................................................................... 72

4.8.3.3 Classe MifareRecord ........................................................................................ 74

4.8.4 User Experience ....................................................................................................... 74

4.8.4.1 Abrir aplicação ...................................................................................................... 74

4.8.4.2 Ler tag .................................................................................................................. 75

4.8.4.3 Apresentar informação ......................................................................................... 76

4.8.4.4 Setores MifareClassic ........................................................................................... 79

4.8.5 Testes ...................................................................................................................... 79

Capítulo 5 – Conclusões e trabalho futuro ........................................................................................... 81

Bibliografia ............................................................................................................................................... 84

Anexos ..................................................................................................................................................... 92

Anexo 1 – Project Plan ............................................................................................................................ 93

Project Plan .............................................................................................................................................. 93

Background ............................................................................................................................................. 93

Objetivo de investigação ........................................................................................................ 93

Limitações .............................................................................................................................. 93

Âmbito .................................................................................................................................... 94

Gestão do projeto ................................................................................................................... 94

Processo utilizado ..................................................................................................................... 94

Enquadramento ........................................................................................................................ 94

Fases de decisão, follow up, reuniões e milestones ............................................................... 95

Fases de decisão ...................................................................................................................... 95

Follow-up .................................................................................................................................. 95

Page 10: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

x

Reuniões de projeto ............................................................................................................... 96

Milestones ................................................................................................................................. 96

Atividades ............................................................................................................................... 97

Principais atividades ................................................................................................................. 97

4.9 Ferramentas utilizadas ................................................................................................. 98

Anexo 2 – RDID ........................................................................................................................................ 99

RFID – Descrição da tecnologia ............................................................................................. 99

O que é RFID? .......................................................................................................................... 99

História RFID ............................................................................................................................ 99

Como funciona o RFID? .......................................................................................................... 100

Tendência do Mercado? ......................................................................................................... 100

Aplicações RFID ..................................................................................................................... 101

RFID – Funcionamento dos seus componentes ................................................................... 102

Modo de funcionamento das tags: Ativo-Passivo .................................................................... 102

Classificação por frequência de banda ................................................................................... 103

Baixa frequência ..................................................................................................................... 104

Alta Frequência ....................................................................................................................... 104

Frequência ultra alta ............................................................................................................... 105

Micro-Ondas ........................................................................................................................... 106

Características técnicas .......................................................................................................... 107

Standards ISO ........................................................................................................................ 108

EPC ........................................................................................................................................ 108

MOBILE RFID ...................................................................................................................... 109

Vantagens do Mobile Rfid ....................................................................................................... 110

Limitações mobile RFID .......................................................................................................... 111

Integração em rede B2B ......................................................................................................... 111

Aplicações de mobile RFID ..................................................................................................... 113

Page 11: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

xi

Anexo 3 – TAGs NFC e a sua aplicação .............................................................................................. 115

Anexo 4 – Código fonte ........................................................................................................................ 116

Class Scantag.java ............................................................................................................... 116

Class TagDetail.java ............................................................................................................. 122

Class MifareRecord.java ...................................................................................................... 135

Class AndroidManisfest.xml ................................................................................................. 136

Page 12: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

xii

Índice de figuras Figura 1-Relação da tecnologia com as redes sociais ................................................................. 9

Figura 2-Tendência da compra de produtos tecnológicos .......................................................... 10

Figura 3 - Atitude perante as tecnologias ................................................................................... 10

Figura 4-Elementos da implementação NFC no telemóvel ........................................................ 18

Figura 5 - Visão sumária do standard especificado por NFC Forum .......................................... 19

Figura 6 - Composição protocolo ISO 14443 ............................................................................. 21

Figura 7 - ISO 14443 Mifare ....................................................................................................... 22

Figura 8 - ISO 14443 FeliCa ...................................................................................................... 22

Figura 9 - Mensagem NDEF ...................................................................................................... 24

Figura 10 - Tipos de registo NDEF ............................................................................................. 24

Figura 11-TAG NFC ................................................................................................................... 29

Figura 12-NFC e outras tecnologias .......................................................................................... 33

Figura 13-Arquitectura da tecnologia NFC integrada num telemóvel ......................................... 34

Figura 14-Fluxo de inicialização de transação NFC e SDD........................................................ 37

Figura 15-Modo de seleção de um dispositivo NFCID-2 ............................................................ 39

Figura 16-Exemplo de cenários que se podem aplicar a um poster com tag NFC ..................... 56

Figura 17-High Level Design ...................................................................................................... 60

Figura 18-Arquitectura Cliente ................................................................................................... 61

Figura 19 - Use Cases ............................................................................................................... 63

Figura 20- Fluxograma ............................................................................................................... 64

Figura 21-Diagrama de Classes ................................................................................................. 67

Figura 22-Fluxo das classes ...................................................................................................... 68

Figura 23 - Abrir Aplicação ......................................................................................................... 75

Figura 24 – Layout ler tag .......................................................................................................... 75

Figura 25 - Leitura da tag ........................................................................................................... 76

Figura 26 - Layout informação da tag ........................................................................................ 77

Figura 27 - Apresentação do conteúdo e ação da tag ................................................................ 78

Figura 28 - Tabs com conteúdo da Tag ..................................................................................... 78

Figura 29-Layout setores MifareClassic ..................................................................................... 79

Figura 30-Setores mifare Classic ............................................................................................... 79

Figura 31-Banda de Frequência RFID ..................................................................................... 103

Figura 32-Ambiente do Mobile RFID ........................................................................................ 110

Page 13: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

xiii

Figura 33-Arquitectura de rede Mobile RFID com uma Gateway ............................................. 112

Figura 34-Prova de vinhos, informação sobre o vinho ............................................................. 113

Figura 35-Informação sobre o BUS .......................................................................................... 113

Figura 36-Mais informação sobre um filme .............................................................................. 114

Page 14: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

xiv

Índice de tabelas Tabela 1-Tabela exemplo da composição de registos NDEF ..................................................... 25

Tabela 2 - Exemplo de um registo Texto .................................................................................... 25

Tabela 3 - exemplo registo Uri ................................................................................................... 26

Tabela 4 - Modelos de referência LLPC ..................................................................................... 27

Tabela 5-Comparativo entre tecnologias de seleção ................................................................. 31

Tabela 6-Exemplos de cenário de Arranque de Serviço ............................................................ 42

Tabela 7-Vendas mundiais de smartphones por plataforma no segundo trimestre de 2011

(unidade: milhares) Fonte: Gartner (Agosto de 2011) ................................................................ 43

Tabela 8-Suporte NFC por Plataforma ....................................................................................... 44

Tabela 9-Suporte NFC Blackberry ............................................................................................. 45

Tabela 10 - Comparação das funcionalidades suportadas pelas diferentes APIs ...................... 46

Tabela 11-Principais funcionalidades suportadas pela API NFC ............................................... 48

Tabela 12-Classes android.nfc................................................................................................... 50

Tabela 13-Classes android.nfc.tech ........................................................................................... 51

Tabela 14 - Protocolos de comunicações sem fios compatíveis com PN544 (NPX, 2010) ........ 53

Tabela 15-Acções no seguimento da leitura de Tag .................................................................. 59

Tabela 16 – Adequação de aplicações de acordo com o tipo de TAG ..................................... 115

Page 15: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

xv

Glossário ACS Advanced Cards Systems Ltd.

ADT Android Development toolkit

AES Advanced Encryption Standard

API Application Programming Interface

ASK Amplitude Shift Keying

ATM Automatic Teller Machine

CBC Cipher Block Chaining

CC Common Criteria

CCIT International Telegraph and Telephone Consultative Committee (Agora ITU-T)

CCMP Counter Mode with Cipher Block Chaining Message Authentication Code

Protocol

CRC Cyclic Redundancy Check

CTR Counter

DEI Departamento de Engenharia Informática

DES Data Encryption Standard

DIS Draft International Standard

DUT Device Under Test

EAL Evaluation Assurance Level

ECC Elliptic Curve Cryptography

ECDH Elliptic Curve Diffie Hellmann

ECMA European Computer Manufacturers Association

Page 16: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

xvi

ECRYPT European Network of Excellence for Cryptology

EEPROM Electrically Erasable Programmable Read-Only Memory

ETSI European Telecommunications Standards Institute

FRAM Ferroelectric Random Access Memory

FRT Frame Response Time

IC Integrated Circuit

IEC International Electrotechnical Commission

ISEP Instituto Superior de Engenharia do Porto

ISM Industrial, Scientific and Medical (unlicensed frequency band)

ISO International Organization for Standardization

ISO 14443 ISO standard governing proximity smartcards

LED Light Emitting Diode

lsb Least significant bit

MAC Message Authentication Code

MIC Message Integrity Code

MIME Multipurpose Internet Mail Extensions

MMS Multimedia Messaging Service

msb Most significant bit

NDEF NFC Data Exchange Format

NFC Near Field Communication

NFCID Near Field Communication Identifier

NFCIP Near Field Communication Interface and Protocol

NIST National Institute of Standards and Technology

Page 17: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

xvii

NTNU The Norwegian University of Science and Technology

NXP Next eXPerience Semiconductors

OS Operating System

OTA Over The Air programming

PCB Printed Circuit Board

PCD Proximity Close-coupling Device

PICC Proximity Integrated Circuit Card

PRNG Pseudo Random Number Generator

PSK Pre Shared Key

RF Radio Frequency

RFID Radio Frequency Identification

RNG Random Number Generator

RSA Rivest Shamir Adleman encryption algorithm

SDD Single Device Detection

SDK System Development Kit

SIM Subscriber Identity Module

SMS Short Messaging Service

SRAM Static Random Access Memory

UICC Universal Integrated Circuit Card

UID Unique Item Identifier

URI Uniform Resource Identifier

URL Uniform Resource Locator

VCD Vicinity Close-coupling device

Page 18: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

xviii

W-LAN Wireless Local Area Network

Page 19: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

1

Capítulo 1 – Introdução “A importância de uma ideia pode ser

medida pela veemência com que seus

adversários a atacam.”

(Mestre DeRose)

Num mundo onde a mobilidade impera, o telemóvel assume-se cada vez mais como um objeto

imprescindível para o quotidiano satisfazendo necessidades pessoais e profissionais. O acesso

a dados em tempo real é atualmente uma necessidade básica e imprescindível (Cisco, 2011)

para manter os negócios ativos. A ubiquidade no acesso aos dados é cada vez uma realidade

mas o maior contributo para esta mobilidade é provocado pela proliferação de dispositivos

móveis.

Embora a economia global tenha afetado o mercado das telecomunicações, de acordo com

estudo da iSuppli, Mobile Handset Market Tracker, com uma redução de 5% a 8% na aquisição

de novos dispositivos desde 2009, a tendência foi invertida em 2010 e o estudo apresenta

inclusive uma previsão de crescimento de 12% para 2011 (iSuppli, 2010), a sua penetração é

impressionante, em todo o mundo por cada 100 pessoas existem cerca de 78 telemóveis, no

caso dos países desenvolvidos o valor é de 114.2, Portugal é dos países com uma taxa de

penetração mais elevada, atingindo 143% no final de 2010 (ITU, 2011). Em termos gerais em

Março de 2011 estimava-se a existência de mais de 5,3 mil milhões de telemóveis (ITU, 2011)

em todo o mundo, o que representa a sua adoção muito rápida pelo mercado.

Há muito que os telemóveis foram identificados como uma mais-valia nos processos de negócio

e na comunicação entre pessoas. As tecnológicas de comunicação suportadas pelos

telemóveis continuam a aumentar e a desenvolverem-se rapidamente, nomeadamente

Bluetooth, Infravermelhos, Wifi, GPRS, 3G, câmara, scanners de código de barras, TV, Rádio e

mais recentemente assistimos a desenvolvimentos com RFID (Radio-Frequency Identification) e

NFC (Near Field Communication). Todas estas tecnologias, embora com características,

vantagens e limitações diferentes, visam criar benefícios na utilização do telemóvel nas

relações B2B (Business-to-Business) e B2C (Business-to-Customer).

Page 20: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

2

O NFC (NFC Forum, 2011) é um protocolo “contactless” (pelo facto de não existir um contacto

real na comunicação entre os dispositivos) de transporte e de troca de dados de curta distância

(10cm), baseado no RFID (AIM, 2011), entre dispositivos equipados com tags NFC/RFID de

forma segura.

No “Mobile World Congress”1 organizado pela GSMA (GSM Association) em Fevereiro de 2009

em Barcelona, a tecnológica NFC foi um dos assuntos de destaque. É claramente um objetivo

da GSMA trabalhar em requisitos standards com os fabricantes e operadores para que o NFC

seja integrado nos telemóveis em larga escala. Durante o ano de 2009 começaram a ser

comercializados os primeiros telemóveis, mas é em 2011 que se confirma a aposta do mercado

nesta nova tecnológica com o crescimento significativo do número de telemóveis compatíveis.

O CEO da Google, Eric Schmidt (Baladan, 2010), anunciou que a próxima geração de terminais

Android inclui um chipset NFC, tal como se veio a confirmar com o lançamento do Samsung

Nexus S. O mesmo compromisso já foi assumido pela Nokia, RIM e a Apple já manifestou

interesse embora ainda não tenha anunciado quando irá suportar esta tecnológica. O

envolvimento destes 4 gigantes das telecomunicações, será decisivo para que o NFC tenha o

crescimento esperado e assuma um papel essencial principalmente na área de pagamentos

móveis.

Existem três áreas nucleares onde estas tecnologias serão mais exploradas (NFC Forum,

2011):

1. invocação de serviços - a comunicação e transferência de dados via NFC deverá

despoletar a invocação de serviços e integração com outras tecnológicas de

comunicação tais como GPRS/3G ou Wifi;

2. pagamentos e compras, usando o telemóvel como cartão de pagamentos, existem -

grandes avanços nesta área com a concretização acordos com entidades bancárias,

fabricantes e operadores; e a área peer-to-peer, com comunicação para transferência

de dados entre dois telemóveis.

A área dos pagamento é seguramente a que gera mais ruído no mercado, pelo impacto que

tem na vida do utilizador e pelos benefícios de negócio, mas seguramente que o NFC irá ser

muito mais abrangente e com um impacto significativo na nossa vida, basta imaginar cenários

1 Para pesquisa dos conteúdos apresentados, consultar em http://www.mobileworldcongress.com/

Page 21: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

3

como deixar de ter passaporte físico, substituir as chaves do carro ou da casa, substituir a

password para entrar no PC, deixar de ter bilhetes em papel para ir ao cinema ou transportes

públicos, trocar contactos, check in ou updates nas redes sociais, desmistificar a medicina ao

permitir obter mais facilmente informação sobre o significado dos termos médicos ou dos

componentes dos medicamentos, publicidade e outros inúmeros casos do nosso dia-a-dia que

podem ser facilitados com recurso ao NFC.

Vários investigadores vêm a integração do NFC nos telemóveis como o primeiro passo para se

garantir a ubiquidade computacional (Battezzati’s, 2005) com a integração da computação num

ambiente em qualquer dispositivo, a qualquer momento e em qualquer lugar. Esta tecnologia

mostra um grande potencial na utilização de serviços móveis B2C e este ponto será o principal

ponto a desenvolver nesta dissertação.

1.1 Pergunta de Investigação

Quais as oportunidades que o NFC cria na área das

telecomunicações móveis na relação B2C?

1.2 Objetivos propostos

O objetivo desta dissertação será centrado na integração tecnologia NFC para relações B2C

através de um telemóvel.

Este documento irá descrever com detalhe a tecnologia NFC, para percebermos o modelo de

funcionamento, vantagens, limitações, standard e principalmente a sua área de atuação no

mercado de telecomunicações e na integração nos dispositivos móveis. O termo dispositivos

móveis será bastante utilizado, representando telemóveis de todas as gamas e tablets PC do

tipo iPad.

Serão descritos os requisitos tecnológicos necessários para implementação de soluções reais

na área de invocação de serviços através de Smart Posters.

Esta dissertação inclui o desenvolvimento de um protótipo que demonstre a leitura e tratamento

de dados de uma tag.

A dissertação exclui análise detalhada sobre a segurança.

Page 22: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

4

1.3 Motivação

A principal motivação deste tema de dissertação prende-se com o facto de estar enquadrado

com as funções profissionais que desempenho na empresa Vodafone Portugal, focado no

desenvolvimento de soluções móveis B2C. Tenho acompanhado a tecnologia NFC desde o

início da sua discussão, estando confiante que o seu sucesso será uma realidade e uma grande

aposta do mercado móvel.

1.4 Integração com empresa

A empresa onde desempenho funções profissionais, Vodafone Portugal - Comunicações

Pessoais S.A, integra o maior grupo mundial de telecomunicações móveis. O Grupo Vodafone

está presente em 70 países e contabiliza mais de 340 milhões de clientes.

Da estratégia da empresa destaco dois parágrafos que revela o interesse constante por novas

tecnológicas como forma a que os clientes possam ter benefícios com a sua utilização.

“Através da Vodafone, os Clientes podem estar sempre ligados àquilo que é realmente

importante e tirar o melhor partido das oportunidades que surgem diariamente nas suas

vidas. Seja em mobilidade, em casa ou no emprego, os nossos Clientes podem contar,

em todos os momentos, com serviços irresistíveis e inovadores, os mais recentes

equipamentos e um Serviço de Apoio ao Cliente de excelência.

Estamos na linha da frente da definição dos serviços móveis de voz e dados em todo o

Mundo, acreditamos na mudança e apostamos constantemente na inovação.” (Vodafone

Portugal, 2011)

Para a Vodafone as tecnologias estão a realizar progressos sem fim, criando novos produtos e

oferecendo serviços inovadores. Sensores, tecnologias de ecrãs, Software aplicacional,

minimização e integração do hardware são apenas algumas das tendências recentes, enquanto

a tecnologia na perspectiva do utilizador aparece e desaparece no seu ambiente de uma forma

algo difusa. Existe uma preocupação que a tecnologia faça parte da vida do utilizador de uma

forma que lhe possa melhoria a qualidade de vida e não simplesmente infiltrar-se de uma forma

incompreendida.

Em termos tecnológicos, a integração de semi-condutores permitiram a adoção de novas

tecnologias e uma maior inovação, bem como os Sensores e os acelerómetros em particular

que atingiram dimensões de tal forma reduzidas que permitem a sua integração num telemóvel,

permitindo uma adaptação do telemóvel ao contexto e ambiente física onde se encontra.

Page 23: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

5

A empresa vê a integração da tecnológica NFC como uma forma de reforçar a sua política de

líder em inovação tecnológica e aumentar a oferta de serviços, no entanto a estimativa de

crescimento em 2009 não aconteceu devido a problemas na colaboração entre as diferentes

indústrias relativamente ao custo dos dispositivos NFC e sua integração, em 2010 não existiu

grande evolução mas 2011 assistiu-se finalmente ao seu arranque e massificação, sendo um

bom indicio para uma penetração significativa no futuro (Vodafone, 2010).

A Vodafone como membro do GSMA e do NFC Forum, tem um papel ativo da definição dos

requisitos standards da tecnologia NFC, realizou testes na Alemanha e França, tem uma

estreita cooperação com os fabricantes de cartões SIM para integração da tecnologia e tem

vindo a promover conferência sobre a tecnologia. A previsão é que seja uma oportunidade

estratégica importante mas que venha a ser uma aposta a médio termo considerando o modelo

de negócio atual ainda não é o mais interessante, devido aos custos adicionais que representa

num momento económico complexo.

A Vodafone manterá a sua participação ativa na evolução da tecnológica, nomeadamente no

desenho de elementos de segurança (Novos cartões SIM) e irá avançar com a sua

implementação num momento de maior competitividade do NFC.

É possível que o NFC se venha a tornar universal a médio termo, a Vodafone identificou várias

aplicações com potencial de negócio que reforçam a relação comercial com entidades externas,

tais como bancos, transportadoras ou mesmo governamentais.

Fazendo um enquadramento local, identifiquei várias soluções como uma oportunidade de

negócio para a empresa, nomeadamente:

• Pagamento via telemóvel

• Carregamentos de cartões pré-pagos

• Configurações das definições de Internet e MMS Over the Air;

• Inovação de serviços que utilizem comunicações de dados GPRS/3G;

• Aquisição de conteúdos multimédia: toques, imagens, vídeos;

• Acesso a campanhas e descontos através da leitura de cupões de diversas

fontes;

Page 24: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

6

• Aquisição de bilhetes para transportes e eventos.

Serão analisados os requisitos necessários para integração destas soluções nas infraestruturas

existentes, bem como a relação de benefício com as potenciais restrições.

1.5 Organização deste trabalho

Esta dissertação está organizada em 5 capítulos.

Depois do enquadramento inicial dos objetivos da dissertação no capítulo de introdução, o

capitulo 2 faz um enquadramento teórico da tecnologia NFC, descreve as principais

características técnicas e as suas aplicações.

O capítulo 3 foca na identificação e avaliação de cenários de utilização, enquadrados na

realidade das telecomunicações móveis e na área de Smart Poster. Descreve as principais

plataformas móveis que apostaram ou anunciaram apostas no NFC, inclui informação sobre o

suporte que cada organização fornece e as principais ferramentas para desenvolvimento de

aplicações NFC, com foco para o sistema operativo Android.

O capítulo 4 descreve com detalhe a proposta de implementação de uma solução Smart Poster,

desde os elementos principais para a arquitetura do cliente e do servidor.

As conclusões que resultam desta dissertação estão descritas no capítulo 5.

Page 25: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

7

Capítulo 2 – Enquadramento teórico “A lentidão de uma parte do mundo a adotar

ideias valiosas de outra parte é uma coisa

curiosa e inexplicável. Esta forma de

estupidez não se confina a nenhuma

comunidade, a nenhuma nação, é

universal.”

Twain, Mark

2.1 Tendências de mercado

Baseado num estudo interno sobre tendências das tecnologias em 2010 (Vodafone, 2010),

verifica-se que a adoção da tecnologia móvel, estimulada pelo contínuo aumento da largura de

banda, tornou-se essencial no desenvolvimento de mercados, sejam emergentes com objetivos

mais práticos ou já desenvolvidos onde o entretenimento tem um valor significativo.

As chaves do sucesso do NFC estão em transformar o que é complexo em simples, com

integrações transparentes entre dispositivos e replicar todas as preferências do utilizador em

casa e quando está em mobilidade. Procurar aplicar estas novas tecnologias em diferentes

aplicações, tal como segurança, saúde, programas de educação, são formas de massificar a

sua adoção.

Neste momento, esta é uma tecnologia para massas, o recurso a serviços outsourcing por

forma a reduzir custos de produção, faz com que esta e outras novas tecnologias sejam

acessíveis para a maioria dos consumidores.

Assiste-se ainda a um investimento na educação tecnológica de países diferentes dos

tradicionais (Europa, EUA), tal como a Índia ou a Coreia, o que resulta no desenvolvimento de

novas tecnológicas, tais como o NFC, pagamentos móveis ou realidade aumentada.

Uma nova economia foi criada com novas plataformas tecnológicas, tal como mercados online e

desenvolvimento de conteúdos, que abriram novas oportunidades às pequenas empresas e aos

consumidores.

As alterações na distribuição da população obrigam a que a tecnologia necessite de ser

adaptada para novos segmentos que representam novos tipos de utilizadores. É notável a

Page 26: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

8

adaptação das tecnologias tradicionais Ocidentais a novas culturas e novas línguas, exemplo o

Wikipedia disponível em Chinês.

A criação e a melhoria de infraestruturas, especialmente nos mercados emergentes, tem vindo

a facilitar uma rápida expansão de novas tecnologias, no entanto a diferença de velocidade

entre o rápido desenvolvimento tecnológico e o desenvolvimento das infraestruturas podem

causar interrupção na adoção da tecnologia pelos consumidores.

Em termos políticos, os governos e entidades reguladoras terão um papel muito importante e

muito a dizer sobre a forma como as novas tecnologias serão abraçadas pelos consumidores.

Os mercados emergentes ainda têm dificuldades em tornar as tecnologias acessíveis para

todos os consumidores, embora a sua prioridade seja uma utilização pragmática da tecnologia

focando no funcional.

Tal como descrito anteriormente, transformar o complexo em simples é uma das chaves de

sucesso, isto não significa deixar de fazer as coisas complexas mas simplesmente faze-las de

forma simples. A forma como os consumidores podem fazer a migração entre novos produtos

ou upgrades proativos, é um exemplo da simplicidade e acessibilidade da tecnologia atual; o

iPhone é um excelente exemplo de uma mudança de um telemóvel tradicional com multi

tecladas para um equipamento de apenas uma tecla, um paradigma completamente diferente

que fidelizou utilizadores pela sua simplificada de utilização (admob, 2010).

Um dos grandes desafios é atingir a convergência com produtos que permitam uma integração

transparente entre diferentes plataformas e criar um equilíbrio entre o que é profissional e lazer,

entre estar em casa ou fora dela, basicamente permitir aos utilizadores que definam e interajam

com a tecnologia no seu ambiente da forma como acharem mais relevante.

Diferentes estudos provam que inevitavelmente estas novas tecnologias fazem parte da vida

dos consumidores, no entanto diferentes culturas representam formas diferentes de as acolher.

A Figura 1 ilustra o resultado de um estudo que questiona os utilizadores se a tecnologia móvel

mantém o utilizador conectado com a família e os amigos, a grande maioria dos utilizadores

concorda com esta relação.

Page 27: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

9

Figura 1-Relação da tecnologia com as redes sociais

Fonte: The Future Company, 2009

Num estudo realizado pela GFK Roper em 2008, junto de consumidores com mais de 15 anos

de vários países, confirmou-se o alcance da tecnologia móvel comparativamente com outros

dispositivos eletrónicos:

• 90% das famílias possuem pelo menos um telemóvel,

• 43% possuem uma câmara digital

• 28% possuem um leitor digital portátil de música

• 13% possuem uma consola de vídeo jogos portátil

Quanto à tendência dos consumidores para adquirir produtos que podem auxiliar nas atividades

diárias para além de lazer, podemos verificar na Figura 2 um estudo da GFK Roper que em

média os consumidores procuram soluções que crie um equilíbrio entre o profissional e o lazer,

ainda com uma maior tendência para o lazer.

Page 28: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

10

Figura 2-Tendência da compra de produtos tecnológicos

Fonte: GfK Roper, 2009

A Figura 3 apresenta os resultados do último estudo a apresentar neste capítulo, sobre qual a

atitude perante a tecnologia. Os países emergentes como a África do Sul, China ou Índia

apresentam uma excitação natural perante novas tecnologias pelo facto de mais recentemente

investirem de forma mais intensa nesta área. Já a posição dos países europeus é bem mais

conservadora e exige uma maior maturidade da tecnologia para ser confiável.

Figura 3 - Atitude perante as tecnologias

Fonte: GfK Roper, 2009

Page 29: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

11

2.2 Introdução a Near Field Communication

O NFC permite tornar mais simples e mais conveniente a vida das pessoas, conseguindo

adaptar os sistemas atuais, fazendo com que seja mais fácil aceder a novos conteúdos, realizar

pagamentos, pesquisar informação de forma mais intuitiva, sincronizar e partilhar informação,

etc. No congresso mundial de telecomunicações em Barcelona, Fevereiro de 2009, a GSMA

voltou a reforçar a recomendação para que os telemóveis comecem a ser comercializados com

a funcionalidade Near Field Communication (NFC), incluindo a interface standard “single wire

protocol” (SWP), no início de 2011.

As soluções técnicas do NFC derivam da combinação do RFID com tecnologias de

interconexão sem fios e de curto alcance. A Philips e a Sony iniciaram o desenvolvimento em

2002, no entanto esta iniciativa resulta do envolvimento corporativo dos operadores de

telecomunicações móveis, fabricantes de telemóveis e a indústria da eletrónica. Empresas

como a Nokia, Sony, NXP Semiconductors, VISA, Mastercard, Microsoft, Telenor, Vodafone e

mais recentemente a Apple e a Google, estão envolvidas na discussão dos standards e

evolução do NFC. O potencial de negócio é enorme, existe um foco na área de pagamentos,

mas outras áreas tais como compra de bilhetes, controlo de acesso, distribuição de conteúdos,

publicidade, transferência de dados entre telemóveis, serão alguns exemplos de

implementações futuras. Um estudo da Global Industry Analyst divulgou que em 2015 cerca de

1 Bilião de utilizadores (Global Industry Analyst, inc., 2010) (Clark, 2010) irão utilizar os serviços

bancários via dispositivo móvel.

A principal vantagem é a sua simplicidade, as transações são iniciadas automaticamente,

sendo apenas necessário tocar ou aproximar o telemóvel com leitor NFC de um outro telemóvel

com esta tecnologia ou de uma TAG compatível. O NFC fornece uma experiência ao utilizador

simples, intuitiva e segura, onde o telemóvel substitui vários cartões magnéticos ou cartões com

chip, realizando uma comunicação de curta distância sem fios.

Atualmente o número de equipamentos com NFC é ainda reduzido, existem cerca de 70

milhões de equipamentos equipados com chip NFC (Green, et al., 2011), o que representa a

principal barreira ao seu crescimento. No entanto a possibilidade de suportar NFC através do

slot de cartões MicroSD faz com que o potencial seja mais otimista e em previsões recentes a

IMS Research aponta que em 2015 existam cerca de 900 Milhões de equipamentos com chip

NFC (IMS Research, 2011).

Page 30: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

12

Em Novembro de 2010, a Google anunciou que a nova versão dispositivos Android a lançar em

2011 iria integrar circuitos NFC. A Nokia que foi pioneira nesta integração, reforçou a sua

mensagem de que uns dos principais focos de 2011 será o NFC. Outros fabricantes irão seguir

a mesma orientação por pressão que estes dois gigantes das telecomunicações colocam no

mercado, existindo rumores que de a Apple irá integrar circuitos NFC no IOS5 para iPhone e

iPad.

Numa fase inicial as aplicações com NFC deverão reutilizar as infraestruturas de comunicações

existente, por forma a obter um Business Case forte e riscos reduzidos, porem isto implica a

necessidade de transformar numa tecnologia barata que possa ser distribuída e ser compatível

com a maioria dos dispositivos móveis e infraestrutura de leitura que existem no mercado, para

tal a industria terá que ser mais participativa e colaborar entre si por forma a assegurar

benefícios para todos.

2.2.1 Aplicações de referência

Este capítulo descreve 3 cenários de referência para utilização do NFC, nomeadamente

Pagamentos, bilhética e Smart Poster.

2.2.1.1 Pagamentos e Bilhética

Pagamentos e bilhética são consideradas áreas críticas do NFC. O NFC permite simular um

cartão inteligente para realizar pagamentos ou utilizar como bilhete de acesso, por exemplo aos

transportes público. O facto das normas especificadas para o NFC garantirem compatibilidade

com outras normas de outros tipos de cartões sem contacto, faz com que se consiga reutilizar

infraestrutura atual, tal como leitores de cartões que são usados nas redes de transportes.

O conceito de pagamento móvel está relacionado com o uso de um dispositivo móvel para

executar uma transação de pagamento onde o dinheiro ou os fundos são transferidos de um

pagador para um recetor via um intermediário (por exemplo uma instituição bancária) ou

diretamente sem intermediário. O NFC altera o paradigma atual de pagamentos móveis ao

conseguir compilar diferentes funções de vários tipos de cartões sem contacto num dispositivo

móvel. Desta forma com o mesmo dispositivo passamos a conseguir realizar pagamentos,

utilizar como bilhete para transportes públicos entre outros.

A transformação deste cenário numa utilização comum tem sido mais lento do que o esperado

porque não basta apenas ter um leitor e uma tag, existe toda uma infraestrutura que terá que

Page 31: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

13

ser criada, nomeadamente um tipo de chip seguro para garantir a segurança do

armazenamento dos dados e persistência dos dados.

Atualmente existem duas soluções para implementação de um chip seguro, um chip que seja

embebido dentro dos dispositivos móveis, semiaberto, controlado pelos fabricantes dos

dispositivos ou utilizar o cartão SIM como o chip seguro, o que faria os operadores de

telecomunicações como uma parte central do esquema NFC.

Neste momento a solução de ter um chip seguro controlado pelos fabricantes está a avançar

mais rápido com a chegada de novos equipamentos que já tem a tecnologia integrada, tais

como o Samsung Nexus S ou Nokia C7.

Recentemente o Concelho Europeu de Pagamentos (EPC), que representa a indústria bancária

europeia, divulgou a primeira versão de um documento que tem como objetivo criar normas

abertas que regulem os pagamentos via NFC, o documento “The Mobile Contactless (SEPA –

Single Euro Payments Area) Payments Interoperability Implementation” (Secretariat, 2011)

descreve com detalhe os modelos do serviço, processos, segurança, arquitetura e gestão do

ciclo de vida dos cenários de pagamento via telemóvel. Esta iniciativa pretende evitar a

fragmentação de implementações por parte das principais entidades. O EPC está a trabalhar

com as organizações mais relevantes na área dos pagamentos para telemóvel, nomeadamente

a GlobalPlatform, que normaliza as aplicações baseadas em tecnologias com chips seguros, a

GSMA e a Mobey Forum (organização global que opera na perspectiva dos bancos). Em

Outubro de 2010, a EPC e a GSMA desenvolveram e divulgaram em conjunto um documento

com os requisitos e especificações para serviços de pagamentos utilizando NFC. A versão final

está prevista para Outubro de 2011.

2.2.1.2 Smart Poster

O Smart Poster tem como principal objetivo a invocação de serviços através da leitura de tags

ou cartões. O conceito técnico foi desenvolvido pelo NFC Forum (NFC Forum, 2006-2011). A

especificação define como é que um número de telefone, SMS ou URL pode ser guardado

numa tag NFC ou como poderá ser realizado o transporte de dados entre dispositivos.

Basicamente permite transformar qualquer objeto físico num objeto inteligente com a adição de

uma tag neste objeto. Isto significa que o objeto passa a poder guardar informação sobre si

próprio.

Page 32: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

14

O Smart Poster permite iniciar uma chamada telefónica, enviar um SMS ou aceder a um URL

através da leitura de uma tag NFC via um dispositivo móvel. Poderá também abrir outras

aplicações instaladas no dispositivo móvel ou editar e guardar a informação lida de uma tag

NFC.

Um bom exemplo é um poster de cinema com uma tag NFC que está configurada com um URL

que permite aquisição de bilhetes de cinema, ao “tocar” com o dispositivo móvel este irá abrir o

browser de internet com o URL onde o utilizador poderá reservar e comprar bilhetes para ver o

filme. Quando a transação estiver concluída, o utilizador poderá receber um SMS no telemóvel

que servirá de bilhete.

Este exemplo pode ser expandido a situações em que o utilizador “toca” numa eventual tag

“Mais informação”, a tag teria um URL que permitiria ao utilizador realizar o download de um

trecho do filme entre outras situações.

Podemos extrapolar para situações de posters com descontos na aquisição de produtos ou

refeições, nas quais ao “tocar” na tag NFC o dispositivo cria um SMS para um número/texto

predefinido que corresponda por exemplo à reserva de um lugar num restaurante com

atribuição de um desconto apresentado no poster. Atualmente através da leitura de QRCode

(Wikipedia, 2011) é possível ter este tipo de experiência no entanto obriga sempre que o

utilizador tenha que focar um objeto através da camara do telemóvel, o que faz com que

experiência não seja tão simples para o utilizador tal como a proporcionada pelo NFC.

2.2.2 Dependências

Estão identificadas dependências com as outras tecnologias sem fios. O NFC fornece um

rápido “handshake” entre dispositivos, que pode depois ser utilizado por outras tecnologias sem

fios para transferir grandes quantidades de informação. Vários casos estão a ser avaliados, tais

como:

• Wi-Fi Alliance definiu o uso do NFC para um emparelhamento automático entre

dispositivos Wi-Fi através de um canal dedicado;

• Suporte USB sem fios para NFC;

Por motivo de ser uma rede de curto alcance, não poderá competir com outras redes tais como

WiFi ou USB, o NFC é visto como uma oportunidade para melhorar a usabilidade destas

tecnologias alternativas, por exemplo uma TAG NFC poderá conter informação sobre o acesso

Page 33: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

15

a um hotspot, tal como o seu nome e chave, um dispositivo ao ler esta TAG irá configurar

automaticamente o acesso à rede WIFI.

2.3 NFC no Mundo

São conhecidas diversas implementações já realizadas com a tecnológica NFC. Desde 2008

que foram realizados estudos, testes ou implementações reais em mais de 54 países

(NFCWorldAll), algumas apenas experiências para estudar a parte tecnológica e a aceitação

por parte do consumidor.

A área de pagamento é naturalmente a que mais se destaca, pela complexidade e pela

dimensão de negócio, exemplos:

• Operador Japonês de telecomunicações móveis, NTT DoCoMo, emitiu mais de 60

milhões de cartões SIM com chip NFC Sony’s Felica com a finalidade de cartão de

crédito e para leitura de SmartPoster, a maioria dos terminais lançados por este

operador já permite ler TAG NFC (Clark, 2010).

• Google lança o serviço “Google Wallet” (Google , 2011) que permite realizar

pagamentos seguros via telemóvel, utiliza como elemento de segurança o Chip que está

integrado no telemóvel, que tem a responsabilidade de encriptar e armazenar as

credenciais que permitem realizar o pagamento. Inclui parcerias com a City Bank,

MasterCard, First Data e Sprint, criando um ecossistema aberto para comércio

eletrónico.

As redes sociais estão em constante crescimento, seja pelas novas redes que são criadas ou

pela quantidade de novos utilizadores, a integração com NFC é algo que tem vindo a ser

explorado, bem como a partilha de conteúdos em dispositivos. Exemplos:

• Operador Japonês NTT DoCoMo e Twitter anunciaram parceria (Weaver, 2011) que

consiste em desenvolver serviços baseados na localização do telemóvel, dando ao

utilizador a possibilidade de retornar resultados de pesquisas mais ricos quando se

utiliza o Twitter em tempo real. Este novo desenvolvimento é complementar ao serviço

“Tap to Follow” (Perez, 2011) que permite aos utilizadores da operadora seguirem

twitters, bastando aproximar o equipamento com NFC da tag com informação do Twitter.

Page 34: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

16

• A rede Social FourSquare (foursquare, 2011) anunciou experiência com o smartphone

Samsung Nexus S equipado com Android e chipset NFC, que consistia em aproximar o

telemóvel junto de um marcador e esta atividade realizava check in na rede FourSquare.

• DoubleTwist lançou funcionalidade (Lawer, 2011) para o Android que permite partilhar

ficheiros MP3 entre dois telemóveis NFC. A proximidade entre os dois telemóveis faz

com que despolete automaticamente a partilha de ficheiro através da rede Wifi ou

Bluetooth.

A procura constante por inovação faz com que novas áreas passem a ser alvo da integração

com NFC, como exemplo os jogos:

• A Nokia juntou o NFC ao ambiente dos jogos (Nokia, 2011), disponibilizando no Nokia

C7 uma versão exclusiva do jogo Angry Birds, que permite aos utilizadores com

equipamento NFC desbloquear o acesso a 5 níveis do jogo, desde que “toquem” o seu

equipamento com outro equipamento NFC e com o jogo instalado, criando uma

dinâmica completamente nova num mercado onde o NFC ainda não tem grande

integração.

2.4 NFC em Portugal

O mercado em Portugal está acompanhar a evolução da tecnologia de forma passiva,

observando quando é o melhor momento para começar a apostar seriamente. Porém de

destacar algumas atividades já efetuadas:

• Teste realizado em Lisboa, ano de 2009,os 3 operadores móveis juntaram-se para um

teste em pequena escala para utilizar o NFC como sistema de bilhética para o metro de

Lisboa, o objetivo passava por expandir ao restantes transportes da capital mas até ao

momento não existiu grande evolução (Clark, 2009).

• Recentemente, os 3 operadores móveis anunciaram um acordo de princípio para a

criação de uma entidade independente, que faça a gestão dos serviços e sistemas de

pagamentos com NFC em Portugal. Esta entidade terá que gerir a plataforma que

garante uma ligação segura entre o chip NFC e o cartão SIM, ambos já integrados no

telemóvel (Séneca, 2011).

Page 35: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

17

2.5 Tecnologia NFC

A tecnologia NFC é uma tecnologia bidirecional de curto alcance, sem fios, que utiliza Rádio

Frequência (RF) para estabelecer uma ligação com outros dispositivos eletrónicos que estejam

próximos.

NFC usa a banda UHF na frequência 13.56MHz, com velocidades de transmissão de dados de

106Kbit/s, 212Kbit/s e 424Kbit/s até uma distância de 20 cm. Maiores taxas de velocidade são

esperadas no futuro.

Para uma comunicação com NFC é necessário que exista:

• Dispositivo com NFC com modo de leitura e escrita, denominado de dispositivo ativo, para

iniciar as comunicações, escrever e controlar a troca de informação;

• Dispositivo passivo que possui uma tag NFC, que contém informação que pode ser lida e

transferida para o dispositivo ativo com NFC.

A comunicação entre dispositivos NFC poderá ser em modo passivo ou ativo. No modo ativo,

ambos os dispositivos criam o seu próprio campo de rádio para transmitir os dados. No modo

passivo, apenas um dos dispositivos cria um campo RF e o outro dispositivo usa a modulação

existente para transferir dados. O protocolo NFC especifica que o dispositivo que inicia a

comunicação é responsável por criar o campo RF.

Tecnicamente, um sistema NFC consiste em dois elementos que precisam de ser

implementados num dispositivo móvel:

• Um módulo NFC inclui um chipset NFC e uma antena. Este módulo de Hardware

necessita de ser integrado no dispositivo móvel.

• Um elemento de segurança que guarda as aplicações NFC, que deverão estar pré-

instaladas ou instaladas over-the-air. Existem 3 diferentes opções para implementação

deste elemento de segurança:

o Elemento de segurança no Cartão SIM. Esta opção é a preferida pelos operadores

de telecomunicações móveis GSM e UMTS porque permite ao operador controlo

sobre as aplicações NFC. Com esta arquitetura, o elemento de segurança no

cartão SIM comunica com o módulo NFC do dispositivo móvel através de protocolo

Page 36: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

18

Single Wire (SWP), cujo standard pelo definido pela European Telecommunication

Standard Institute (ETSI), entidade responsável por definir standards que permitam

ao mercado Europeu funcionar como um todo ao nível das telecomunicações.

Assim a pedido dos operadores, as soluções centradas no cartão serão

suportadas e desenhadas pelos fabricantes de telemóveis.

o Elemento de segurança poderá estar num cartão de memória removível, implica a

necessidade de um mais um slot para um novo cartão de memória. Esta opção

assume-se como viável, principalmente desde que é possível oferecer NFC

através do slot dos cartões MicroSD, a maioria dos telemóveis suportam ou irão

suportar um slot para cartões MicroSD.

o Elemento de segurança embebido no telemóvel, metodologia seguida pela Nokia e

para Google.

Figura 4-Elementos da implementação NFC no telemóvel

Existem várias opções para implementação de interface de utilizador para aplicação NFC:

• Java to mobile edition (J2ME)

• SIM Toolkit

Cartão SIM

Cartão de memória

Elemento segurança embebido no telemóvel

Elemento Segurança

Elemento de segurança (armazena aplicações NFC)

Modulo NFC (Chipset e Antena)

Download Over-The- Air

Interface Utilizador

Page 37: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

19

• Aplicações nativas

Um telemóvel com NFC pode operar de acordo com os seguintes modos (Madlmayr, et al., 2007):

• Modo de leitura/escrita: Neste modo, o telemóvel com NFC pode ler e alterar a informação

numa TAG passiva compatível com NFC.

• Emular um Cartão: Um telemóvel NFC pode atuar como um smart card podendo ser

utilizado para pagamentos e compra de bilhetes por exemplo.

• Peer-to-peer: Permite que dois telemóveis com NFC possam estabelecer uma

comunicação bidirecional para trocar informação, tais como contactos, conteúdos

multimédia ou qualquer outro tipo de informação.

De acordo com a especificação do NFC Forum (NFC Forum, 2006-2011), a Figura 5 apresenta de

forma sumária a relação dos diferentes modos e os protocolos associados a cada modo, bem

como as tags compatíveis.

Figura 5 - Visão sumária do standard especificado por NFC Forum

Aplicações

LLCP (Logical Link

Control Protocol) NFCIP

RTD (Record Type Definition)

& NDEF

(Data Exchange Format) Tag Type 1,2,3,4

Card Emulation

(Smart Card

Capability for Mobile Devices)

Camada RF ISO 18092 + ISO 14443 Type A, Type B + FeliCa

Modo Peer to peer

Modo Leitura/Escrita Modo emular cartão

Comutação de modos

Page 38: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

20

Os próximos capítulos descrevem com mais detalhe os protocolos associados a cada modo.

2.6 Especificações NFC

O NFC foi aprovado como um standard ISO/IEC em Dezembro de 2003 e mais tarde como um

standard ECMA.

NFC está especificado nos standards:

• ECMA-340 e ISO/IEC 18092 - Near Field Communication Interface and Protocol-

1 (NFCIP-1) (ECMA, 2004)

• ISO/IEC 21481 / ECMA-352 - Near Field Communication Interface and Protocol-2

(NFCIP-2) (ECMA Internacional, 2010)

Estes standards incluem especificações relacionadas com esquemas de modulação,

codificação, velocidades de transferência dos dados, formato dos interfaces RF dos dispositivos

NFC, esquemas de inicialização de ligações, condições de anti colisão de dados, bem como

protocolos de transportes de dados, protocolos de ativação e métodos de troca de informação.

A tecnologia NFC incorpora uma variedade de standards existentes, tais como:

• Standard Smart Card ISO 14443 tipo A (WG8, 2000-2011) e tipo B (ATMEL, 205)

• Mifare – Adiciona no ISO 14443 type A

• FeliCa (Sony, 2004)

O facto de o NFC derivar destes standards, permite que a sua integração seja mais fácil, sendo

compatível com um grupo de cartões que são largamente utilizados para pagamento de

transportes públicos ou controlo de acessos. Consulta capítulos 2.6.1, 2.6.2, 2.6.3, 2.6.4 para

mais detalhe.

Como complemento, a organização NFC Forum definiu um formato de dados comum,

denominado por NFC Data Exchange Format (NDEF), que permite guardar e transportar

diferentes tipos de dados, desde objetos MIME2 até texto curto tal como endereços de internet,

ver capitulo 2.7-Protocolos NFC.

2 Multipurpose Internet Mail Extensions – ver descrição em http://en.wikipedia.org/wiki/MIME

Page 39: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

21

2.6.1 ISO 14443

O protocolo ISO 14443 é um standard internacional bem conhecimento, desenvolvido

originalmente para a comunicação de cartões em proximidade na frequência de rádio

13.56MHz.

O protocolo está dividido em 4 partes e a sua composição vai desde a camada de rádio até à

camada de protocolo de transmissão.

Existem duas versões para a camada de rádio ISO14443-2, com diferentes métodos de

modulação e codificação. Estas versões são conhecidas por versão A e B do protocolo ISO

14443.A segunda camada, de construção dos pacotes e de baixo nível, tem igualmente duas

versões semelhantes, ISO 14443-3 A/B. Por último, a camada de todo define o interface para

transmissão de informação, ISO 14443-4.

Figura 6 - Composição protocolo ISO 14443

2.6.2 NFCIP-1

A comunicação peer-to-peer entre dois dispositivos NFC é realizada através de mecanismos

definidos no protocolo Near Field Communication – Interface and Protocol specification, NFCIP-

1, também conhecido por ISO 18092/ECMA 340.

2.6.3 MIFARE

Este protocolo está relacionado com um tipo de tags proprietárias desenvolvidas pela NXP

Semiconductors, estas tags são largamente utilizadas como cartões de memória em aplicações

de transporte. A - ISO 14443 MifareFigura 7 apresenta as camadas que constituem o protocolo.

ISO 14443-4 Protocolo do Interface para transmissão de dados

ISO 14443-3A ISO 14443-3B

ISO 14443-2A ISO 14443-2B

Protocolo para construção dos pacotes e de baixo nível

Rádio

Page 40: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

22

Figura 7 - ISO 14443 Mifare

2.6.4 FeliCa

FeliCa é uma tecnologia de tags NFC desenvolvida pela Sony e é largamente utilizada para

pagamentos e aplicações de transportes no mercado asiático. Estas tags representam o

standard da indústria japonesa e são baseadas no modo passivo do ISO 18092, com a adição

de funcionalidades de autenticação e encriptação.

Figura 8 - ISO 14443 FeliCa

2.7 Protocolos NFC

O NFC Fórum especificou um formato de encapsulamento de mensagens para troca de

informação entre dispositivos NFC ou leitores ou tags, desde que estes elementos sigam a

especificação do NFC Fórum, esse formato é denominado de NFC Data Exchange Format

(NDEF) (NFC FORUM, 2006).

2.7.1 NDEF

NDEF é um formato de mensagem binária para troca de carga aplicacional ou payload, de

qualquer tipo ou tamanho dentro de uma única mensagem. O payload é descrito por um tipo, o

MIFARE command protocol Protocolo do Interface para transmissão de dados

ISO 14443-3A

ISO 14443-2A

Protocolo para construção dos pacotes e de baixo nível

Rádio

ISO 18092 Protocolo do Interface para transmissão de dados

ISO 14443-3A

ISO 14443-2A

Protocolo para construção dos pacotes e de baixo nível

Rádio

FeliCa

Page 41: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

23

tamanho é um identificador opcional. Tipos possíveis são os URI, tipo MIME e tipos específicos

do NFC.

O tamanho é um inteiro positivo ou negativo que indica o número de bytes do payload, para

payload mais pequeno existe um registo mais pequeno e compacto. Os payloads podem incluir

mensagens aninhadas ou cadeias de blocos ligados com tamanho desconhecido no momento

em que os dados são gerados. NDEF é apenas um formato de mensagem e não guarda

informação sobre as ligações ou sobre os circuitos lógicos.

A especificação NDEF define o formato da estrutura de dados NDEF e as regras para criar uma

mensagem NDEF valida, bem como para uma coleção de registos NDEF continuo, intactos e

ordenados. O NDEF assume um protocolo fundamental e confiável e não especifica como é

que os dados têm que ser transferidos entre entidades NFC. O tamanho das mensagens é de

2^32-1Bytes.

Baseado no NDEF, o NFC Fórum desenvolveu 4 diferentes definições de tipos de registo NFC,

nomeadamente Texto, URI, Smart Poster, e Controlo Genérico. O objetivo é permitir que os

programadores consigam criar as suas aplicações da forma correta, utilizando um conjunto de

regras e formatos gratuitos e disponíveis para todos.

O tipo de dados num registo e o seu tamanho ficam guardados num Header anexado ao

payload. O Header inclui um campo “tipo” que identifica o tipo payload, o tamanho do payload

indica o número de octetos no payload. Pode ainda ser utilizado um identificador opcional que

permite que aplicações para o utilizador consigam identificar o tipo de payload transportado

num registo NDEF. O formato do valor do campo “tipo”

Page 42: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

24

Figura 9 - Mensagem NDEF

(Baseada nas especificações NFC)

2.7.2 Record type definition (RTD)

A Figura 10 - Tipos de registo NDEF apresenta de forma resumida os diferentes registos NDEF

e o tipo de carga que cada registo pode conter.

Figura 10 - Tipos de registo NDEF

Smartposter

Texto

Uri• Web URL• email• SMS• Tel

MIME

Imagem

vCard

Texto Controlo Generico Assinatura Vazio

Mensagem NDEF

Registo 1 Registo 2 Registo 2

Header Payload

Identificador Tamanho Tipo

Page 43: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

25

Tabela 1-Tabela exemplo da composição de registos NDEF

2.7.2.1 Registo de Texto

Registo de texto é o tipo mais simples, pode conter apenas uma string ou um texto descritivo de

outro registo.

As mensagens com este tipo de registo podem conter 3 campos:

• Encoding

o Pode ser UTF-8 ou URT-16

• Código de linguagem

o Normalmente possui em 2 a 5 caracteres. Exemplo: pt-PT

• Texto, exemplo (19bytes):

Exemplo Header e tipo de

Registo (Type

name format-

TNF)

Tamanho

do tipo

Tamanho

da carga

Tipo Encodin

g

Código

Lingua

gem

Texto

Registo de

texto

NfcRtd (Record

type definition)

1 15 T UTF-8 pt-PT Vodafone

Portugal

Tabela 2 - Exemplo de um registo Texto

Campos opcionais

Page 44: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

26

2.7.2.2 Registo URI

O registo URI é composto por um código que identifica o tipo de URI, contem abreviaturas, por

exemplo: 0x01=”http://www.”, 0x05 =tel:

Exemplo Header e tipo de Registo (Type name format-TNF)

Tamanho do tipo

Tamanho da carga

Tipo Código do identificador Uri

Uri

Registo Uri NfcRtd (Record type definition)

1 10 U 0x01 Vodafone.pt

Tabela 3 - exemplo registo Uri

2.7.2.3 Registos Smart Poster

O registo Smart Poster pode conter outros tipos de registo NDEF, o seu conteúdo deverá ter:

• Registo Uri

• Pode ter um título, ação recomendada (Abrir, armazenar, editar), icon (MIME), tamanho

e tipo.

Exemplo Header e tipo de Registo (Type name format-TNF)

Tamanho do tipo

Tamanho da carga

Tipo Registo Uri Registo de Texto

Registo Smart Poster

NfcRtd (Record type definition)

2 33 Sp 0x01, “Vodafone.pt”

UTF-8, pt-PT, “Vodafone Portugal”

2.7.3 LLCP

Para melhoria o modo peer-to-peer, o NFC Forum especificou um protocolo ao nível da camada

de ligação de dados, conhecidos por “logical link control protocol” (LLCP). Este protocolo

fornece funcionalidades adicionais à especificação NFCIP-1/ISO 18092.

LLCP introduz duas vias de ligação de dados, permitindo assim que ambos os dispositivos

possam enviar e receber dados, utilizando os seguintes métodos para transferência de dados:

• Transferência de ligação orientada, na qual as transferências de dados são

reconhecidas/confirmadas pelos peers

• Transferência sem ligação, onde as transferências de dados não são reconhecidas

Page 45: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

27

Tabela 4 - Modelos de referência LLPC

2.8 Tag NFC

Uma das características principais do NFC, é o facto de dispositivos ativos com NFC ou leitor,

poderem tocar ou aproximar dispositivos passivos com uma tag NFC de modo a ler e transferir

informação do dispositivo passivo para o ativo.

A tag NFC possui pequenas quantidades de informação, mas que são suficientes para que o

dispositivo ativo tenha todas as instruções para executar uma ação ou obter mais informações.

Por exemplo, a tag pode estar num poster que promova uma aplicação para telemóvel, esta tag

poderá conter apenas um URL para download da aplicação, em que o objetivo é que o

utilizador toque o telemóvel NFC na tag para ler o URL, existindo uma aplicação no telemóvel

que abre o browser de internet com o URL lido, de modo a iniciar o download.

Atualmente o custo de um tag é de cerca de trinta cêntimos (Mages, 2011), mas novas formas

de produção estão a ser desenvolvidas o que poderá reduzir o preço para cerca de cinco

cêntimos (McLean, 2011). Esta redução criará condições para que a tecnologia se massifique

mais rapidamente.

2.8.1 Tags NFC Forum

Foram definidos 4 tipos de tags, que diferem no formato e na capacidade. O formato foi

baseado nos standards internacionais ISO 14443 Type A e B, com exceção do ISO 18092 para

sistemas Sony FeliCa. Os diferentes tipos são:

• Tag Tipo 1: A tag tipo 1 é baseada na norma ISO14443A. Estas tags suportam leitura e

rescrita, podendo ser configurada como apenas de leitura. Tem 96bytes de memória

disponível, expansível a 2KB, que é o suficiente para guardar um URL para uma página

Modelo de referência IEEE 802 Lan

Modelo de referência OSI

LLPC

Page 46: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

28

de internet ou pequenas quantidades de informação. A velocidade de comunicação é de

106Kbit/s. A simplicidade desta tag faz com que tenha custos mais baixos e que seja o

ideal para uma boa parte das aplicações NFC (NFC FORUM, 2007).

• Tag Tipo 2: Igual à tag tipo 1 com exceção que tem 48bytes de memória disponível,

expansível a 2KB (NFC FORUM, 2007).

• Tag Tipo 3: A tag tipo 3 é baseada no sistema Sony FeliCa. Tem 2KB de capacidade de

memória e consegue velocidades de comunicação de 212 Kbit/s ou 424 Kbit/s. Esta tag

é mais orientada para aplicações NFC mais complexas, implica que tenha um custo

superior por tag (NFC FORUM, 2007).

• Tag Tipo 4: A tag tipo 4 foi definida para ser compatível com as normas ISO14443A e B.

Estas tags são pré-configuradas no ponto de fabrico e podem ser de leitura e rescrita ou

apenas de leitura. A sua capacidade de memória pode ser até 32KB, podendo a

velocidade de comunicação ser entre 106 kbit/s e 424kbit/s (NFC FORUM, 2010).

Como podemos ver pelas descrições anteriores, o tipo 1 e 2 distinguem-se do tipo 3 e 4 pelas

suas capacidades de memória e velocidade, sendo orientadas para diferentes tipos de

aplicações. Uma das principais diferenças deve-se ao facto do tipo 3 e 4 normalmente estarem

em modo só de leitura, a escrita é realizada pelo fabricante ou poderá ser realizada através de

um sistema específico de escrita de tags.

Ver Anexo 3 – TAGs NFC e a sua aplicação, para informação de quais os melhores tipos de tag

para cada tipo de aplicação.

2.8.2 Tags NXP

A empresa NPX Semiconductors definiu um tipo de tag proprietário, MIFARE Classic (NPX

Semicondutors, 2010) que tem como principais características:

• Baseado no standard ISO-14443A

• Permite leitura e escrita, podendo ser configurada apenas com modo de leitura

• Memória poderá variar entre os 192, 768 ou 3584 bytes

• Velocidade de comunicação até 106 kbits/s

• Suporte anti colisão

• Compatível com outros produtos já disponíveis no mercado, tais como: NXP MIFARE Classic 1K, 4K ou Mini.

Page 47: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

29

2.8.3 Componentes

Figura 11-TAG NFC

A tag NFC é um dispositivo passivo sem fonte de energia, a energia necessária para enviar e

ler a informação armazenada é obtida do leitor, que transmite ondas eletromagnéticas. Estas

ondas são intercetadas pela TAG e convertidas em energia no Microchip, utilizando um mini-

transformador. No entanto também existem tags que possuem mini baterias para se auto

alimentar e assim podem-se manter sempre ativas, desta forma consegue-se aumentar o raio

de transmissão.

O leitor de NFC comunica com a TAG sem necessidade de contacto físico ou de estarem em

linha de visão. Estes interfaces processam os dados lidos da TAG e comunicam com aplicações

externas para fazer o tratamento da informação.

2.8.4 Modo de funcionamento das Tag: Ativo-Passivo

Modo Ativo

O dispositivo possui uma bateria e não necessita de extrair energia do campo eletromagnético,

principais características:

• Maior campo de alcance

Antena: Em sistemas indutivos, a antena é um fio de arame que contorna o chip de memória. A antena é utilizada para enviar informação armazenada no chip bem como para receber sinais do leitor de NFC.

Microchip: Chip de memória, microscopicamente pequeno, guarda um conjunto de informação (Ex: Fabricante, produto, versão, número de serie, URL, etc.). Dependendo do tipo de aplicação e do chip, estas unidades de armazenamento podem ser rescritas repetidamente.

Page 48: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

30

• Custo mais elevado

• Necessita de um leitor menos potente;

• Vida finita.

Modo Passivo

O leitor fornece energia através do campo eletromagnético aos componentes da tag, principais

características:

• Tags mais pequenos, leves e baratos;

• Vida quase ilimitada;

• Necessitam de leitores mais potentes.

2.9 Comparação com outras tecnologias

A Tabela 5-Comparativo entre tecnologias de seleção

Fonte: ,apresenta uma comparação entre o NFC e outras tecnologias com características

semelhantes, de interação através do contacto físico ou visual.

Page 49: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

31

Tabela 5-Comparativo entre tecnologias de seleção

Fonte: (Tuikka, et al., 2009)

NFC Visual Code IrDA RFID UHF Bluetooth

Modo de

interação

TouchMe PointMe

(TouchMe)

PointMe ScanMe

(TouchMe)

(PointMe**)

ScanMe

Tipo de

transferência de

dados

Unidireccional e

Bidireccional

Unidireccional Bidireccional Unidireccional

(Bidireccional)

Bidireccional

Taxa de

transferência

Media Media Alta Media Baixa Alta

Latência Curta Curta Media Curta Longa

Distância de

Alcance

Curto (médio*) Curto-longo Médio (longo) Médio-longo Longo

Tipo de

armazenamento

de dados

Fixa (Dinâmica) Estática Dinâmica Fixa (Dinâmica) Dinâmica

Capacidade de

armazenamento

Limitado

(ilimitado*)

Limitado Ilimitado Limitado

(ilimitado*)

Ilimitado

Processamento

de dados

Limitado

(ilimitado*)

Não Sim Limitado

(ilimitado*)

Sim

Custo unitário Baixo Muito Baixo Médio Baixo Médio - Alto

Consumo de

energia

Sem consumo

(Baixo*)

Sem consumo Médio Sem consumo

(Baixo*)

Médio – Alto

Suporte para

Telemóveis

Limitado Sim, telemóveis

com câmara

Sim Não Sim

*Tags com Bateria **Quando combinado por exemplo com um sensor de luz

Esta tabela compara diferentes tecnologias de contacto físico ou visual e mostra-nos que a

tecnologia “Visual Codes” é superior quando consideramos o fator custo unitário como critério

fundamental, mas é inferior quanto a fornecer uma experiência ao utilizador mais simples e

intuitiva. O NFC é adequado quando é necessário troca de informação de forma bidirecional ou

Page 50: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

32

mais capacidade de memória. Além de que, as tags NFC podem ser o interface para outros

sistemas digitais, tais como terminais Point of Sale (POS), ou sensores, o que não é possível de

se conseguir com os Visual Code. As tags baseadas no IrD são mais caras do que as

anteriores. Do ponto de visto de mercado, o NFC é visto com maior potencial comercial.

O Bluetooth aparece apenas como uma referência mas é frequente comparar-se o Bluetooth

com o NFC no que diz respeito a ligações peer-to-peer. Com base na análise realizada, concluí

que o NFC é mais vantajoso em relação a:

• Simplicidade na Interação entre dois dispositivos, baseado no toque

• NFC possui baixa latência ao contrário do Bluetooth que é das tecnologias com maior

latência;

• Consome menos bateria

• Custo unitário mais barato do que o Bluetooth, tecnologia menos complexa

• Devido ao curto alcance é menos suscetível a interferência ou interceção na

comunicação.

No entanto também apresenta algumas desvantagens, nomeadamente:

• O curto alcance pode dificultar a comunicação com outro telemóvel ou outro ponto de

acesso fixo;

• Baixa taxa de transferência pode fazer com que a comunicação para transmitir pacotes

de dados maiores seja demasiado longa;

• A localização da antena terá que ser do conhecimento do utilizador;

Algumas destas desvantagens podem ser reduzidas se utilizarmos o NFC em combinação com

outras tecnologias tais como o Bluetooth, Wifi ou 3G.

A Figura 12, mostra como o NFC se posiciona face a outras tecnologias no que diz respeito

taxa de transferência e alcance.

Page 51: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

33

Figura 12-NFC e outras tecnologias

Fonte:NFC Forum

2.10 Segurança

Todos os tipos de redes sem fios são vulneráveis a várias ameaças. Facilmente se consegue

escutar um canal e o sinal projetado é perturbado por outros sinais. Estes pontos estão para

além do objetivo desta dissertação mas será feita uma análise resumida a estas ameaças. O

problema de uma transmissão de rádio é que é possível que utilizadores maliciosos possam

aceder ao canal sem serem os seus proprietários. Sem proteção, é possível capturar os

pacotes de dados transferidos, alterar a informação ou guardar as mensagens para que possa

fazer uso malicioso destas. Para superar estas ameaças, os sistemas precisam de implementar

autenticação, confirmação de integridade dos dados, confidencialidade e proteção a respostas.

O nível de proteção necessária deverá ser definido ao nível da aplicação.

A possibilidade de realizar pagamentos com recurso a esta tecnologia, faz com que existam

maiores preocupações de segurança, o potencial de risco aumenta. A partilha de conteúdo

privado poderá já não precisar do mesmo nível de segurança.

Os standards ISO 14443 e o ISO 18092 não especificam um modelo de encriptação ou de

segurança para este tipo de comunicações, neste caso esta funcionalidade terá que ser

desenvolvida na camada aplicacional.

Page 52: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

34

No entanto, neste momento as maiores organizações do mercado, tal como a VISA ou

MasterCard, bem como os fabricantes dos equipamentos estão a desenvolver e implementar

diversas soluções de segurança. Algum trabalho já é público mas a especificação técnica não é

conhecida do mercado, apenas dos respetivos parceiros de negócio.

O modo de comunicação passiva posiciona-se como uma boa solução para transferir dados

sensíveis, é mais difícil escutar mensagens do que o modo de comunicação ativa. O pequeno

período de tempo para se estabelecer a comunicação é igualmente essencial para aplicações

que venham a ser utilizadas para pagamento de transportes públicos ou controlo de acesso. No

entanto esta funcionalidade pode ser utilizada pelos dois tipos de comunicação, ativa e passiva.

2.11 Arquitetura

Os dispositivos NFC possuem um chip Smart Card seguro que está junto ao controlador NFC,

este controlador garante a conversão dos sinais digitais transferidos na proximidade na ligação.

Este circuito integrado é referenciado como o Elemento Seguro (SE) utilizado para quando

opera no modo de emulação de TAG.

Este elemento seguro está conectado ao controlador NFC para a proximidade das transações

(exemplo: Pagamentos no ponto de venda). O controlador local é igualmente capaz de trocar

informação com o elemento seguro, conforme podemos ver na figura seguinte:

Figura 13-Arquitectura da tecnologia NFC integrada num telemóvel

Fonte: (Langer, et al.)

Page 53: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

35

A ligação física entre o elemento seguro é SWP (GSM Association, 2008), definida pela GSMA.

A tecnologia NFC é muito próxima do RFID. Sendo que o RFID é mais utilizado para

identificação e rastreio de objetos e de pessoas sem ser necessário estar em linha de visão, por

outro lado o NFC é mais orientado para transações mais sofisticadas e seguras. No entanto

ambas as plataformas têm várias camadas e uma conceção do protocolo que é comum.

2.12 Campo RF

Conforme referido nos pontos anteriores, o NFC opera na banda ISM3 de frequência 13,56MHz.

As bandas de frequência ISM não estão licenciadas e estão abertas para todos os fabricantes

de equipamentos rádio desde que se mantenham dentro dos limites da potência a emitir. Isto

significa que a interferência de outros equipamentos tem sempre que ser tida em consideração,

porque não é possível controlar o ambiente.

O transmissor de frequência (fc) é de 13,56MHz e a largura de banda do canal é de

aproximadamente 1MHz. A modulação e as técnicas de codificação definem a velocidade de

transferência dos dados. Um dispositivo ativo gera continuamente um campo rádio para ser

explorado por uma Tag. Um campo não modulado terá que se manter entre 1,5 A/m4 rms5

(Hmin) e os 7,5 A/m rms (Hmax), e irá ser modulado durante a comunicação. Todos os

dispositivos NFCIP-1 enquanto tentam detetar campos RF externos, deverão também detetar

quaisquer campos externos superiores a 0,1875 A/m (Htreshold).

2.13 Fluxo do protocolo ISO 18092

De forma a assegurar uma operação correta, um dispositivo NFCIP-1 terá que seguir

sequencialmente o seguinte conjunto de operações:

• Qualquer dispositivo NFCIP-1 deverá estar por defeito em modo passivo

• Quanto se encontra no modo passivo, não deverá criar qualquer campo RF e deverá

aguardar silenciosamente por um comando por parte do dispositivo iniciador

• O dispositivo NFCIP-1 apenas passa para modo ativo se assim for requerido pela

aplicação

3 ISM – Industrial, Scientific and Medical 4 A/m- Ampère por metro - Unidade que mede o campo magnético, 5 Rms – Root Men Square - valor eficaz é uma medida estatística da magnitude de uma quantidade variável.

Page 54: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

36

• A aplicação deverá determinar se a comunicação é em modo ativo ou passivo e qual a

velocidade de transferência

• O iniciador deverá verificar se deteta um campo RF externo e caso detete não deverá

iniciar o seu campo de RF

• Se não detetar qualquer campo RF externo, deverá assim ativar o seu campo RF

• O dispositivo Destinatário deverá ser ativo pelo campo RF do Iniciador;

• A transmissão de um comando pelo Iniciador tanto numa comunicação ativa como

passivo irá ocorrer na velocidade de transferência selecionada

2.13.1 Iniciação de uma ligação

Embora o NFC seja uma tecnologia de curta distância, isso não exclui o risco de colisões.

Pretendo apenas descrever de forma sumária como as colisões são detetadas quando se inicia

uma ligação, não irei aprofundar esquemas de prevenção ou soluções porque não estão dentro

dos objetivos da dissertação.

O NFC possui um protocolo deteta a iniciação de uma ligação e de uma colisão para

comunicações em modo ativo ou passivo. Um iniciador deverá detetar colisões que estejam

ocorrer quando dois ou mais destinatários estão a transmitir um padrão de bits com valores nas

posições dos bits complementares. O diagrama de sequência para inicialização e deteção de

um dispositivo está representado na Figura 14.

Page 55: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

37

Figura 14-Fluxo de inicialização de transação NFC e SDD

Fonte: (ECMA, 2003)

Para prevenir interferência com uma comunicação NFC a decorrer ou com outro equipamento

que esteja a usar a mesma frequência, um campo RF deverá não ser criado enquanto se

detetar um outro campo RF. Isto significa que um iniciador deverá procurar continuamente pela

presença de um qualquer campo de RF externo. Se um campo não for detetado dentro de um

período de tempo específico, o iniciador cria o seu próprio campo RF.

Page 56: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

38

2.13.2 Seleção de modo de comunicação

Existem três diferentes padrões de comunicação sem contacto e de próximo acoplamento que

operam na frequência 13,56 MHz, ISO/IEC 18092 (NFCIP-1), ISO/IEC 14443 (PCD) e ISO/IEC

156593 (VCD). Apesar de usarem a mesma frequência, todas especificam um modo de

comunicação distinto. Para fazer com um dispositivo NFC possa escolher entre estes modos, foi

criado um novo padrão, ISO/IEC 21481 (NFCIP-2). Este padrão especifica o procedimento de

seleção de um dos 3 modos de comunicação e ao mesmo tempo assegura que não existem

perturbações por qualquer uma das comunicações a decorrer na frequência 13,56MHz. A

Figura 15 apresenta o procedimento de seleção de um dispositivo NFCID-2.

Page 57: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

39

Figura 15-Modo de seleção de um dispositivo NFCID-2

Fonte: (ECMA, 2003)

O modo de deteção de um campo RF externo ou a criação do campo RF é igual para o

protocolo ISO/IEC 18092.

Page 58: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

40

2.14 Antenas

Normalmente são utilizadas antenas loop nos cartões sem contacto físico, RFID ou NFC. Uma

das razões deve-se à gestão eficiente da antena face ao seu tamanho e à área ocupada, cada

loop tem a forma de quadrado. Como estes protocolos são baseados na indução

eletromagnética das antenas para fornecer energia aos circuitos internos, estas terão que ser o

mais eficiente quanto possível dentro do espaço físico limitado disponível. A eficiência de uma

antena é medida por um fator de Qualidade, ou fator Q. Isto é baseado numa frequência de

ressonância, no número de voltas e na área efetiva. A frequência de ressonância deverá ser da

frequência do transmissor mas não inferior. Embora aumentando o fator Q, o número de voltas

não poderá ser aumentado de forma ilimitada. Terá que existir um ajuste entre a velocidade de

transferência e o raio de alcance, o fator Q é inversamente proporcional à largura de banda de

um circuito de ressonância transmissor/recetor se a frequência de ressonância for constante.

Normalmente as TAGS NFC tem um loop quadrado com cerca de 3cm de lado, cantos

redondos e cerca de 9 voltas. Integrar uma antena no dispositivo móvel é mais complexo do

que um equipamento de rádio, a sua integração terá que ser individual em cada dispositivo para

que tanto a antena GSM como a NFC sejam o mais eficiente quanto possível. Para os

dispositivos que já possuem NFC integrado no ponto de fabrico, a antena é normalmente

integrada no PCB (Printer Circuit Board). A eficiência da antena depende do metal utilizado,

devido ao efeito de refração, e dos restantes componentes do dispositivo que podem interferir

com as comunicações de rádio. A antena deverá ser capaz de gerar um campo eletromagnético

dentro dos limites definidos no ISO/IEC 18092.

Page 59: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

41

Capítulo 3 – Cenários de implementação e o seu

desenvolvimento “Problema é o preâmbulo da solução”

(Mestre DeRose)

Este capítulo descreve cenários onde esta tecnologia poderá ser utilizada, enquadrada num

contexto de telecomunicações moveis. Para cada cenário é definido o comportamento esperado

e a experiencia que o utilizador terá.

Estes cenários servem de base para a proposta de desenvolvimento desta dissertação, Smart

Poster.

O desenvolvimento destes cenários poderá depender do suporte fornecido pelos sistemas

operativos móveis, assim serão descritas as principais plataformas que já anunciaram suporte

NFC, ferramentas de desenvolvimento e principais aplicações.

3.1 Cenários de implementação

Conforme descrito no início do documento, o foco de utilização do NFC será nos seguintes

cenários:

1. Arranque de um serviço

o Montras nas lojas com tags NFC nos equipamentos de destaque para que o

cliente possa tocar com um telemóvel NFC e obter informações mais detalhadas

sobre o equipamento exibido. A TAG NFC deverá conter um URL cuja leitura

através do telemóvel NFC deverá fazer com que o browser abra com o URL lido.

o Revistas sobre produtos e serviços Vodafone (Ex: clube Viva; Vodafone Shop)

poderão embeber tags NFC nas suas páginas, com o objetivo de que o cliente

com Telemóvel NFC possa obter diferentes informações consoante o conteúdo da

tag (ver Tabela 6);

o Posters publicitários, distribuídos em indoors ou outdoors, equipados com tags NFC que poderão ser lidas por telemóveis NFC

Page 60: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

42

Conteúdo TAG NFC Comportamento telemóvel NFC

URL (ex: para mais detalhes do

equipamento; para loja Vodafone via

Web, por forma a permitir aquisição

do produto consultado)

Abre browser com URL

Número de telefone (ex: número

telemarketing para aquisição de

algum produto; número de apoio a

clientes)

Inicia chamada de voz para o número lido

Texto de SMS e número para envio

(ex: para ativar uma promoção via

SMS)

Cria nova sms de forma automática, com o

texto e número de destino lidos da TAG.

Tabela 6-Exemplos de cenário de Arranque de Serviço

2. Pagamentos Moveis

o Realização de pagamento de faturas

o Carregamento de cartões pré pagos

o Pagamento de compras realizadas nas lojas

3. Configuração de Serviços - OTA Management

o Leitores NFC que permitam identificar qual o telemóvel com NFC através do toque

e enviar procedimentos para configuração automática das ligações de internet,

MMS e SMS

o Instalação automática de aplicações Vodafone

o Configuração de conta de email

o Acesso aos hotspots Wireless Vodafone, configuração automática do acesso

Page 61: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

43

4. Rede sociais

o Estabelecer ligação nas redes sociais entre os clientes e a Vodafone

3.2 Plataformas que suportam NFC

Várias plataformas já fornecem suporte para o NFC, com destaque para as seguintes que já

lançaram ou já anunciaram o lançamento de telemóveis suportando esta norma:

• Android

• Samsung Bada

• Symbian ^3

• RIM

A aposta por parte destas plataformas é o passo que o mercado precisava para comprovar que

o NFC é uma tecnologia com grande importância para o futuro, considerando que estas 4

plataformas representam cerca de 79,1% do mercado dos smartphones (Gartner , 2011), o que

vamos assistir é um acompanhamento do suporte por parte das restantes plataformas, tais

como Windows Phone ou IOS da Apple. A Tabela 7 apresenta o último relatório da Gartner

sobre a distribuição do mercado de smartphones pelas diferentes plataformas, especial

destaque para o crescimento o Android que destronou a Nokia e neste momento representa

quase 50% do mercado. (Gartner , 2011)

Tabela 7-Vendas mundiais de smartphones por plataforma no segundo trimestre de 2011 (unidade: milhares) Fonte: Gartner (Agosto de 2011)

Page 62: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

44

Os próximos capítulos descrevem de forma sumária estas plataformas, com destaque para o

Android que lançou o primeiro equipamento recentemente, apresenta maior crescimento de

mercado e que apresenta uma estratégia claramente superior aos seus competidores fazendo

parcerias ou aquisições com/de organizações estratégicas. Esta foi a plataforma escolhida para

ao desenvolvimento do protótipo.

A Tabela 8 compila as principais ferramentas de desenvolvimento das plataformas que já

suportam NFC e as respetivas classes. A tabela demonstra que a Linguagem de programação

Java e o IDE Eclipse ou Netbeans são os pontos mais comuns entre plataformas, conseguem

cobrir a plataforma Android, RIM e Nokia. Para plataformas que requerem linguagem em C++,

tal como a Nokia e Samsung, o IDE é proprietário e especifico para cada plataforma.

Plataformas IDE Linguagem SDK API NFC

Android

(Google, 2011)

• Eclipse IDE for Java

Developers (Requer

Plug in ADT)

• Intellij IDEA

Java Android sdk

R12

Android.nfc

RIM • Eclipse IDE for Java

Developers

• NetBeans

Java Blackberry

Java SDK

v7.0 Beta

net.rim.device.api.io.nfc

Nokia Symbian

(Nokia, 2011)

• QT Mobility 1.2 beta

for Symbian

C++ Qt SDK 1.1 Connectivity> NFC

• Carbide.c ++ C++ Symbian^3

SDK 3.0

NFC Services

• NetBeans

• Eclipse

Java Symbian^3

SDK 1.0

JSR 257 Contactless

Communication API 1.0 is

Samsung Bada

(Samsung

Electronics Co,

2011)

• Bada IDE C++ Bada SDK

2.0.1

Osp::Net::Nfc

Tabela 8-Suporte NFC por Plataforma

Page 63: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

45

3.2.1 RIM

Empresa Canadiana RIM, conhecida pelos telemóveis Blackberry (Wikipedia, 2011), destaca-se

pelo suporte de email. Foi uma das primeiras empresas a fornecer este serviço, conseguindo

crescer significativamente no mercado empresarial pela sua facilidade de integração com os

servidores de email das empresas.

Recentemente a RIM anunciou o lançamento da versão 7.0 do sistema operativo Blackberry, no

qual inclui o suporte NFC, os primeiros equipamentos serão os modelos 9900 e 9930. (RIM,

2011)

3.2.1.1 Suporte NFC

A Tabela 9 descreve os cenários suportados pela API NFC (Blackberry, 2011) e qual a classe a

utilizar.

Cenários de utilização Classe

Escutar dispositivos NFC na vizinhança NfcTargetDetector

Escutar mensagens NDEF na vizinhança NDEFMessageDetector

Ler Tags NFC NDEFTagConnection.read

Escrever TAG NFC NDEF NDEFTagConnection.write

Simular TAG ou um cartão VirtualNDEFTagCallback

Tabela 9-Suporte NFC Blackberry

3.2.1.2 Aplicações NFC

Estes telemóveis vêm equipados o serviço “tap and go” que permitirá realizar pagamentos

através do telemóvel bem como emparelhar com outros dispositivos Blackberry para troca de

dados.

3.2.2 Nokia

A Nokia é uma multinacional Finlandesa, que se destacou pelos 11 anos de liderança

consecutiva no mercado dos smartphones, através do sistema operativo Symbian mas, nos

últimos 3 anos têm sofrido quedas significativas devido ao IOS da Apple e principalmente

devido ao Android. A Nokia, através da Symbian, continua com um peso de 20% no mercado e

já anunciou mudança de estratégia, com a substituição do sistema operativo Symbian para o

Windows Phone da Microsoft a partir de 2012.

Pioneira na aposta na tecnologia NFC na Serie 40, no entanto apenas serviu para investigação

e experiências uma vez que os equipamentos anunciados não chegaram a ser lançados nas

Page 64: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

46

datas previstas e a empresa perdeu o protagonismo dentro da tecnologia. Recentemente

recuperou a aposta na tecnologia, lançando o Nokia C7 com chipset embebido e já anunciou

que todos os equipamentos Nokia com Symbian^3 irão incluir chipset NFC. (Duncan, 2011)

3.2.2.1 Suporte NFC

O NFC para Nokia é suportado por diferentes tecnologias, Qt, Symbian e Java, todas

oferecendo APIs com suporte NFC. As tecnologias Symbian e Qt são as que oferecem mais

funcionalidades e melhores ferramentas de desenvolvimento para os programadores. A Tabela

10 apresenta um quadro resumo das funcionalidades suportadas pelas diferentes APIs de cada

tecnologia.

Tabela 10 - Comparação das funcionalidades suportadas pelas diferentes APIs

Fonte: (Nokia, 2011)

Page 65: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

47

3.2.2.2 Principais aplicações

A destacar algumas aplicações lançadas pela Nokia (Jakl, 2011) ou em parceria que visam

explorar a tecnologia NFC com outras áreas com forte impacto no utilizador, tais como os jogos

ou redes sociais.

• Angry Birds Magic: A Nokia lançou uma versão exclusiva do famoso jogo Angry Birds,

da empresa Rovio, pré-instalado no telemóvel Nokia C7 que explora as potencialidades

do NFC. O jogo tem 20 níveis, dos quais apenas 5 estão disponíveis, os restantes 5

estão bloqueados, para desbloquear 5 níveis de cada vez, o utilizador necessita de tocar

com o seu Nokia C7 num telemóvel igual ou em tags NFC especificas.

• Poken: Poken é uma rede social que permite trocar cartões de negócio com um toque

entre dispositivos NFC e que possuam a aplicação instalada.

3.2.3 Samsung Bada

Sistema operativo Bada foi desenvolvido pela Samsung, com o objetivo de cobrir telemóveis

smartphones. Lançado apenas em Fevereiro de 2010, ainda não se conseguiu impor no

mercado de forma significativa, no entanto o lançamento da nova versão da SDK, com suporte

para novas funcionalidades, incluindo o NFC mostram que existe ambição de crescimento no

mercado dos smartphones.

A Samsung anunciou que seriam lançados dois telemóveis com Bada 2.0, que inclui suporte

NFC, até ao final de 2011. (Baladan, 2011)

3.2.3.1 Suporte NFC

Os telemóveis equipados com Bada 2.0 poderão operar nos 3 modos:

• Simular cartão

• Leitura e escrita

• Peer-to-peer

A tecnologia NFC é gerida pela classe Osp::Net::Nfc (Samsung, 2011), as principais

funcionalidades estão descritas na Tabela 11.

Page 66: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

48

Cenários de utilização Classe

Gestão do dispositivo NFC NfcManager

Detectar Tag na vizinhança INfcTagDiscoveryEventListener

Escutar mensagens NDEF na vizinhança INdefMessageDiscoveryEventListener

Ligação à tag TagConnection

Manipular dados NDEF NdefMessage

Lançar aplicações com base no registo lido RegisterAppLaunch

Tabela 11-Principais funcionalidades suportadas pela API NFC

3.2.3.2 Principais aplicações

Até ao momento ainda não existem aplicações de destaque anunciadas.

3.2.4 Android

Android consiste em várias camadas de Software para dispositivos móveis, incluindo um

sistema operativo, middleware e vários tipos de aplicações (Wikipedia, 2011). Adquirido pela

Google em 2005, baseia o seu Sistema Operativo numa versão modificada do Kernel Linux.

Este sistema operativo tem tido um crescimento significativo no mercado dos Smartphones,

conseguindo que atualmente seja o lider do mercado (Gartner , 2011). O equipamento utilizado

para esta dissertação, Samsung Nexus S, vem equipamento com sistema operativo Android,

daí que as ferramentas de desenvolvimento sejam as recomendadas pela Google. A camada

de Software consiste em aplicações Java baseadas numa Framework que contém as principais

bibliotecas do Java e que correm na máquina virtual Dalvik (Wikipedia, 2011) com um

compilador JIL (Wikipedia, 2011).

Principais Características (Google):

• Máquina virtual Dalvik otimizada para dispositivos móveis.

• Browser internet integrado baseado no motor open source WebKit.

• Gráficos otimizados e uma biblioteca customizada de gráficos 2D, gráficos 3D baseados

na especificação penGL ES 1.0.

• SQLite para armazenamento das estruturas de dados.

• Suporte formatos áudio, vídeo e imagens (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG,

GIF)

• GSM Telephony

Page 67: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

49

• Bluetooth, EDGE, 3G, e WiFi

• Câmara, GPS, compass, e acelerómetro

• Ambiente de desenvolvimento poderoso, inclui emulador de terminais, ferramentas de

debugging e plugin para IDE Eclipse.

A SDK Android disponibiliza ferramentas e APIs necessárias para realizar o desenvolvimento

de aplicações para a plataforma Android utilizando linguagem de programação Java.

O pacote android.nfc (Google, 2011) que contém classes de alto nível para interagir com o

adaptador NFC instalado no dispositivo móvel, para representar uma TAG e para utilizar

formato de dados NDEF.

3.2.4.1 IDE

3.2.4.1.1 Eclipse IDE

O Eclipse (Wikipedia, 2011) é um ambiente de desenvolvimento de software em múltiplas

linguagens, compreendendo um ambiente de desenvolvimento integrado (IDE) e extensível à

adição de plugins. A linguagem de programação Java é a mais frequentemente utilizada mas

existe suporte a várias outras opções tais como: ADA, C, C++, Cobol, Pearl, PHP, Python,

Ruby.

A versão considerada para este desenvolvimento foi a “Eclipse IDE for Java Developers”

(Foundation, 2010), plataforma gratuita e a mais utilizada no desenvolvimento de aplicações

para Android, possui Java Virtual Machine.

O desenvolvimento para Android requer o plugin ADT (Google, 2009), este plugin fornece um

conjunto de ferramentas essenciais para o desenvolvimento de projetos para Android,

nomeadamente ferramentas de desenho de interface gráfico, debug, criação do ficheiro de

instalação, entre outras funcionalidades que fazem com o Eclipse seja a ferramenta mais

desejada para o desenvolvimento de aplicações para o Android.

3.2.4.1.2 UI-DroidDraw

Para o desenho da interface gráfica da aplicação Android, foi utilizada a aplicação DroidDraw

que permite desenha a interface gráfica com base num GUI e gerar o código XML que depois é

importado para o projeto criado no Java IDE(DroidDraw, 2011).

Page 68: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

50

3.2.4.1.3 Linguagem de Programação Java

Java é uma linguagem de programação desenvolvida pela Sun Microsystems em 1995, que

deriva da sintaxe do C e C++ mas com um modelo de objetivo mais simples e com menos

possibilidades de acesso ao baixo nível. Java é uma linguagem orientada a objetos,

concorrente e baseada em classes que especialmente desenhada para ter implementações

com o menor número de dependências possíveis. O objetivo é que o seu código consiga ser

executado em qualquer máquina virtual, é atualmente das linguagens mais utilizadas para

desenvolver aplicações e para Web. (Wikipedia, 2011)

3.2.4.2 Suporte NFC

A Google disponibilizou o pacote android.nfc (Google, 2011) que possui classes que permitem

interagir com o adaptador local NFC, obter dados das tags encontradas e utilizar os dados no

formato NDEF. A Tabela 12 descreve os cenários suportados pela API NFC(Google, 2011) e

quais as classes a utilizar.

Classe Descrição

NfcManager Identificar adaptador NFC presente no dispositivo

NfcAdapter Representa o adaptador NFC local

NdefMessage Contem a informação que será lida ou transmitida

NdefRecord Representa um tipo de registo, poderá ser um texto, URL,

Smart Poster ou qualquer tipo de dados MIME. Um

NdefMessage pode ter um ou mais NdefRecord

Tag Representa uma tag de destino passiva, pode ser utilizada

para simular um cartão. Para obter a listagem de tecnologias

suportadas por um cartão poderá utilizar o método

getTechList().

Tabela 12-Classes android.nfc

O pacote android.nfc.tech contém classes que permitem identificar o tipo de tecnologias

suportadas por uma tag, por exemplo se é uma tag do tipo 1 ou Mifare. Os principais métodos

estão listados na Tabela 13.

Descrição Métodos

Métodos relativos à ligação à tag:

Connect()

Close()

isConnected()

Estabelece ligação à tag

Fecha ligação à tag

Verifica se a ligação à tag ainda está ativa

Page 69: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

51

getTag() Obtêm apontador para tag, sendo possível obter todas as suas

propriedades, nomeadamente a tecnologia

byte[] transceive(byte[] raw) Troca de dados

NdefMessage Contem a informação que será lida ou transmitida

NdefRecord Representa um tipo de registo, poderá ser um texto, URL,

Smart Poster ou qualquer tipo de dados MIME. Um

NdefMessage pode ter um ou mais NdefRecord

Tag Representa uma tag de destino passiva, pode ser utilizada

para simular um cartão. Para obter a listagem de tecnologias

suportadas por um cartão poderá utilizar o método

getTechList().

Tabela 13-Classes android.nfc.tech

As principais limitações das classes atuais prendem-se com a obtenção dos dados NDEF que

apenas pode ser realizada com atividades em foreground em vez de uma gestão de baixo nível

dos registos contidos nas mensagens.

3.2.4.3 Principais aplicações

Anunciado o lançamento do primeiro equipamento com NFC, rapidamente o número de

aplicações disponíveis para Android cresceu significativamente e hoje temos mais de 100

aplicações disponíveis para download no Android Market, com destaque para:

• Google Wallet – Esta é o principal serviço desenvolvido com NFC até ao momento, já

referido anteriormente, este sistema de pagamentos da Google permite que o utilizador

passe a utilizar o seu telemóvel com NFC como um cartão de pagamento. A aplicação

está disponível nos EUA para o Samsung Nexus S, quando o utilizador lança a

aplicação pela primeira vez é questionado para associar o Google Wallet à sua conta

Google, de seguida necessita de inserir os dados do cartão de crédito Citi MasterCard

ou cartão de débito Google. Após as validações necessárias sobre os dados inseridos, o

utilizador poderá pagar as suas compras em lojas que possuam um terminal “PayPass”,

bastando “tocar” no terminal para que o valor seja debitado na sua conta. Em termos de

segurança, o utilizador terá que definir um pin que será pedido cada vez que abrir a

aplicação e poderá ainda definir um limite de valor para pagamentos via Google Wallet.

Os dados do cartão estão encriptados e nunca aparecem visíveis. Sobre o hardware, o

chip NFC que é utilizado, é igual aos utilizados nos passaportes ou cartões de crédito

“tap-to-pay”, o chip auto destrói-se se for tocado fisicamente. (Google, 2011)

Page 70: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

52

• Octopus balance reader (Octopus Holdings, 2011): Esta app permite ler o saldo de um

cartão inteligente de pagamentos utilizado no mercado asiático

• NPX Tag Writer (NXP Semiconductors, 2011) – Esta app permite guardar contactos,

URL, SMS, mensagens de texto ou outros tipos de registos URi para tags NFC, ou ler

informação de tags e armazenada no telemóvel podendo lançar aplicações de acordo

com o que está armazenado. Esta aplicação desenvolvida pela NPX Semiconductors

permite ler tags especificadas pelo NFC Forum dos tipos 1,2,3,4, bem como Mifare

Classic/Ultralight e Desire.

• NPC TagInfo (Research Lab Hagenberg, 2011)- Aplicação desenvolvida por um

laboratório de investigação de NFC em Hagenberg, que faz parte da Universidade de

Ciências Aplicadas de Áustria, tem como objetivo obter os detalhes de uma tag,

nomeadamente as especificações técnicas: tecnologias suportadas, tipo de tag,

memoria, blocos, sectores. Obter informação em formação hexadecimal, ASCII ou UTF-

8, ler dados NDEF mas o ponto que a diferencia é a possibilidade de ler dados de um

passaporte eletrónico, nomeadamente a informação básica da pessoa.

• Business Card Holder NFC (AT Solutions, 2011) – Aplicação que permite guardar

informações sobre os cartões-de-visita. O utilizador poderá criar um cartão-de-visita

pessoal e através desta aplicação poderá facilmente partilha-lo via NFC ou SMS. Poderá

receber cartões-de-visita de outros dispositivos NFC que ficam igualmente disponíveis

para partilha (At Solutions, 2011).

3.3 Característica do telemóvel utilizado para a dissertação

Samsung Nexus S

Primeiro equipamento com suporte NFC lançado em Portugal, possui o sistema operativo

Android 2.3 Gingerbread. Considerado equipamento de topo de gama, touch screen, suporta as

tecnologias de comunicação 3G, HSDPA, WIFI e Bluetooth 2.1.

Processador 1GHz Cortex A8 (Hummingbird) e capacidade de memória flash de 16GB iNAND.

3.4 Controlador NFC

O Samsung Nexus S vem equipado com um controlador NFC com referência PN544 (NPX,

2010), um semicondutor desenvolvido pela NXP. As principais características deste controlador:

• Unidade de gestão de energia integrada

• Gestão simultânea de múltiplos cartões (MIFARE, ISO 14443-A,B,B´)

Page 71: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

53

• Comunica até uma distância de 10cm

• Integra bateria de pouco consumo para que o cartão se mantenha ativo mesmo quando

o telemóvel está desligado

• Core do processador 80C51 otimizado com firmware embebido;

A Tabela 14 resume a tabela de compatibilidade com os protocolos de comunicação sem fios de

acordo com o tipo de comunicação.

Tipo comunicação Protocolo

Peer-to-peer Full ISO 18092 (up to 424

Kbits/s)

Reader/Writer ISO 14443 – A-B,

MIFARE, FeliCa®, NFC

Forum tags ,

ISO 15693

Card emulation ISO 14443 – A-B-B’,

MIFARE, FeliCa RF

Tabela 14 - Protocolos de comunicações sem fios compatíveis com PN544

Fonte: (NPX, 2010)

Este controlador foi desenhado para ser integrado em dispositivos móveis (telemóveis, PDA,

tablet PC) e permite ser utilizado para pagamentos móveis, aquisição de bilhetes,

emparelhamento via Bluetooth, WIFI ou dispositivo WUSB (Wikipedia, 2011) e para partilha de

objetos.

3.5 Características das tags utilizadas na dissertação

As tags Mifare MF1 IC S50 (NXP, 2008) serão utilizadas para a demonstração, são

desenvolvidas pela NXP. Estas tags foram desenvolvidas de acordo com o protocolo ISO/IEC

14443 Tipo A, sendo normalmente utilizadas para compra de bilhetes, controlo de acessos bem

como para troca de objetos.

Page 72: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

54

Possui um sistema inteligente de anti colisão que permite interagir com mais de um cartão no

mesmo campo de frequência em simultâneo. O algoritmo de anti colisão assegura que as

transações são realizadas com os cartões corretos sem risco de dados corrompidos como

resultado da existência de outros cartões no mesmo campo.

Principais características:

• Frequência de transmissão: 13,56 MHz

• Distância de comunicação: entre 2,5cm até 10cm

• Velocidade transferência de dados:106Kbit/s

• Capacidade de memória: 1024 byte EEPROM

• Integridade de dados: 16 sectores, 64 bytes por sector

• Algoritmo de anti colisão

• Duração tipifica de transação: <100ms (incluindo gestão de backup)

EEPROM

• 1Kbyte, organizado em 16 sectores com 4 blocos de 16bytes cada

• Condições de acesso a cada bloco definidas pelo utilizador

• Retenção de dados por 10 anos

• Resistência de escrita de cerca de 100000 ciclos.

Segurança

• Número de série único por dispositivo

• Conjunto individual de 2 chaves por sector para suportar múltiplas aplicações com

hierarquia de chaves

• Autenticação mútua de 3 passos (ISO/IEC DIS 9798-2)

Page 73: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

55

Capítulo 4 – Desenvolvimento Smart Poster

“O homem é um animal dócil, que se

habitua a tudo”

(Dostoiésky, Fiódor)

A utilização de serviços baseados em NFC procura ocupar o seu espaço dentro dos ambientes

ocupados pelos clientes Vodafone, sejam espaços públicos ou espaços Vodafone. Com a

utilização de tags NFC consegue-se construir uma infraestrutura de forma simples, pouco

dispendiosa e com uma arquitetura simplificada. Os use cases seguintes focam cenários de

diferentes áreas mas podem partilhar pontos comuns em termos de infraestrutura.

Este capítulo apresenta especificação detalhada de uma aplicação que cobra as necessidades

de uma aplicação para o cenário 1 – Arranque de serviços, considerando a sua abrangência e

aplicação em diferentes áreas tais como comercial, suporte e troubleshooting.

4.1 Serviços NFC numa loja – Informação

As lojas Vodafone são o ponto de contacto com o cliente para informações e principalmente

venda de produtos. O espaço que envolve o cliente é pensado para que o cliente tenha de uma

forma atrativa e simples visibilidade sobre o portfólio disponível na loja. Como imagem de marca

a Vodafone criou áreas de selfcare na lojas que permite ao cliente obter informações de forma

autónoma e experimentar os equipamentos.

O NFC cria uma oportunidade de enriquecer a informação que o cliente pode obter através

destas áreas de selfcare, nomeadamente:

• Obter especificações técnicas ou o manual de um equipamento

• Promover serviços relacionados com o equipamento consultado

• Subscrever serviços (exemplo: pacotes de internet) e promoções

• Download de aplicações Vodafone

• Download de folhetos digitais ou envio por email

Page 74: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

56

Principais benefícios:

• Imagem de Inovação

• Consulta de informação sem necessidade de auxilio de um assistente de loja, permitindo

que este fique focado em ações de venda

• Divulgação de serviços e aplicações Vodafone

• Receitas com aquisição de promoções ou serviços

Figura 16-Exemplo de cenários que se podem aplicar a um poster com tag NFC

4.2 Conceitos

Aplicação:

Aplicação de alto nível que inicia quando o telemóvel com NFC lê o conteúdo de uma tag NFC

com um registo NDEF associado a esta aplicação. A aplicação é responsável por ler os dados

da tag NFC e definir o que fazer com estes dados. Por exemplo, a aplicação poderá lançar uma

aplicação instalada no telemóvel ou abrir um portal web com as informações.

Page 75: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

57

Tag NFC:

A tag NFC contém uma mensagem NDEF com um ou mais registos NDEF que estão

associados a diferentes aplicações no telemóvel com NFC. O registo NDEF poderá conter

dados ou links para dados. Por exemplo, estes dados podem ser o link para um portal móvel

que apresente o manual do equipamento.

Portal Web Móvel:

Portal web otimizado para telemóvel, iniciado através da aplicação responsável por ler o

conteúdo da tag NFC, caso o conteúdo da tag possua um URL, o browser do telemóvel será

iniciado e irá navegar para o URL gravado na tag.

4.3 Requisitos do sistema

• O utilizador deverá ter uma experiência aplicacional que lhe permita ler diferentes tags e

decidir se pretende executar as ações propostas pela aplicação.

• A aplicação cliente é responsável por ler a tag NFC, identificar as ações definidas no

registo NDEF e apresentar a utilizador as ações associadas para as posteriormente

executar mediante aceitação do utilizador

• A aplicação cliente deverá possuir ligação de dados à internet para poder executar as

ações

• Aplicação cliente deverá identificar os cenários em que a ligação de dados falha e informar

o utilizador, dando-lhe a possibilidade de guardar em cache e executar mais tarde

4.4 Atores

• Clientes Vodafone com terminal que suporte NFC

• Marketing, define a que objetos terão ser atribuídos uma ou várias tags e qual o

comportamento esperado

• Entidade responsável por programar as tags de acordo com os objetos expostos na loja

• Distribuidor das tags pelas lojas

• Recurso da loja responsável por colocar as tags programadas nos respetivos objetos

• Fornecedor de conteúdos, que disponibiliza os conteúdos apresentar na aplicação ou num

portal web otimizado para telemóvel.

Page 76: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

58

4.5 Workflow

A Vodafone como responsável pelas lojas define que objetos deverão possuir uma tag

atribuída, bem como qual o comportamento que essa tag deverá despoletar. O objetivo é que o

utilizador se sinta atraído por utilizar a tag para consulta de mais informação ou subscrição de

pacotes.

1. Marketing define que objetos (equipamentos ou serviços) deverão ter uma tag associada

e que tipos de dados NDEF deverão ser guardados na tag

2. Requisitos enviados para entidade responsável por fazer a programação das tags

3. Após a sua programação, o distribuidor deverá garantir a entrega das tags nas lojas

4. Elemento da loja responsável por colocar as tags nos respetivos objetos

O cliente quando entra na loja, terá vários pontos de contacto com tags NFC.

1. Cliente poderá:

a. Consultar expositor com equipamentos da oferta comercial

b. Visualizar Kiosk com diferentes vídeos de serviços Vodafone

c. Consultar posters com informação de promoções

d. Aceder a área que permite realizar download de aplicações Vodafone ou

conteúdos promocionais tais como musicas ou imagens

e. Configuração automática de configurações de acesso à internet, MMS ou acesso

aos hotspots Wireless Vodafone.

2. Cliente “toca” com o dispositivo móvel equipado com NFC na tag

3. Aplicação de leitura de tag NFC deverá estar instalada no dispositivo móvel, irá ler os

dados NDEF e despoletar ação:

Use Case Dados NDEF Acção Pré-

requisito

Implementado

Tag para consulta

de especificações

de um telemóvel

URI (URL) Abre browser e navega para página

www.vodafone.pt com informação

do telemóvel. Página otimizada

para telemóvel.

N/A

Sim

Tag para consulta

do manual do

telemóvel

URI (URL) Invoca browser e navega para o

URL

http://manuaisonline.vodafone.pt

onde será apresentado o manual do

telemóvel

Cartão SIM

Vodafone PT

Sim

Page 77: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

59

Tag para consultar

os pontos do Clube

Viva

URI (URN) Abre aplicação Apoio a Cliente se

instalada, caso contrário abre o

portal móvel

http://wap.apoiocliente.vodafone.pt

Cartão SIM

Vodafone PT

Sim

Tag para consulta

de app Vodafone

URI (URL) Leitura de um Webservice que

devolve um XML com a lista de

apps Vodafone compatíveis com

Android e apresenta-a na aplicação.

Utilizador poderá selecionar uma

das apps disponíveis e aceder ao

Android Market para download da

App

Cartão SIM

Vodafone PT

Sim

Tag para download

de conteúdos

promocionais tais

como jogos,

musicas, imagens

URI (URL) Invoca browser e navega para o

URL http://vodafonelive.pt onde

será apresentada lista de

conteúdos para download

Cartão SIM

Vodafone PT

Sim

Tag para

configuração de

definições de

internet ou MMS

SMS Despoleta sms para o 1870 com

texto Internet ou MMS. Utilizador irá

receber sms de resposta com

configurações Over the Air

Cartão SIM

Vodafone PT

Sim

Tag para

configuração do

hotspot Vodafone

Texto+URL Configura o SSID Vodafone e

apresenta página com informações

de como obter uma sessão

N/A Sim

Tabela 15-Acções no seguimento da leitura de Tag

4.6 High Level Design

A Figura 17-High Level Design, mostra os elementos essenciais que garantem que a uma ação

do utilizador existe uma resposta adequada, em termos aplicacionais e de infraestrutura de

rede.

A aplicação cliente estará instalada no telemóvel e garante que no momento de aproximação do

telemóvel a uma tag compatível com o leitor os seus valores são lidos. Estes valores são

interpretados pela aplicação e em função do tipo de valor é despoletada uma ação. Na maioria

dos casos, uma ação implica ligação à rede GSM. Por exemplo: Envio de SMS, realização de

uma chamada, navegar para um URL.

Page 78: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

60

O backend Vodafone garante que nos casos em que ação implica navegar para um URL, que é

realizada uma contextualização do pedido e a fornecida resposta ao utilizador.

Figura 17-High Level Design

A secção Desenho “NFC Master” apresenta informação mais detalhada.

Page 79: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

61

4.7 Arquitetura do cliente

Figura 18-Arquitectura Cliente

Elementos Core:

• NfcManager - Gestor de alto nível, utilizada para obter o adaptador NFC dos

dispositivos;

• NfcAdapter - Representa o adaptador NFC dos dispositivos, que serão o ponto de

entrada para executar operações NFC.

• NdefMessage - Representa os dados NDEF de uma mensagem. Este é o formato de

standard para transmissão de dados entre dispositivos e tags.

• NdefRecord - Representa um registo, que é entregue numa mensagem NDEF e

descreve o tipo de dados que está a ser transferido e também transporta os dados.

• MCC/MNC (Wikipedia, 2011) Manager - Gere o Pais e operador ao qual o utilizador está

registado, poderá ter implicações no tipo de informação a prestar. MCC – Mobile

Country Code ; MNC- Mobile Network Code. O código MCC de Portugal é 268 e o

código do operador Vodafone Portugal é 01

• Ligações - Elemento responsável por identificar o tipo de rede utilizado para a ligação de

dados, GPRS/3G ou Wifi, poderá ter implicações no tipo de informação a prestar.

App NFC Master Vodafone

Pacotes extra Core

Navegação Reports

Optout UE

Triggers dos conteúdos Marketing

NfcManager NdefMessage

NfcAdapter NdefRecord

MCC/MNC Manager Ligações

Page 80: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

62

Os primeiros 4 elementos correspondem a Classes (Google, 2011) NFC suportadas pela SDK

Android.

Pacotes Extra:

• Navegação - Elemento responsável por definir a navegação entre os elementos gráficos

da aplicação.

• Reports - Cria logs da utilização da aplicação, incluindo erros e partilha com servidor.

Requer consentimento do cliente.

• Optout - Representa a possibilidade do utilizador desativar a utilização da aplicação na

leitura de dados NFC.

• UE - Gere o interface gráfico e interação do utilizador com a aplicação.

• Triggers de conteúdos - Define as ações de acordo com o tipo de dados.

• Marketing - Gere mensagens de marketing que poderão aparecer na aplicação como

banner ou rodapé durante a utilização da aplicação.

Os pacotes extra constituem uma necessidade para uma aplicação final de produção, no

entanto para este protótipo apenas foram considerados: Navegação; UE e Triggers de

Conteúdos.

4.8 Desenho “NFC Master”

O protótipo desenvolvido, demonstra a experiência do utilizador sobre o cenário arranque de

serviços.

A aplicação foca em dois pontos:

• Leitura de Tag e arranque de serviços de acordo com os registos NDEF gravados na

Tag

• Apresentação de dados técnicos sobre a tag, nomeadamente:

o Tecnologias suportadas

o Identificadores

o HashCode

o Tamanho

o Se permite escrita

Page 81: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

63

o Se permite leitura apenas

o MifareClassic

� Número de sectores

� Número de blocos

� Tamanho

� Registos gravados em cada bloco em diferentes formatos (Hexadecimal,

UTF8, ASCII)

A Figura 19 - Use Cases, apresenta os Use cases desenvolvidos.

Figura 19 - Use Cases

4.8.1 Fluxograma

Nesta seção é analisado o fluxograma da aplicação para uma melhor compreensão do

relacionamento entre as diversas funcionalidades e a experiência gráfica. Este fluxo é essencial

para garantir que o desenvolvimento do código é realizado de acordo com as necessidades e

expectativas do utilizador. A Figura 24 – Layout ler tag, apresenta em alto nível o fluxo da

aplicação, tendo como atores, o utilizador, o telemóvel, a aplicação NFC Master e os elementos

externos rede GSM e Internet.

O telemóvel foi incluído como ator para representar os eventos que são lançados pela aplicação

e são interpretados pelo sistema operativo do telemóvel para executar as ações pretendidas.

Page 82: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

64

Fluxo da aplicação

Telemóvel InternetAplicação NFC

MasterUtilizador Rede GSM

Toca com

equipamento

numa tag

Abre aplicação

NFC Master

Identifica TAG

compativel

Lança lista de

aplicações que

podem ser utilizadas

para ler a TAG

Selecciona

outra

aplicaçãoFim

Lê Tag

Identifica registos

NDEF e acção a

executar

Escreve na página

principal

Processa dados

obtidos para

apresentar output

ao utilizador

Apresenta caixa de alerta

com registo NDEF lido e

requer confirmação do

utilizar se quer executar

acção sobre esses dados

Aceita executar

acção?

Caixa com

informação do

conteudo obtido

obtido

Registo URL.

Lança evento de

browser.

Registo Ndef é

Texto?

Registo contacto.

Lança evento de

chamada

Registo SMS

Lança evento de

SMS

Abre browser

e navega para

o URL obtido

Realiza

chamada de

voz

Envia SMS

Página principal

disponivel para

consultar restantes

dados obtidos

Sim

Não

Sim

Não

Fim

Fim

Fim

Não

Figura 20- Fluxograma

Page 83: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

65

4.8.2 Diagrama de classes

O desenvolvimento foi realizado em Java, por conseguinte está estruturado em pacotes que

contém várias classes.

A Figura 21-Diagrama de Classes, apresenta uma visão geral das classes utilizadas e as

operações executadas. Existem 3 classes principais: TagDetail, ScanTag e

MifareRecord. Estas classes serão destacadas no capítulo 4.8.3

Tal como o diagrama mostra, estas classes estendem a classe Activity (Google, 2011)

desenvolvida para o sistema operativo Android. Antes de descrever as classes, é importante

perceber o conceito de Activity e a forma como o sistema operativo Android as gere.

As classes Activity permitem que o utilizador visualize e consiga interagir com uma interface

gráfica de uma aplicação. Esta classe garante a execução de todas as atividades, desde a

criação da página, interação com outras classes para tratamento dos lados de input/output,

gestão do ciclo de vida da atividade ou mesmo terminar a sua execução.

Uma atividade pode ter 4 estados:

• Se uma atividade está no ecrã do telemóvel em modo foreground, significa que está

ativa ou em execução.

• Se uma atividade perdeu o foco mas contínua visível, fica no estado paused. Uma

atividade neste estado continua disponível até que exista novamente interação. Por

exemplo, a atividade ScanTag deteta sempre que uma tag está dentro do campo de

radio frequência, caso não detete atividade fica em modo pause, mas mantem-se pronta

para identificar novas tags e realizar as ações normalmente.

• Se uma atividade foi obscurecida por outra atividade, o estado passa a ser stopped, o

utilizador deixa de ver a página da aplicação mas esta pode ser recuperada mantendo o

mesmo estado que tinha antes de passar para stopped. Exemplo: A atividade lê a tag e

identifica que existe um tipo de registo NDEF que é um URL. A aplicação irá questionar

o utilizador se pretende navegar para esse URL, caso o utilizador aceite, o browser será

aberto com o URL lido. Nesse momento a aplicação deixou de estar visível para o

utilizador, passando para o estado Stopped. Caso o utilizador recorra à funcionalidade

de multitarefa do Android, poderá recuperar a aplicação e ficará ativa no mesmo estado

que estava antes de abrir o browser.

Page 84: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

66

• Se uma atividade estiver no estado paused ou stopped, o sistema operativo poderá

eliminar a atividade de memória ou o próprio utilizador poderá forçar a paragem da

atividade

A classe TagDetail estende da classe TabActivity, a principal diferença com a classe

Activity, é que permite mais do que uma página visível para o utilizador, numa estrutura de

janelas, sem que seja necessário criar múltiplas atividades para casa páginas. Foi pertinente a

sua utilização para apresentar informação genérica sobre as características da TAG.

Page 85: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

67

Figura 21-Diagrama de Classes

Page 86: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

68

4.8.3 Descrição das classes

Neste tópico é apresentada uma descrição sumária sobre as classes utilizadas e os principais

métodos. A Figura 22-Fluxo das classes, descreve a forma como as classes se relacionam

durante a execução da aplicação.

Figura 22-Fluxo das classes

Page 87: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

69

Para execução de algumas das ações apresentadas na figura anterior, tal como realizar uma

chamada, abrir um browser, enviar sms, abrir menu de definições, ler tags NFC, implica que a

aplicação declare essas permissões. As aplicações Android têm como característica um ficheiro

“AndroidManifest.xml” que contém as propriedades principais da aplicação e das suas

atividades. Neste ficheiro terão que ser definidas as permissões de acesso a elementos nativos

do sistema operativo, aos quais a aplicação deverá ter acesso. As permissões declaradas

foram:

• android.permission.INTERNET – Permite lançar o browser internet

• android.permission.NFC – Ler tags NFC

• android.permission.CALL_PHONE – Realizar chamadas de voz

• android.permission.SEND_SMS – Enviar SMS

• android.permission.ACCESS_NETWORK_STATE- Aceder ao estado de rede,

exemplo: se tem cobertura ou se está em modo de voo.

• android.hardware.nfc – Aceder ao adaptador físico NFC

• android.permission.WRITE_SMS – Escrever SMS

4.8.3.1 Classe ScanTag

Esta classe tem como objetivo detetar tags compatíveis com um grupo de tecnologias definidas,

ler o seu conteúdo, nomeadamente os dados num formato Ndef e Mifare Classic. A classe

ScanTag estende a classe Activity e poderá ser considerada como a classe principal da

aplicação.

A classe ScanTag está configurada com propriedades que garantem que possa escutar tags no

seu campo de frequência desde que suportadas pelo sistema operativo Android. As tags terão

que suportar protocolos:

• NDEF

• MifareClassic

• Nfca

Esta é a primeira classe a executar quando a aplicação abre. Poderá ser iniciada quando o

utilizador prime no icon da aplicação disponível no menu do telemóvel, ou quando o telemóvel

reconhece uma tag no raio de radio frequência e identifica esta aplicação como válida para ler

Page 88: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

70

os dados da tag. No segundo caso, o utilizador será notificado que foi identificada uma tag e

terá uma lista de aplicações que suportam a sua leitura, sendo necessário que opte por uma

dessas aplicações.

Caso a aplicação seja iniciada pelo utilizador através do icon, a classe começa por abrir uma

página que pede ao utilizador para aproximar o telemóvel de uma tag. Enquanto não identificar

uma tag dentro da lista de tecnologias definidas ou com dados NDEF mantém em estado

pause, mas sempre que o sistema operativo deteta uma nova tag lança o evento para a

aplicação que volta a fazer as validações iniciais.

Quando deteta uma tag compatível, notifica o utilizador com uma caixa de progresso e cria uma

nova thread para ler os dados da tag. Começa por ler dados principais sobre a tag,

nomeadamente:

• Identificador da TAG

• Código Hash

• Lista de tecnologias suportadas

Para obter os dados no formato NDEF, cria-se um objeto do tipo Ndef que estabelece uma

ligação à TAG através do protocolo LLCP para realizar a partilha de mensagem entre a tag e o

telemóvel. Caso a ligação tenha sucesso, o objeto Ndef armazena os dados permitindo assim o

seu tratamento. Os dados que estão a ser obtidos para esta aplicação são:

• Mensagens NDEF guardadas na TAG

• Tecnologia

• Código Hash

• Capacidade de memória para registos NDEF em bytes

• Se pode suportar apenas de leitura

• Se pode ser rescrita

Após obter todos os dados, a ligação é encerrada para obter as propriedades MifareClassic.

Apena é possível uma ligação de cada vez.

O acesso às propriedades Mifare Classic é realizado após realizar uma ligação com o protocolo

LLCP de um objeto MifareClassic. Os dados obtidos foram:

• Nome da tecnologia

Page 89: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

71

• Identificador

• Código Hash

• Capacidade de memória da TAG em bytes

• Número de sectores

Para acesso a dados dos setores da tag MifareClassic é necessário realizar autenticação por

sector, só após autenticação com sucesso é possível ler e escrever. Cada sector possui duas

chaves e só após a autenticação é possível saber que operações de leitura e escrita são

possíveis de realizar em cada setor.

As tags utilizadas mantiveram a sua autenticação original, assim foram utilizadas as chaves

públicas dependendo do tipo de formação da tag. Existem 3 tipos de autenticações públicas:

• Chave de fábrica, utilizada por defeito nas tags MifareClassic

• Chaves NFC FORUM, caso as tags tenham sido formatadas de acordo com a

especificação NXP para dados NDEF em cartões MifareClassic

• Chaves de uma lista conhecida para tags formatadas de acordo com as especificações

Mifare Aplication Directory

Cada setor poderá ser autenticado com chaves privadas, passando a estar acessíveis apenas a

quem conhece as chaves.

Após autenticação com sucesso, são obtidos os dados de cada setor em formato byte e são

convertidos em 3 diferentes formatos, para que os valores sejam possíveis de serem

interpretados:

• Hexadecimal

• UTF8

• ASCII

Quando completada a sua leitura, a atividade cria um Bundle de dados com um objeto do tipo

TagItem que tem como função guardar todos os dados lidos da tag, descritos anteriormente, e

garantir a sua partilha para diferentes atividades.

Antes de finalizar a thread e fechar a barra de progresso, a classe ScanTag lança uma nova

classe, TagDetail passando-lhe como parâmetro o Bundle de dados da classe TagItem, para

que a informação seja tratada e apresentada ao utilizador.

Page 90: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

72

4.8.3.2 Classe ScanTag

A classe TagDetail, estende da classe TabActivity e tem como principal função interpretar

os dados lidos da tag e apresentar ao utilizador.

Esta classe recebe como parâmetro um Bundle de dados que representa um objeto da classe

TagItem. Este objeto contém toda informação sobre os dados NDEF e as propriedades dos

setores MifareClassic.

Sendo uma classe TabActivity, significa que irá criar uma vista que suporta múltiplas

páginas integradas num conceito de tabs, tal como nos browsers de internet para facilitar a

transição em diferentes páginas. No arranque da classe, são criados todos os elementos

gráficos necessários para apresentar informação.

Destaco 4 operações principais: populateTagInfo, populateTagNdef,

populateTagMifare e performIntent.

Após criar os elementos gráficos, executa a operação populateTagInfo que tem como

objetivo escrever na primeira tab informação genérica sobre a tag.

A operação populateTagNdef tem como função, interpretar as mensagens no formato NDEF

e apresentar informação ao utilizador na tab 2.

Para interpretar as mensagens guardadas, é utilizada a classe NdefMessageParser. Esta

classe percorre a lista de registos de cada mensagem e verifica o tipo de cada um. Os registos

poderão ser do tipo:

• Texto

• URI

• Smartposter

Para validar o tipo de registo, são invocadas as classes UriRecord, TextRecord e

SmartPoster.

A Class UriRecord, verifica qual o tipo de dados NDEF que é recebido no header. Se o campo

TNF tiver como valor 0x01, é um registo que está de acordo com a especificação do NFC

FORUM mas é necessário transformar o registo no tipo URI.

Page 91: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

73

Se o campo TNF tiver o valor 0x03, já possui um formato URI completo o que facilita a sua

interpretação.

Qualquer outro código TNF não é tratado por esta classe porque não ser um tipo de dados URI

especificado pelo NFC Forum.

A classe TextRecord, valida se o registo é do tipo RTD.TEXT e obtém o seu conteúdo através

da leitura do payload, que para além do texto, tem posições reservadas para informar o tipo de

encoding do texto e o código da linguagem.

A classe Smartposter, poderá devolver registos compostos, por exemplo um Titulo + um registo

URI + ação recomendava a realizar com estes registos. Por exemplo:

• Titulo: “Suporte ISEP”

• URI: “www.isep.pt”

• Ação recomendada: Guardar como favorito

Para tratamento dos dados URI, esta classe recorre à classe UriRecord.

As classes UriRecord, Smarposter, TextRecord e NdefMessageParser são reutilizadas

do , do exemplo fornecido no site Android Developers (Google, 2011), realizeialterações, para

criar a possibilidade de devolver o URI sem a utilizar a lista da classe ParsedNdefRecord e

para devolver o tipo de dados..

Estas classes garantem a conversão dos registos NDEF num formato a apresentar ao utilizador.

Os dados obtidos são apresentados na tab 2, com destaque para o conteúdo do registo NDEF.

O utilizador poderá invocar uma ação caso o tipo de registo seja URI:

• URL – Utilizador poderá visualizar o URL. Ao premir sobre o URL, irá ser questionado se

pretende abrir o browser e navegar para a página selecionada.

• Contacto – Utilizador visualiza o número. Ao premir sobre o número irá ser questionado

se pretende realizar uma chamada para o número selecionado

• SMS – Utilizador visualiza o número e corpo da mensagem. Ao premir sobre o número

irá ser questionado se pretende realizar uma chamada para o número selecionado

A operação populateTagMifare, disponibiliza para consulta na tab 3 os campos lidos na

classe ScanTag, esta informação já é recebida tratada da classe referida.

Page 92: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

74

A operação performIntent, garante que a primeira informação que o utilizador visualiza é o

conteúdo do registo NDEF e qual a ação que poderá realizar. Os cenários são iguais aos

descritos na operação populateTagNdef quando o utilizador prime sobre o conteúdo do

registo Ndef.

Na tab 3 o utilizador poderá consultar as propriedades MifareClassic, terá ainda disponíveis 3

botões que permitem obter o conteúdo de cada setor nos seguintes formatos:

• Hexadecimal

• UTF8

• ASCII

Ao executar qualquer um destes botões, irá iniciar a atividade MifareRecord e passará como

parâmetro o Bundle que contém os registos originalmente obtidos na classe ScanTag e qual o

tipo de formato no qual deverá ser apresentada a informação dos setores.

4.8.3.3 Classe MifareRecord

A classe MifareRecord tem como função apresentar os dados dos setores MifareClassic no

formato escolhido pelo utilizador. Será apresentada uma lista com informação separada por

setor e bloco. As tags MifareClassic possuem 16 setores e 64 blocos.

4.8.4 User Experience

Este tópico apresenta qual a experiência do utilizador, com exemplos de ecrã e informação

sobre a construção seguida em cada atividade. De uma forma geral as páginas são construídas

essencialmente com campos output, as ações de input apenas se aplicam quando o utilizar terá

que decidir a ação a dar ao registos NDEF ou se pretender consultar informação dos setores do

MifareClassic.

A informação tratada e apresentada é mais do que um utilizador comum precisa de visualizar,

no entanto a sua utilização foi pertinente neste protótipo para melhor conhecer a tecnologia.

Os tópicos seguintes apresentam imagens das páginas e layout android. Esta informação é

complementar ao capítulo anterior sobre a descrição das classes.

4.8.4.1 Abrir aplicação

O utilizador após instalar a aplicação poderá abri-la de duas formas:

• Prime no icon NFC Master no menu do telemóvel

Page 93: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

75

• Quando tocar com telemóvel numa Tag, o sistema operativo Android abre uma lista de

aplicações que podem ler a TAG, a aplicação NFC Master deverá estar nessa lista e ser

selecionada.

Figura 23 - Abrir Aplicação

4.8.4.2 Ler tag

A função “ler tag” é executada pela classe ScanTab, a Figura 24 – Layout ler tag, mostra os

elementos gráficos utilizados para a construção da página de leitura.

Figura 24 – Layout ler tag

Page 94: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

76

Figura 25 - Leitura da tag

A Figura da esquerda é a página inicial da aplicação, aguarda pela aproximação de uma tag, a

figura da direita significa que identificou uma tag e está a ler os dados.

4.8.4.3 Apresentar informação

Após concluir a leitura da tag, a informação é apresentada ao utilizador. A primeira interação é

com uma caixa de texto que informa o conteúdo dos dados NDEF e caso os dados tenham

ação associada, pergunta ao utilizar se a quer executar. Quer execute a ação ou não, poderá

consultar os restantes dados sobre a tag.

A Figura 26 - Layout informação da tag, apresenta os elementos que compõe a parte gráfica.

Page 95: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

77

Figura 26 - Layout informação da tag

A Figura 27 - Apresentação do conteúdo e ação da tag, mostra o primeiro ecrã com o tipo de

dados identificados e questiona por ação, neste caso identificou o URL de um serviço Vodafone

e a sua ação faz com que arranque o browser.

Page 96: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

78

Figura 27 - Apresentação do conteúdo e ação da tag

A Figura 28 - Tabs com conteúdo da Tag, apresenta a tabhost na qual o utilizador poderá

consultar as 3 tabs disponíveis com dados sobre a tag, ndef e mifare respetivamente.

Se utilizar pretender voltar a ler uma tag, poderá premir no botão “Scan new tag” para voltar

para a atividade ScanTag.

Figura 28 - Tabs com conteúdo da Tag

Page 97: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

79

4.8.4.4 Setores MifareClassic

Os setores MifareClassic podem ser consultados no formato Hexadecimal, UTF8 e ASCII. A

Figura 29-Layout setores MifareClassic apresenta os elementos gráficos que compõe a página.

Figura 29-Layout setores MifareClassic

A Figura 30-Setores mifare Classic, mostra o conteúdo dos setores MifareClassic, organizado

por setor e bloco.

Figura 30-Setores mifare Classic

4.8.5 Testes

Para a realização de testes, foram utilizados como principais equipamentos:

• Samsung Nexus S como ler e escrever tags

Page 98: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

80

• Tags MifareClassic 1k

Para informações mais detalhadas consultar capítulos 3.3,3.4 e 3.5.

Para assegurar o correto funcionamento da aplicação foram realizados testes com diferentes

tipos de formatos de dados. Para tal foram preparadas 5 tags, em cada uma foram escritos

dados diferentes, os cenários obtidos foram:

• Tag com texto simples

• Tag com URL

• Tag com dados Smartposter

• Tag com Contacto

• Tag com dados para envio de sms, número e corpo da mensagem

Para escrever estas informações na tag, foi utilizada aplicação TagWriter, desenvolvida pela

NXP Semiconductors.

Os tempos de leitura das tags, independentemente do seu conteúdo, variavam entre 2,8seg e

3,2seg. Não foram estabelecidas comparações com outras aplicações por motivo que o

objectivo não era desenvolver uma aplicação de produção mas sim de demonstração.Os casos

de uso são diferentes, bem como o tipo de dados apresentar.

Page 99: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

81

Capítulo 5 – Conclusões e trabalho futuro “"Os homens muitas vezes se tornam o que

eles acreditam ser. Se eu acredito que eu

não posso fazer algo, faz-me incapaz de

fazê-lo. Mas quando eu acredito que eu

posso, então eu adquiro a capacidade de

fazê-lo, mesmo se eu não a tenho no

começo.”

(Gandhi, Mahatma)

Em resumo, o NFC é uma tecnologia promissora e muito eficiente para comunicações de curto

alcance. Oferece uma forma simples e intuitiva de transferir dados entre dispositivos eletrónicos

e adiciona mais-valias nas atividades que realizamos no dia-a-dia através do telemóvel.

Em fase de crescimento no B2C e B2B, o NFC revela-se como uma tecnologia que acelera a

ubiquidade computacional. Tecnologia baseada no RFID que inicialmente estava focada em

pontos fixos evoluiu para ser orientada para a mobilidade.

Num mundo cada vez mais móvel, a integração destas tecnologias com o telemóvel é uma

obrigatoriedade, passamos a ter um dispositivo que faz a ponte para outros serviços e para

mais informações.

A tecnologia NFC, revela-se finalmente uma certeza e consensual entre os grupos de

associações de telecomunicações, operadores e fabricantes. A integração em telemóveis

deverá ter em 2011 como o ano que marca a viragem, a Google lançou o Samsung Nexus S

Android 2.3 com um chipset NFC, confirmando a aposta na tecnologia. Considerando o

crescimento da plataforma Android e o suporte para programadores, é seguramente o impulso

que o mercado Europeu e Americano precisa para avançar.

Ao longo destes dois anos a acompanhar a tecnologia, pude assistir a muitas expectativas

defraudadas devido as interrogações dos principais grupos tecnológicos, o que levou a atraso e

cancelamento do lançamento de telemóveis. Este é um momento de realidade, os fabricantes

anunciam novos equipamentos, como o exemplo da RIM (Clark, 2011) ou da Nokia (Clark,

2011). As plataformas trabalham para criar o melhor ambiente para os programadores e

investem em SDKs (Clark, 2011). Estes dois fatores mostram uma nova dinamica do mercado

em adoptar a tecnologia NFC, transformando-a numa realidade para os utilizadores.

Page 100: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

82

Claramente que a grande aposta será na área dos pagamentos, possibilitando a utilização dos

telemóveis para realizar estas operações em alternativa aos cartões de débito/crédito. As

movimentações dos grandes intervenientes do mercado orientam os estudos, discussões e

experiencias nessa área de negócio, com destaque para a Visa, Vodafone e Google.

Recentemente a Google adquiriu a Motorola Mobility com o objetivo de focar o seu

desenvolvimento no Google Wallet, que permite realizar pagamentos via telemóvel. A confirmar

o rumo destas movimentações temos os dados do mercado Japonês que está cerca de 3 anos

mais avançado que o Europeu/Americano, por exemplo cerca de 10% dos consumidores

Japoneses utilizaram o telemóvel equipado com NFC para pagamento de compras durante o

mês de Dezembro de 2010.

Embora o standard e o interface estejam aprovados, existe um caminho a percorrer para

garantir uma tecnologia segura. A área de pagamento é a que revela mais preocupações,

principalmente com o risco de captura da informação trocada entre o telemóvel e o leitor. No

entanto é a área que apresenta maiores avanços, vários operadores de telecomunicações

estão em fase experimental da tecnologia, o que significa que dentro de pouco tempo esta

tecnologia passara a fazer parte do nosso quotidiano.

Nesta dissertação foram identificados e avaliados os principais cenários de utilização numa

relação B2C no mercado das telecomunicações móveis. Foram especificados diversos cenários

enquadrados na realidade Vodafone, fundamentalmente na área dos Smart Poster . Esta área

irá fazer com que o cliente consiga aceder a mais informações de produtos, serviços ou

promoções através da leitura de Tags em revistas ou outdoors, fazendo a ponte com outras

aplicações Vodafone. Pretende-se garantir o acesso a mais informação em qualquer lugar e

facilitar o dia-a-dia dos clientes, fazendo com que o telemóvel seja parte integrante do seu

quotidiano.

A aplicação desenvolvida no âmbito da dissertação, demonstra a facilidade de utilização da

tecnologia por parte do utilizador, o que representa uma mais-valia para uma adoção e

crescimento mais rápido da tecnologia no mercado. Para navegar para um url, realizar uma

chamada ou enviar um sms poderá não necessitar de tocar em qualquer tecla ou no ecrã do

telemóvel, permitindo que facilmente obtenha informação sobre objetos com o mínimo de

esforço.

O desenvolvimento focou-se na leitura de dados que são comuns para o utilizador, tais como

um contacto ou um URL. Estes dados são apresentados ao utililizador, bem como a

Page 101: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

83

possibilidade de executar acções sobre eles, por exemplo abrir o browser de internet e navegar

para o URL lido.

O desenvolvimento de uma aplicação sobre NFC para Android apresenta alguma

complexidade, principalmente devido ao facto de ser uma tecnologia recente e existir pouca

documentação de desenvolvimento sobre o assunto. De realçar a total ausência do tema nos

principais manuais sobre desenvolvimento em Android. Neste ponto a informação fornecida

pela Google no site para programadores Android é a fonte de informação com melhor qualidade

de informação. Identifiquei como principal complexidade a gestão do ciclo de vida das

actividades. Importante garantir que a transição entre estados pause para ativo é realizada

correctamente e que durante a executação da aplicação esta não sofre interferências de outras

aplicações concorrentes à leitura da tag.

Como trabalho futuro, pretende-se utilizar o protótipo para demonstração dos cenários descritos

na dissertação mas num contexto real, com clientes finais, de forma a perceber as suas

expectativas, identificar novos cenários e especificar uma solução final de produção. Esta

versão de testes deverá evoluir com novas funcionalidades, tal como escrita de tags, emular um

cartão e implementação de mecanismos de autenticação.

Considero igualmente importante relacionar a tecnologia NFC com o conceito de Acessibilidade,

tornado-a acessível a pessoas com deficiência. Por exemplo: Cliente invisual poderá tocar em

objetos equipados com tag NFC, através do telemóvel equipado com uma aplicação que será

capaz de ler informação do objeto e transformar o texto em voz, tornado-a acessível ao invisual.

Este cenário poderá aplicar-se num supermercado, museu, transportes públicos, entre outros.

Será uma forma de posicionar a tecnologia como um benefício para todo o tipo de utilizadores.

Page 102: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

84

Bibliografia admob AdMob Mobile Metrics Report [Online] // admob. - 01 de 2010. - 01 de 05 de 2011. -

http://metrics.admob.com/wp-content/uploads/2010/02/AdMob-Mobile-Metrics-Jan-10.pdf.

AIM What is RFID? [Online] // Association for Automation Identification and Mobility. - 2011. - 06

de 10 de 2011. - http://www.aimglobal.org/technologies/rfid/what_is_rfid.asp.

At Solutions Business Card Holder With NFC [Online] // Android Market. - 09 de 06 de 2011. -

18 de 09 de 2011. - https://market.android.com/details?id=kr.co.atsolution.android.nbc.

AT Solutions Mobile Technology Solutions [Online] // At Solutions. - 09 de 06 de 2011. - 18 de

09 de 2011. - http://www.atsolution.co.kr/.

ATMEL Understanding the Requirements of ISO/IEC 14443 for Type B Proximity Contactless

Identification cards [Online] // ATMEL. - 11 de 205. - 01 de 06 de 2011. -

http://www.atmel.com/dyn/resources/prod_documents/doc2056.pdf.

Baladan Dan Google Chief Eric Schmidt Endorses NFC [Online] // NFC Times. - 17 de 11 de

2010. - 01 de 06 de 2011. - http://www.nfctimes.com/news/google-chief-schmidt-endorses-nfc.

Baladan Dan Samsung Announces Two NFC-Optional Smartphones Supporting Bada

[Online] // NFC Times. - 30 de 08 de 2011. - 05 de 09 de 2011. -

http://www.nfctimes.com/news/samsung-announces-two-nfc-optional-smartphones-supporting-

bada.

Battezzati’s Luigi RFID as an enabler of the ubiquitous [Online]. - 2005. - 01 de 02 de 2010. -

http://www.itu.int/osg/spu/ni/ubiquitous/Presentations/5_battezzati_RFID.pdf.

Blackberry Blackberry Java Application development SDK 7.0 [Online] // Blackberry

Developers. - 2011. - 01 de 09 de 2011. - http://www.blackberry.com/developers/docs/7.0.0api/.

Cisco Cisco Visual Networking Index: Global Mobile Data Traffic Forecast Update, 2010–2015

[Online] // Cisco. - 01 de 02 de 2011. - 06 de 10 de 2011. -

http://www.cisco.com/en/US/solutions/collateral/ns341/ns525/ns537/ns705/ns827/white_paper_

c11-520862.html.

Page 103: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

85

Clark Sarah Nokia: Symbian NFC phones to support mobile payments in 2012 [Online] // Near

Field Communications World. - 29 de 08 de 2011. - 29 de 08 de 2011. -

http://www.nfcworld.com/2011/08/29/39462/nokia-symbian-nfc-phones-to-support-mobile-

payments-in-2012/.

Clark Sarah NTT Docomo adds NFC tag reading to wide range of mobile phones [Online] //

NFC World. - 11 de 11 de 2010. - 29 de 08 de 2011. -

http://www.nfcworld.com/2010/11/11/34943/ntt-docomo-adds-nfc-tag-reading-to-wide-range-of-

mobile-phones/.

Clark Sarah Over 1bn consumers to use mobile banking services by 2015 [Online] // NFC

WORLD. - 06 de 02 de 2010. - 01 de 06 de 2011. -

http://www.nfcworld.com/2010/02/16/32800/over-1bn-consumers-to-use-mobile-banking-

services-by-2015/.

Clark Sarah RIM unveils three BlackBerry Curve NFC smartphones [Online] // Near Field

Communications World. - 23 de 08 de 2011. - 30 de 08 de 2011. -

http://www.nfcworld.com/2011/08/23/39303/rim-unveils-three-blackberry-curve-nfc-

smartphones/.

Clark Sarah Samsung launches Bada 2.0 SDK with NFC [Online] // Near Field Communication

Wordl. - 26 de 08 de 2011. - 29 de 08 de 2011. -

http://www.nfcworld.com/2011/08/26/39385/samsung-launches-bada-2-0-sdk-with-nfc/.

Clark Sarah Transports and mobile operators begin pilot in Lisbon [Online] // Near Field

Communications World. - 08 de 10 de 2009. - 12 de 11 de 2010. -

http://www.nfcworld.com/2009/10/08/31908/transport-and-mobile-operators-begin-nfc-pilot-in-

lisbon/.

DroidDraw DroidDraw [Online] // DroidDraw. - DroidDraw, 2011. - 10 de April de 2011. -

http://www.droiddraw.org/.

Duncan Geoff Nokia bringing NFC to all Symbian phones [Online] // Digital Trends. - 31 de 08

de 2011. - 03 de 09 de 2011. - http://www.digitaltrends.com/mobile/nokia-bringing-nfc-to-all-

symbian-phones/.

Page 104: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

86

ECMA Internacional Standard ECMA-352 [Online] // ECMA Internacional Standards. - 06 de

2010. - 01 de 03 de 2011. - http://www.ecma-international.org/publications/standards/Ecma-

352.htm.

ECMA Near Field Communication Interface and Protocol -2 (NFCIP-2) 1.Edition. ECMA-352

[Relatório]. - 2003.

ECMA Standard ECMA-340 [Online] // ECMA Internacional Standards. - 2004. - 14 de 02 de

2010. - http://www.ecma-international.org/publications/standards/Ecma-340.htm.

Foundation Eclipse Download Eclipse IDE for Java Developers [Online] // Eclipse. - Eclipse

Foundation, 2010. - 04 de April de 2011. - http://www.eclipse.org/downloads/packages/eclipse-

ide-java-developers/heliossr2.

foursquare Experimenting with NFC check-ins for Google I/O [Online] // Blog foursquare. - 09

de 05 de 2011. - 12 de 08 de 2011. - http://blog.foursquare.com/2011/05/09/experimenting-with-

nfc-check-ins-for-google-io/.

Gartner Gartner Says Sales of Mobile Devices in Second Quarter of 2011 Grew 16.5 Percent

Year-on-Year; Smartphone Sales Grew 74 Percent [Online] // Gartner. - 11 de 08 de 2011. - 23

de 08 de 2011. - http://www.gartner.com/it/page.jsp?id=1764714.

Global Industry Analyst, inc. Mobile Payment (Mobile Money) - A Global Strategic Business

Report [Online] // Global Industry Analyst. - 06 de 2010. - 01 de 06 de 2011. -

http://www.strategyr.com/Mobile_Payment_Market_Report.asp.

Google Google Wallet [Online] // Google Wallet. - 2011. - 01 de 08 de 2011. -

http://www.google.com/wallet/.

Google ADT Plugin for Eclipse [Online] // http://developer.android.com/sdk/eclipse-adt.html. - 10

de 01 de 2011.

Google ADT Plugin for Eclipse [Online] // http://developer.android.com/sdk/eclipse-adt.html. -

2009. - 10 de 01 de 2011.

Google Google Wallet [Online] // Google. - 2011. - 01 de 09 de 2011. -

http://www.google.com/wallet/.

Page 105: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

87

Google Near Field Communication [Online] // Android Developer. - 02 de 09 de 2011. - 10 de 09

de 2011. - http://developer.android.com/guide/topics/nfc/index.html.

Google Near Field Communication [Online] // Android Developers. - 2011. - 12 de 08 de 2011. -

http://developer.android.com/guide/topics/nfc/index.html.

Google Near Field Communication [Online] // Android Developer. - Google, 2011. - 05 de 03 de

2011. - http://developer.android.com/guide/topics/nfc/index.html.

Google NFC Demo [Online] // Android Developers. - 2011. - 10 de 04 de 2011. -

http://developer.android.com/resources/samples/NFCDemo/index.html.

Google Package android.nfc [Online] // Android Developers. - Google, April de 2011. - 09 de

April de 2011. - http://developer.android.com/reference/android/nfc/package-summary.html.

Google Public Class Activity [Online] // Android Developers. - 2011. - 13 de 10 de 2011. -

http://developer.android.com/reference/android/app/Activity.html.

Google What is Android? [Online] // Android Developers. - Google. - 05 de 05 de 2011. -

http://developer.android.com/guide/basics/what-is-android.html.

Green Alex e Tait Don NFC, Secure Payments and Digital Security - A Market Summary

[Online] // IMS Research. - 04 de 2011. - 06 de 10 de 2011. -

http://www.imsresearch.com/files/financialid/NFC,%20Secure%20Payment%20&%20Digital%20

Security%20-%20IMS%202011.pdf.

GSM Association Requirements for Single Wire Protocol NFC Handsets [Online] // GSM

World. - 20 de 11 de 2008. - 2.0. - 18 de 11 de 2010. -

http://www.gsmworld.com/documents/reqs_swp_nfc_handsets_v2.pdf.

IMS Research NFC Integrated Circuits Shipments to Reach 920 Million in 2015 [Online] // IMS

Research. - 11 de 05 de 2011. - 06 de 10 de 2011. - http://imsresearch.com/news-events/press-

template.php?pr_id=2036.

iSuppli Mobile Handset Industry Foresees End of Recession [Online] // iSuppli. - 30 de 04 de

2010. - 01 de 10 de 2010. - http://www.isuppli.com/Mobile-and-Wireless-

Communications/Pages/Mobile-Handset-Industry-Foresees-End-of-the-Recession.aspx.

Page 106: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

88

ITU ICT market overview [Online] // ITU. - 31 de 03 de 2011. - 06 de 10 de 2011. -

http://www.itu.int/net/itunews/issues/2011/03/04.aspx.

ITU World Telecommunication/ICT Indicators Database-Mobile Cellular Subscriptions [Online] //

International Telecommunication Union. - 2011. - 01 de 09 de 2011. - http://www.itu.int/ITU-

D/ict/statistics/.

Jakl Andreas Nokia Qt Development with Qt Mobility [Online] // Developer Nokia. - 18 de 08 de

2011. - v1.1.7. - 03 de 09 de 2011. - http://www.slideshare.net/andreasjakl/nokia-nfc-

development.

JetBrains IntelliJ IDEA — The Most Intelligent Java IDE [Online] // JetBrains. - JetBrains,

2011. - 10 de April de 2011. - http://www.jetbrains.com/idea/index.html.

Langer Josef e Madlmayr Gerald NFC Devices: Security and Privacy [Artigo] // Third

Internacional Conference on Availability, Reliabillity and Security. - Austria : Disponivel via IEEE

Explorer.

Lawer Richard DoubleTwist's latest trick is NFC-based MP3 sharing between Androids

[Online] // Engadget. - 10 de 05 de 2011. - 15 de 08 de 2011. -

http://www.engadget.com/2011/05/10/doubletwists-latest-trick-is-nfc-based-mp3-sharing-

between-andr.

Madlmayr G. [et al.] The benefit of using sim application toolkit in the context of near field

communication applications for mobile applications [Secção do Livro] // ICMB. - 2007. - Vol. VI.

Mages Kenneth G. Near Field Communication(NFC)/Smart MCommerce [Online] // NFCData. -

12 de 08 de 2011. - 13 de 10 de 2011. - http://nfcdata.com/blog/2011/08/13/nfc-tag-everything-

respect-nothing-nfc-tag-prices-coming-down-to-a-sub-5-cent-price-point/.

McLean Heather New production process could cut cost of NFC tags to “just a few cents”

[Online] // NFC World. - 12 de 08 de 2011. - 13 de 10 de 2011. -

http://www.nfcworld.com/2011/08/12/39043/new-production-process-could-cut-cost-of-nfc-tags-

to-just-a-few-cents/.

NFC Forum About NFC [Online] // NFC Forum. - 2011. - 06 de 10 de 2011. - http://www.nfc-

forum.org/aboutnfc/.

NFC FORUM NFC Data Exchange Format (NDEF) [Relatório]. - 2006.

Page 107: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

89

NFC Forum NFC Forum Specifications [Online] // NFC Forum. - 2006-2011. - 12 de 01 de

2011. - http://www.nfc-forum.org/specs/.

NFC Forum NFC in Action [Online] // NFC Forum. - 2011. - 07 de 10 de 2011. - http://www.nfc-

forum.org/aboutnfc/nfc_in_action/.

NFC Forum Type 1 Tag Operation Specification [Relatório]. - 2007.

NFC FORUM Type 2 Tag Operation Specification [Relatório]. - 2007.

NFC Forum Type 3 Tag Operation Specification [Relatório]. - 2007.

NFC FORUM Type 3 Tag Operation Specification [Relatório]. - 2007.

NFC FORUM Type 3 Tag Operation Specification [Relatório]. - 2007.

NFC Forum Type 4 Tag Operation Specification [Relatório]. - 2010.

NFC FORUM Type 4 Tag Operation Specification [Relatório]. - 2010.

NFC trials, pilots, tests and live services around the world [Online] // Near Field Communications

World. - 29 de 08 de 2011. - http://www.nfcworld.com/list-of-nfc-trials-pilots-tests-and-

commercial-services-around-the-world/.

Nokia Angry Birds Magic hatches at WIMA [Online] // Nokia Conversations - The Official Nokia

Blog. - Nokia, 19 de 04 de 2011. - 01 de 09 de 2011. -

http://conversations.nokia.com/2011/04/19/angry-birds-magic-hatches-at-wima/.

Nokia Developing NFC application [Online] // Nokia Developer. - 04 de 09 de 2011. - 10 de 09

de 2011. - http://www.developer.nokia.com/Community/Wiki/Developing_NFC_Applications.

Nokia Introduction to NFC [Online] // Nokia Developer. - 11 de 07 de 2011. - 1.1. - 01 de 09 de

2011. - http://nds2.fds-forum.nokia.com/p/d/fds_forum/bdaa4a0f-fcf3-4a4b-b800-

c664387d6894/Introduction_to_NFC/Introduction_to_NFC_v1_1_en.pdf?fdptoken=1315947302

_a18052ef8092776a08028d07899b0277.

NPX NXP NFC controller PN544 [Online] // NPX. - NPX, February de 2010. - 9 de April de

2011. - http://www.nxp.com/acrobat_download2/literature/9397/75016890.pdf. - 9397 750

16890.

Page 108: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

90

NPX Semicondutors MIFARE Classic [Online] // NPX. - 2010. - 01 de 12 de 2010. -

http://www.nxp.com/.

NTT Docomo adds NFC tag reading to wide range of mobile phones [Online] // NFC World. - 29

de 08 de 2011. - http://www.nfcworld.com/2010/11/11/34943/ntt-docomo-adds-nfc-tag-reading-

to-wide-range-of-mobile-phones/.

NXP MF1ICS50 [Online] // NXP. - NXP, 29 de January de 2008. - 09 de April de 2011. -

http://www.nxp.com/acrobat_download2/other/identification/M001053_MF1ICS50_rev5_3.pdf. -

001053.

NXP Semiconductors NXP TagWriter [Online] // Android Market. - 26 de 02 de 2011. - 18 de

09 de 2011. -

https://market.android.com/details?id=com.nxp.nfc.tagwriter&feature=search_result.

Octopus Holdings Octopus Balance reader [Online] // Android Market. - 26 de 08 de 2011. - 18

de 09 de 2011. -

https://market.android.com/details?id=com.hklight.octopusreader&feature=search_result.

Perez Sarah In Japan, Twitter Users "Tap to Follow" Friends Using NFC [Online] //

ReadWriteWeb. - 13 de 05 de 2011. - 12 de 08 de 2011. -

http://www.readwriteweb.com/archives/in_japan_twitter_users_tap_to_follow_friends_using_nfc.

php.

Research Lab Hagenberg NFC Research [Online] // Near Field Communication Research Lab

Hagenberg. - 06 de 07 de 2011. - 18 de 09 de 2011. - http://www.nfc-research.at/.

RIM Blackberry 7 OS [Online] // Blackberry. - 05 de 2011. - 01 de 06 de 2011. -

http://us.blackberry.com/apps-software/blackberry7/.

Samsung Electronics Co http://developer.bada.com/library/help [Online] // Bada Developers. -

2011. - 01 de 09 de 2011. - http://developer.bada.com/library/help.

Samsung Near Field Communication [Online] // Bada Developer. - 2011. - 20 de 08 de 2011. -

http://developer.bada.com/help_2.0/index.jsp?topic=/com.osp.cppprogramming.help/html/dev_g

uide/net/nfc.htm.

Secretariat EPC Draft Mobile Contactless Sepa card Payments interoperability implementation

guidelines [Online] // European Payments Council. - European Payments Council, 28 de 04 de

Page 109: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

91

2011. - V1.0. - 08 de 09 de 2011. -

http://www.europeanpaymentscouncil.eu/knowledge_bank_download.cfm?file=EPC178-

10%20Draft%20Mobile%20Contactless%20SEPA%20Card%20Payments%20Interoperability%

20IG.pdf.

Séneca Hugo Operadores de telemóveis fazem acordo para pagamentos por NFC [Online] //

Exame Informática. - 05 de 05 de 2011. - 10 de 09 de 2011. -

http://aeiou.exameinformatica.pt/operadores-de-telemoveis-fazem-acordo-para-pagamentos-

por-nfc=f1009454.

Sony Felica Contactless IC card Technology [Online] // Sony. - 2004. - 01 de 06 de 2011. -

http://www.sony.net/Products/felica/.

Tuikka Tuomo e Isomursu Minna Touch the Future with a Smart [Relatório]. - [s.l.] :

UTGIVARE, 2009.

Vodafone Portugal Quem Somos [Online] // Vodafone. - 2011. - 07 de 10 de 2011. -

http://www.vodafone.pt.

Vodafone Terminal Technology Roadmap [Relatório]. - 2010.

Vodafone Trends Technology [Relatório]. - 2010.

Weaver Pamela NTT DoCoMo and Twitter announce partnership [Online] // telecoms.com. - 13

de 05 de 2011. - 12 de 08 de 2011. - http://www.telecoms.com/27694/ntt-docomo-and-twitter-

announce-partnership/.

WG8 ISO/IEC 14443, Proximity cards [Online] // WG8. - 2000-2011. - 01 de 06 de 2011. -

http://wg8.de/sd1.html#14443.

Wikipedia Android (operating system) [Online] // Wikipedia. - 5 de 03 de 2011. - 05 de 03 de

2011. - http://en.wikipedia.org/wiki/Android_(operating_system).

Wikipedia Blackberry [Online] // Wikipedia. - 12 de 09 de 2011. - 12 de 09 de 2011. -

http://en.wikipedia.org/wiki/BlackBerry.

Wikipedia Código_QR [Online] // Wikipedia. - 2011. - 07 de 10 de 2011. -

http://pt.wikipedia.org/wiki/C%C3%B3digo_QR.

Page 110: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

92

Wikipedia Dalvik (software) [Online] // Wikipedia. - 11 de 02 de 2011. - 05 de 03 de 2011. -

http://en.wikipedia.org/wiki/Dalvik_(software).

Wikipedia Eclipse [Online] // Wikipedia. - Eclipse Foundation, 07 de April de 2011. - 10 de April

de 2011. - http://en.wikipedia.org/wiki/Eclipse_%28software%29.

Wikipedia Java (programming language) [Online] // Wikipedia. - 04 de 03 de 2011. - 05 de 03

de 2011. - http://en.wikipedia.org/wiki/Java_(programming_language).

Wikipedia Just-in-time compilation [Online] // Wikipedia. - 04 de 03 de 2011. - 05 de 03 de

2011. - http://en.wikipedia.org/wiki/Just-in-time_compilation.

Wikipedia List of Mobile country codes [Online] // Wikipedia. - 2011. - 28 de 05 de 2011. -

http://en.wikipedia.org/wiki/Mobile_Country_Code.

Wikipedia Mobile Network Code [Online] // Wikipedia. - 2011. - 28 de 05 de 2011. -

http://en.wikipedia.org/wiki/Mobile_Network_Code.

Wikipedia Wireless USB [Online] // Wikipedia. - 14 de March de 2011. - 09 de April de 2011. -

http://pt.wikipedia.org/wiki/Wireless_USB.

Anexos

Page 111: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

93

Anexo 1 – Project Plan

Project Plan

Background

NFC é uma nova tecnologia que irá trazer a integração de novos serviços em telemóveis. Hoje

em dia o desenvolvimento realizado em cartões SIM e nos dispositivos móveis tornou-os

altamente capazes de armazenar ou correr aplicações de terceiros.

NFC é uma tecnologia de comunicação de curto alcance baseada na indução de um campo

magnético criado por uma antena recetora.

Objetivo de investigação

O objetivo desta dissertação será centrado na integração tecnologia NFC para relações B2C

através de um telemóvel.

Este documento irá descrever com detalhe a tecnologia NFC, para percebermos o modelo de

funcionamento, vantagens, limitações, normalização e principalmente a sua área de atuação no

mercado de telecomunicações e na integração nos dispositivos móveis. O termo dispositivos

móveis será bastante utilizado, representa telemóveis de todas as gamas e tablets PC do tipo

iPad .

Serão descritos os requisitos tecnológicos necessários para implementação de soluções reais

dentro das áreas identificadas com maior potencial: invocação de serviços; pagamentos e

compras; peer-to-peer; loyalty (campanhas e promoções).

Limitações

A principal limitação está relacionada com o acesso a equipamentos que possuam tecnologia

integrada. Esta limitação faz com que o teste em terminais reais seja muito difícil. Este atraso

Page 112: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

94

na entrega dos equipamentos é acompanhado de adiamentos na disponibilização de SDK de

desenvolvimento atualizadas para as novas plataformas, por exemplo para Android.

Âmbito

Serão descritos os requisitos tecnológicos necessários para implementação de soluções reais

dentro das áreas identificadas com maior potencial: invocação de serviços; pagamentos e

compras; peer-to-peer; loyalty (campanhas e promoções).

Aspetos relacionados com a segurança será sumariamente abordados mas as soluções de

desenvolvimento propostas não focam este aspeto.

Gestão do projeto

Processo utilizado

A dissertação deverá apresentar propostas de implementação de aplicações B2B a correr em

dispositivos móveis. Para garantir que a sua compatibilidade e correta execução, as normas do

NFC terão que ser estudadas, bem como os diferentes tipos de tag ou dispositivos

Enquadramento

Esta dissertação insere-se na atividade curricular “Dissertação” do Mestrado de Engenharia

Informática-Ramo de arquitetura Sistemas e redes a realizar no ISEP e é orientada pelo

docente Dr. Paulo Gandra.

Page 113: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

95

Fases de decisão, follow up, reuniões e milestones

Fases de decisão

Fases Aprovação por Data para entrega Data atingida

Submissão da

proposta de

Dissertação

Paulo Gandra 31/12/08 31/12/08

Submissão do

Estado da Arte

Paulo Gandra 29/02/09 29/02/09

Submissão da

Dissertação

Paulo Gandra 30/06/11 15/10/2011

Defesa da

Dissertação

Júri

Follow-up

Ao longo da dissertação de mestrado haverá pontos de situação com o orientador Dr. Paulo

Gandra para avaliar o progresso da dissertação

Page 114: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

96

Reuniões de projeto

Objetivo: Controlo do progresso e orientação

Participantes: Dr. Paulo Gandra e aluno Pedro Nogueira

Frequência: A definir

Milestones

Data Descrição

01/11/08 Início da Dissertação

29/02/09 Envio do estado da Arte

De 01/06/09 a 01/10/10 Suspensão da dissertação

31/12/10 Revisão e atualização dos

conteúdos anteriores

28/02/11 Completar análise teórica e

especificação das soluções de

implementação

31/05/11 Desenvolvimento da

implementação

30/06/11 Entrega do relatório final para

revisão

Page 115: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

97

15/09/11 Entrega de versão de relatório

candidata a final

10/10/11 Entrega de protótipo

15/10/11 Entrega de versão final

Out./11 Defesa da Dissertação

Atividades

Principais atividades

A dissertação inclui trabalho teórico e experimentação prática das soluções a desenvolver para

dispositivo com NFC. Este trabalho inicia com estudo da literatura sobre NFC, seguida da

apresentação do estado da arte que compila a teoria mais relevante para esta dissertação. Se

seguida irei fazer a especificação das soluções que pretendo implementar.

Finalmente irei demonstrar as soluções desenvolvidas utilizando meios físicos, telemóvel e tag.

Page 116: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

98

Agenda

Atividades De 01/12/09 a

29/02/09

De 01/03/09 a

30/05/09

De 01/11/10

a 13/10/11

Total

Realizado

Total Previsto

Definir Proposta

de dissertação

5 5 5 15 15

Investigação

teórica

100 200 350 650 500

Escrever

relatório

30 50 600 680 640

Especificação

das soluções a

desenvolver

70 70 50

Desenvolviment

o

400 300 450

Testes 75 75 10

Reuniões 2 2 4 4

Total 1794

4.9 Ferramentas utilizadas

• Ferramentas que serão utilizadas durante o trabalho:

• Microsoft Office Word 2007 para escrita do relatório

• Microsoft Office Visio para realizar fluxos

Page 117: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

99

• Microsoft Office Project para gerir atividades

• DropBox para armazenar documentação

• ECLIPSE para desenvolvimento em Java.

• Android SDK para desenvolver aplicação compatível com plataforma móvel Android.

• Astah para desenho de fluxos UML.

Anexo 2 – RDID

RFID – Descrição da tecnologia

O que é RFID?

RFID é uma tecnologia que utiliza comunicação através de ondas rádio (sem fio) para identificar

pessoas ou objetos. Permite a recolha automática de informação acerca de um ou múltiplos itens

independentemente da sua posição, sem necessidade de uma ligação ótica direta ou intervenção

humana.

História RFID

Identificar as raízes RFID não se mostrou uma tarefa simples, várias versões são invocadas, o

que me levou a optar pela que reunia mais consenso.

RFID é a combinação da tecnologia rádio Broadcast com os radares6.

Em 1937 por Sir Robert Alexander Watson-Watt, um físico escocês, descobriu que as grandes

potências mundiais utilizavam radares para os avisar com antecedência da aproximação de

aviões. No entanto a dificuldade em identificar qual o avião aliado ou inimigo fez com que se

procuram-se métodos que solucionassem o problema, o primeiro método que surgiu,

considerado como o primeiro sistema passivo de RFID, consistia em que os seus pilotos

girassem os aviões no regresso à base de forma a modificar o sinal de rádio que seria refletivo

6 “Shrouds of Time The history of RFID” from AIM (Association for automatic identification and Data Capture Tecnhologies)

Page 118: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

100

de volta ao radar. Este método foi desenvolvido pelos alemães, viria a tornar-se extremamente

importante durante a Segunda Guerra Mundial.

Várias tecnologias baseadas no RFID foram desenvolvidas, tal como o primeiro identificador

ativo de amigo ou inimigo (IFF – Identify Friend or Foe) desenvolvido pelos Ingleses. Os

avanços na área de radares e de comunicação RF (Radio Frequency) fizeram com que entre os

anos 60 e 80 o RFID torna-se uma realidade.

As primeiras aplicações comerciais surgiram entre a década de 80 e 90, mas o alargamento

ocorreu entre a década de 90 com a definição de standard e o envolvimento dos principais

fabricantes e associações tecnológicas.

Hoje em dia a aplicabilidade do RFID é muito alargada, é utilizado para identificação de objetos,

segurança, controlo de furtos, localização, mobilidade, dando um contributo muito importante

nas áreas da distribuição, logística e recentemente em telecomunicações móveis.7

Como funciona o RFID?

RFID funciona através da utilização de semicondutores (Micro-chips) em tags ou etiquetas para

transmitir informação armazenada quando os tags ou as etiquetas são expostas a ondas rádio

de um determinada frequência.

Tendência do Mercado?

A tecnologia RFID está a atrair a indústria e a distribuição porque pode ser usada como uma

tecnologia global para substituição do atual código de barras em muitas situações. RFID

fornece todas as vantagens de uma leitura múltipla desacompanhada, do volume da informação

e da velocidade. Muitos fatores estão ajudar à expansão desta tecnologia, nomeadamente:

• Dispositivos mais baratos;

7 Historia RFID consultada em Shrouds of Time The history of RFID” from AIM (Association for automatic identification and Data Capture Tecnhologies) e http://pt.wikipedia.org/wiki/RFID

Page 119: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

101

• Soluções flexíveis;

• Vantagens sobre as soluções de códigos de barras;

• Definições Standards;

Aplicações RFID

Nos últimos anos temos assistido a um crescimento rápido do número de implementações com a

tecnologia RFID. Algumas das áreas onde podemos ver uma implementação são:

• Transportes e logística: Rastreio de produtos

• Controlo de acesso e segurança8: Controlo de acesso a áreas restritas9, etc.

• Gestão de cadeia de fornecimento: Identificação de objetos, prevenção de roubos, etc.

• Aplicações na área médica e farmacêutica: controlo de contrafação de medicamentos,

localização dos pacientes, identificação dos pacientes e do staff do hospital, etc.

• Fabrico e processamento: linhas de produção, etc.

• Agricultura: Controlo de Qualidade, localização de animais, etc.

• Sector público: Identificação de pessoas10, transportes, bibliotecas, etc.

• Desporto11

8 Imobilizador no Toyota Prius http://www.artsautomotive.com/PriusRFIDKey.htm

9 Taiwan Ministry of Economic Affairs Industrial Development Bureau e IBM http://www-306.ibm.com/software/success/cssdb.nsf/CS/HSAZ-6QZ49N?OpenDocument&Site=default&cty=en_us

10 Identificação pessoal – SmartWear Technologies parceira do U.S. Department of Homeland Security. http://www.smartweartechnologies.com/

11 RFID na equitação http://www.rfidjournal.com/article/articleview/3583/1/1/

Page 120: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

102

• Pagamentos móveis12

RFID – Funcionamento dos seus componentes

Fonte de energia – A energia necessária para enviar e ler a informação armazenada é obtida

do leitor, que transmite ondas eletromagnéticas. Estas ondas são intercetadas pela TAG e

convertidas em energia no Microchip, utilizando um mini-transformador. No entanto também

existem tags que possuem mini baterias para se auto alimentar e assim podem manter sempre

ativas, desta forma consegue-se aumentar o raio de transmissão.

Leitor – O leitor de RFID comunica com a TAG sem necessidade de contacto físico ou de

estarem em linha de visão. Estes interfaces processam os dados lidos da TAG e comunicam

com aplicações externas para fazer o tratamento da informação.

Modo de funcionamento das tags: Ativo-Passivo

Modo Ativo

O dispositivo possui uma bateria e não necessita de extrair energia do campo eletromagnético

• Maior campo de alcance

• Custo mais elevado

• Necessita de um leitor menos potente;

• Vida finita.

Passivo

O leitor fornece energia através do campo eletromagnético aos componentes da tag.

12 Visa Micro Tag http://usa.visa.com/personal/cards/paywave/micro_tag.html

Page 121: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

103

• Tags mais pequenos, leves e baratos;

• Vida quase ilimitada;

• Necessitam de leitores mais potentes.

Classificação por frequência de banda

A frequência é o número de ciclos que um sinal periódico é executado numa unidade de tempo.

Todas as aplicações RFID funcionam numa determinada frequência e todos os componentes do

sistema estão sincronizados com esta frequência.

Figura 31-Banda de Frequência RFID

(Fonte: Apresentação da Sybase no congresso de RFID – Mobilidade empresarial, da IDC em Março de 2009)

Page 122: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

104

Baixa frequência

A frequência baixa (30-300 KHZ) é usada em escalas próximas do acoplamento. Adequada para

distâncias dos tags -leitores a menos de 2cm. A frequência baixa requer leitores de baixo custo

que operam com um número limitado de tags ou informações.

Características

• Curto alcance de leitura

• Baixa velocidade de leitura

• Barato

Aplicações

• Cartões de Acesso Segurança

• Cartões de identificação pessoal

• Identificação de Animais

• Cartões Porta-moedas

Alta Frequência

A alta frequência (3-30MHZ) em longo alcance (0-20cm) e curto alcance (0-1m). Estas duas

escalas são as mais usadas em aplicações de tecnologia de radiofrequência.

Características

• Curto alcance de leitura

• Média velocidade de leitura

• Potencialmente dispendioso

Page 123: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

105

Aplicações

Longo alcance:

• Cartões de acesso Segurança

• Cartões de Identificação Pessoal

Curto Alcance:

• Sem informação no TAG

o Segurança de Loja/Supermercado

o Deteção de Elemento/Produto

• Com informação no TAG

o Identificação de elementos

o Informação de Produtos

o Gestão de Manuseamento Produtos

Frequência ultra alta

A Frequência Ultra Alta (300-3000MHZ) é usada num alcance dos 0-6m. Nos UUA e na Europa

utilizam-se frequências diferentes; EUA (915 MHZ) e na Europa (868 MHZ), não existindo

compatibilidade de entre dispositivos dos dois continentes.

Aplicações

• Identificação e localização de objetos

• Controlo de objetivos em trânsito

• Gestão Manuseamento de Produto

Page 124: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

106

• Identificação de Animais

• Produção e Manufatura

• Controlo e Rastreabilidade

• Controlo de Docas e Transporte

Características

• Médio alcance de leitura

• Média velocidade de leitura

• Dispendioso

Micro-Ondas

As Micro-Ondas (3-30GHz) são utilizadas em longo alcance (100m)

Características

• Longo alcance de leitura

• Alta velocidade de leitura

• Dispendioso

• Linha de Visualização

Aplicações

• Terminais de RF e Comunicações

• Identificação/localização de Objetos

• Controlo de produto em trânsito

Page 125: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

107

• Gestão de manuseamento de produto

• Identificação de animais

• Produção e manufatura

• Controlo e Rastreabilidade

• Transporte/Distribuição de produtos

Características técnicas

Vantagens Desvantagens

Sistema de identificação automática Componentes dispendiosos

Captação de informação múltipla e em

simultâneo

Conhecimento técnico ainda precisa de ser

alargado e desenvolvido

Inexistência de contacto físico, utilização

de ondas rádio

Não é indicado para ambientes em presença

de água ou metal

Não é necessária visualização para

escrever ou ler informação

Ondas rádio de outros sistemas produzem

interferências

Diferentes alcances de leitura/escritas

disponíveis

Page 126: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

108

Standards ISO

Os standards ISO são reconhecidos mundialmente e desenvolvidos para garantir a

inoperacionalidade dos transponders e dos leitores de diferentes produtos e marcas. Alguns

exemplos de standards aprovados são:

• ISO 10536 – Alcance de Leitura inferior a 2cm. Relacionado com os dispositivos de

proximidade, como cartões de identificação.

• ISO 1441 – Alcance de leitura até 20cm. Cartões/Dispositivos de proximidade.

• ISO 15693 – Alcance de leitura até 6m. Cartões/dispositivos vizinhança.

• ISO 18000- Protocolo de interface. Não define o conteúdo dos dados, a sua estrutura,

nem a sua implementação física.

[Fonte:International Organization for Standardization; http://www.iso.org]

EPC

O Código de Produto Eletrónico (EPC-Electronic Product Code) é um novo produto de numeração

padrão sob o desenvolvimento do UCC (Uniform Code Council) e EAN (European Article

Numbering) internacional. A Estrutura do código de EPC define um código de identificação único

para cada produto. Pode ser utilizado para detetar, controlar e rastrear itens e produtos através da

tecnologia RFID.

Esta iniciativa começou como um projeto de pesquisa dirigido a clientes finais pela AUTO-ID

Centre do MIT em Novembro de 2003 e recebeu o suporte da UCC/EAN para usar o código de

EPC como a “versão eletrónica” de identificação de produto da EAN/UCC. A especificação EPC

Gen2 UHF foi formalmente aprovada pelo fórum GS1 (EAN.UCC) em Bruxelas em 16 de

Fevereiro de 2005.

Rede EPC

Page 127: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

109

Associados aos desenvolvimentos do EPC RFID, foi criado um novo serviço Internet que permite

o tracking global individual dos produtos e bens através da cadeia de fornecedores. Este sistema

de captura de dados conectado à internet é chamado “rede EPC”. Será um produto EAN e ECC,

assim provavelmente será um standard “de facto”.

MOBILE RFID

Mobile RFID13 é uma tecnologia convergente baseada no RFID e num telemóvel com acesso à

internet, é considerado como um campo dentro do RFID com mais potencial para acelerar a

resolução da ubiquidade.

Esta convergência de tecnologias, RFID e telemóvel, consiste em instalar um leitor de RFID em

miniatura no telemóvel, mantendo como principal foco do RFID na identificação de objeto mas

desta feita via telemóvel. O telemóvel acrescenta a mais-valia de permitir que se possa obter mais

informações sobre o objetivo lido, através do acesso à internet via GPRS/3G ou Wifi, por exemplo

ler informação de um TAG RFID de um poster de um filme14, o que invocaria um serviço no

telemóvel de forma a obter um trailer do filme ou poder adquirir bilhetes. A figura seguinte

apresenta o ambiente que envolvente ao Mobile RFID, sendo o telemóvel o ponto central e faz a

ponte entre a leitura da informação das tags dos objetivos com os sistemas dos fornecedores de

serviços e mais informações.

13 O ETRI (Electronics and Telecommunications Research Institute) da Korea tem feito os maiores desenvolvimentos nesta área, com a implementação desta tecnologia no dia-a-dia das pessoas. Capitulo baseado no white Paper “The Business Value of Mobile RFID Services in Korea” criados por investigadores do ETRI e da Universidade de Ciência e Tecnologia da Coreia. 14 Exemplo apresentado no white paper “An integrated mobile REID service architecture between B2B and B2C” criado por investigadores do ETRI.

Page 128: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

110

Figura 32-Ambiente do Mobile RFID

(Fonte: ETRI)

A banda UHF é a mais comum no RFID, a tecnologia Mobile RFID na banda UHF é baseada na

norma ISO/IEC 18000-6C, mas pode ser utilizado em outras frequências.

Vantagens do Mobile Rfid

Uma das vantagens é o facto de partilhar a mesma banda das tags de RFID utilizadas na

logística e nas cadeias de fornecimento e pode assim evitar redundância de investimentos.

O seu raio de alcance pode ser ajustado, na frequência mais comum de 900Mhz é de

aproximadamente 1 metro mas o nível de potência pode ser alterado para aumentar ou diminuir

o raio de alcance que depende da aplicação que se pretende dar, por exemplo para operações

que se exige mais segurança como pagamento eletrónico, é adequado um menor raio de

alcance.

Page 129: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

111

A convergência do RFID com o telemóvel e a sua facilidade de implementação é outra das

vantagens, fácil de criar novos serviços utilizando o leitor de RFID integrado no telemóvel.

Limitações mobile RFID

Esta é uma área ainda em desenvolvimento, mas o principal risco identificado tem relação com a

probabilidade de ocorrência de colisões entre vários telemóveis que possuam um leitor RFID

integrado.

Integração em rede B2B

A Coreia do Sul tem feito os maiores avanços nesta área, o ETRI em conjunto com os principais

operadores de telecomunicações realizaram várias implementações, como exemplos:

• Serviço de Portal Universitário

• Validação de genuinidade de medicamentos;

• Acesso a informação sobre produtos

• Compra de produtos no McDonald

• Serviço de identificação de livros no Museus.

Para que estas implementações sejam possíveis, é que necessário criar uma arquitectura que

façam a convergência entre a tecnologia RFID, uma rede de telecomunicações e os parceiros

empresariais, basicamente integração do Mobile RFID numa rede B2B e B2C.

Foram desenvolvidos standards que permitem que a cadeia de fornecimento de produtos e

serviços RFID se consiga integrar na rede Mobile RFID de forma comum, no entanto vários

fatores continuam a necessitar de ser considerados, nomeadamente:

• Associação de segurança entre as entidades B2B

Page 130: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

112

• Organização de conteúdos. A devolução de informação sobre um objeto deverá cumprir

determinada estrutura comum e ter em consideração as limitações dos telemóveis em

termos de limitada capacidade computacional e de ecrã.

• Adaptação e modificação dos conteúdos: Os telemóveis possuem características e

limitações diferentes, o que implica uma conversão e modificação dos conteúdos para se

adaptarem ao telemóvel.

Estes fatores obrigam a que tenhamos que olhar para uma rede de RFID B2C e de forma isolada

uma B2B. Para que esta integração seja possível a arquitetura de rede terá que contemplar uma

Gateway que atue como um proxy ou um agente. Baseado num modelo proposto pela ETRI,

“service gateway15”A Figura seguinte apresenta de forma resumida a arquitetura sugerida que

será na dissertação.

Figura 33-Arquitectura de rede Mobile RFID com uma Gateway

(Fonte: ETRI)

15 Consultar white paper “An integrated mobile REID service architecture between B2B and B2C networks”criado pela ETRI.Disponivel via IEEE Explore.

Page 131: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

113

Aplicações de mobile RFID

No ponto anterior foram apresentados alguns exemplos de implementação, apresentamos

exemplos concretos utilizados na Exibição de RFID em 2006 na Coreia do Sul.

Figura 34-Prova de vinhos, informação sobre o vinho

Figura 35-Informação sobre o BUS

Page 132: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

114

Figura 36-Mais informação sobre um filme

Page 133: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

115

Anexo 3 – TAGs NFC e a sua aplicação

Tabela 16 – Adequação de aplicações de acordo com o tipo de TAG

Fonte: NFC Forum – Innovision White paper

Page 134: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

116

Anexo 4 – Código fonte O código fonte encontra-se disponivel para download através do endereço

http://db.tt/wL8IFJOn. Este documento apresenta o código das actividades principais e do

Manisfest File.

Class Scantag.java

package nfc.master;

import android.app.Activity;

import android.app.PendingIntent;

import android.app.ProgressDialog;

import android.content.Intent;

import android.content.IntentFilter;

import android.nfc.NdefMessage;

import android.nfc.NdefRecord;

import android.nfc.NfcAdapter;

import android.nfc.Tag;

import android.nfc.tech.MifareClassic;

import android.nfc.tech.Ndef;

import android.nfc.tech.NfcA;

import android.os.Bundle;

import android.os.Handler;

import android.os.Message;

import android.os.Parcelable;

import android.util.Log;

import android.widget.LinearLayout;

import android.widget.TextView;

import java.io.IOException;

import java.util.ArrayList;

/**

* An {@link Activity} which handles a broadcast of a new tag that the device

* just discovered.

*/

public class Scantag extends Activity implements Runnable {

static final String TAG = "ViewTag";

/**

* This activity will finish itself in this amount of time if the user

* doesn't do anything.

*/

static final int ACTIVITY_TIMEOUT_MS = 1 * 1000;

TextView mTitle;

TagItem _tagitem=null;

LinearLayout mTagContent;

Intent intentglobal;

// NFC parts

private static NfcAdapter mAdapter;

private static PendingIntent mPendingIntent;

private static IntentFilter[] mFilters;

private static String[][] mTechLists;

public String[] mifare = new String[6];

public String[] ndef = new String[6];

Page 135: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

117

public ArrayList<String> AlistTagUTF8;

public ArrayList<String> AlistTagHEX;

public ArrayList<String> AlistTagASCII;

ProgressDialog myProgressDialog = null;

public String action;

// Hex help

private static final byte[] HEX_CHAR_TABLE = { (byte) '0', (byte) '1',

(byte) '2', (byte) '3', (byte) '4', (byte) '5', (byte) '6',

(byte) '7', (byte) '8', (byte) '9', (byte) 'A', (byte) 'B',

(byte) 'C', (byte) 'D', (byte) 'E', (byte) 'F' };

// Just for alerts

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.scantag);

//resolveIntent(getIntent());

mAdapter = NfcAdapter.getDefaultAdapter(this);

// Create a generic PendingIntent that will be deliver to this

activity.

// The NFC stack

// will fill in the intent with the details of the discovered tag

before

// delivering to

// this activity.

mPendingIntent = PendingIntent.getActivity(this, 0, new

Intent(this,

getClass()).addFlags(Intent.FLAG_ACTIVITY_SINGLE_TOP),

0);

// Setup an intent filter for all MIME based dispatches

IntentFilter ndef = new

IntentFilter(NfcAdapter.ACTION_NDEF_DISCOVERED);

IntentFilter tech = new

IntentFilter(NfcAdapter.ACTION_TECH_DISCOVERED);

IntentFilter tag = new

IntentFilter(NfcAdapter.ACTION_TAG_DISCOVERED);

mFilters = new IntentFilter[] { ndef, tech,tag, };

// Setup a tech list for all NfcF tags

mTechLists = new String[][] { new String[] { MifareClassic.class

.getName(),Ndef.class

.getName(),NfcA.class

.getName() } };

Intent intent = getIntent();

intentglobal=intent;

resolveIntent(intentglobal);

}

void resolveIntent(Intent intent) {

// Parse the intent

action = intent.getAction();

if (NfcAdapter.ACTION_TECH_DISCOVERED.equals(action)

||NfcAdapter.ACTION_NDEF_DISCOVERED.equals(action)) {

_tagitem = new TagItem();

Page 136: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

118

//Toast.makeText(getApplicationContext(),"Tag

detected",Toast.LENGTH_LONG).show();

myProgressDialog = ProgressDialog.show(this,

"Please wait...", "Tag Detected,

reading...Please keep your phone in touch with the tag while is reading",

true,false);

//Toast.makeText(getApplicationContext(),"Activity will

continue2",Toast.LENGTH_LONG).show();

Thread thread = new Thread(this);

thread.start();

} else {

Log.e(TAG, "Unknown intent " + intent);

}

}

public void run() {

resolveIntentNdef(intentglobal);//get NDEF Parcebable data

resolveIntentMifare(intentglobal);//get tag details and

Intent displayinfo = new Intent(this, TagDetail.class);

Bundle b = _tagitem.toBundle();

displayinfo.putExtras(b);

startActivity(displayinfo);

handler.sendEmptyMessage(0);

}

public void resolveIntentNdef(Intent intent) {

Parcelable[] rawMsgs =

intent.getParcelableArrayExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);

//Tag tagFromIntent =

intent.getParcelableExtra(NfcAdapter.EXTRA_NDEF_MESSAGES);

Tag tagFromIntent =

intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

Ndef _ndef = Ndef.get(tagFromIntent);

try {

_ndef.connect();

} catch (IOException e) {

Log.e(TAG, "Erro na ligação " + e.toString());

e.printStackTrace();

}

ndef[0]=_ndef.toString();

ndef[1]=Integer.toString(_ndef.hashCode());

ndef[2]=Integer.toString(_ndef.getMaxSize());

ndef[3]=_ndef.getType();

ndef[4]= new Boolean(_ndef.canMakeReadOnly()).toString();

ndef[5]= new Boolean(_ndef.isWritable()).toString();

try {

_ndef.close();

} catch (IOException e) {

e.printStackTrace();

}

_tagitem.ndefstring=ndef;

_tagitem.rawMsgs=rawMsgs;

NdefMessage[] msgs;

Page 137: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

119

if (rawMsgs != null) {

msgs = new NdefMessage[rawMsgs.length];

for (int i = 0; i < rawMsgs.length; i++) {

msgs[i] = (NdefMessage) rawMsgs[i];

}

//_tagitem.message = msgs.;

} else {

// Unknown tag type

byte[] empty = new byte[] {};

NdefRecord record = new NdefRecord(NdefRecord.TNF_UNKNOWN,

empty, empty, empty);

NdefMessage msg = new NdefMessage(new NdefRecord[]

{record});

msgs = new NdefMessage[] {msg};

}

}

public void resolveIntentMifare(Intent intent) {

Tag tagFromIntent =

intent.getParcelableExtra(NfcAdapter.EXTRA_TAG);

mifare = new String [6];

_tagitem.mTechList=tagFromIntent.getTechList();

_tagitem.tagid=tagFromIntent.getId().toString();

_tagitem.hashcode=Integer.toString(tagFromIntent.hashCode());

MifareClassic mfc = MifareClassic.get(tagFromIntent);

byte[] data;

try { // 5.1) Connect to card

mfc.connect();

mifare[0]=mfc.toString();

mifare[1]=Integer.toString(mfc.hashCode());

mifare[2]=Integer.toString(mfc.getSize());

mifare[3]=Integer.toString(mfc.getType());

mifare[4]=Integer.toString(mfc.getSectorCount());

mifare[5]=Integer.toString(mfc.getBlockCount());

_tagitem.mifare=mifare;

boolean auth = false;

boolean authDefault = false;

boolean authAppDirectory = false;

boolean authNFCForum = false;

AlistTagUTF8 = new ArrayList<String>();

AlistTagHEX = new ArrayList<String>();

AlistTagASCII = new ArrayList<String>();

String cardData = null;

// status_Data.setText("Authenticating the

Tag..");

// 5.2) and get the number of sectors this card has..and

loop thru these sectors

int secCount = mfc.getSectorCount();

int bCount = 0;

int bIndex = 0;

for(int j = 0; j < secCount; j++){

// 6.1) authenticate the sector

Page 138: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

120

authDefault = mfc.authenticateSectorWithKeyA(j,

MifareClassic.KEY_DEFAULT);

if(!authDefault)

{

authAppDirectory =

mfc.authenticateSectorWithKeyA(j,

MifareClassic.KEY_MIFARE_APPLICATION_DIRECTORY);

if(!authAppDirectory)

{

authNFCForum =

mfc.authenticateSectorWithKeyA(j, MifareClassic.KEY_NFC_FORUM);

if(!authNFCForum)

{

auth=false;

}

else{

auth=true;

}

}else{

auth=true;

}

}else{

auth=true;

}

if(auth){

// 6.2) In each sector - get the block count

bCount = mfc.getBlockCountInSector(j);

bIndex = 0;

//Return the first block of a given sector.

bIndex = mfc.sectorToBlock(j);

for(int i = 0; i < bCount; i++){

// bIndex = mfc.sectorToBlock(j);

// 6.3) Read the block

data = mfc.readBlock(bIndex);

// 7) Convert the data into a string from

Hex format.

String sUTF8 = new String(data, "UTF-8");

String sASCII = new String(data, "US-

ASCII");

cardData = getHexString(data,

data.length);

Log.i(TAG, getHexString(data,

data.length));

if (cardData != null) {

AlistTagUTF8.add("Sector

"+Integer.toString(j+1)+ " block "+Integer.toString(i+1)+ " :"+sUTF8);

AlistTagHEX.add("Sector

"+Integer.toString(j+1)+ " block "+Integer.toString(i+1)+ " :"+ cardData);

AlistTagASCII.add("Sector

"+Integer.toString(j+1)+ " block "+Integer.toString(i+1)+ " :"+sASCII);

bIndex++;

} else {

Page 139: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

121

bIndex++;

}

}

}

}

if(AlistTagUTF8.size()>0){

_tagitem.contentMifareUTF8=AlistTagUTF8;

_tagitem.contentMifareHEX=AlistTagHEX;

_tagitem.contentMifareASCII=AlistTagASCII;

}

}catch (IOException e) {

Log.e(TAG, e.getLocalizedMessage());

}

}

//read again the tag

@Override

public void onNewIntent(Intent intent) {

Log.i("Foreground dispatch", "Discovered tag with intent: " +

intent);

//setIntent(intent);

intentglobal=intent;

resolveIntent(intentglobal);

}

@Override

public void setTitle(CharSequence title) {

mTitle.setText(title);

}

@Override

public void onPause() {

super.onPause();

mAdapter.disableForegroundDispatch(this);

}

@Override

public void onResume() {

super.onResume();

mAdapter.enableForegroundDispatch(this, mPendingIntent, mFilters,

mTechLists);

}

//get hexadecimal from each block of each sector

public static String getHexString(byte[] raw, int len) {

byte[] hex = new byte[2 * len];

int index = 0;

int pos = 0;

for (byte b : raw) {

if (pos >= len)

break;

pos++;

int v = b & 0xFF;

hex[index++] = HEX_CHAR_TABLE[v >>> 4];

Page 140: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

122

hex[index++] = HEX_CHAR_TABLE[v & 0xF];

}

return new String(hex);

}

//manage the progress bar

private Handler handler = new Handler() {

@Override

public void handleMessage(Message msg) {

myProgressDialog.dismiss();

}

};

}

Class TagDetail.java

/*

*This class manages information from a a bundle which represents a object

from the class TagItem

*this information is assigned to UI fields

*

*/

package nfc.master;

import android.app.Activity;

import android.app.AlertDialog;

import android.app.Dialog;

import android.app.PendingIntent;

import android.app.TabActivity;

import android.app.AlertDialog.Builder;

import android.content.ActivityNotFoundException;

import android.content.Context;

import android.content.DialogInterface;

import android.content.Intent;

import android.content.IntentFilter;

import android.content.res.Resources;

import android.net.ConnectivityManager;

import android.net.NetworkInfo;

import android.net.Uri;

import android.nfc.NdefMessage;

import android.nfc.NdefRecord;

import android.nfc.NfcAdapter;

import android.os.Bundle;

import android.os.Parcelable;

import android.provider.Settings;

import android.util.Log;

import android.view.View;

import android.view.View.OnClickListener;

import android.widget.ArrayAdapter;

import android.widget.Button;

import android.widget.CheckBox;

import android.widget.ImageView;

import android.widget.LinearLayout;

import android.widget.ListView;

import android.widget.TabHost;

import android.widget.TextView;

import android.widget.Toast;

Page 141: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

123

import nfc.master.ParsedNdefRecord;

import java.util.ArrayList;

import java.util.List;

/**

* An {@link Activity} which handles a broadcast of a new tag that the device

* just discovered.

*/

public class TagDetail extends TabActivity implements OnClickListener {

static final String TAG = "ViewTag";

private static final int NETWORK = 1;

private static final int OTHERS = 2;

private static final int NONETWORK = 3;

/**

* This activity will finish itself in this amount of time if the user

* doesn't do anything.

*/

static final int ACTIVITY_TIMEOUT_MS = 1 * 1000;

TagItem _tagitem=null;

//TAGinfo

TextView tagID_ti;

TextView hashCode_ti;

public ArrayList<String> listTag_ti;

private static ListView lvTag_ti;

LinearLayout mTagContent;

final int DOCALL = 1;//CONSTANT TO DEFINE EVENTS WHERE A CALL WILL BE

MADE

final int OPENBROWSER = 2;//CONSTANT TO DEFINE EVENTS WHERE A browser

will be open

final int SENDSMS = 3;//CONSTANT TO DEFINE EVENTS WHERE A SMS will be

sent

final int TEXT = 4;//CONSTANT TO DEFINE EVENTS WHERE A TEXT IS THE NDEF

RECORD

//Mifare tab

private static TextView technology_Data;

private static TextView hash_Data;

private static TextView size_Data;

private static TextView type_Data;

private static TextView sectors_Data;

private static TextView blocks_Data;

String[] mifare;

public ArrayList<String> AlistTag;

private static ListView lvTag;

// Hex help

//NDEF tab

TextView ndefname;

TextView hashCode_ndef;

TextView getMaxsize_ndef;

TextView messagesize_ndef;

TextView type_ndef;

TextView textrecord;

TextView recordtype;

Page 142: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

124

TextView textrecord2;

TextView textrecord3;

CheckBox checkcanmakereadonly;

CheckBox checkiswritable;

Button scanBut;

Button bhex;

Button bascii;

Button butf8;

private static ListView lvTag_ndef;

ImageView imagerecord;

Resources resources;

Uri uriGlobal;

String textTypeOfrecord;

String textRecord;

// NFC parts

private static NfcAdapter mAdapter;

private static PendingIntent mPendingIntent;

private static IntentFilter[] mFilters;

private static String[][] mTechLists;

Bundle b;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.tag);

TabHost tabs = getTabHost();

//UI elements for tab info

tagID_ti = (TextView) findViewById(R.id.tagid_ti);

hashCode_ti = (TextView) findViewById(R.id.hashid_ti);

lvTag_ti = (ListView) findViewById(R.id.listtechsupported_ti);

//UI elements for ndef tab

ndefname=(TextView) findViewById(R.id.technology_data_ndef);

textrecord=(TextView) findViewById(R.id.textrecord);

textrecord2=(TextView) findViewById(R.id.textrecord2);

textrecord3=(TextView) findViewById(R.id.textrecord3);

recordtype=(TextView) findViewById(R.id.recordtype);

hashCode_ndef=(TextView) findViewById(R.id.Hash_ID_ndef);

getMaxsize_ndef=(TextView) findViewById(R.id.size_data_ndef);

messagesize_ndef=(TextView) findViewById(R.id.messagesize_ndef);

type_ndef=(TextView) findViewById(R.id.type_data_ndef);

checkcanmakereadonly=(CheckBox)

findViewById(R.id.checkBoxreadonly);

checkiswritable=(CheckBox) findViewById(R.id.CheckBoxIsWritable);

imagerecord = (ImageView)findViewById(R.id.imagerecord);

//lvTag_ndef = (ListView) findViewById(R.id.listndef);

textrecord.setOnClickListener((OnClickListener) this);

scanBut = (Button) findViewById(R.id.scan);

scanBut.setOnClickListener(this);

//UI elements for MIFARE TAB

technology_Data = (TextView) findViewById(R.id.technology_data);

hash_Data = (TextView) findViewById(R.id.Hash_ID);

size_Data = (TextView) findViewById(R.id.size_data);

type_Data = (TextView) findViewById(R.id.type_data);

sectors_Data = (TextView) findViewById(R.id.sectors_data);

Page 143: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

125

blocks_Data = (TextView) findViewById(R.id.blocks_data);

lvTag = (ListView) findViewById(R.id.listTag);

bhex =(Button) findViewById(R.id.buttonhex);

bascii =(Button) findViewById(R.id.buttonascii);

butf8 =(Button) findViewById(R.id.buttonutf8);

bhex.setOnClickListener(this);

bascii.setOnClickListener(this);

butf8.setOnClickListener(this);

resources = getResources();

createTab(tabs);

Intent startingIntent = getIntent();

if (startingIntent != null) {

b = startingIntent.getExtras();

if (b == null) {

//Toast.makeText(getApplicationContext(),"Bad

Bundle",Toast.LENGTH_LONG).show();

} else {

_tagitem = TagItem.fromBundle(b);

populateTagInfo(_tagitem);//populate tab info with

overall information from the tag

populateTagNdef(_tagitem); //populate ndef tab with

detailed information from ndef record

populateMifare(_tagitem);//populate mifare tab with

detailed information from MIFARE record

performIntent();//read with type of NDEF record is

supported and prompts user if wants to perform intent

//Toast.makeText(getApplicationContext(),"Info

found",Toast.LENGTH_LONG).show();

}

} else {

Toast.makeText(getApplicationContext(),"Info not

found",Toast.LENGTH_LONG).show();

}

}

//textrecord click event, if customer press on textview will get the

intent and do something

@Override

public void onClick(View v) {

if(scanBut.getId()==v.getId())

{

backToScan();

}

if(textrecord.getId()==v.getId())

{

performIntent();

}

if(bhex.getId()==v.getId())

{

Intent displayinfo = new Intent(this, MifareRecord.class);

Page 144: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

126

displayinfo.putExtra("tagitem",b);

displayinfo.putExtra("recordtype","hex");

startActivity(displayinfo);

}

if(bascii.getId()==v.getId())

{

Intent displayinfo = new Intent(this, MifareRecord.class);

displayinfo.putExtra("tagitem",b);

displayinfo.putExtra("recordtype","ascii");

startActivity(displayinfo);

}

if(butf8.getId()==v.getId())

{

Intent displayinfo = new Intent(this, MifareRecord.class);

displayinfo.putExtra("tagitem",b);

displayinfo.putExtra("recordtype","utf8");

startActivity(displayinfo);

}

}

//back to scan page

public void backToScan()

{

finish();

}

//if user click on ndef record, this call will perform the associated

action

public void performIntent()

{

if(textTypeOfrecord.contentEquals("URI"))

{

getIntentForUri(uriGlobal);

}else{

if(textTypeOfrecord.contentEquals("SmartPoster"))

{

getIntentForUri(uriGlobal);

}if(textTypeOfrecord.contentEquals("Text"))

{

openMyDialog(TEXT);

}

}

}

//assign name and icon to each tab

private void createTab(TabHost _tabs)

{

//access to our other application resources

_tabs.addTab(_tabs.newTabSpec("tag_info").setIndicator(getString(R.strin

g.taginfo),

Page 145: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

127

resources.getDrawable(R.drawable.tab_tag)).setContent(R.id.taginfo));

_tabs.addTab(_tabs.newTabSpec("ndef").setIndicator(getString(R.string.nd

ef),

resources.getDrawable(R.drawable.tab_ndef)).setContent(R.id.ndef));

_tabs.addTab(_tabs.newTabSpec("mifare").setIndicator(getString(R.string.

mifare),

resources.getDrawable(R.drawable.tab_mifare)).setContent(R.id.mifare));

_tabs.setCurrentTab(0);

}

//populate information about the tag on the tab general info

private void populateTagInfo(TagItem _tagitem)

{

tagID_ti.setText(_tagitem.tagid);

hashCode_ti.setText(_tagitem.hashcode);

if(_tagitem.mTechList.length>0){

lvTag_ti.setAdapter(new

ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,_tagitem.mTechLi

st));

}

}

//populate mifare tab

private void populateMifare(TagItem _tagitem)

{

mifare = _tagitem.mifare;

technology_Data.setText(mifare[0]);

hash_Data.setText(mifare[1]);

size_Data.setText(mifare[2]);

type_Data.setText(mifare[3]);

sectors_Data.setText(mifare[4]);

blocks_Data.setText(mifare[5]);

}

//populate information about NDEF data

private void populateTagNdef(TagItem _tagitem)

{

Parcelable[] rawMsgs = _tagitem.rawMsgs;

String [] ndefstring=_tagitem.ndefstring;

ndefname.setText(ndefstring[0]);

hashCode_ndef.setText(ndefstring[1]);

getMaxsize_ndef.setText(ndefstring[2]);

type_ndef.setText(ndefstring[3]);

if(ndefstring[4].contentEquals("true"))

{

checkcanmakereadonly.setChecked(true);

}

if(ndefstring[5].contentEquals("true"))

Page 146: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

128

{

checkiswritable.setChecked(true);

}

NdefMessage[] msgs;

NdefMessage msg2 = (NdefMessage) rawMsgs[0];

if (rawMsgs != null) {

msgs = new NdefMessage[rawMsgs.length];

for (int i = 0; i < rawMsgs.length; i++) {

msgs[i] = (NdefMessage) rawMsgs[i];

}

} else {

// Unknown tag type

byte[] empty = new byte[] {};

NdefRecord record = new NdefRecord(NdefRecord.TNF_UNKNOWN,

empty, empty, empty);

NdefMessage msg = new NdefMessage(new NdefRecord[]

{record});

msgs = new NdefMessage[] {msg};

}

buildTagViews(msgs,msg2);

}

//open the ndef message and get the records

void buildTagViews(NdefMessage[] msgs,NdefMessage msg) {

String [] _records;

UriRecord _UriRecord;

TextRecord _TextRecord;

SmartPoster _SmartPoster;

String text;

if (msgs == null || msgs.length == 0) {

return;

}

// Build views for all of the sub records

List<ParsedNdefRecord> records = NdefMessageParser.parse(msgs[0]);

text = NdefMessageParser.typeOfRecord();

textTypeOfrecord=text;

final int size = records.size();

_records= new String[size];

if(text==null)

{

recordtype.setText("Unknown");

}else{

recordtype.setText(NdefMessageParser.typeOfRecord());

if(text.contentEquals("URI"))

{

_UriRecord= NdefMessageParser._UriRecord;

Uri uri=_UriRecord.getUri();

uriGlobal=uri;

String uritype = getUriString(uri);

messagesize_ndef.setText(Integer.toString(uri.toString().length()));

Page 147: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

129

if(uritype.contentEquals("tel"))

{

//textTypeOfrecord="tel";

textrecord.setText(uri.toString());

imagerecord.setImageDrawable(resources.getDrawable(R.drawable.call));

}else{if(uritype.contentEquals("sms")){

//textTypeOfrecord="sms";

textrecord.setText(uri.toString());

imagerecord.setImageDrawable(resources.getDrawable(R.drawable.smsgreen))

;

}else{

//textTypeOfrecord="url";

textrecord.setText(uri.toString());

imagerecord.setImageDrawable(resources.getDrawable(R.drawable.web));

}

}

}else{ if(text.contentEquals("Text"))

{

_TextRecord =NdefMessageParser._TextRecord;

textRecord=_TextRecord.getText();

textrecord.setText(_TextRecord.getText());

messagesize_ndef.setText(Integer.toString(_TextRecord.getText().length()

));

imagerecord.setImageDrawable(resources.getDrawable(R.drawable.textred));

}else{

_SmartPoster = NdefMessageParser._SmartPoster;

_UriRecord=_SmartPoster.getUriRecord();

Uri uriSP=_UriRecord.getUri();

uriGlobal=uriSP;

if(_SmartPoster.getTitle()!=null){

textrecord.setText(uriSP.toString());

textrecord2.setText("Title"+_SmartPoster.getTitle().getText().toString()

);

textrecord3.setText("Action:"+_SmartPoster.mAction.toString());

messagesize_ndef.setText(Integer.toString(uriSP.toString().length()+_Sma

rtPoster.getTitle().getText().toString().length()));

}else{

textrecord.setText(uriSP.toString());

textrecord2.setText("Action:"+_SmartPoster.mAction.toString());

messagesize_ndef.setText(Integer.toString(uriSP.toString().length()));

}

Page 148: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

130

imagerecord.setImageDrawable(resources.getDrawable(R.drawable.sp));

}

}

}

}

//get tel number from a URI record

public String getNumber(Uri uri)

{

String ssp = uri.getSchemeSpecificPart();

int offset = ssp.indexOf(':');

if (offset >= 0) {

ssp = ssp.substring(offset, ssp.length());

}

return ssp;

}

//get number and body of a SMS URI record

public String[] getSMS(Uri uri)

{

String ssp = uri.getSchemeSpecificPart();

String ssptemp;

String ssBody;

String [] smsdata = new String[2];

int offset; //= ssp.indexOf(':');

int offset2 = ssp.indexOf('?');

if (offset2 >= 0) {

ssptemp = ssp.substring(0, offset2);

offset = ssp.indexOf('=');

ssBody=ssp.substring(offset+1,ssp.length());

smsdata[0]=ssptemp;

smsdata[1]=ssBody;

}

return smsdata;

}

//get intent for each type of URI, send SMS, do a Call or open a browser

public void getIntentForUri(Uri mUri) {

String scheme = mUri.getScheme();

if(textTypeOfrecord.equals("Text"))

{

openMyDialog(TEXT);

}else{

if ("tel".equals(scheme)) {

if(isNetworkAvailable())

{

openMyDialog(DOCALL);

}else{

showAlert(NONETWORK);

}

//return new Intent(Intent.ACTION_CALL, mUri);

} else if ("sms".equals(scheme) || "smsto".equals(scheme)) {

Page 149: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

131

//return new Intent(Intent.ACTION_SENDTO, mUri);

if(isNetworkAvailable())

{

openMyDialog(SENDSMS);

}else{

showAlert(NONETWORK);

}

//sendSMS(mUri);

} else {

if(isNetworkAvailable())

{

openMyDialog(OPENBROWSER);

}else{

showAlert(NONETWORK);

}

//return new Intent(Intent.ACTION_VIEW, mUri);

}

}

}

//gets the type of URI, tel, sms or url;

public String getUriString(Uri mUri) {

String scheme = mUri.getScheme();

boolean tel = "tel".equals(scheme);

boolean sms = "sms".equals(scheme) || "smsto".equals(scheme);

if (tel || sms) {

String ssp = mUri.getSchemeSpecificPart();

int offset = ssp.indexOf('?');

if (offset >= 0) {

ssp = ssp.substring(0, offset);

}

if (tel) {

return "tel";

// return context.getString(R.string.action_call,

// PhoneNumberUtils.formatNumber(ssp));

} else {

return "sms";

// return; //context.getString(R.string.action_text,

//PhoneNumberUtils.formatNumber(ssp));

}

} else {

return mUri.toString();

}

}

//opens the browser with the URL from the NDEF record

public void openURL(Uri mUri)

{

try {

Intent productURL = new

Intent("android.intent.action.VIEW",mUri

);

startActivity(productURL);

} catch (Exception ee) {

Log.e("Open URL", "Navigation Failed", ee);

}

Page 150: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

132

}

//do a voice call

public void call(Uri mUri) {

try {

Intent callIntent = new Intent(Intent.ACTION_CALL);

callIntent.setData(mUri);

startActivity(callIntent);

} catch (ActivityNotFoundException activityException) {

Log.e("Call", "Call failed", activityException);

}

}

//send a SMS

public void sendSMS(Uri uri) {

try {

String[] numberbody = getSMS(uri);

Intent sendIntent = new Intent(Intent.ACTION_VIEW );

sendIntent.putExtra("address", numberbody[0]);

sendIntent.putExtra("sms_body", numberbody[1]);

sendIntent.setType("vnd.android-dir/mms-sms");

startActivity(sendIntent);

} catch (ActivityNotFoundException activityException) {

Log.e("SMS", "SMS failed", activityException);

}

}

//opens a dialog box

public void openMyDialog(int id) {

showDialog(id);

}

//creates a dialog box to prompt the user about the action to perfom

based on the NDEF record

@Override

protected Dialog onCreateDialog(int id) {

Builder builder = new AlertDialog.Builder(this);

boolean typeofmessage=true;

final int idfinal = id;

switch (idfinal) {

case DOCALL:

// Create out AlterDialog

String number = getNumber(uriGlobal);

builder.setMessage("The app read a phone number: "+number+"

from the tag. Do you want to do a call?");

typeofmessage=true;

break;

case OPENBROWSER:

// Create out AlterDialog

builder.setMessage("The app read a URL

"+uriGlobal.toString()+" from the tag. Do you want to open a browser?");

break;

case SENDSMS:

// Create out AlterDialog

String[] numberbody = getSMS(uriGlobal);

Page 151: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

133

builder.setMessage("The app intercepted a SMS request. Do

you want to send a SMS to " +

""+numberbody[0]+" with the body\""

+numberbody[1]+"\" ?");

typeofmessage=true;

break;

case TEXT:

// Create out AlterDialog

builder.setMessage("The app intercepted a Text Record from

the tag with the content: \""+textRecord);

typeofmessage=false;

break;

}

if(typeofmessage)

{

builder.setCancelable(true);

builder.setPositiveButton("Yes", new

DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

//MainActivity.this.finish();

if(idfinal==DOCALL)

{

call(uriGlobal);

}

if(idfinal==OPENBROWSER)

{

openURL(uriGlobal);

}

if(idfinal==SENDSMS)

{

sendSMS(uriGlobal);

}

}

});

builder.setNegativeButton("No", new

DialogInterface.OnClickListener() {

public void onClick(DialogInterface dialog, int which) {

//Toast.makeText(getApplicationContext(),"Activity

will continue",Toast.LENGTH_LONG).show();

}

});

}else{

builder.setPositiveButton("OK", new

DialogInterface.OnClickListener() {

// Save the data from the UI to the database - already

done

public void onClick(DialogInterface arg0, int arg1) {

}

});

}

AlertDialog dialog = builder.create();

Page 152: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

134

dialog.show();

return super.onCreateDialog(id);

}

//Check if there is coverage

public boolean isNetworkAvailable() {

Context context = getApplicationContext();

ConnectivityManager cm = (ConnectivityManager)

context.getSystemService(Context.CONNECTIVITY_SERVICE);

NetworkInfo networkInfo = cm.getActiveNetworkInfo();

// if no network is available networkInfo will be null, otherwise

check if we are connected

if (networkInfo != null && networkInfo.isConnected()) {

return true;

}else{

return false;

}

}

private void showAlert(int alertCase) {

// prepare the alert box

AlertDialog.Builder alertbox = new AlertDialog.Builder(this);

switch (alertCase) {

case NETWORK: // Communication Error

alertbox.setMessage("Tag reading error");

break;

case OTHERS: // Communication Error

alertbox.setMessage("Exection, see logs");

break;

case NONETWORK: // Communication Error

alertbox.setMessage("No Network available, check

connectivity on the wireless menu");

break;

}

// set a positive/yes button and create a listener

alertbox.setPositiveButton("OK", new

DialogInterface.OnClickListener() {

// Save the data from the UI to the database - already done

public void onClick(DialogInterface arg0, int arg1) {

startActivity(new

Intent(Settings.ACTION_WIRELESS_SETTINGS));

}

});

// display box

alertbox.show();

}

}

Page 153: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

135

Class MifareRecord.java

package nfc.master;

import java.util.ArrayList;

import android.app.Activity;

import android.content.Intent;

import android.os.Bundle;

import android.widget.ArrayAdapter;

import android.widget.ListView;

import android.widget.Toast;

public class MifareRecord extends Activity{

public ArrayList<String> AlistTag;

private static ListView lvTag;

Bundle btagItem;

String recordtype;

TagItem _tagitem;

@Override

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.mifarerecords);

lvTag = (ListView) findViewById(R.id.listTag);

Intent startingIntent = getIntent();

if (startingIntent != null) {

btagItem = startingIntent.getExtras().getBundle("tagitem");

recordtype

=startingIntent.getExtras().getString("recordtype");

if (btagItem== null || recordtype ==null) {

Toast.makeText(getApplicationContext(),"Bad

Bundle",Toast.LENGTH_LONG).show();

} else {

_tagitem = TagItem.fromBundle(btagItem);

populateListView(_tagitem);//populate mifare tab with

detailed information from MIFARE record

}

} else {

Toast.makeText(getApplicationContext(),"Info not

found",Toast.LENGTH_LONG).show();

}

}

//populate information from the mifare record in the listview

private void populateListView(TagItem _tagitem)

{

AlistTag = new ArrayList<String>();

if(recordtype.equals("hex"))

{

lvTag.setAdapter(new

ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,_tagitem.content

MifareHEX));

}else{if(recordtype.equals("utf8")){

lvTag.setAdapter(new

ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,_tagitem.content

MifareUTF8));

Page 154: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

136

}else{

lvTag.setAdapter(new

ArrayAdapter<String>(this,android.R.layout.simple_list_item_1,_tagitem.content

MifareASCII));

}

}

}

}

Class AndroidManisfest.xml

<?xml version="1.0" encoding="UTF-8"?>

<manifest xmlns:android="http://schemas.android.com/apk/res/android"

android:versionName="1.0" android:versionCode="1" package="nfc.master">

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

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

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

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

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

<uses-feature android:name="android.hardware.nfc"

android:required="true" />

<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"

/>

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

<application android:name="NFCApplication"

android:configChanges="orientation|keyboardHidden|keyboard"

android:persistent="true"

android:theme="@android:style/Theme.Black"

android:allowClearUserData="true" android:label="@string/app_name"

android:icon="@drawable/vodafoneicon">

<activity android:name=".Scantag"

android:configChanges="orientation|keyboardHidden|keyboard">

<intent-filter android:label="@string/app_name">

<action android:name="android.intent.action.MAIN" />

<category

android:name="android.intent.category.LAUNCHER" />

</intent-filter>

<intent-filter>

<action

android:name="android.nfc.action.NDEF_DISCOVERED" />

<data android:mimeType="text/plain" />

</intent-filter>

<intent-filter>

<action

android:name="android.nfc.action.TECH_DISCOVERED" />

</intent-filter>

<intent-filter>

Page 155: Integração da tecnologia Near Field …recipp.ipp.pt/bitstream/10400.22/2716/1/DM_PedroNogueira...O NFC especifica um padrão de comunicação de redes sem fios, que permite a transferência

137

<action

android:name="android.nfc.action.TAG_DISCOVERED" />

</intent-filter>

<meta-data android:name="android.nfc.action.TECH_DISCOVERED"

android:resource="@xml/tagtec" />

</activity>

<activity android:name=".Splash"

android:configChanges="orientation|keyboardHidden|keyboard">

<intent-filter>

<category

android:name="android.intent.category.DEFAULT" />

</intent-filter>

</activity>

<activity android:name=".MainActivity"

android:configChanges="orientation|keyboardHidden|keyboard"

android:label="@string/app_name">

<intent-filter>

<category

android:name="android.intent.category.DEFAULT" />

</intent-filter>

</activity>

<activity android:name=".TagDetail"

android:configChanges="orientation|keyboardHidden|keyboard">

<intent-filter android:label="@string/view_mifareclassic">

<category

android:name="android.intent.category.DEFAULT" />

</intent-filter>

</activity>

<activity android:name=".MifareRecord"

android:configChanges="orientation|keyboardHidden|keyboard">

<intent-filter android:label="@string/view_mifareclassic">

<category

android:name="android.intent.category.DEFAULT" />

</intent-filter>

</activity>

</application>

</manifest>