SlideShare uma empresa Scribd logo
1 de 10
Baixar para ler offline
Controle de Presença Utilizando NFC
(Near Field Communication)
Marciel Ribeiro Torres
Ciência da Computação
Centro Universitário La Salle
Canoas, RS, Brasil.
marcielribeirotorres@gmail.com
Prof. Dr. Mozart Lemos de Siqueira
Ciência da Computação
Centro Universitário La Salle
Canoas, RS, Brasil.
mozarts@unilasalle.edu.br
Resumo— Esse projeto de pesquisa tem como objetivo utilizar
a tecnologia Near Field Communication (NFC) para o controle de
presenças. Além disso, visa aprofundar os conhecimentos nessa
tecnologia emergente que vem sendo adotada em vários
dispositivos. Nos últimos anos foram desenvolvidas muitas
aplicações utilizando NFC, não apenas para dispositivos móveis,
muitas envolvem diversos elementos presentes em nosso
cotidiano. Através desse projeto também será possível analisar os
campos de aplicação para a tecnologia NFC bem como diversos
projetos desenvolvidos nessa área. Como parte do objetivo
principal dessa proposta, será possível validar a utilização do
NFC para o controle de presenças através de um protótipo
desenvolvido especificamente para este fim, utilizando, além do
NFC, tecnologias recentes para o desenvolvimento de software.
Palavras-Chave—Near Field Communication; NFC; Host Card
Emulation; HCE; Android; Mobile.
I. INTRODUÇÃO
A cada dia que passa os dispositivos móveis estão mais
presentes em nosso cotidiano e tornaram-se praticamente
indispensáveis. De acordo com o Data Folha [1] 43 milhões de
brasileiros, com 12 anos ou mais, acessam a internet através de
dispositivos móveis, esses resultados foram obtidos através da
décima terceira edição da pesquisa F/Radar realizado pela
F/Nazca Saatchi & Saatchi [2] em parceria com o Data Folha,
que ouviu 2.236 pessoas em todas as regiões do Brasil. No
segundo trimestre de 2013 a venda de smartphones alcançou
57,6% das vendas de dispositivos móveis, passando pela
primeira vez a venda de telefones convencionais desde o
lançamento dos smartphones [3]. Com isso diversas soluções
surgem para melhorar a interação desses dispositivos com o
mundo externo, resolvendo algum problema específico e
contribuindo para o meio em que se enquadra.
Muitos problemas comuns são resolvidos com dispositivos
móveis tais como: sistemas de localização, sistemas de
comunicação, sistema de interação com entidades externas
(aplicativos para fins específicos). Essas aplicações, na maioria
dos casos, utilizam como base algum tipo de comunicação, seja
ela com fio ou sem fio.
NFC (Near Field Communication – Comunicação por
campo de aproximação) vem sendo utilizado em muitos
aplicativos móveis para auxiliar as pessoas em tarefas comuns.
Essa tecnologia está presente em diversos dispositivos móveis
(como celulares de última geração, por exemplo). Com NFC é
possível utilizar apenas a aproximação entre dois dispositivos
para que ocorra a troca de informações entre eles. A tecnologia
NFC também está presente em outros tipos de equipamentos
tais como: cartões, pulseiras, televisões, relógios e qualquer
dispositivo que possibilite a utilização do chip NFC.
A. Objetivos
O objetivo geral é a utilização da tecnologia NFC para o
controle de presenças, validando assim a sua capacidade de
suprir essa necessidade. Abaixo serão listados os objetivos
específicos do projeto de pesquisa:
1) Elaboração de um protótipo para validação prática com
NFC aplicado a controle de presença.
2) Estudo aprofundado sobre a tecnologia NFC e suas
caraterísticas.
3) Demonstração da área de atuação da tecnologia NFC
relacionando com diversas aplicações desenvolvidas na
atualidade.
B. Metodologia
Nesse projeto será utilizada a Pesquisa Aplicada, pois irá
gerar conhecimentos para aplicações práticas de problemas
específicos a serem resolvidos pelo projeto proposto. Também
será feita uma pesquisa bibliográfica, pois muita informação
deve ser relacionada para que a pesquisa seja concretizada
com sucesso. Todo material coletado e informações teóricas
possuem valor científico muito grande, pois a conclusão de
um trabalho de pesquisa que exige o desenvolvimento de um
protótipo proposto é muito complexa, dependendo de vários
fatores para que possa ser finalizada, por isso a definição
dessas metodologias de pesquisa é fundamental no início do
desenvolvimento desse projeto.
C. Organização do trabalho
O projeto de pesquisa proposto será apresentado da seguinte
maneira: No primeiro capítulo é abordada a introdução e as
características acadêmicas do trabalho, bem como os objetivos
do projeto e metodologia.
No segundo capítulo será apresentada uma pesquisa sobre a
tecnologia Near Field Communication. Para tal definição
técnica e teórica sobre essa tecnologia, serão utilizadas as
referências principais que foram utilizadas nesse trabalho.
No terceiro capítulo serão apresentadas todas as
características técnicas e modos de operações disponíveis da
tecnologia NFC. Esse capítulo fornecerá base teórica para o
desenvolvimento do protótipo proposto, pois são apresentados
os modos disponíveis bem como suas características técnicas.
O quarto capítulo abordará os campos de aplicação da
tecnologia NFC e também poderemos observar os trabalhos
relacionados como Estado da Arte. Todos os trabalhos citados
serão brevemente explicados e comparados com esse projeto
de pesquisa.
O quinto capítulo abordará todas as questões técnicas com
relação ao desenvolvimento do protótipo. Todos os recursos
utilizados para o desenvolvimento serão disponibilizados e
analisados de forma específica e detalhada.
No sexto capítulo será possível observar a utilização de
computação em nuvem para armazenar todas as informações
do modelo proposto, para tal feito os recursos utilizados
disponíveis na Amazon Webservices (AWS) [4] serão descritos
detalhadamente.
A validação do protótipo proposto será apresentada no
sétimo capítulo bem como os resultados obtidos com esse
projeto de pesquisa. Por fim, temos uma seção de
agradecimentos e também as referências utilizadas para o
desenvolvimento desse projeto de pesquisa.
II. NEAR FIELD COMMUNICATION
Segundo a organização sem fins lucrativos NFC Forum [5]
Near Field Communication (NFC) é uma tecnologia de
conectividade sem fio de curto alcance baseada em padrões que
torna a vida mais fácil e mais conveniente para os
consumidores em todo o mundo, tornando-o mais simples para
fazer transações, e conectar dispositivos eletrônicos facilmente
[6].
Para Simões [7] NFC é uma tecnologia recente e muito
inovadora que pretende fornecer vantagens em diversos
campos. Ainda temos muito que estudar e aprofundar nessa
tecnologia. Embora a entidade citada anteriormente, NFC
Forum, já esteja trabalhando em parceira com diversas
empresas para disseminar a utilização dessa tecnologia que
promete ser a evolução na comunicação.
Segundo Palmeira e Fernandes [8] a tecnologia NFC deve
estar presente em praticamente todos os dispositivos móveis
com o passar dos anos, então o desenvolvimento de aplicativos,
que utilizam essa tecnologia, deverá ser imprescindível para a
evolução do NFC. Atualmente muitos dispositivos já estão com
a tecnologia presente como afirmou Palmeira e Fernandes [8],
porém muitos fabricantes ainda não adotaram esse padrão de
comunicação, o que deve ocorrer em um futuro não tão
distante.
III. CARACTERÍSTICAS TÉCNICAS DO NFC
Através da tecnologia NFC é possível estabelecer
interações bidirecionais entre os dispositivos de forma segura e
simples, ofertando assim aos usuários, simples transações
apenas aproximando os dispositivos. A tecnologia NFC, assim
como outras tecnologias de conectividade sem fio, utiliza
elementos de padronização e normas técnicas de cartões sem
contato (ISO / IEC 14443 A&B e JIS-X 6319-4), além disso, o
NFC pode ser compatível diretamente com outros cartões, isso
permite que o consumidor utilize ferramentas e dispositivos
diferentes presentes atualmente no mercado [9]. Nas próximas
seções será discutido todos os modos de operação do NFC bem
como suas características e normas técnicas.
A. Características Básicas
O compartilhamento de informações através de NFC é
possível a uma distância menor do que quatro centímetros e
com uma velocidade máxima de comunicação de quatrocentos
e vinte quatro quilobit por segundo (kbps). O NFC atua na
frequência dos 13.56 Mhz [10]. Com relação à segurança na
troca de informações entre os dispositivos, como o NFC utiliza
uma distância muito curta para que seja possível a
comunicação, torna mais segura a transferência dos dados,
visto que interceptar essa comunicação é muito mais
complicado se comparado a outras tecnologias de comunicação
sem fio. De qualquer maneira se esse risco for visível, o
desenvolvimento da camada de segurança pode ser elaborado
em nível de aplicação [10].
O trabalho de Garcia [3] aborda de forma clara e evidente
diversas questões relacionadas à segurança na utilização da
tecnologia NFC, como o objetivo desse trabalho não é abordar
a segurança entre os dados transferidos, essas questões, em
camadas de aplicação e protótipo, são irrelevantes. Porém,
dependendo da aplicação onde o NFC estará presente, deve se
atentar para essas questões levantadas e bem explicadas pelo
autor.
O NFC possui três modos de operação que são: Leitura e
Escrita, Comunicação Ponto-a-Ponto (P2P) e Emulação de
cartão (Smart Card). Esses modos serão descritos na sequência,
porém a ênfase do trabalho está na utilização de emulação de
cartão e da leitura e escrita de informações.
B. Modo de Operação Leitura e Escrita
Através desse modo de operação é possível que o
dispositivo leia e escreva informações em tags NFC e smart
cards. Uma tag NFC é um dispositivo passivo, ou seja, ela
depende de um dispositivo ativo para receber ou passar
informações e estabelecer de fato a comunicação [3]. Claro que
para o funcionamento da leitura e escrita em tags, é necessário
que as normas seguidas pelo NFC Forum sejam seguidas [11].
A definição do NFC Forum abrange quatro tipos diferentes
de tags [11], todas elas estão enquadradas nas normas ISO/IEC
18092 e ISO/IEC 14443 [3]. As tags são úteis em casos onde
os dispositivos ou elementos não possuam a tecnologia NFC
disponível, como são tags simples, elas podem ser agregadas
em praticamente qualquer elemento físico tal como:
equipamentos esportivos, relógios, vestuário em geral,
televisões, computadores, celulares, etc.
C. Modo de Operação P2P(Ponto a Ponto)
No modo de operação ponto a ponto (P2P) é possível que
dois dispositivos móveis com a tecnologia NFC estabeleçam
uma comunicação bidirecional com o objetivo exclusivo de
iniciar a transferência de dados. A normativa técnica ISO/IEC
18092 é responsável por regulamentar esse modo de operação
[3].
Esse modo de operação é muito útil para transferir
informações entre dois dispositivos, obviamente os dois
dispositivos devem possuir a tecnologia NFC e devem operar
em modo ativo. Em alguns modelos de celulares, esse modo de
operação é ofertado como modo padrão no sistema operacional
Android, é o caso dos dispositivos utilizados no
desenvolvimento desse protótipo (será explicado na seção
correspondente ao desenvolvimento).
Um artigo da Texas Instruments [12] trata muito bem desse
assunto, comunicação ponto a ponto entre dispositivos. Através
desse artigo que foi possível constatar que, para o projeto de
pesquisa em questão, esse modo de operação não se adequava
corretamente, justamente pela questão de transferências de
arquivos.
D. Modo de Operação Emulação de Cartão
Este modo de operação permite que um dispositivo emule
um smart card e assim torna possível a comunicação com
leitores existentes de RFID. Dentro desse modo é possível
encontrar nos dispositivos móveis com o sistema operacional
Android com o recurso denominado HCE, que significa Host
Card Emulation [13], onde é possível emular um cartão para
que um leitor NFC tenha acesso através do modo de operação
de leitura, nesse cartão é possível armazenar qualquer tipo de
informação, desde que siga o padrão da norma adotada.
O projeto em questão irá abordar o HCE juntamente com o
modo de leitura do NFC, assim será possível estabelecer a
comunicação entre dois dispositivos, porém um deles executará
na função passiva e irá emular um cartão. De qualquer maneira,
a utilização desses modos de operação está diretamente
relacionada à tecnologia NFC, em todos esses casos a
tecnologia deve obrigatoriamente estar presente.
IV. APLICAÇÕES COM NFC
As aplicações com a tecnologia NFC podem ser
encontradas em praticamente todas as áreas [14]. Podemos
citar algumas áreas onde o NFC já está presente: Controle de
Acesso, Produtos Eletrônicos, Jogos Eletrônicos, Saúde,
Marketing, Meio de Pagamento, Transportes, Viagens, Objetos
Inteligentes entre outros. Na sequência serão apresentadas as
aplicações que foram relacionadas ao trabalho e algumas
aplicações disponibilizadas no portal do NFC Forum. Nas
próximas seções deste capítulo serão relacionadas algumas
aplicações, todas elas citadas como referências principais desse
projeto de pesquisa, sendo assim, esses trabalhos relacionados
podem ser citados como o Estado da Arte.
A. Sistema de Fidelização
Utilizando a tecnologia NFC, o trabalho de Simões [7]
propõe um sistema de fidelização. Nesse projeto é possível
perceber também uma comparação entre algumas tecnologias
de comunicação sem fio e o motivo pela escolha da tecnologia
NFC dentre uma série de fatores. A ideia central dessa proposta
é elaborar um sistema padrão de fidelização para uma entidade
específica utilizando recursos computacionais distintos e
também a tecnologia NFC, uma área distinta das demais, mas
com o NFC presente e solucionando um problema.
Esse trabalho relacionado é do ano de 2008, visto que a
tecnologia NFC foi potencialmente liberada para o mercado em
2004, a relação desse trabalho para o projeto de pesquisa
descrito é de extrema importância.
B. Controle de Acesso a estádios de futebol
Os autores Palmeira e Fernandes elaboraram uma proposta
de projeto utilizando NFC para o controle de acesso a estádios
de futebol. [8]
A proposta básica desse trabalho é oferecer uma solução
completa para o controle de usuários e acesso a
estabelecimentos como estádios de futebol. A ideia dos autores
era utilizar inclusive catracas para controlar o acesso e também
manter um cadastro prévio dos usuários que utilizariam o
sistema.
No início da elaboração da proposta para esse trabalho de
conclusão de curso, tentamos contato com o Sport Clube
Internacional de Futebol de Porto Alegre, a fim de verificar
qual tecnologia eles utilizavam nas catracas de acesso. Não
tivemos um retorno completo e esclarecedor, porém o
responsável pelo setor de tecnologia da informação do clube
nos informou que a tecnologia utilizada não é NFC, mas não
nos forneceu mais detalhes por motivos de segurança.
Voltando ao trabalho relacionado, é visível que a tecnologia
NFC pode ser empregada em diversas áreas incluindo o
controle de acesso a estádios de futebol, inclusive utilizando
recursos externos como catracas. Essa versatilidade da
tecnologia NFC foi uma das premissas para o nosso projeto de
pesquisa.
C. Sistema de Gestão de Alojamento usando dispositivos
móveis
O trabalho de Garcia [3] certamente é o mais completo
dentre os trabalhos relacionados, ele utiliza todos os modos de
operação da tecnologia NFC para diferentes ações. Ele propõe
um sistema para gestão de alojamento utilizando dispositivos
móveis, o projeto foi desenvolvido com base para ser
implantado em um hotel.
O projeto de Garcia também utiliza um ponto centralizador
para controlar as operações, ele também propõe a criação de
dois aplicativos na utilização do HCE, e ainda vai além,
propõe também a utilização de tags nos quartos para
fechamento da conta, por exemplo.
Além de toda essa proposta prática, também há um grande
conceitual teórico sobre a tecnologia NFC, muitos conceitos
referenciados nesse projeto de pesquisa. Esse trabalho
relacionado foi um marco também nessa proposta de pesquisa,
pois através dessa referência foi possível observar a utilização
do HCE nos dispositivos móveis.
D. Abertura de Portas
O produto NFC Porter [15] prevê a utilização da
tecnologia NFC para o controle de abertura de portas.
Segundo próprio fabricante é possível controlar o acesso
através de um dispositivo conectado no ambiente e um
aplicativo com a tecnologia NFC presente. Temos aqui um
bom exemplo de utilização da tecnologia para um campo de
atuação que envolve segurança, mesmo sendo um produto
fechado e próprio do fabricante em questão, conseguimos
extrair algumas informações relevantes para referenciar com o
projeto de pesquisa, principalmente se tratando da leitura de
cartões inteligentes.
E. Pulseiras Inteligentes
Um campo amplo de aplicações disponíveis com NFC é o
campo de tecnologia “vestíveis”, ou seja, acessórios comuns
que utilizamos diariamente, porém com funcionalidades
tecnológicas. Pulseiras (ou até mesmo anéis) inteligentes são
parte de um grande conjunto de soluções disponíveis no
mercado com a tecnologia NFC [16].
A ideia é utilizar tags em pulseiras, por exemplo, que ao
aproximar de algum outro dispositivo estabeleça a
comunicação e efetue o processo desejado. Esse modelo de
aplicação pode ser utilizado também para controlar acesso a
determinado local, alguns parques de diversões estão adotando
esse método, pois é muito prático para os utilizadores, como é
o caso do Parque da Disney em Orlando [17].
Temos então mais um ótimo modelo de aplicação que
utiliza NFC para resolver problemas triviais de nossa rotina.
Essas aplicações demonstram a versatilidade de utilização da
tecnologia, o que torna muito atraente para o desenvolvimento
de novas aplicações, o que é o caso desse projeto de pesquisa.
F. Meio de Pagamento
Aplicações que utilizam pagamento são sempre críticas e
relação à segurança, justamente, pois as informações trocadas
entre as entidades devem ser protegidas. A operadora Visa já
utiliza NFC para modo de pagamento [18] e também faz parte
do consórcio NFC Forum.
Sempre quando uma nova tecnologia é lançada ao
mercado, uma das principais incertezas sobre ela é a
segurança, fazendo com que em muitos casos ela não seja
adotada para determinadas aplicações. Com relação ao NFC
muito se fala em segurança, e observando esse tipo de
aplicação como modo de pagamento, é possível garantir os
termos relevantes à segurança com relação à utilização da
tecnologia NFC. Obviamente cada aplicação deve controlar
uma série de fatores para que junto com o NFC a aplicação se
torne segura.
Efetuando uma rápida pesquisa na internet, é possível
observar que outras operadoras e também alguns bancos têm
investido tempo e dinheiro no desenvolvimento de aplicações
com NFC, infelizmente não é possível encontrar muitos
artigos sobre o tema. Recentemente a própria Visa lançou uma
campanha na televisão demonstrando um novo cartão que
efetua a transação apenas ao encostar-se à máquina.
Na maioria dos casos, o modo de operação utilizado para
essas aplicações é o Smart Card (HCE) e na outra ponta um
leitor NFC. Essas definições serviram como base para
elaboração dessa proposta de pesquisa, pois foi através desse
modo que o protótipo foi concebido, logo a relação dessas
aplicações com esse projeto é extremamente importante, do
ponto de vista teórico e prático.
G. Jogos
A indústria de Jogos, na maioria dos casos, é sempre uma
das primeiras a experimentar novas tecnologias e criar novas
aplicações, e quase sempre é a indústria mais inovadora.
Algumas aplicações com NFC vêm sendo desenvolvidas
especificamente para utilização em Jogos, sejam eles
eletrônicos ou de tabuleiros.
A interatividade entre os elementos presentes nos jogos é o
que motiva o desenvolvimento de aplicações desse tipo
utilizando a tecnologia NFC, pois é possível transferir
informações de forma muito simples, podendo dar mais
versatilidade a jogos simples, como é o caso das aplicações
listadas pelo NFC Forum para essa categoria [19].
H. Transaferência de arquivos
A transferência de arquivos entre dois dispositivos é
possível através do modo Ponto a Ponto (P2P) presente na
tecnologia NFC. Nos dispositivos móveis em que a tecnologia
está presente, como aplicação padrão é possível transferir
dados entre os dispositivos tais como: Arquivos de músicas,
contatos do telefone, imagens, etc.
Também é possível transferir arquivos de outros
dispositivos, não apenas entre celulares, é possível transferir
imagens de uma câmera fotográfica para algum outro
dispositivo, por exemplo. Nesse campo o NFC pode ser
aplicado de diversas maneiras diferentes e entre diversos
dispositivos diferentes, basta que os dois dispositivos
utilizados tenham NFC com esse modo de operação
disponível.
I. Outras Aplicações
Como podemos observar com as aplicações mencionadas
anteriormente, a tecnologia pode ser utilizada em praticamente
todo campo de atuação que contenha transferência de dados.
Os três modos de operação da tecnologia NFC fazem com que
ela se torne dinâmica e muito versátil para a criação de
aplicações. Embora atualmente não existam muitos
dispositivos no mercado com NFC presente, serão necessários
mais alguns anos para difundir melhor a tecnologia, conforme
indicado por praticamente todos os autores dos trabalhos
relacionados a esse projeto de pesquisa, NFC é uma tecnologia
do futuro.
V. DESENVOLVIMENTO
O desenvolvimento do protótipo proposto para o controle
de presença utilizando a tecnologia NFC se baseia em três
pilares principais: Webservice, aplicativo específico para o
sistema operacional Android 4.4 utilizando o modo de
operação HCE presente na tecnologia NFC e aplicativo
específico também para o sistema operacional Android 4.4
utilizando o modo Reader presente também na tecnologia
NFC. Esse capítulo abordará questões extremamente técnicas
com relação ao desenvolvimento de software.
Fig. 1. Modelo da arquitetura do protótipo proposto a ser desenvolvido.
Esse modelo proposto (conforme figura 1) é conceitual,
como ponto receptor NFC será utilizado um dispositivo
móvel. A seguir, cada um desses itens será detalhadamente
descrito conforme documentação e desenvolvimento do
projeto. Cada uma das etapas do software proposto foi
minuciosamente estudada e desenvolvida conforme
documentação das tecnologias envolvidas bem como
padronização dos recursos utilizados.
A. Premissas do projeto
Algumas premissas devem ser levadas em consideração
para elaboração e desenvolvimento do software proposto:
1) Versão do Sistema Operacional Android
A versão do Sistema Operacional Android deve ser
obrigatoriamente 4.4, pois os dispositivos que estavam
disponíveis para testes possuem essa versão. Porém os
aplicativos devem funcionar a partir da versão 4.1 para os
dispositivos móveis que possuírem suporte à tecnologia NFC;
2) Aplicativos com acesso irrestrito à internet
Os aplicativos deverão possuir conectividade irrestrita com
a internet, pois os dois aplicativos irão se comunicar com o
WebService;
B. Detalhamento da Regra de Negócio
A regra de negócio elaborada para esse projeto não é nada
complexa, visto que utilizaremos apenas o necessário de
informações para conseguir controlar presença conforme
proposta.
1) Cadastro de Eventos:
Será possível manter um cadastro simples de eventos, para
o projeto foram propostos apenas quatro campos informativos:
Identificador Único do Evento, Título do Evento, Descrição
do Evento, Data Inicial do Evento e Data Final do Evento;
2) Cadastro de Inscrições:
O projeto propôs também um controle efetivo de
inscrições para os eventos cadastrados, apenas as informações
básicas do inscrito são necessárias para o projeto proposto:
Identificador Único do Inscrito, Nome Completo do Inscrito,
E- mail do Inscrito e Evento relacionado. Não será permitido o
cadastro de e-mails repetidos para os eventos, ou seja, cada
inscrito deve ser único com relação ao e-mail cadastrado no
evento.
3) Controle efetivo de presença do inscrito em
determinado evento:
O controle efetivo da presença do inscrito em determinado
evento acontecerá como resultado do relacionamento entre o
inscrito e o evento, para o projeto serão armazenados dados
básicos para controle bem como: Identificador Único da
Inscrição, Identificador único do Evento e Data da Presença.
Não será possível registrar mais de uma presença para cada
inscrito por evento, a presença tem caráter único e exclusivo;
C. Webservice
O projeto visa ser desenvolvido de forma modular, logo
toda a regra de negócio será centralizada e controlada por um
único módulo, o Webservice.
O Webservice proposto será responsável por armazenar
todas as regras de negócio necessárias (conforme descritas no
item anterior), fazendo com que a lógica do software fique
centralizada em um único ponto, não levando nenhuma
condição para os outros módulos propostos. Toda a
comunicação do Webservice com os demais módulos se dará
através do formato de mensagens JSON.
Esse projeto de Webservice foi estruturado utilizando a
tecnologia WCF que significa Windows Communication
Foundation [20], essa tecnologia serve para criação de modos
de comunicação entre serviços distintos. Ela está presente no
framework de desenvolvimento de aplicações da Microsoft
denominado .NET Framework.
Para o desenvolvimento dessa aplicação, a linguagem de
programação adotada foi o C# (C Sharp), essa linguagem de
programação também está disponível não framework
especificado acima.
D. Armazenamento de Dados
As informações dos Eventos, Inscritos e Controle de
Presença deverão ser persistidos em banco de dados para
posterior consulta e também para auxiliar na validação dos
mesmos. Como produto de banco de dados relacional
utilizaremos a distribuição Microsoft SQL Server [21]. O
produto escolhido para armazenamento de dados não é
obrigatoriedade para desenvolvimento do projeto, na verdade
é apenas uma questão de ambiente, qualquer base de dados
relacional disponível no mercado poderia ser utilizada.
O diagrama entidade relacionamento (ER) com o
mapeamento da estrutura de dados utilizada para
armazenamento foi desenvolvido com uma ferramenta gratuita
chamada DB Design [22].
Fig. 2. Diagrama entidade relacionamento.
Esse modelo básico estrutural do banco de dados foi
necessário para manter as informações do projeto, embora seja
extremamente simples, o mais importante desse modelo é a
maneira como as entidades se relacionam. Para o efetivo
controle de presenças, objetivo principal do projeto de
pesquisa, são necessárias apenas três entidades: Eventos,
Inscrições e Controle de Presença. Conforme foi explicado no
detalhamento da regra de negócio, cada uma dessas entidades
tem a função de armazenar as informações necessárias.
No caso de um projeto a ser desenvolvido exclusivamente
para o mercado, provavelmente seriam necessárias mais
informações e também mais entidades, porém para esse
projeto de pesquisa, apenas essas três entidades são o
suficiente. O objetivo nessa questão é apenas armazenar de
forma estruturada os dados para consultas posteriores.
E. Aplicativo Cliente (NFC Host Card Emulation - HCE)
A proposta prevê o desenvolvimento de um aplicativo
nativo para a plataforma Android que servirá como o cartão de
acesso para o controle efetivo de presença, ou seja, esse
aplicativo estará com o usuário que está previamente
cadastrado em determinado evento, e em uma situação
hipotética de caso de uso, estará prestes a chegar nesse evento.
Sendo assim esse usuário encostará seu dispositivo no ponto
receptor e esse aplicativo irá fornecer as informações
necessárias para acesso. Essa é a definição simbólica da
utilização do aplicativo.
A plataforma utilizada para o desenvolvimento do
aplicativo foi o Android Studio [23], e como linguagem de
programação nativa do sistema operacional Android, a
linguagem Java. Essas definições técnicas relacionadas com o
desenvolvimento também valem para o aplicativo receptor. A
referência utilizada no início do desenvolvimento foi o livro
Beginning NFC: Near Field Communication with Arduino,
Android, and PhoneGap [24], muitas questões com relação ao
desenvolvimento com NFC foram esclarecidas com esse livro,
todas relacionadas com a prática do desenvolvimento, não tem
relação teórica com o projeto de pesquisa.
O primeiro passo no desenvolvimento do aplicativo é
definir quais são as permissões que esse aplicativo irá
necessitar ter acesso do dispositivo móvel. Precisamos de
permissões para a manipulação do próprio NFC e também
para acesso à internet. Para tal feito é necessário informar
essas permissões em um determinado arquivo de configuração
chamado androidmanifest.xml, abaixo consta uma imagem
referente as permissões mencionadas:
Fig. 3. Permissões necessárias para o funcionamento do aplicativo
Após a definição das permissões necessárias para o
aplicativo, é necessário definir nesse mesmo arquivo de
configurações, a informação referente ao serviço que será
utilizado e qual recurso do projeto que irá receber o
funcionamento do serviço, nesse caso o serviço em questão é o
NFC.
Fig. 4. Definição do serviço que será utilizado
A definição do serviço é a base para a comunicação entre
os aplicativos, com essa definição demonstrada acima, sempre
que o dispositivo receber uma chamada para esse serviço
especificado, uma classe de ativação será invocada, e é nessa
classe que definimos o que vamos fornecer em nível de
informações para o aplicativo receptor.
Essas definições do serviço também servem para informar
ao dispositivo que ele deverá emular um cartão (Host Card
Emulation). Sendo assim, nesse ponto já estamos com o
aplicativo pronto para transferir informações utilizando NFC.
Através do aplicativo cliente poderá ser possível efetuar
uma nova inscrição em qualquer evento e também gerar o
cartão de acesso com as informações necessárias para o
aplicativo receptor confirmar a presença do indivíduo. Todas
essas ações estão diretamente ligadas ao Webservice
desenvolvido, pois as regras de negócios estão centralizadas
nele, conforme explicado anteriormente.
Ainda falando sobre a comunicação com NFC, é
necessário definir um código chamado AID, é através desse
código que o dispositivo receptor conseguirá estabelecer a
comunicação. Esse código serve para auxiliar na segurança na
comunicação entre os dispositivos, pois os dois dispositivos
devem saber o código AID, assim não é possível que outro
aplicativo desenvolvido exatamente da mesma forma
estabeleça comunicação, pois é necessário o conhecimento
desse código AID. Essas informações são definidas em um
arquivo específico chamado aid_list.xml.
Através desse aplicativo, o usuário poderá informar seu
nome e seu e-mail e conseguirá se inscrever em determinado
evento selecionado, seguindo as regras de negócio
especificadas anteriormente, abaixo imagem com a tela de
inscrição do aplicativo:
Fig. 5. Tela para cadastro de nova inscrição
Depois de estar devidamente inscrito em algum evento,
através do aplicativo o usuário pode gerar seu cartão de acesso
conforme mencionado anteriormente:
Fig. 6. Tela para geração do cartão de acesso
Para gerar o cartão de acesso, o usuário deve informar seu
e-mail e o evento no qual está inscrito. O aplicativo envia
essas informações para o Webservice onde será efetuada a
validação das informações enviadas e, em caso de sucesso, o
retorno será todas as informações do inscrito e do evento, e em
caso de erro o retorno será uma mensagem de erro.
Com essas informações retornadas pelo Webservice, em
caso de sucesso obviamente, o aplicativo armazena nas
preferências do usuário (recurso do próprio sistema
operacional Android) as informações do evento e também do
inscrito, essas informações serão fornecidas para o aplicativo
receptor.
Fig. 7. Armazenando as infromações como preferência do usuário
Depois que essas informações estão devidamente
armazenadas, toda vez que uma comunicação via NFC for
iniciada o aplicativo deve fornecer essas informações, para
isso é necessário à definição de uma classe específica.
Fig. 8. Fragmento da classe CardService, serviço responsável por receber o
processo de comunicação via NFC.
Lembrando que essa classe é definida nas configurações
do aplicativo como o serviço, então sempre que houver uma
comunicação via NFC, essa classe é automaticamente
executada, sendo assim as informações armazenadas serão
lidas e retornadas ao aplicativo. Esses modelos de classes e
métodos foram desenvolvidos com base na documentação
disponível no centro de desenvolvimento Android [13].
F. Aplicativo Receptor (NFC Reader)
As ferramentas utilizadas para o desenvolvimento do
aplicativo receptor foram exatamente as mesmas que foram
utilizadas para o desenvolvimento do aplicativo cliente. O
aplicativo receptor não possui interface gráfica, possui apenas
uma tela padrão que emite uma mensagem confirmando ou
não a presença do indivíduo.
Primeiramente precisamos definir as permissões
necessárias para o funcionamento do aplicativo, basicamente o
aplicativo precisa de permissão para controlar o NFC e
também permissão para acessar a internet.
Fig. 9. Permissões neessárias para o aplicativo
Após definir as permissões necessárias para o aplicativo,
também é necessário definir um filtro nas configurações
especificando a questão da descoberta da tecnologia NFC
presente nos dispositivos. Como esse aplicativo poderia ser
desenvolvido de forma genérica para suportar os três modos
de operação do NFC, há necessidade da definição explícita
desse filtro para identificar que haverá apenas comunicação
com o HCE.
Fig. 10. Definição do filtro para utilizar NFC
Com isso a aplicação já está pronta para estabelecer
comunicação com outro dispositivo. O próximo passo é definir
a ação para que quando houver a comunicação entre os
dispositivos, o aplicativo consiga receber as informações
corretamente.
Fig. 11. Hablitando e desabilitando modo de leitura do NFC
Através desses métodos na aplicação principal é possível
habilitar e desabilitar o modo de leitura do NFC. Porém o
método que habilita não efetua a leitura em si através da
comunicação, outro método é utilizado para efetuar a
comunicação e a leitura das informações.
Fig. 12. Lendo as informações utilizando NFC
Como o modo de leitura já está habilitado, sempre que
uma nova tag for descoberta pelo NFC, esse método é
chamado automaticamente, pois aqui está a relação com os
filtros definidos nas configurações do aplicativo. Mesmo o
método tratando a informação como tag, como o padrão
definido é para HCE, se for aproximado uma tag NFC padrão
não irá funcionar, essa nomenclatura serve apenas para
padronizar o código.
Esses modelos de classes e métodos foram desenvolvidos
com base na documentação disponível no centro de
desenvolvimento Android [25].
G. WebSite estático
Para demonstração do funcionamento e também para
visualização de todos os dados armazenados, um site estático
foi desenvolvido. Nesse site constam todas as informações dos
eventos, inscritos e o controle de presenças.
Como o projeto foi estruturado de forma modular, esse site
não poderia ser diferente, ele apenas efetua comunicação com
o Webservice e solicita as informações necessárias, sendo
assim a regra de negócio continua centralizada. Através desse
site é possível, por exemplo, criar um novo evento, essa
função está disponível apenas através desse site.
O desenvolvimento desse recurso foi fundamental para
fixar os testes, pois a validação das informações é possível
através desse site. Na seção de testes é possível visualizar com
mais clareza como esse site foi utilizado e como está
enquadrado nessa proposta de pesquisa.
A única ressalva a ser feita com relação a esse site, é que
ele não faz parte da proposta de pesquisa nem do protótipo
proposto, ele foi desenvolvido como um extra apenas para
validar as informações e auxiliar nos testes. Com isso, é
necessário salientar que o projeto funciona perfeitamente sem
ele.
VI. COMPUTAÇÃO EM NUVEM UTILIZANDO AMAZON
WEBSERVICES (AWS)
Apesar de não constar na proposta original desse projeto de
pesquisa, para armazenamento das informações e hospedagem
do Webservice, utilizamos recursos disponíveis na Amazon
Webservices (AWS) [4]. Dentro desse contexto foram
utilizados os recursos principais ofertados para criação de um
servidor, armazenamento das informações com base de dados
e armazenamento de arquivos estáticos. Segundo Lecheta [26],
computação em nuvem significa contratar e expandir serviços
de TI sobre demanda.
O livro AWS para Desenvolvedores, de Lecheta [26] foi
essencial para a criação dos recursos necessários para o
protótipo.
A. Amazon Elastic Compute Cloud (EC2)
Amazon Elastic Compute Cloud (EC2) [27] é serviço de
base do AWS e um dos mais utilizados também, através desse
recurso é possível criar instâncias e gerenciar de forma
dinâmica seus recursos [26]. Uma instância é a abstração de
um servidor físico que contenha um sistema operacional.
Para esse projeto de pesquisa foi necessário apenas uma
instância Windows, nessa instância alguns recursos adicionais
foram instalados, recursos que não têm relação com o AWS e
que são responsabilidades do cliente que utiliza o serviço. O
principal recurso adicionado se chama Internet Information
Service (IIS) que nada mais é do que um servidor web. Foi
necessário adicionar esse recurso para hospedar o Webservice
desenvolvido.
B. Amazon Relational Database Service (RDS)
Amazon Relational Database Service (RDS) [28] é o
serviço escalável de banco de dados do AWS. É um serviço
criado especificamente para facilitar a criação, configuração e
gerenciamento do banco de dados [26].
O RDS suporta diversas distribuições de banco de dados
disponíveis no mercado, para esse projeto de pesquisa foi
utilizado o banco de dados Microsoft SQL Server [29], todas
as informações relacionadas com o projeto estão, desde o
início do desenvolvimento, na nuvem. Com toda segurança,
escalabilidade e disponibilidade fornecida pelo AWS.
C. Amazon Simple Storage Service (S3)
Amazon Simple Storage Service (S3) [30] é o serviço para
armazenamento de arquivos estáticos na nuvem. Altamente
escalável e confiável, Lecheta [26] ainda demonstra que a
empresa Dropbox utiliza esse serviço. Para esse trabalho de
pesquisa, o S3 foi utilizado para armazenar o site estático
criado especificamente para validação testes.
Esse site poderia ser hospedado no EC2, porém o S3
oferece a possibilidade de armazenar arquivos estáticos e
transformá-los automaticamente em um site. Esse foi o único
recurso do S3 que foi utilizado para esse projeto de pesquisa,
nenhum recurso de replicação de dados ou de escalabilidade
foram necessários, visto que a aplicação foi utilizada apenas
para testes e validação das informações.
VII. TESTES E VALIDAÇÃO DO PROTÓTIPO
Os testes para validação dos aplicativos foram feitos em
dois dispositivos móveis da montadora LG e com sistema
operacional Android 4.4. A instalação dos aplicativos foi
alternada entre os dois dispositivos, fazendo com que o cliente
virasse receptor e o receptor virasse cliente, validando assim a
utilização dos recursos disponíveis na tecnologia NFC.
Conforme mencionado anteriormente, também foi
desenvolvido um site estático para validação das informações,
então através desse site foi possível analisar todos os dados
informados pelos aplicativos. Além disso, ainda foi
desenvolvido um vídeo para demonstração do protótipo na
prática, e também uma apresentação em sala de aula em uma
disciplina de desenvolvimento com dispositivos móveis.
A. Vídeo explicativo do funcionamento do protótipo
A elaboração de um vídeo [31] demonstrando na prática a
utilização do protótipo foi fundamental para validação e
também para os testes, pois através do vídeo podemos
comprovar as características técnicas da tecnologia NFC e
também conseguimos avaliar o protótipo proposto nesse
trabalho de pesquisa.
Conseguimos também constatar que, de acordo com a
proposta de pesquisa, é possível sim controlar presenças com a
tecnologia NFC utilizando dispositivos móveis. Além disso,
um ponto relevante no protótipo é em relação ao baixo custo,
pois tecnicamente são necessários apenas dois dispositivos
móveis que possuam NFC.
B. Validação em Sala de Aula
Esse projeto de pesquisa, especificamente o protótipo, foi
apresentado em uma disciplina de desenvolvimento móvel do
curso de Ciência da Computação. Nessa apresentação foi
demonstrada a utilização do protótipo na prática. Além disso,
o código fonte dos aplicativos foi explicado, não apenas as
partes principais (como apresentado nesse projeto de
pesquisa), mas também outras funcionalidades pertinentes.
AGRADECIMENTOS
Muitas pessoas fizeram parte de toda essa trajetória
acadêmica no curso de Ciência da Computação. Começo os
agradecimentos agradecendo minha família por todo apoio,
agradeço em especial a minha irmã que fez parte desde o início
e sempre me incentivou, talvez seja uma das responsáveis por
eu estar finalizando nesse momento essa etapa. Agradeço em
especial também a minha esposa que acompanhou de perto
praticamente todo o curso e principalmente a reta final.
Com relação ao projeto de pesquisa, agradeço ao orientador
Professor Doutor Mozart Lemos de Siqueira, o foco principal
da pesquisa, a tecnologia NFC, acabou sendo sua sugestão,
além de dar todo o suporte necessário durante o
desenvolvimento desse projeto de pesquisa. Agradeço também
ao professor Ricardo de Moura Rivaldo, que ajudou muito no
processo de desenvolvimento dos aplicativos móveis. O
trabalho foi exposto na disciplina específica de
desenvolvimento móvel ministrada por ele. Agradeço também
a professora Aline Duarte Riva que auxiliou com as questões
técnicas do artigo e também com algumas correções nas
apresentações.
CONCLUSÃO
No início dessa proposta de pesquisa foi apresentado o
objetivo principal e três objetivos secundários. Podemos
concluir que é possível utilizar a tecnologia NFC para o
controle de presenças conforme demonstração do protótipo
proposto.
A tecnologia NFC é muito abrangente como podemos
observar com o estudo dos trabalhos relacionados bem como as
áreas onde é possível utilizar NFC. Diversos produtos e
projetos foram apresentados e relacionados com o atual projeto
de pesquisa.
Através do estudo da tecnologia NFC, foi possível observar
todos os seus modos de operação e elencar as características
técnicas da tecnologia bem como suas normativas. Com essa
análise é possível relacionar com os trabalhos citados a questão
teórica e prática da tecnologia NFC.
Com a elaboração do protótipo, além de conseguir provar o
controle de presenças, é possível avaliar a utilização da
tecnologia com os modos de operações disponíveis, e também
é possível propor a criação de um produto de baixo custo para
controle de presenças.
REFERÊNCIAS
[1] Pesquisa divulgada pelo Data Folha em 2014 – Brasileiros que acessam
internet por dispositivos móveis. Disponível em
http://datafolha.folha.uol.com.br/mercado/2014/01/1400618-43-milhoes-
de-brasileiros-acessam-internet-por-dispositivos-moveis.shtml. Acesso
em janeiro de 2015.
[2] Décima terceira edição da pesquisa F/Radar. Disponível em:
<http://www.fnazca.com.br/index.php/2014/01/24/fradar-13rd-edition-
english/>. Acesso em janeiro de 2015.
[3] GARCIA, Diogo Emanuel Nóbrega. Accommodation Management
System using Mobile Devices. 2014. 95 f. Dissertação para obtenção do
Grau de Mestre em Engenharia Informática, Área de Especialização em
Arquiteturas, Sistemas e Redes. Instituto Superior de Engenharia do
Porto. Porto, Portugal.
[4] Amazon Webservices. Disponível em: <http://aws.amazon.com>.
Acesso em outubro de 2015.
[5] NFC Forum. Disponível em: <http://nfc-forum.org>. Acesso em
dezembro de 2014.
[6] NFC Forum - What Is NFC. Disponível em <http://nfc-forum.org/what-
is-nfc>. Acesso em dezembro de 2014.
[7] SIMÕES, Diogo Barata Mateus dos Santos. Sistema de Fidelização
sobre NFC (Near Field Communication). 2008. 77 f. Dissertação para
obtenção do Grau de Mestre em Engenharia Informática e de
Computadores – Instituto Superior Técnico – Universidade Técnica de
Lisboa, Lisboa .
[8] PALMEIRA, Eduardo Jordão Santos De Sá, FERNANDES, Luiz Rafael
De Almeida. Controle De Acesso para Estádios de Futebol Utilizando
Tecnologia NFC (NEAR FIELD COMMUNICATION). 2013. 84 f.
Trabalho de Conclusão de Curso –Universidade Tecnológica Federal do
Paraná, Curitiba.
[9] NFC Forum - About the Technology. Disponível em <http://nfc-
forum.org/what-is-nfc/about-the-technology>. Acesso em dezembro de
2014.
[10] ATOJI, Rodolpho Iemini. Bluetooth e NFC: estudo de caso. 2010. 63 f.
Trabalho de Formatura Supervisionado - Universidade de São Paulo -
Instituto de Matemática e Estatística, São Paulo, São Paulo.
[11] NFC Forum – Specifications And Aapplication-documents . Disponível
em: <http://nfc-forum.org/our-work/specifications-and-application-
documents/specifications/nfc-forum-technical-specifications>. Acesso
em dezembro de 2014.
[12] NFC Active and Passive Peer-to-Peer Communication Using the
TRF7970A – Texas Instruments Application Report. Disponível em:
<http://www.ti.com/lit/an/sloa192/sloa192.pdf>. Acesso em novembro
de 2015.
[13] Android Developers Near Field Communication Host Card Emulation
(HCE). Disponível em: <http://developer.android.com/intl/pt-
br/guide/topics/connectivity/nfc/hce.html>. Acesso em maio de 2015.
[14] NFC Forum – Product Show Case. Disponível em: <http://nfc-
forum.org/nfc-product-showcase>. Acesso em dezembro de 2014.
[15] Open your door with a single tap using a unique NFC identification
system. Disponível em <http://www.nfcporter.com/>. Acesso em
novembro de 2015.
[16] NFC Forum – Product Show Case Wearables. Disponível em:
<http://nfc-forum.org/nfc_category/wearables-2>. Acesso em dezembro
de 2014.
[17] Parque da Disney utilizando NFC. Disponível em:
<http://www.orlandosentinel.com/travel/attractions/the-daily-
disney/digital-disney/os-disney-magicbands-provided-great-examples-
for-any-apple-iwatch-that-might-be-released-this-week-20140907-
story.html>. Acesso em novembro de 2015.
[18] Visa – PayWave for Mobile. Disponível em:
<https://developer.visa.com/paywavemobile>. Acesso em novembro de
2015.
[19] NFC Forum – Product Show Case - Gaming. Disponível em: <http://nfc-
forum.org/nfc_category/gaming/>. Acesso em dezembro de 2014.
[20] WCF – Windows Communication Foundation. Disponível em:
<https://msdn.microsoft.com/en-
us/library/dd456779%28v=vs.110%29.aspx>. Acesso em outubro de
2015.
[21] Microsoft SQL Server – Banco de Dados Relacional. Disponível em:
<https://www.microsoft.com/pt-br/server-cloud/products/sql-server>.
Acesso em setembro de 2015.
[22] DBDesign - Diagrama Entidade Relacionamento – Banco de Dados.
Disponível em: <http://www.fabforce.net/dbdesigner4>. Acesso em
setembro de 2015.
[23] Android Studio - Plataforma para desenvolvimento móvel. Disponível
em: <http://developer.android.com/intl/pt-br/sdk/index.html>. Acesso
em março de 2015.
[24] IGOE, Tom, COLEMAN, Don, JEPSON, Brian. Beginning NFC: Near
Field Communication with Arduino, Android, and PhoneGap. 1. Ed.
Sebastopol, California: O'Reilly Media, 2014.
[25] Android Near Field Communication (NFC). Disponível em:
<http://developer.android.com/intl/pt-
br/guide/topics/connectivity/nfc/index.html >. Acesso em maio de 2015.
[26] Lecheta, Ricardo R. AWS para desenvolvedores: Aprenda a instalar
aplicações na nuvem da Amazon. Novatec Editora. São Paulo, SP, 2014.
[27] Amazon Elastic Compute Cloud (Amazon EC2). Disponível em:
<http://aws.amazon.com/ec2>. Acesso em outubro de 2015.
[28] Amazon Relational Database Service (Amazon RDS). Disponível em:
<http://aws.amazon.com/rds>. Acesso em outubro de 2015.
[29] Amazon Relational Database Service for SQL Server. Disponível em:
<https://aws.amazon.com/rds/sqlserver>. Acesso em outubro de 2015.
[30] Amazon Simple Storage Service (Amazon S3). Disponível em:
<http://aws.amazon.com/s3>. Acesso em outubro de 2015.
[31] Vídeo demonstrativo do protótipo desenvolvido. Disponível em:
<https://www.youtube.com/watch?v=86peaW43-_I>. Acesso em
novembro de 2015.

Mais conteúdo relacionado

Mais procurados

Tabela completa de derivadas e integrais
Tabela completa de derivadas e integraisTabela completa de derivadas e integrais
Tabela completa de derivadas e integraisDiego Rodrigues Vaz
 
Plano de aula áreas de superfícies planas- 2015
Plano de aula  áreas de superfícies planas- 2015Plano de aula  áreas de superfícies planas- 2015
Plano de aula áreas de superfícies planas- 2015qcavalcante
 
Sistema Internacional de Unidades SI
Sistema Internacional de Unidades SISistema Internacional de Unidades SI
Sistema Internacional de Unidades SIO mundo da FÍSICA
 
Criando um cartão de visitas em Realidade Aumentada
Criando um cartão de visitas em Realidade AumentadaCriando um cartão de visitas em Realidade Aumentada
Criando um cartão de visitas em Realidade AumentadaMárcio Martins
 
Soluções circuitos elétricos nilsson - 8ed (inglês)
Soluções circuitos elétricos   nilsson - 8ed (inglês)Soluções circuitos elétricos   nilsson - 8ed (inglês)
Soluções circuitos elétricos nilsson - 8ed (inglês)Maria Fernanda Romeu
 
Estatística, Medidas de dispersão e medidas de posição
Estatística, Medidas de dispersão e medidas de posiçãoEstatística, Medidas de dispersão e medidas de posição
Estatística, Medidas de dispersão e medidas de posiçãonelsonpoer
 
A ludicidade no ensino da matematica certo
A ludicidade no ensino da matematica certoA ludicidade no ensino da matematica certo
A ludicidade no ensino da matematica certocefaprodematupa
 
Redes Definidas por Software (SDN) e OpenFlow
Redes Definidas por Software (SDN) e OpenFlowRedes Definidas por Software (SDN) e OpenFlow
Redes Definidas por Software (SDN) e OpenFlowAnderson Weller
 
18 series de taylor e de maclaurin
18 series de taylor e de maclaurin18 series de taylor e de maclaurin
18 series de taylor e de maclaurinGabriela Cristina
 
Mapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de SoftwareMapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de SoftwareJaguaraci Silva
 
Ba048 halliday - física - vol 3- 8ª ed
Ba048 halliday - física - vol 3- 8ª edBa048 halliday - física - vol 3- 8ª ed
Ba048 halliday - física - vol 3- 8ª edFabio Henrique Lanzarin
 
Campo magnético produzido por corrente site
Campo magnético produzido por corrente siteCampo magnético produzido por corrente site
Campo magnético produzido por corrente sitefisicaatual
 
Kompu Gacha : Examples of Complete Gacha
Kompu Gacha : Examples of Complete Gacha Kompu Gacha : Examples of Complete Gacha
Kompu Gacha : Examples of Complete Gacha altnate
 

Mais procurados (20)

[David halliday; robert_resnick;_jearl_walker]_fun(book_zz.org)
[David halliday; robert_resnick;_jearl_walker]_fun(book_zz.org)[David halliday; robert_resnick;_jearl_walker]_fun(book_zz.org)
[David halliday; robert_resnick;_jearl_walker]_fun(book_zz.org)
 
Tabela completa de derivadas e integrais
Tabela completa de derivadas e integraisTabela completa de derivadas e integrais
Tabela completa de derivadas e integrais
 
Plano de aula de física do 2° ano 3° bimestre - cem ary
Plano de aula de física do 2° ano    3° bimestre - cem aryPlano de aula de física do 2° ano    3° bimestre - cem ary
Plano de aula de física do 2° ano 3° bimestre - cem ary
 
Plano de aula áreas de superfícies planas- 2015
Plano de aula  áreas de superfícies planas- 2015Plano de aula  áreas de superfícies planas- 2015
Plano de aula áreas de superfícies planas- 2015
 
Sistema Internacional de Unidades SI
Sistema Internacional de Unidades SISistema Internacional de Unidades SI
Sistema Internacional de Unidades SI
 
Jogos matematicos
Jogos matematicosJogos matematicos
Jogos matematicos
 
03 calculo diferencial-parte1
03 calculo diferencial-parte103 calculo diferencial-parte1
03 calculo diferencial-parte1
 
Resolução de atividade 2º ano
Resolução de atividade 2º anoResolução de atividade 2º ano
Resolução de atividade 2º ano
 
Raciocinio logico
Raciocinio logicoRaciocinio logico
Raciocinio logico
 
Criando um cartão de visitas em Realidade Aumentada
Criando um cartão de visitas em Realidade AumentadaCriando um cartão de visitas em Realidade Aumentada
Criando um cartão de visitas em Realidade Aumentada
 
Soluções circuitos elétricos nilsson - 8ed (inglês)
Soluções circuitos elétricos   nilsson - 8ed (inglês)Soluções circuitos elétricos   nilsson - 8ed (inglês)
Soluções circuitos elétricos nilsson - 8ed (inglês)
 
Estatística, Medidas de dispersão e medidas de posição
Estatística, Medidas de dispersão e medidas de posiçãoEstatística, Medidas de dispersão e medidas de posição
Estatística, Medidas de dispersão e medidas de posição
 
A ludicidade no ensino da matematica certo
A ludicidade no ensino da matematica certoA ludicidade no ensino da matematica certo
A ludicidade no ensino da matematica certo
 
Redes Definidas por Software (SDN) e OpenFlow
Redes Definidas por Software (SDN) e OpenFlowRedes Definidas por Software (SDN) e OpenFlow
Redes Definidas por Software (SDN) e OpenFlow
 
2. Tipos de mídia
2. Tipos de mídia2. Tipos de mídia
2. Tipos de mídia
 
18 series de taylor e de maclaurin
18 series de taylor e de maclaurin18 series de taylor e de maclaurin
18 series de taylor e de maclaurin
 
Mapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de SoftwareMapa Mental sobre Engenharia de Software
Mapa Mental sobre Engenharia de Software
 
Ba048 halliday - física - vol 3- 8ª ed
Ba048 halliday - física - vol 3- 8ª edBa048 halliday - física - vol 3- 8ª ed
Ba048 halliday - física - vol 3- 8ª ed
 
Campo magnético produzido por corrente site
Campo magnético produzido por corrente siteCampo magnético produzido por corrente site
Campo magnético produzido por corrente site
 
Kompu Gacha : Examples of Complete Gacha
Kompu Gacha : Examples of Complete Gacha Kompu Gacha : Examples of Complete Gacha
Kompu Gacha : Examples of Complete Gacha
 

Destaque

Plantilla del proyecto jose luis...
Plantilla del proyecto jose luis...Plantilla del proyecto jose luis...
Plantilla del proyecto jose luis...Pilar Camargo
 
Krit certificate
Krit certificateKrit certificate
Krit certificateHuan Duc
 
[Challenge:Future] In God we Trust youth association: Make.it.WORK
[Challenge:Future] In God we Trust  youth association: Make.it.WORK[Challenge:Future] In God we Trust  youth association: Make.it.WORK
[Challenge:Future] In God we Trust youth association: Make.it.WORKChallenge:Future
 
κυλινδρι
κυλινδρικυλινδρι
κυλινδριairanthi
 
Unidad ii manejo del conflicto
Unidad ii manejo del conflictoUnidad ii manejo del conflicto
Unidad ii manejo del conflictoezequielvillalobos
 
Unidad ii manejo del conflicto
Unidad ii manejo del conflictoUnidad ii manejo del conflicto
Unidad ii manejo del conflictoezequielvillalobos
 
Teridona..makria apo emas
Teridona..makria apo emasTeridona..makria apo emas
Teridona..makria apo emasairanthi
 

Destaque (8)

Plantilla del proyecto jose luis...
Plantilla del proyecto jose luis...Plantilla del proyecto jose luis...
Plantilla del proyecto jose luis...
 
Krit certificate
Krit certificateKrit certificate
Krit certificate
 
[Challenge:Future] In God we Trust youth association: Make.it.WORK
[Challenge:Future] In God we Trust  youth association: Make.it.WORK[Challenge:Future] In God we Trust  youth association: Make.it.WORK
[Challenge:Future] In God we Trust youth association: Make.it.WORK
 
κυλινδρι
κυλινδρικυλινδρι
κυλινδρι
 
Unidad ii manejo del conflicto
Unidad ii manejo del conflictoUnidad ii manejo del conflicto
Unidad ii manejo del conflicto
 
Unidad ii manejo del conflicto
Unidad ii manejo del conflictoUnidad ii manejo del conflicto
Unidad ii manejo del conflicto
 
Teridona..makria apo emas
Teridona..makria apo emasTeridona..makria apo emas
Teridona..makria apo emas
 
Pps
PpsPps
Pps
 

Semelhante a Controle de Presenças Utilizando NFC

Controle de Presença utilizando Near Field Communication (NFC)
Controle de Presença utilizando Near Field Communication (NFC)Controle de Presença utilizando Near Field Communication (NFC)
Controle de Presença utilizando Near Field Communication (NFC)Marciel Torres
 
Artigo Marcus Winicius Oliveira Costa - A segurança por trás da tecnologia NFC
Artigo Marcus Winicius Oliveira Costa - A segurança por trás da tecnologia NFCArtigo Marcus Winicius Oliveira Costa - A segurança por trás da tecnologia NFC
Artigo Marcus Winicius Oliveira Costa - A segurança por trás da tecnologia NFCMarcus Winicius
 
Smart Poster (Near Field Communication) - NFC for Entertainment
Smart Poster (Near Field Communication) - NFC for EntertainmentSmart Poster (Near Field Communication) - NFC for Entertainment
Smart Poster (Near Field Communication) - NFC for EntertainmentCelso Matule
 
Automação Residencial com Controle por Smartphone Android
Automação Residencial com Controle por Smartphone AndroidAutomação Residencial com Controle por Smartphone Android
Automação Residencial com Controle por Smartphone AndroidGabriel Gaspar
 
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...frogstation
 
Nfc - Near Field Communication (basic knowledge) PT-PT
Nfc - Near Field Communication (basic knowledge) PT-PTNfc - Near Field Communication (basic knowledge) PT-PT
Nfc - Near Field Communication (basic knowledge) PT-PTJoao Curinha
 
ACM Computação Ubíqua Final
ACM Computação Ubíqua FinalACM Computação Ubíqua Final
ACM Computação Ubíqua Finalherickfaro
 
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...Ráfagan Abreu
 
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveis
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveisRegras Práticas para apresentação de páginas web em dispositivos fixos e móveis
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveisLuisa Faria
 
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveis
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveisRegras Práticas para apresentação de páginas web em dispositivos fixos e móveis
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveisLuisa Faria
 
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveis
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveisRegras Práticas para apresentação de páginas web em dispositivos fixos e móveis
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveisLuisa Faria
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1Carlos Eugenio Torres
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2Carlos Eugenio Torres
 
Impacto das NTIC para Sistemas de Informação
Impacto das NTIC para Sistemas de InformaçãoImpacto das NTIC para Sistemas de Informação
Impacto das NTIC para Sistemas de Informaçãotorreacme
 

Semelhante a Controle de Presenças Utilizando NFC (20)

Controle de Presença utilizando Near Field Communication (NFC)
Controle de Presença utilizando Near Field Communication (NFC)Controle de Presença utilizando Near Field Communication (NFC)
Controle de Presença utilizando Near Field Communication (NFC)
 
Artigo Marcus Winicius Oliveira Costa - A segurança por trás da tecnologia NFC
Artigo Marcus Winicius Oliveira Costa - A segurança por trás da tecnologia NFCArtigo Marcus Winicius Oliveira Costa - A segurança por trás da tecnologia NFC
Artigo Marcus Winicius Oliveira Costa - A segurança por trás da tecnologia NFC
 
Smart Poster (Near Field Communication) - NFC for Entertainment
Smart Poster (Near Field Communication) - NFC for EntertainmentSmart Poster (Near Field Communication) - NFC for Entertainment
Smart Poster (Near Field Communication) - NFC for Entertainment
 
Automação Residencial com Controle por Smartphone Android
Automação Residencial com Controle por Smartphone AndroidAutomação Residencial com Controle por Smartphone Android
Automação Residencial com Controle por Smartphone Android
 
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
Apresentação - Estudo sobre comunicação bluetooth em um ambiente educacional ...
 
Nfc - Near Field Communication (basic knowledge) PT-PT
Nfc - Near Field Communication (basic knowledge) PT-PTNfc - Near Field Communication (basic knowledge) PT-PT
Nfc - Near Field Communication (basic knowledge) PT-PT
 
DOOR BLE
DOOR BLEDOOR BLE
DOOR BLE
 
Restaurante
RestauranteRestaurante
Restaurante
 
ACM Computação Ubíqua Final
ACM Computação Ubíqua FinalACM Computação Ubíqua Final
ACM Computação Ubíqua Final
 
Article
ArticleArticle
Article
 
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
Desenvolvimento multiplataforma em ambientes de programação nativos e abstr...
 
IoT Internet das Coisas
IoT Internet das CoisasIoT Internet das Coisas
IoT Internet das Coisas
 
Monografia
MonografiaMonografia
Monografia
 
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveis
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveisRegras Práticas para apresentação de páginas web em dispositivos fixos e móveis
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveis
 
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveis
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveisRegras Práticas para apresentação de páginas web em dispositivos fixos e móveis
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveis
 
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveis
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveisRegras Práticas para apresentação de páginas web em dispositivos fixos e móveis
Regras Práticas para apresentação de páginas web em dispositivos fixos e móveis
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 1
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 1
 
Nagios
NagiosNagios
Nagios
 
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2Desenvolvimento de aplicações para dispositivos móveis   módulo i - aula 2
Desenvolvimento de aplicações para dispositivos móveis módulo i - aula 2
 
Impacto das NTIC para Sistemas de Informação
Impacto das NTIC para Sistemas de InformaçãoImpacto das NTIC para Sistemas de Informação
Impacto das NTIC para Sistemas de Informação
 

Controle de Presenças Utilizando NFC

  • 1. Controle de Presença Utilizando NFC (Near Field Communication) Marciel Ribeiro Torres Ciência da Computação Centro Universitário La Salle Canoas, RS, Brasil. marcielribeirotorres@gmail.com Prof. Dr. Mozart Lemos de Siqueira Ciência da Computação Centro Universitário La Salle Canoas, RS, Brasil. mozarts@unilasalle.edu.br Resumo— Esse projeto de pesquisa tem como objetivo utilizar a tecnologia Near Field Communication (NFC) para o controle de presenças. Além disso, visa aprofundar os conhecimentos nessa tecnologia emergente que vem sendo adotada em vários dispositivos. Nos últimos anos foram desenvolvidas muitas aplicações utilizando NFC, não apenas para dispositivos móveis, muitas envolvem diversos elementos presentes em nosso cotidiano. Através desse projeto também será possível analisar os campos de aplicação para a tecnologia NFC bem como diversos projetos desenvolvidos nessa área. Como parte do objetivo principal dessa proposta, será possível validar a utilização do NFC para o controle de presenças através de um protótipo desenvolvido especificamente para este fim, utilizando, além do NFC, tecnologias recentes para o desenvolvimento de software. Palavras-Chave—Near Field Communication; NFC; Host Card Emulation; HCE; Android; Mobile. I. INTRODUÇÃO A cada dia que passa os dispositivos móveis estão mais presentes em nosso cotidiano e tornaram-se praticamente indispensáveis. De acordo com o Data Folha [1] 43 milhões de brasileiros, com 12 anos ou mais, acessam a internet através de dispositivos móveis, esses resultados foram obtidos através da décima terceira edição da pesquisa F/Radar realizado pela F/Nazca Saatchi & Saatchi [2] em parceria com o Data Folha, que ouviu 2.236 pessoas em todas as regiões do Brasil. No segundo trimestre de 2013 a venda de smartphones alcançou 57,6% das vendas de dispositivos móveis, passando pela primeira vez a venda de telefones convencionais desde o lançamento dos smartphones [3]. Com isso diversas soluções surgem para melhorar a interação desses dispositivos com o mundo externo, resolvendo algum problema específico e contribuindo para o meio em que se enquadra. Muitos problemas comuns são resolvidos com dispositivos móveis tais como: sistemas de localização, sistemas de comunicação, sistema de interação com entidades externas (aplicativos para fins específicos). Essas aplicações, na maioria dos casos, utilizam como base algum tipo de comunicação, seja ela com fio ou sem fio. NFC (Near Field Communication – Comunicação por campo de aproximação) vem sendo utilizado em muitos aplicativos móveis para auxiliar as pessoas em tarefas comuns. Essa tecnologia está presente em diversos dispositivos móveis (como celulares de última geração, por exemplo). Com NFC é possível utilizar apenas a aproximação entre dois dispositivos para que ocorra a troca de informações entre eles. A tecnologia NFC também está presente em outros tipos de equipamentos tais como: cartões, pulseiras, televisões, relógios e qualquer dispositivo que possibilite a utilização do chip NFC. A. Objetivos O objetivo geral é a utilização da tecnologia NFC para o controle de presenças, validando assim a sua capacidade de suprir essa necessidade. Abaixo serão listados os objetivos específicos do projeto de pesquisa: 1) Elaboração de um protótipo para validação prática com NFC aplicado a controle de presença. 2) Estudo aprofundado sobre a tecnologia NFC e suas caraterísticas. 3) Demonstração da área de atuação da tecnologia NFC relacionando com diversas aplicações desenvolvidas na atualidade. B. Metodologia Nesse projeto será utilizada a Pesquisa Aplicada, pois irá gerar conhecimentos para aplicações práticas de problemas específicos a serem resolvidos pelo projeto proposto. Também será feita uma pesquisa bibliográfica, pois muita informação deve ser relacionada para que a pesquisa seja concretizada com sucesso. Todo material coletado e informações teóricas possuem valor científico muito grande, pois a conclusão de um trabalho de pesquisa que exige o desenvolvimento de um protótipo proposto é muito complexa, dependendo de vários fatores para que possa ser finalizada, por isso a definição dessas metodologias de pesquisa é fundamental no início do desenvolvimento desse projeto. C. Organização do trabalho O projeto de pesquisa proposto será apresentado da seguinte maneira: No primeiro capítulo é abordada a introdução e as características acadêmicas do trabalho, bem como os objetivos do projeto e metodologia. No segundo capítulo será apresentada uma pesquisa sobre a tecnologia Near Field Communication. Para tal definição técnica e teórica sobre essa tecnologia, serão utilizadas as referências principais que foram utilizadas nesse trabalho.
  • 2. No terceiro capítulo serão apresentadas todas as características técnicas e modos de operações disponíveis da tecnologia NFC. Esse capítulo fornecerá base teórica para o desenvolvimento do protótipo proposto, pois são apresentados os modos disponíveis bem como suas características técnicas. O quarto capítulo abordará os campos de aplicação da tecnologia NFC e também poderemos observar os trabalhos relacionados como Estado da Arte. Todos os trabalhos citados serão brevemente explicados e comparados com esse projeto de pesquisa. O quinto capítulo abordará todas as questões técnicas com relação ao desenvolvimento do protótipo. Todos os recursos utilizados para o desenvolvimento serão disponibilizados e analisados de forma específica e detalhada. No sexto capítulo será possível observar a utilização de computação em nuvem para armazenar todas as informações do modelo proposto, para tal feito os recursos utilizados disponíveis na Amazon Webservices (AWS) [4] serão descritos detalhadamente. A validação do protótipo proposto será apresentada no sétimo capítulo bem como os resultados obtidos com esse projeto de pesquisa. Por fim, temos uma seção de agradecimentos e também as referências utilizadas para o desenvolvimento desse projeto de pesquisa. II. NEAR FIELD COMMUNICATION Segundo a organização sem fins lucrativos NFC Forum [5] Near Field Communication (NFC) é uma tecnologia de conectividade sem fio de curto alcance baseada em padrões que torna a vida mais fácil e mais conveniente para os consumidores em todo o mundo, tornando-o mais simples para fazer transações, e conectar dispositivos eletrônicos facilmente [6]. Para Simões [7] NFC é uma tecnologia recente e muito inovadora que pretende fornecer vantagens em diversos campos. Ainda temos muito que estudar e aprofundar nessa tecnologia. Embora a entidade citada anteriormente, NFC Forum, já esteja trabalhando em parceira com diversas empresas para disseminar a utilização dessa tecnologia que promete ser a evolução na comunicação. Segundo Palmeira e Fernandes [8] a tecnologia NFC deve estar presente em praticamente todos os dispositivos móveis com o passar dos anos, então o desenvolvimento de aplicativos, que utilizam essa tecnologia, deverá ser imprescindível para a evolução do NFC. Atualmente muitos dispositivos já estão com a tecnologia presente como afirmou Palmeira e Fernandes [8], porém muitos fabricantes ainda não adotaram esse padrão de comunicação, o que deve ocorrer em um futuro não tão distante. III. CARACTERÍSTICAS TÉCNICAS DO NFC Através da tecnologia NFC é possível estabelecer interações bidirecionais entre os dispositivos de forma segura e simples, ofertando assim aos usuários, simples transações apenas aproximando os dispositivos. A tecnologia NFC, assim como outras tecnologias de conectividade sem fio, utiliza elementos de padronização e normas técnicas de cartões sem contato (ISO / IEC 14443 A&B e JIS-X 6319-4), além disso, o NFC pode ser compatível diretamente com outros cartões, isso permite que o consumidor utilize ferramentas e dispositivos diferentes presentes atualmente no mercado [9]. Nas próximas seções será discutido todos os modos de operação do NFC bem como suas características e normas técnicas. A. Características Básicas O compartilhamento de informações através de NFC é possível a uma distância menor do que quatro centímetros e com uma velocidade máxima de comunicação de quatrocentos e vinte quatro quilobit por segundo (kbps). O NFC atua na frequência dos 13.56 Mhz [10]. Com relação à segurança na troca de informações entre os dispositivos, como o NFC utiliza uma distância muito curta para que seja possível a comunicação, torna mais segura a transferência dos dados, visto que interceptar essa comunicação é muito mais complicado se comparado a outras tecnologias de comunicação sem fio. De qualquer maneira se esse risco for visível, o desenvolvimento da camada de segurança pode ser elaborado em nível de aplicação [10]. O trabalho de Garcia [3] aborda de forma clara e evidente diversas questões relacionadas à segurança na utilização da tecnologia NFC, como o objetivo desse trabalho não é abordar a segurança entre os dados transferidos, essas questões, em camadas de aplicação e protótipo, são irrelevantes. Porém, dependendo da aplicação onde o NFC estará presente, deve se atentar para essas questões levantadas e bem explicadas pelo autor. O NFC possui três modos de operação que são: Leitura e Escrita, Comunicação Ponto-a-Ponto (P2P) e Emulação de cartão (Smart Card). Esses modos serão descritos na sequência, porém a ênfase do trabalho está na utilização de emulação de cartão e da leitura e escrita de informações. B. Modo de Operação Leitura e Escrita Através desse modo de operação é possível que o dispositivo leia e escreva informações em tags NFC e smart cards. Uma tag NFC é um dispositivo passivo, ou seja, ela depende de um dispositivo ativo para receber ou passar informações e estabelecer de fato a comunicação [3]. Claro que para o funcionamento da leitura e escrita em tags, é necessário que as normas seguidas pelo NFC Forum sejam seguidas [11]. A definição do NFC Forum abrange quatro tipos diferentes de tags [11], todas elas estão enquadradas nas normas ISO/IEC 18092 e ISO/IEC 14443 [3]. As tags são úteis em casos onde os dispositivos ou elementos não possuam a tecnologia NFC disponível, como são tags simples, elas podem ser agregadas em praticamente qualquer elemento físico tal como: equipamentos esportivos, relógios, vestuário em geral, televisões, computadores, celulares, etc. C. Modo de Operação P2P(Ponto a Ponto) No modo de operação ponto a ponto (P2P) é possível que dois dispositivos móveis com a tecnologia NFC estabeleçam uma comunicação bidirecional com o objetivo exclusivo de iniciar a transferência de dados. A normativa técnica ISO/IEC
  • 3. 18092 é responsável por regulamentar esse modo de operação [3]. Esse modo de operação é muito útil para transferir informações entre dois dispositivos, obviamente os dois dispositivos devem possuir a tecnologia NFC e devem operar em modo ativo. Em alguns modelos de celulares, esse modo de operação é ofertado como modo padrão no sistema operacional Android, é o caso dos dispositivos utilizados no desenvolvimento desse protótipo (será explicado na seção correspondente ao desenvolvimento). Um artigo da Texas Instruments [12] trata muito bem desse assunto, comunicação ponto a ponto entre dispositivos. Através desse artigo que foi possível constatar que, para o projeto de pesquisa em questão, esse modo de operação não se adequava corretamente, justamente pela questão de transferências de arquivos. D. Modo de Operação Emulação de Cartão Este modo de operação permite que um dispositivo emule um smart card e assim torna possível a comunicação com leitores existentes de RFID. Dentro desse modo é possível encontrar nos dispositivos móveis com o sistema operacional Android com o recurso denominado HCE, que significa Host Card Emulation [13], onde é possível emular um cartão para que um leitor NFC tenha acesso através do modo de operação de leitura, nesse cartão é possível armazenar qualquer tipo de informação, desde que siga o padrão da norma adotada. O projeto em questão irá abordar o HCE juntamente com o modo de leitura do NFC, assim será possível estabelecer a comunicação entre dois dispositivos, porém um deles executará na função passiva e irá emular um cartão. De qualquer maneira, a utilização desses modos de operação está diretamente relacionada à tecnologia NFC, em todos esses casos a tecnologia deve obrigatoriamente estar presente. IV. APLICAÇÕES COM NFC As aplicações com a tecnologia NFC podem ser encontradas em praticamente todas as áreas [14]. Podemos citar algumas áreas onde o NFC já está presente: Controle de Acesso, Produtos Eletrônicos, Jogos Eletrônicos, Saúde, Marketing, Meio de Pagamento, Transportes, Viagens, Objetos Inteligentes entre outros. Na sequência serão apresentadas as aplicações que foram relacionadas ao trabalho e algumas aplicações disponibilizadas no portal do NFC Forum. Nas próximas seções deste capítulo serão relacionadas algumas aplicações, todas elas citadas como referências principais desse projeto de pesquisa, sendo assim, esses trabalhos relacionados podem ser citados como o Estado da Arte. A. Sistema de Fidelização Utilizando a tecnologia NFC, o trabalho de Simões [7] propõe um sistema de fidelização. Nesse projeto é possível perceber também uma comparação entre algumas tecnologias de comunicação sem fio e o motivo pela escolha da tecnologia NFC dentre uma série de fatores. A ideia central dessa proposta é elaborar um sistema padrão de fidelização para uma entidade específica utilizando recursos computacionais distintos e também a tecnologia NFC, uma área distinta das demais, mas com o NFC presente e solucionando um problema. Esse trabalho relacionado é do ano de 2008, visto que a tecnologia NFC foi potencialmente liberada para o mercado em 2004, a relação desse trabalho para o projeto de pesquisa descrito é de extrema importância. B. Controle de Acesso a estádios de futebol Os autores Palmeira e Fernandes elaboraram uma proposta de projeto utilizando NFC para o controle de acesso a estádios de futebol. [8] A proposta básica desse trabalho é oferecer uma solução completa para o controle de usuários e acesso a estabelecimentos como estádios de futebol. A ideia dos autores era utilizar inclusive catracas para controlar o acesso e também manter um cadastro prévio dos usuários que utilizariam o sistema. No início da elaboração da proposta para esse trabalho de conclusão de curso, tentamos contato com o Sport Clube Internacional de Futebol de Porto Alegre, a fim de verificar qual tecnologia eles utilizavam nas catracas de acesso. Não tivemos um retorno completo e esclarecedor, porém o responsável pelo setor de tecnologia da informação do clube nos informou que a tecnologia utilizada não é NFC, mas não nos forneceu mais detalhes por motivos de segurança. Voltando ao trabalho relacionado, é visível que a tecnologia NFC pode ser empregada em diversas áreas incluindo o controle de acesso a estádios de futebol, inclusive utilizando recursos externos como catracas. Essa versatilidade da tecnologia NFC foi uma das premissas para o nosso projeto de pesquisa. C. Sistema de Gestão de Alojamento usando dispositivos móveis O trabalho de Garcia [3] certamente é o mais completo dentre os trabalhos relacionados, ele utiliza todos os modos de operação da tecnologia NFC para diferentes ações. Ele propõe um sistema para gestão de alojamento utilizando dispositivos móveis, o projeto foi desenvolvido com base para ser implantado em um hotel. O projeto de Garcia também utiliza um ponto centralizador para controlar as operações, ele também propõe a criação de dois aplicativos na utilização do HCE, e ainda vai além, propõe também a utilização de tags nos quartos para fechamento da conta, por exemplo. Além de toda essa proposta prática, também há um grande conceitual teórico sobre a tecnologia NFC, muitos conceitos referenciados nesse projeto de pesquisa. Esse trabalho relacionado foi um marco também nessa proposta de pesquisa, pois através dessa referência foi possível observar a utilização do HCE nos dispositivos móveis. D. Abertura de Portas O produto NFC Porter [15] prevê a utilização da tecnologia NFC para o controle de abertura de portas. Segundo próprio fabricante é possível controlar o acesso
  • 4. através de um dispositivo conectado no ambiente e um aplicativo com a tecnologia NFC presente. Temos aqui um bom exemplo de utilização da tecnologia para um campo de atuação que envolve segurança, mesmo sendo um produto fechado e próprio do fabricante em questão, conseguimos extrair algumas informações relevantes para referenciar com o projeto de pesquisa, principalmente se tratando da leitura de cartões inteligentes. E. Pulseiras Inteligentes Um campo amplo de aplicações disponíveis com NFC é o campo de tecnologia “vestíveis”, ou seja, acessórios comuns que utilizamos diariamente, porém com funcionalidades tecnológicas. Pulseiras (ou até mesmo anéis) inteligentes são parte de um grande conjunto de soluções disponíveis no mercado com a tecnologia NFC [16]. A ideia é utilizar tags em pulseiras, por exemplo, que ao aproximar de algum outro dispositivo estabeleça a comunicação e efetue o processo desejado. Esse modelo de aplicação pode ser utilizado também para controlar acesso a determinado local, alguns parques de diversões estão adotando esse método, pois é muito prático para os utilizadores, como é o caso do Parque da Disney em Orlando [17]. Temos então mais um ótimo modelo de aplicação que utiliza NFC para resolver problemas triviais de nossa rotina. Essas aplicações demonstram a versatilidade de utilização da tecnologia, o que torna muito atraente para o desenvolvimento de novas aplicações, o que é o caso desse projeto de pesquisa. F. Meio de Pagamento Aplicações que utilizam pagamento são sempre críticas e relação à segurança, justamente, pois as informações trocadas entre as entidades devem ser protegidas. A operadora Visa já utiliza NFC para modo de pagamento [18] e também faz parte do consórcio NFC Forum. Sempre quando uma nova tecnologia é lançada ao mercado, uma das principais incertezas sobre ela é a segurança, fazendo com que em muitos casos ela não seja adotada para determinadas aplicações. Com relação ao NFC muito se fala em segurança, e observando esse tipo de aplicação como modo de pagamento, é possível garantir os termos relevantes à segurança com relação à utilização da tecnologia NFC. Obviamente cada aplicação deve controlar uma série de fatores para que junto com o NFC a aplicação se torne segura. Efetuando uma rápida pesquisa na internet, é possível observar que outras operadoras e também alguns bancos têm investido tempo e dinheiro no desenvolvimento de aplicações com NFC, infelizmente não é possível encontrar muitos artigos sobre o tema. Recentemente a própria Visa lançou uma campanha na televisão demonstrando um novo cartão que efetua a transação apenas ao encostar-se à máquina. Na maioria dos casos, o modo de operação utilizado para essas aplicações é o Smart Card (HCE) e na outra ponta um leitor NFC. Essas definições serviram como base para elaboração dessa proposta de pesquisa, pois foi através desse modo que o protótipo foi concebido, logo a relação dessas aplicações com esse projeto é extremamente importante, do ponto de vista teórico e prático. G. Jogos A indústria de Jogos, na maioria dos casos, é sempre uma das primeiras a experimentar novas tecnologias e criar novas aplicações, e quase sempre é a indústria mais inovadora. Algumas aplicações com NFC vêm sendo desenvolvidas especificamente para utilização em Jogos, sejam eles eletrônicos ou de tabuleiros. A interatividade entre os elementos presentes nos jogos é o que motiva o desenvolvimento de aplicações desse tipo utilizando a tecnologia NFC, pois é possível transferir informações de forma muito simples, podendo dar mais versatilidade a jogos simples, como é o caso das aplicações listadas pelo NFC Forum para essa categoria [19]. H. Transaferência de arquivos A transferência de arquivos entre dois dispositivos é possível através do modo Ponto a Ponto (P2P) presente na tecnologia NFC. Nos dispositivos móveis em que a tecnologia está presente, como aplicação padrão é possível transferir dados entre os dispositivos tais como: Arquivos de músicas, contatos do telefone, imagens, etc. Também é possível transferir arquivos de outros dispositivos, não apenas entre celulares, é possível transferir imagens de uma câmera fotográfica para algum outro dispositivo, por exemplo. Nesse campo o NFC pode ser aplicado de diversas maneiras diferentes e entre diversos dispositivos diferentes, basta que os dois dispositivos utilizados tenham NFC com esse modo de operação disponível. I. Outras Aplicações Como podemos observar com as aplicações mencionadas anteriormente, a tecnologia pode ser utilizada em praticamente todo campo de atuação que contenha transferência de dados. Os três modos de operação da tecnologia NFC fazem com que ela se torne dinâmica e muito versátil para a criação de aplicações. Embora atualmente não existam muitos dispositivos no mercado com NFC presente, serão necessários mais alguns anos para difundir melhor a tecnologia, conforme indicado por praticamente todos os autores dos trabalhos relacionados a esse projeto de pesquisa, NFC é uma tecnologia do futuro. V. DESENVOLVIMENTO O desenvolvimento do protótipo proposto para o controle de presença utilizando a tecnologia NFC se baseia em três pilares principais: Webservice, aplicativo específico para o sistema operacional Android 4.4 utilizando o modo de operação HCE presente na tecnologia NFC e aplicativo específico também para o sistema operacional Android 4.4 utilizando o modo Reader presente também na tecnologia NFC. Esse capítulo abordará questões extremamente técnicas com relação ao desenvolvimento de software.
  • 5. Fig. 1. Modelo da arquitetura do protótipo proposto a ser desenvolvido. Esse modelo proposto (conforme figura 1) é conceitual, como ponto receptor NFC será utilizado um dispositivo móvel. A seguir, cada um desses itens será detalhadamente descrito conforme documentação e desenvolvimento do projeto. Cada uma das etapas do software proposto foi minuciosamente estudada e desenvolvida conforme documentação das tecnologias envolvidas bem como padronização dos recursos utilizados. A. Premissas do projeto Algumas premissas devem ser levadas em consideração para elaboração e desenvolvimento do software proposto: 1) Versão do Sistema Operacional Android A versão do Sistema Operacional Android deve ser obrigatoriamente 4.4, pois os dispositivos que estavam disponíveis para testes possuem essa versão. Porém os aplicativos devem funcionar a partir da versão 4.1 para os dispositivos móveis que possuírem suporte à tecnologia NFC; 2) Aplicativos com acesso irrestrito à internet Os aplicativos deverão possuir conectividade irrestrita com a internet, pois os dois aplicativos irão se comunicar com o WebService; B. Detalhamento da Regra de Negócio A regra de negócio elaborada para esse projeto não é nada complexa, visto que utilizaremos apenas o necessário de informações para conseguir controlar presença conforme proposta. 1) Cadastro de Eventos: Será possível manter um cadastro simples de eventos, para o projeto foram propostos apenas quatro campos informativos: Identificador Único do Evento, Título do Evento, Descrição do Evento, Data Inicial do Evento e Data Final do Evento; 2) Cadastro de Inscrições: O projeto propôs também um controle efetivo de inscrições para os eventos cadastrados, apenas as informações básicas do inscrito são necessárias para o projeto proposto: Identificador Único do Inscrito, Nome Completo do Inscrito, E- mail do Inscrito e Evento relacionado. Não será permitido o cadastro de e-mails repetidos para os eventos, ou seja, cada inscrito deve ser único com relação ao e-mail cadastrado no evento. 3) Controle efetivo de presença do inscrito em determinado evento: O controle efetivo da presença do inscrito em determinado evento acontecerá como resultado do relacionamento entre o inscrito e o evento, para o projeto serão armazenados dados básicos para controle bem como: Identificador Único da Inscrição, Identificador único do Evento e Data da Presença. Não será possível registrar mais de uma presença para cada inscrito por evento, a presença tem caráter único e exclusivo; C. Webservice O projeto visa ser desenvolvido de forma modular, logo toda a regra de negócio será centralizada e controlada por um único módulo, o Webservice. O Webservice proposto será responsável por armazenar todas as regras de negócio necessárias (conforme descritas no item anterior), fazendo com que a lógica do software fique centralizada em um único ponto, não levando nenhuma condição para os outros módulos propostos. Toda a comunicação do Webservice com os demais módulos se dará através do formato de mensagens JSON. Esse projeto de Webservice foi estruturado utilizando a tecnologia WCF que significa Windows Communication Foundation [20], essa tecnologia serve para criação de modos de comunicação entre serviços distintos. Ela está presente no framework de desenvolvimento de aplicações da Microsoft denominado .NET Framework. Para o desenvolvimento dessa aplicação, a linguagem de programação adotada foi o C# (C Sharp), essa linguagem de programação também está disponível não framework especificado acima. D. Armazenamento de Dados As informações dos Eventos, Inscritos e Controle de Presença deverão ser persistidos em banco de dados para posterior consulta e também para auxiliar na validação dos mesmos. Como produto de banco de dados relacional utilizaremos a distribuição Microsoft SQL Server [21]. O produto escolhido para armazenamento de dados não é obrigatoriedade para desenvolvimento do projeto, na verdade é apenas uma questão de ambiente, qualquer base de dados relacional disponível no mercado poderia ser utilizada. O diagrama entidade relacionamento (ER) com o mapeamento da estrutura de dados utilizada para armazenamento foi desenvolvido com uma ferramenta gratuita chamada DB Design [22].
  • 6. Fig. 2. Diagrama entidade relacionamento. Esse modelo básico estrutural do banco de dados foi necessário para manter as informações do projeto, embora seja extremamente simples, o mais importante desse modelo é a maneira como as entidades se relacionam. Para o efetivo controle de presenças, objetivo principal do projeto de pesquisa, são necessárias apenas três entidades: Eventos, Inscrições e Controle de Presença. Conforme foi explicado no detalhamento da regra de negócio, cada uma dessas entidades tem a função de armazenar as informações necessárias. No caso de um projeto a ser desenvolvido exclusivamente para o mercado, provavelmente seriam necessárias mais informações e também mais entidades, porém para esse projeto de pesquisa, apenas essas três entidades são o suficiente. O objetivo nessa questão é apenas armazenar de forma estruturada os dados para consultas posteriores. E. Aplicativo Cliente (NFC Host Card Emulation - HCE) A proposta prevê o desenvolvimento de um aplicativo nativo para a plataforma Android que servirá como o cartão de acesso para o controle efetivo de presença, ou seja, esse aplicativo estará com o usuário que está previamente cadastrado em determinado evento, e em uma situação hipotética de caso de uso, estará prestes a chegar nesse evento. Sendo assim esse usuário encostará seu dispositivo no ponto receptor e esse aplicativo irá fornecer as informações necessárias para acesso. Essa é a definição simbólica da utilização do aplicativo. A plataforma utilizada para o desenvolvimento do aplicativo foi o Android Studio [23], e como linguagem de programação nativa do sistema operacional Android, a linguagem Java. Essas definições técnicas relacionadas com o desenvolvimento também valem para o aplicativo receptor. A referência utilizada no início do desenvolvimento foi o livro Beginning NFC: Near Field Communication with Arduino, Android, and PhoneGap [24], muitas questões com relação ao desenvolvimento com NFC foram esclarecidas com esse livro, todas relacionadas com a prática do desenvolvimento, não tem relação teórica com o projeto de pesquisa. O primeiro passo no desenvolvimento do aplicativo é definir quais são as permissões que esse aplicativo irá necessitar ter acesso do dispositivo móvel. Precisamos de permissões para a manipulação do próprio NFC e também para acesso à internet. Para tal feito é necessário informar essas permissões em um determinado arquivo de configuração chamado androidmanifest.xml, abaixo consta uma imagem referente as permissões mencionadas: Fig. 3. Permissões necessárias para o funcionamento do aplicativo Após a definição das permissões necessárias para o aplicativo, é necessário definir nesse mesmo arquivo de configurações, a informação referente ao serviço que será utilizado e qual recurso do projeto que irá receber o funcionamento do serviço, nesse caso o serviço em questão é o NFC. Fig. 4. Definição do serviço que será utilizado A definição do serviço é a base para a comunicação entre os aplicativos, com essa definição demonstrada acima, sempre que o dispositivo receber uma chamada para esse serviço especificado, uma classe de ativação será invocada, e é nessa classe que definimos o que vamos fornecer em nível de informações para o aplicativo receptor. Essas definições do serviço também servem para informar ao dispositivo que ele deverá emular um cartão (Host Card Emulation). Sendo assim, nesse ponto já estamos com o aplicativo pronto para transferir informações utilizando NFC. Através do aplicativo cliente poderá ser possível efetuar uma nova inscrição em qualquer evento e também gerar o cartão de acesso com as informações necessárias para o aplicativo receptor confirmar a presença do indivíduo. Todas essas ações estão diretamente ligadas ao Webservice desenvolvido, pois as regras de negócios estão centralizadas nele, conforme explicado anteriormente. Ainda falando sobre a comunicação com NFC, é necessário definir um código chamado AID, é através desse código que o dispositivo receptor conseguirá estabelecer a comunicação. Esse código serve para auxiliar na segurança na comunicação entre os dispositivos, pois os dois dispositivos
  • 7. devem saber o código AID, assim não é possível que outro aplicativo desenvolvido exatamente da mesma forma estabeleça comunicação, pois é necessário o conhecimento desse código AID. Essas informações são definidas em um arquivo específico chamado aid_list.xml. Através desse aplicativo, o usuário poderá informar seu nome e seu e-mail e conseguirá se inscrever em determinado evento selecionado, seguindo as regras de negócio especificadas anteriormente, abaixo imagem com a tela de inscrição do aplicativo: Fig. 5. Tela para cadastro de nova inscrição Depois de estar devidamente inscrito em algum evento, através do aplicativo o usuário pode gerar seu cartão de acesso conforme mencionado anteriormente: Fig. 6. Tela para geração do cartão de acesso Para gerar o cartão de acesso, o usuário deve informar seu e-mail e o evento no qual está inscrito. O aplicativo envia essas informações para o Webservice onde será efetuada a validação das informações enviadas e, em caso de sucesso, o retorno será todas as informações do inscrito e do evento, e em caso de erro o retorno será uma mensagem de erro. Com essas informações retornadas pelo Webservice, em caso de sucesso obviamente, o aplicativo armazena nas preferências do usuário (recurso do próprio sistema operacional Android) as informações do evento e também do inscrito, essas informações serão fornecidas para o aplicativo receptor. Fig. 7. Armazenando as infromações como preferência do usuário Depois que essas informações estão devidamente armazenadas, toda vez que uma comunicação via NFC for iniciada o aplicativo deve fornecer essas informações, para isso é necessário à definição de uma classe específica. Fig. 8. Fragmento da classe CardService, serviço responsável por receber o processo de comunicação via NFC. Lembrando que essa classe é definida nas configurações do aplicativo como o serviço, então sempre que houver uma comunicação via NFC, essa classe é automaticamente executada, sendo assim as informações armazenadas serão lidas e retornadas ao aplicativo. Esses modelos de classes e métodos foram desenvolvidos com base na documentação disponível no centro de desenvolvimento Android [13]. F. Aplicativo Receptor (NFC Reader) As ferramentas utilizadas para o desenvolvimento do aplicativo receptor foram exatamente as mesmas que foram utilizadas para o desenvolvimento do aplicativo cliente. O aplicativo receptor não possui interface gráfica, possui apenas uma tela padrão que emite uma mensagem confirmando ou não a presença do indivíduo. Primeiramente precisamos definir as permissões necessárias para o funcionamento do aplicativo, basicamente o
  • 8. aplicativo precisa de permissão para controlar o NFC e também permissão para acessar a internet. Fig. 9. Permissões neessárias para o aplicativo Após definir as permissões necessárias para o aplicativo, também é necessário definir um filtro nas configurações especificando a questão da descoberta da tecnologia NFC presente nos dispositivos. Como esse aplicativo poderia ser desenvolvido de forma genérica para suportar os três modos de operação do NFC, há necessidade da definição explícita desse filtro para identificar que haverá apenas comunicação com o HCE. Fig. 10. Definição do filtro para utilizar NFC Com isso a aplicação já está pronta para estabelecer comunicação com outro dispositivo. O próximo passo é definir a ação para que quando houver a comunicação entre os dispositivos, o aplicativo consiga receber as informações corretamente. Fig. 11. Hablitando e desabilitando modo de leitura do NFC Através desses métodos na aplicação principal é possível habilitar e desabilitar o modo de leitura do NFC. Porém o método que habilita não efetua a leitura em si através da comunicação, outro método é utilizado para efetuar a comunicação e a leitura das informações. Fig. 12. Lendo as informações utilizando NFC Como o modo de leitura já está habilitado, sempre que uma nova tag for descoberta pelo NFC, esse método é chamado automaticamente, pois aqui está a relação com os filtros definidos nas configurações do aplicativo. Mesmo o método tratando a informação como tag, como o padrão definido é para HCE, se for aproximado uma tag NFC padrão não irá funcionar, essa nomenclatura serve apenas para padronizar o código. Esses modelos de classes e métodos foram desenvolvidos com base na documentação disponível no centro de desenvolvimento Android [25]. G. WebSite estático Para demonstração do funcionamento e também para visualização de todos os dados armazenados, um site estático foi desenvolvido. Nesse site constam todas as informações dos eventos, inscritos e o controle de presenças. Como o projeto foi estruturado de forma modular, esse site não poderia ser diferente, ele apenas efetua comunicação com o Webservice e solicita as informações necessárias, sendo assim a regra de negócio continua centralizada. Através desse site é possível, por exemplo, criar um novo evento, essa função está disponível apenas através desse site. O desenvolvimento desse recurso foi fundamental para fixar os testes, pois a validação das informações é possível através desse site. Na seção de testes é possível visualizar com mais clareza como esse site foi utilizado e como está enquadrado nessa proposta de pesquisa. A única ressalva a ser feita com relação a esse site, é que ele não faz parte da proposta de pesquisa nem do protótipo proposto, ele foi desenvolvido como um extra apenas para validar as informações e auxiliar nos testes. Com isso, é necessário salientar que o projeto funciona perfeitamente sem ele. VI. COMPUTAÇÃO EM NUVEM UTILIZANDO AMAZON WEBSERVICES (AWS) Apesar de não constar na proposta original desse projeto de pesquisa, para armazenamento das informações e hospedagem do Webservice, utilizamos recursos disponíveis na Amazon Webservices (AWS) [4]. Dentro desse contexto foram utilizados os recursos principais ofertados para criação de um servidor, armazenamento das informações com base de dados
  • 9. e armazenamento de arquivos estáticos. Segundo Lecheta [26], computação em nuvem significa contratar e expandir serviços de TI sobre demanda. O livro AWS para Desenvolvedores, de Lecheta [26] foi essencial para a criação dos recursos necessários para o protótipo. A. Amazon Elastic Compute Cloud (EC2) Amazon Elastic Compute Cloud (EC2) [27] é serviço de base do AWS e um dos mais utilizados também, através desse recurso é possível criar instâncias e gerenciar de forma dinâmica seus recursos [26]. Uma instância é a abstração de um servidor físico que contenha um sistema operacional. Para esse projeto de pesquisa foi necessário apenas uma instância Windows, nessa instância alguns recursos adicionais foram instalados, recursos que não têm relação com o AWS e que são responsabilidades do cliente que utiliza o serviço. O principal recurso adicionado se chama Internet Information Service (IIS) que nada mais é do que um servidor web. Foi necessário adicionar esse recurso para hospedar o Webservice desenvolvido. B. Amazon Relational Database Service (RDS) Amazon Relational Database Service (RDS) [28] é o serviço escalável de banco de dados do AWS. É um serviço criado especificamente para facilitar a criação, configuração e gerenciamento do banco de dados [26]. O RDS suporta diversas distribuições de banco de dados disponíveis no mercado, para esse projeto de pesquisa foi utilizado o banco de dados Microsoft SQL Server [29], todas as informações relacionadas com o projeto estão, desde o início do desenvolvimento, na nuvem. Com toda segurança, escalabilidade e disponibilidade fornecida pelo AWS. C. Amazon Simple Storage Service (S3) Amazon Simple Storage Service (S3) [30] é o serviço para armazenamento de arquivos estáticos na nuvem. Altamente escalável e confiável, Lecheta [26] ainda demonstra que a empresa Dropbox utiliza esse serviço. Para esse trabalho de pesquisa, o S3 foi utilizado para armazenar o site estático criado especificamente para validação testes. Esse site poderia ser hospedado no EC2, porém o S3 oferece a possibilidade de armazenar arquivos estáticos e transformá-los automaticamente em um site. Esse foi o único recurso do S3 que foi utilizado para esse projeto de pesquisa, nenhum recurso de replicação de dados ou de escalabilidade foram necessários, visto que a aplicação foi utilizada apenas para testes e validação das informações. VII. TESTES E VALIDAÇÃO DO PROTÓTIPO Os testes para validação dos aplicativos foram feitos em dois dispositivos móveis da montadora LG e com sistema operacional Android 4.4. A instalação dos aplicativos foi alternada entre os dois dispositivos, fazendo com que o cliente virasse receptor e o receptor virasse cliente, validando assim a utilização dos recursos disponíveis na tecnologia NFC. Conforme mencionado anteriormente, também foi desenvolvido um site estático para validação das informações, então através desse site foi possível analisar todos os dados informados pelos aplicativos. Além disso, ainda foi desenvolvido um vídeo para demonstração do protótipo na prática, e também uma apresentação em sala de aula em uma disciplina de desenvolvimento com dispositivos móveis. A. Vídeo explicativo do funcionamento do protótipo A elaboração de um vídeo [31] demonstrando na prática a utilização do protótipo foi fundamental para validação e também para os testes, pois através do vídeo podemos comprovar as características técnicas da tecnologia NFC e também conseguimos avaliar o protótipo proposto nesse trabalho de pesquisa. Conseguimos também constatar que, de acordo com a proposta de pesquisa, é possível sim controlar presenças com a tecnologia NFC utilizando dispositivos móveis. Além disso, um ponto relevante no protótipo é em relação ao baixo custo, pois tecnicamente são necessários apenas dois dispositivos móveis que possuam NFC. B. Validação em Sala de Aula Esse projeto de pesquisa, especificamente o protótipo, foi apresentado em uma disciplina de desenvolvimento móvel do curso de Ciência da Computação. Nessa apresentação foi demonstrada a utilização do protótipo na prática. Além disso, o código fonte dos aplicativos foi explicado, não apenas as partes principais (como apresentado nesse projeto de pesquisa), mas também outras funcionalidades pertinentes. AGRADECIMENTOS Muitas pessoas fizeram parte de toda essa trajetória acadêmica no curso de Ciência da Computação. Começo os agradecimentos agradecendo minha família por todo apoio, agradeço em especial a minha irmã que fez parte desde o início e sempre me incentivou, talvez seja uma das responsáveis por eu estar finalizando nesse momento essa etapa. Agradeço em especial também a minha esposa que acompanhou de perto praticamente todo o curso e principalmente a reta final. Com relação ao projeto de pesquisa, agradeço ao orientador Professor Doutor Mozart Lemos de Siqueira, o foco principal da pesquisa, a tecnologia NFC, acabou sendo sua sugestão, além de dar todo o suporte necessário durante o desenvolvimento desse projeto de pesquisa. Agradeço também ao professor Ricardo de Moura Rivaldo, que ajudou muito no processo de desenvolvimento dos aplicativos móveis. O trabalho foi exposto na disciplina específica de desenvolvimento móvel ministrada por ele. Agradeço também a professora Aline Duarte Riva que auxiliou com as questões técnicas do artigo e também com algumas correções nas apresentações. CONCLUSÃO No início dessa proposta de pesquisa foi apresentado o objetivo principal e três objetivos secundários. Podemos concluir que é possível utilizar a tecnologia NFC para o controle de presenças conforme demonstração do protótipo proposto.
  • 10. A tecnologia NFC é muito abrangente como podemos observar com o estudo dos trabalhos relacionados bem como as áreas onde é possível utilizar NFC. Diversos produtos e projetos foram apresentados e relacionados com o atual projeto de pesquisa. Através do estudo da tecnologia NFC, foi possível observar todos os seus modos de operação e elencar as características técnicas da tecnologia bem como suas normativas. Com essa análise é possível relacionar com os trabalhos citados a questão teórica e prática da tecnologia NFC. Com a elaboração do protótipo, além de conseguir provar o controle de presenças, é possível avaliar a utilização da tecnologia com os modos de operações disponíveis, e também é possível propor a criação de um produto de baixo custo para controle de presenças. REFERÊNCIAS [1] Pesquisa divulgada pelo Data Folha em 2014 – Brasileiros que acessam internet por dispositivos móveis. Disponível em http://datafolha.folha.uol.com.br/mercado/2014/01/1400618-43-milhoes- de-brasileiros-acessam-internet-por-dispositivos-moveis.shtml. Acesso em janeiro de 2015. [2] Décima terceira edição da pesquisa F/Radar. Disponível em: <http://www.fnazca.com.br/index.php/2014/01/24/fradar-13rd-edition- english/>. Acesso em janeiro de 2015. [3] GARCIA, Diogo Emanuel Nóbrega. Accommodation Management System using Mobile Devices. 2014. 95 f. Dissertação para obtenção do Grau de Mestre em Engenharia Informática, Área de Especialização em Arquiteturas, Sistemas e Redes. Instituto Superior de Engenharia do Porto. Porto, Portugal. [4] Amazon Webservices. Disponível em: <http://aws.amazon.com>. Acesso em outubro de 2015. [5] NFC Forum. Disponível em: <http://nfc-forum.org>. Acesso em dezembro de 2014. [6] NFC Forum - What Is NFC. Disponível em <http://nfc-forum.org/what- is-nfc>. Acesso em dezembro de 2014. [7] SIMÕES, Diogo Barata Mateus dos Santos. Sistema de Fidelização sobre NFC (Near Field Communication). 2008. 77 f. Dissertação para obtenção do Grau de Mestre em Engenharia Informática e de Computadores – Instituto Superior Técnico – Universidade Técnica de Lisboa, Lisboa . [8] PALMEIRA, Eduardo Jordão Santos De Sá, FERNANDES, Luiz Rafael De Almeida. Controle De Acesso para Estádios de Futebol Utilizando Tecnologia NFC (NEAR FIELD COMMUNICATION). 2013. 84 f. Trabalho de Conclusão de Curso –Universidade Tecnológica Federal do Paraná, Curitiba. [9] NFC Forum - About the Technology. Disponível em <http://nfc- forum.org/what-is-nfc/about-the-technology>. Acesso em dezembro de 2014. [10] ATOJI, Rodolpho Iemini. Bluetooth e NFC: estudo de caso. 2010. 63 f. Trabalho de Formatura Supervisionado - Universidade de São Paulo - Instituto de Matemática e Estatística, São Paulo, São Paulo. [11] NFC Forum – Specifications And Aapplication-documents . Disponível em: <http://nfc-forum.org/our-work/specifications-and-application- documents/specifications/nfc-forum-technical-specifications>. Acesso em dezembro de 2014. [12] NFC Active and Passive Peer-to-Peer Communication Using the TRF7970A – Texas Instruments Application Report. Disponível em: <http://www.ti.com/lit/an/sloa192/sloa192.pdf>. Acesso em novembro de 2015. [13] Android Developers Near Field Communication Host Card Emulation (HCE). Disponível em: <http://developer.android.com/intl/pt- br/guide/topics/connectivity/nfc/hce.html>. Acesso em maio de 2015. [14] NFC Forum – Product Show Case. Disponível em: <http://nfc- forum.org/nfc-product-showcase>. Acesso em dezembro de 2014. [15] Open your door with a single tap using a unique NFC identification system. Disponível em <http://www.nfcporter.com/>. Acesso em novembro de 2015. [16] NFC Forum – Product Show Case Wearables. Disponível em: <http://nfc-forum.org/nfc_category/wearables-2>. Acesso em dezembro de 2014. [17] Parque da Disney utilizando NFC. Disponível em: <http://www.orlandosentinel.com/travel/attractions/the-daily- disney/digital-disney/os-disney-magicbands-provided-great-examples- for-any-apple-iwatch-that-might-be-released-this-week-20140907- story.html>. Acesso em novembro de 2015. [18] Visa – PayWave for Mobile. Disponível em: <https://developer.visa.com/paywavemobile>. Acesso em novembro de 2015. [19] NFC Forum – Product Show Case - Gaming. Disponível em: <http://nfc- forum.org/nfc_category/gaming/>. Acesso em dezembro de 2014. [20] WCF – Windows Communication Foundation. Disponível em: <https://msdn.microsoft.com/en- us/library/dd456779%28v=vs.110%29.aspx>. Acesso em outubro de 2015. [21] Microsoft SQL Server – Banco de Dados Relacional. Disponível em: <https://www.microsoft.com/pt-br/server-cloud/products/sql-server>. Acesso em setembro de 2015. [22] DBDesign - Diagrama Entidade Relacionamento – Banco de Dados. Disponível em: <http://www.fabforce.net/dbdesigner4>. Acesso em setembro de 2015. [23] Android Studio - Plataforma para desenvolvimento móvel. Disponível em: <http://developer.android.com/intl/pt-br/sdk/index.html>. Acesso em março de 2015. [24] IGOE, Tom, COLEMAN, Don, JEPSON, Brian. Beginning NFC: Near Field Communication with Arduino, Android, and PhoneGap. 1. Ed. Sebastopol, California: O'Reilly Media, 2014. [25] Android Near Field Communication (NFC). Disponível em: <http://developer.android.com/intl/pt- br/guide/topics/connectivity/nfc/index.html >. Acesso em maio de 2015. [26] Lecheta, Ricardo R. AWS para desenvolvedores: Aprenda a instalar aplicações na nuvem da Amazon. Novatec Editora. São Paulo, SP, 2014. [27] Amazon Elastic Compute Cloud (Amazon EC2). Disponível em: <http://aws.amazon.com/ec2>. Acesso em outubro de 2015. [28] Amazon Relational Database Service (Amazon RDS). Disponível em: <http://aws.amazon.com/rds>. Acesso em outubro de 2015. [29] Amazon Relational Database Service for SQL Server. Disponível em: <https://aws.amazon.com/rds/sqlserver>. Acesso em outubro de 2015. [30] Amazon Simple Storage Service (Amazon S3). Disponível em: <http://aws.amazon.com/s3>. Acesso em outubro de 2015. [31] Vídeo demonstrativo do protótipo desenvolvido. Disponível em: <https://www.youtube.com/watch?v=86peaW43-_I>. Acesso em novembro de 2015.