Você está na página 1de 46

UNIVERSIDADE VILA VELHA

CURSO DE CINCIA DA COMPUTAO

Yuri Andrade Lozorio

Arduino Para Automao de Vending


Machines

VILA VELHA
2014

Yuri Andrade Lozorio

Arduino Para Automao de Vending


Machines
Trabalho de Concluso de Curso apresentado a Universidade Vila Velha como requisito parcial para a obteno do grau de Bacharel em Cincia da Computao.
Orientador: Msc. Marcello Novaes de
Amorim

VILA VELHA
2014

Yuri Andrade Lozorio

Arduino Para Automao de Vending


Machines

BANCA EXAMINADORA

Prof. Msc. NOME DO ORIENTADOR


Universidade Vila Velha
Orientador

Prof. Msc. MEMBRO DA BANCA


Universidade Vila Velha

Prof. Msc. MEMBRO DA BANCA


Universidade Vila Velha
Trabalho de Concluso de Curso
aprovado em 26/11/2014.

Autorizo que a UVV, sem nus, promova a publicao de minha monografia em


pgina prpria na Internet ou outro meio de divulgao de trabalho cientfico.

ASSINATURAS

Prof. Msc. Marcello Novaes de


Amorim
Universidade Vila Velha
Orientador

Yuri Andrade Lozorio


Universidade Vila Velha

26/11/2014

LISTA DE FIGURAS
1

Fonte: [Tecmundo, 2014](com adaptaes). . . . . . . . . . . . . . . . .

14

Fonte: [Bordin, 2012]. . . . . . . . . . . . . . . . . . . . . . . . . . . . .

16

Fonte: [Tanenbaum 1997] (com adaptaes) . . . . . . . . . . . . . . .

20

Fonte: (ARDUINO, 2011). . . . . . . . . . . . . . . . . . . . . . . . . . .

34

Diagrama de Funcionamento Geral . . . . . . . . . . . . . . . . . . . . .

40

Diagrama de Casos de Uso . . . . . . . . . . . . . . . . . . . . . . . . .

41

Diagrama de Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

SUMRIO

RESUMO
ABSTRACT
1 INTRODUO

1.0.1 Evoluo das Formas de Pagamento . . . . . . . . . . . . . . .

1.1 Motivao . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.2 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

1.3 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

10

2 FUNDAMENTAO TERICA, ESTUDO DE FERRAMENTAS E TECNOLOGIAS

12

2.1 Tecnologias . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.1.1 Telefonia Mvel . . . . . . . . . . . . . . . . . . . . . . . . . . . .

12

2.1.2 Smartphone . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

13

2.1.3 Android . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

15

2.2 Protocolos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

17

2.2.1 Protocolo Bluetooth . . . . . . . . . . . . . . . . . . . . . . . . .

17

2.2.2 NFC . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

18

2.2.3 Modelo OSI . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

19

2.2.4 TCP . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

21

2.3 Redes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

22

2.3.1 Rede de Computadores . . . . . . . . . . . . . . . . . . . . . . .

22

2.3.2 Rede de Dados Mveis . . . . . . . . . . . . . . . . . . . . . . .

23

2.3.3 Rede Wi-Fi . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

24

2.3.4 Criptografia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

26

2.4 Tecnologias de Desenvolvimento . . . . . . . . . . . . . . . . . . . . . .

30

2.4.1 Programao Orientada a Objetos . . . . . . . . . . . . . . . . .

30

2.4.2 Microcontroladores . . . . . . . . . . . . . . . . . . . . . . . . . .

30

2.4.3 Arduino . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

31

2.5 Servios Tecnolgicos Comuns . . . . . . . . . . . . . . . . . . . . . . .

36

2.5.1 Servio Web . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

36

2.5.2 Servio de Banco de Dados . . . . . . . . . . . . . . . . . . . . .

36

2.5.3 Servio de DNS . . . . . . . . . . . . . . . . . . . . . . . . . . .

37

3 Trabalhos Relacionados

38

3.1 Design of a Simple Vending Machine Using Radio Frequency Identification (RF-ID) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

3.2 Sistema de Venda Automtica Utilizando Pagamento Eletrnico Atravs


de Dispositivos Mveis . . . . . . . . . . . . . . . . . . . . . . . . . . . .

38

3.3 Non-cash payment method using QR codes in an automated microcontrollerbased vending machine . . . . . . . . . . . . . . . . . . . . . . . . . . .
4 Proposta

39
40

4.1 Diagrama Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

40

4.2 Diagrama de Casos de uso . . . . . . . . . . . . . . . . . . . . . . . . .

41

4.3 Diagrama de Classes . . . . . . . . . . . . . . . . . . . . . . . . . . . .

42

5 CONCLUSO
5.1 Consideraes Finais . . . . . . . . . . . . . . . . . . . . . . . . . . . .
REFERNCIAS

43
43
44

RESUMO
natural na sociedade moderna o aumento constante do uso de cartes de crdito para efetuar o pagamento at das coisas mais simples, porm, atualmente, as
mquinas automticas de vendas de produtos ainda no aderiram aos cartes como
forma de pagamento, ficando presas apenas ao dinheiro como nico meio e muitas
vezes sem possibilidade de dar troco, o que acaba dificultando as vendas.
A idia disponibilizar uma nova forma de efetuar compras, atravs de crditos
pelo carto de crdito, usando apenas a internet do aparelho celular e autenticando a
transao a partir da conexo sem fio com a mquina desejada. Em outras palavras
a idia implementar uma nova forma de pagamento nas "Vending Machines"e incluir
praticidade mobilidade e segurana para os clientes.

Palavras-Chave:
teira.

Arduino, Vending Machines, Mquina de Vendas, Bluetooth, Car-

ABSTRACT
It is natural in modern society the steady increase in the use of credit cards to
make payment even the most simple things, but, currently, automatic machine sales of
products not yet adhered to as a method of payment, getting arrested just for money
as the only way and often not possible to give change, which makes it difficult sales.
The idea is to provide a new way to make purchases through credit by credit card,
using only the internet mobile device and authenticating the transaction from the wireless connection to the desired machine. In other words the idea is to implement a new
payment method in the Vending Machines and include mobility practicality and safety
for customers.

Keywords:

Arduino, Vending Machines, Bluetooth, Wallet

INTRODUO

Atualmente, o mercado de automao tem crescido bastante, principalmente quando


se trata de automao de vendas, porm, no cenrio atual, as pessoas prezam muito
pela segurana, e com isso preferem no andar com dinheiro no bolso, e sim, dar
prioridade aos cartes de crdito.
A proposta do desenvolvimento desse trabalho surgiu a partir da necessidade das
empresas em automatizar as vendas, porm, propondo segurana, comodidade e praticidade para os seus clientes, de forma a oferecer opes diferenciadas de pagamento
de produtos.

1.0.1

Evoluo das Formas de Pagamento

As primeiras atividades comerciais baseavam-se no escambo. Depois surgiram


moedas e notas. As mercadorias, bens e servios tambm puderam ser transacionados, incorporados e facilitados por mecanismos comerciais, como bancos, financeiras,
e bolsas de valores, entre outros. O ambiente de consumo tambm mudou, de muralhas de burgos para shopping centers e, hoje, para a esfera virtual.
Atualmente nos deparamos com um universo cada vez maior de fatores, no s
econmicos e de mais-valia, como tambm de influncias e adaptaes s necessidades, como comodidade, disponibilidade 24 horas, comparao de melhor preo, rapidez de entrega etc. No que diz respeito s formas de pagamento, alm de dinheiro,
cheque, credirio, carto de crdito, dbito e pr-pago, a novidade o pagamento
pelo celular. A utilizao do "dinheiro plstico"ou do "dinheiro virtual"trouxe vantagens
e desvantagens. Quanto comodidade e segurana de no ter que carregar cdulas,
com certeza um benefcio.
J incorporado ao dia a dia das pessoas, o carto de crdito visto como smbolo
do consumo em todo o mundo. No Brasil, segundo a Associao Brasileira das Em-

10

presas de Cartes de Crdito e Servios (Abecs), seu uso tem aumentado cerca de
20% ao ano. Nos ltimos dez anos, o crescimento foi de 431%. Com a infinidade de tipos de carto e com a facilitao do acesso a crdito, para manter uma vida financeira
saudvel preciso perceber que o benefcio do plstico no vem da possibilidade de
adquirir bens sem ter o dinheiro em mos, mas de ser uma ferramenta.

1.1

Motivao

notvel o crescimento do uso de Vending Machines para vendas de produtos


diversos, porm essas mquinas atualmente aceitam apenas dinheiro e no do troco,
ou do o troco em moedas, dessa forma, aceitam apenas notas de determinado valor, tornando assim desconfortvel para o consumidor e muitas vezes tambm para a
empresa, que acaba perdendo o cliente pela grande restrio da forma de pagamento.
Outro ponto desfavorvel dessa abordagem que essas maquinas ficam com o
dinheiro armazenado e muitas vezes sem ningum para vigiar, sendo ento propensas
a roubos.

1.2

Justificativa

Por se tratar de um projeto que poder beneficiar tanto os usurios quanto as


empresas atravs de novas formas de pagamento e maior segurana e comodidade
nas transaes que esse trabalho relevante. Alm disso possu uma proposta
interessante de baixo custo de implementao comparado com as opes do mercado
atualmente.

1.3

Objetivo Geral

Esse trabalho possui como objetivo a criao de um sistema para facilitar e automatizar a compra de produtos em Vending Machines, essa automatizao se d
atravs da utilizao do Arduno para controlar todos os mecanismos da maquina que
se conectar atravs do protocolo bluetooth com um smartphone utilizando a plataforma Android como uma interface de compra de crditos pelo usurio.

11

Com essa automatizao, ser oferecido ao consumidor formas variadas de compras de crdito para serem gastos nas Vending Machines, esses crditos ficaro
guardados no smartphone do cliente como uma carteira virtual, desse modo pode-se
conectar com qualquer maquina que possui esse sistema para realizar as compras,
fornecendo assim comodidade, segurana e praticidade, tanto para os consumidores
quanto para as empresas.

12

FUNDAMENTAO TERICA,
ESTUDO DE FERRAMENTAS E
TECNOLOGIAS

Neste captulo sero descritos as bases de todos os conhecimentos utilizados para


o desenvolvimento deste projeto.

2.1
2.1.1

Tecnologias
Telefonia Mvel

A primeira rede de telefonia celular do Brasil foi lanada pela TELERJ, na cidade
do Rio de Janeiro em 1990, seguida da cidade de Salvador.
Segundo a Unio Internacional das Telecomunicaes, o Brasil sexto maior mercado do mundo em telefonia celular e atualmente, so 247,94 milhes de aparelhos
em uso no Brasil, sendo assim o quarto pas que mais utiliza telefones celulares no
mundo (perde apenas para China, ndia e Estados Unidos). Atualmente no Brasil
existem 271 milhes de linhas de telefones celulares ativas.
No mundo, as vendas de celulares tambm esto crescendo cada vez mais. Estudos mostram que hoje em dia existem cerca de 3,5 bilhes de pessoas que possuem
um aparelho de celular, correspondendo a quase metade da populao mundial. Cada
vez mais celulares com diversos recursos so procurados por usurios comuns.
As empresas e todo o mercado corporativo esto buscam incorporar as novas aplicaes mveis na rotina diria ou migrar as antigas aplicaes desktop para mobile,
visando agilizar seus negcios e prover mobilidade.

13

2.1.2

Smartphone

Smartphone (telefone inteligente), consiste em um aparelho com diversas funcionalidades integradas e avanadas, possui a finalidade de reunir as funcionalidades de
vrios gadgets em apenas um, desde conexo com a internet e cmera fotogrfica,
at jogos e aplicativos diversos, a fim de melhorar a mobilidade e a usabilidade do
usurio.
O primeiro conceito de combinao de telefonia com computao veio em 1973,
mas o primeiro produto a combinar as duas funcionalidades foi o IBM Simon e s
veio a ser lanado em 1993, o termo smartphone foi usado pela primeira vez em
1997 pela Ericsson . Em 1996 a Nokia lanou o Nokia 9000. A popularizao veio
no final da dcada de 1990 com os PDAs, que utilizavam principalmente os sistemas
Palm OS, Blackberry OS e Windows CE/Pocket PC, durante vrios anos a BlackBerry
dominou o mercado de smartphones at o lanamento do iPhone da Apple em 2007,
que foi o primeiro smartphone multitouch e sem teclado fsico. Em 2008 a Google
lanou o Android, sistema operacional gratuito que atualmente o mais usado nos
smartphones.
Atualmente existem os seguintes sistemas operacionais para dispositivos mveis:
Blackberry, Symbian, Ubuntu, Tizen, Firefox OS, Android, iOS Windows Phone, sendo
que, os ltimos trs so os mais usados no mercado de smartphone mundialmente e
alguns dos citados sero descontinuados.
A figura 1 mostra alguns dados dos trs principais sistemas operacionais mobile
no mercado atualmente.

14

Figura 1: Fonte: [Tecmundo, 2014](com adaptaes).


Atualmente os sistemas operacionais portteis contam com papis bem especficos no mercado. O Android continua sendo o lder absoluto e sistema mais disseminado, ao mesmo tempo em que o iOS ainda o mais rentvel de todos. O Windows
Phone busca seu espao e h muitas chances de que isso acontea nos prximos
anos.

15

2.1.3

Android

Android um sistema operacional baseado no ncleo do Linux para dispositivos


mveis, desenvolvido pela Open Handset Alliance, liderada pela Google Inc. Segundo
a Google, mais de 1 milho e 500 mil aparelhos com o sistema operacional so ativados todos os dias, sendo utilizado por grandes fabricantes de celulares, como HTC,
Samsung, Sony, Motorola e LG.
O Google desejava lanar um aparelho com servios baseados em localizao,
mas no possua plataforma para isso. Ento, em agosto de 2005, adquiriu a Android
Inc., uma pequena empresa em Palo Alto (Califrnia - EUA) que desenvolvia uma
plataforma para celulares baseada em Linux, com o objetivo de ser uma plataforma
flexvel, aberta e de fcil migrao para os fabricantes.
Em dezembro de 2006, surgiram mais especulaes de que o Google estava entrando no mercado de telefones mveis. A imprensa reportou rumores de um telefone
desenvolvido pelo Google, e ento, aps dois anos de especulaes, em 5 de Novembro de 2007 o Google anunciou o Android como uma plataforma e a criao da Open
Handset Alliance (OHA), um conselho com mais de 33 empresas parceiras.
Em 21 de outubro de 2008, o Android se transforma em Open Source, com cdigo
publicado como AOSP (Android Open Source Project). Em 22 de Outubro de 2008,
foi lanado comercialmente o primeiro aparelho mvel com o sistema Android, o HTC
Magic ou G1.
Em 2 de novembro de 2009, foi lanado o Motorola Droid ou Milestone, sendo
considerado um dos melhores aparelhos com Android, com timas crticas, sendo um
dos celulares mais vendidos.
Em 5 de Janeiro de 2010, o Google lana o primeiro celular com sua marca, o
HTC Nexus One, sendo considerado o primeiro superphone devido processador de
1GHz. Mas suas vendas no foram bem, devido a o Google vend-lo apenas online
(sem associao s operadoras).
A plataforma da Google de desenvolvimento para aplicativos mvel baseada
em um sistema operacional Linux, com diversas aplicaes j instaladas e, ainda,
um ambiente de desenvolvimento bastante poderoso e flexvel. Segundo a prpria
Google, mais de 1,3 milhes de aparelhos com esse sistema so ativados todos os
dias e por ser software livre, torna-se atraente para o desenvolvimento de aplicaes

16

para a plataforma.
Atualmente as nicas verses do android ativas em smartphones so: 2.2.x Froyo,
2.3.x Gingerbread, 4.0.x Ice Cream Sandwich, 4.1/2/3.x Jelly Beam, 4.4.x Kit Kat, com
participaes no mercado de 0.7%, 11.4%, 9.6%, 53.8% e 24.5% respectivamente.

2.1.3.1

Arquitetura Android

O Android pode ser definido como um software stack composto por cinco camadas
e uma verso modificada do kernel Linux 2.6, que prov vrios servios essenciais,
como: segurana, rede e gerenciamento de memria e processos. Alm de uma
camada de abstrao de hardware para as outras camadas de software. A figura 2
mostra as camadas da arquitetura do Android. [Bordin 2012].

Figura 2: Fonte: [Bordin, 2012].


Segundo [Bordin 2012], as aplicaes para Android so escritas em Java, porm,
a Dalvik VM no pode ser considerada uma JVM (Java Virtual Machine), uma vez

17

que ela no interpreta Java bytecodes. Ao invs disso, a ferramenta dx transforma


os arquivos das classes compilados com um compilador Java normal em arquivos de
extenso dex. Estes especficos para execuo na Dalvik VM. A Dalvik VM otimizada
para dispositivos com pouca memria, e foi desenhada de modo a permitir a execuo
de vrias instncias ao mesmo tempo de forma eficiente. Ela tambm deixa a cargo
do kernel Linux algumas tarefas, como: o gerenciamento de memria e threads para
o isolamento entre processos.
No Android, aplicaes so compostas por atividades (Activity). Uma atividade
representa uma ao que o usurio pode realizar no aplicativo, o que pode incluir a
inicializao de outras atividades, seja de dentro ou fora da aplicao em questo
atravs de intenes (Intent), criando uma espcie de tarefa. Uma tarefa pode conter
vrias atividades, que so organizadas em uma pilha na ordem em que foram criadas,
permitindo assim que o usurio volte para atividades que estava anteriormente.

2.2
2.2.1

Protocolos
Protocolo Bluetooth

O nome Bluetooth nasceu no sculo X com o rei da Dinamarca, rei Harald Bluetooth, um excelente comunicador e extremamente hbil na diplomacia entre os pases
Europeus, fazendo com que estes estabelecessem acordos comerciais entre si. Os
projetistas do Bluetooth adotaram tal nome para sua especificao pelo fato desta permitir que diferentes dispositivos possam se comunicar um com outro, assim como o
rei garantia o intercomrcio entre os pases, o bluetooth garantia a interoperabilidade
entre diversos dispositivos. Uma das grandes vantagens da utilizao de Bluetooth
a possibilidade de criar PANs de forma ad-hoc, outra caracterstica marcante na especificao Bluetooth a segurana. Atravs de mecanismos como frequency hopping,
autenticao de cdigos PIN (Personal Identification Number ) e criptografia de 128
bits garante-se comunicao segura e livre de interferncias entre os dispositivos.
O Bluetooth um padro de comunicao sem fio de curto alcance (dependendo
da potncia: 1 metro, 10 metros, 100 metros), baixo custo e baixo consumo de energia
que utiliza tecnologia de radiofrequncia e tcnicas de multiplexao. Sua especificao aberta e est publicamente disponvel para os interessados. Uma rede bluetooth
est classificada como uma rede PAN (Personal Area Networks) devido ao seu curto

18

alcance. Baseada em redes tipo Adhoc, necessrio um dispositivo central que coordene a comunicao, sua rede consiste de piconets sendo que cada piconet consiste
em um conjunto de at oito dispositivos Bluetooth. Um dispositivo designado como
mestre e os outros como escravos. Atravs de uma pilha de protocolos bem definida
e de um conjunto mnimo de componentes de hardware, dispositivos Bluetooth tm
ganhado uma parcela significativa do mercado wireless garantindo interoperabilidade,
segurana e robustez nas reas de telecomunicaes, mdica e automotiva.
O Bluetooth atualmente possui uma diviso entre classes que determinam a potncia e o alcance mximo, a classe 1 possui uma potncia mxima de 100 mW e
alcance de aproximadamente 100 metros, a classe 2 possui uma potncia mxima de
2.5 mW e alcance de aproximadamente 10 metros e a classe 3 possui uma potncia
mxima de 1 mW e alcance de aproximadamente 1 metro. J a taxa de transmisso
determinada pela verso do Bluetooth, que pode ser 1.2 com taxa de transmisso
de 1 Mbit/s, 2 com taxa de transmisso de 3 Mbit/s ou 3 com taxa transmisso de 24
Mbit/s respectivamente.

2.2.2

NFC

O NFC - Near Field Communication - uma tecnologia que permite a troca de


informaes entre dispositivos sem a necessidade de cabos ou fios (wireless), sendo
necessria apenas uma aproximao fsica. A novidade teve origem no padro RFID
(Radio Frequency Identification), mas se distanciou deste ao limitar o campo de atuao de freqncias para uma distncia de at 10 centmetros, objetivando tornar-se
mais segura.
A tecnologia um padro definido pelo NFC Frum, um consrcio global criado em
2004 e composto de companhias de hardware, software, cartes de crdito e bancos.
Entre os principais membros do Forum esto: Qualcomm, LG, Nokia, Huawei, HTC,
Motorola, NEC, RIM, Samsung, Sony Ericsson, Toshiba, AT and T, Sprint, Google,
Microsoft, PayPal, Visa, Mastercard, American Express e Intel.
Um dispositivo com um chip NFC pode funcionar como um documento de identidade ou ser usado para fazer um pagamento. Aparelhos com a tecnologia podem ler
tags NFC em um museu ou vitrine de loja para obter mais informaes.
Existe ainda a possibilidade de equipamentos com NFC substiturem os cdigos
de barras e os cartes de crdito. Com isso, no ser mais preciso procurar por

19

mquinas de leitura nas lojas. Apenas com a aproximao do celular ser possvel
conferir o preo do produto. Depois, bastar fazer o mesmo com um aparelho com
NFC instalado no caixa para pagar a conta.
Exemplos de Transmisso:
Passivo: apenas um dos dispositivos gera o sinal de conexo, o segundo apenas
recebe. Assim possvel colocar etiquetas NFC em itens que no recebem
alimentao eltrica direta, como cartes, embalagens e cartazes.
Ativo: ambos os dispositivos geram o sinal, por exemplo, um smartphone e um
receptor no caixa de uma loja.
Leitura e gravao: leitura ou alterao de dados em um dispositivo NFC, como
um receptor que desconta crditos registrados em um carto de viagens.
Peer-to-peer: cada dispositivo pode tanto receber quanto enviar dados para o
outro, por exemplo, para a troca de arquivos entre dois celulares.

2.2.3

Modelo OSI

Visando a interconexo de sistemas de computadores, a ISO (International Standards Organization) desenvolveu um modelo de referncia chamado OSI (Open Systems Interconnection), para que os fabricantes pudessem criar protocolos baseado
nesse modelo. O modelo dividido em sete camadas, apresentadas na Figura 1.
Na transmisso de um dado, cada camada pega as informaes passadas pela
camada superior, acrescenta informaes pelas quais ela seja responsvel e passa
os dados para camada imediatamente inferior. Esse processo conhecido como encapsulamento.
Segue abaixo uma breve descrio de cada camada, segundo [Torres 2001]:
Camada 7, Aplicao, faz a interface entre o protocolo de comunicao e o aplicativo que pediu ou receber a informao atravs da rede.
Camada 6, Apresentao, converte o formato do dado recebido pela camada de
Aplicao em um formato comum a ser usado na transmisso desse dado, ou
seja, um formato entendido pelo protocolo usado.

20

Figura 3: Fonte: [Tanenbaum 1997] (com adaptaes)

21

Camada 5, Sesso, permite que duas aplicaes em computadores diferentes


estabeleam uma sesso de comunicao.
Camada 4, Transporte, o dado enviado pelo aplicativo divido em pacotes, e
dentro dessa camada esto dois importantes protocolos que so TCP e UDP.
Camada 3, Rede, responsvel pelo endereamento dos pacotes, convertendo
endereos lgicos em endereos fsicos, de fomra que os pacotes consigam
chegar corretamente ao destino. Essa camada determina a rota que os pacotes
iro seguir para atingir o destino, baseada em fatores como condies de trfego
de rede e prioridades.
Camada 2, Enlace, o pacote dividido em vrios quadros recebido da camada
de Rede, adicionando informaes como o endereos da placa de rede de origem, o endereo da placa de rede de destino, dados de controle, os dados em
si e o CRC. Na recepo de um dado, processo o inverso.
Camada 1, Fsica, rede os quadros enviados pela camada de Enlace e os transforma em sinais compatveis com o meio onde os dados devero ser transmitidos, como por exemplo, se for eltrico, converte os 0s e 1s dos quadros em
sinais eltricos a serem transmitidos pelo cabo.

2.2.4

TCP

O protocolo TCP (Transmission Control Protocol) um protocolo de transporte


orientado a conexo, e pode ser classificado como confivel, uma vez que o mesmo
possui mecanismos que fornecem a transferncia confivel dos dados.
Podemos dizer que o protocolo TCP orientado a conexo, pois antes que ocorra
a troca efetiva dos dados, existe uma etapa que podemos chamar de apresentao
entre as duas partes comunicantes permitindo o controle dos estados da transmisso.
Esta etapa nada mais do que uma troca de informaes que dizem respeito s
condies de transferncia dos dados.
A mquina emissora (a que pede a conexo) chama-se cliente, enquanto a mquina receptora se chama servidor. Diz-se ento que estamos num ambiente ClienteServidor. O TCP tambm permite o que chamado de full duplex, onde possvel que ocorra a transferncia simultnea em ambas as direes da comunicaao
(cliente-servidor).

22

Para permitir o bom desenrolar da comunicao e de todos os controles que a


acompanham, os dados so encapsulados, isto , juntamos ao pacote de dados um
cabealho que vai sincronizar as transmisses e assegurar a sua recepo.

2.3

Redes

2.3.1

Rede de Computadores

Segundo [Tanenbaum 1997], Uma rede de computadores formada por um conjunto de mdulos processadores capazes de trocar informaes e partilhar recursos,
interligados por um subsistema de comunicao, ou seja, quando h pelo menos 2
ou mais computadores e outros dispositivos interligados entre si por meio de linhas
telefnicas, cabos, satlites ou comunicao sem fios (wireless).
Quando estabelecida, a rede de computadores tenta tornar possvel o compartilhamento de recursos sejam eles um software ou equipamento, e principalmente o
compartilhamento de informaes entre todos os usurios pertencentes rede, no
importando as distncias entre os computadores.
Alm disso, a rede aumenta a confiabilidade do sistema, pois estabelece fontes
alternativas para o fornecimento de informaes ou recursos. Em um servidor de
dados, por exemplo, todos os dados so replicados para outros dois servidores; assim,
caso o servidor principal no esteja disponvel, um servidor secundrio ser ativado
para que o mesmo no seja interrompido [Tanenbaum 1997].
Uma rede pode ser definida por seu tamanho, topologia, meio fsico e protocolo
utilizado:
PAN (Personal Area Network, ou rede pessoal). Uma PAN uma rede de computadores usada para comunicao entre dispositivos de computador (incluindo
telefones e assistentes pessoais digitais) perto de uma pessoa.
LAN (Local Area Network, ou Rede Local). uma rede onde seu tamanho se
limita a apenas uma pequena regio fsica.
VAN (Vertical Area Network, ou rede de vertical). Uma VAN usualmente utilizada em redes prediais, vista a necessidade de uma distribuio vertical dos
pontos de rede.

23

CAN (Campus Area Network, ou rede campus). Uma rede que abrange uma
rea mais ampla, onde pode-se conter vrios prdios dentro de um espao continuos ligados em rede. Esta segundo Tanenbaum em seu livro "Redes de computadores" uma LAN, justamente porque esta rea dita ampla, quando muito
grande abrange 10 quarteires ou aproximadamente 2.500m quadrados. Essa
pequena quando comparado a uma cidade. Logo CAN no seno Car Area
Net. onde funciona o software local, regulando motores e seus componentes
eletronicos.
MAN (Metropolitan Area Network, ou rede metropolitana). A MAN uma rede
onde temos por exemplo, uma rede de farmcias, em uma cidade, onde todas
acessam uma base de dados comum.
WAN (Wide Area Network, ou rede de longa distncia). Uma WAN integra equipamentos em diversas localizaes geogrficas (hosts, computadores, routers/gateways, etc.), envolvendo diversos pases e continentes como a Internet.
SAN (Storage Area Network, ou Rede de armazenamento). Uma SAN serve de
conexo de dispositivos de armazenamento remoto de computador para os servidores de forma a que os dispositivos aparecem como locais ligados ao sistema
operacional.

2.3.2

Rede de Dados Mveis

Nos ltimos anos, o crescimento dos usurios de servios de comunicao sem


fio tem sido explosivo, trazendo ao mercado de telecomunicaes mudanas significativas no que se refere s funcionalidades oferecidas. Dentre esse novo conjuntos de
funcionalidades esto a disponibilidade de roaming internacional, qualidade superior
de voz e vdeo, servios com tarifao sensvel localizao e acesso internet mvel
de banda larga. A denominada quarta gerao (4G) de redes celulares promete e tem
sido implementada para satisfazer as requisies dessa nova demanda do mercado.
Uma rede celular, basicamente, composta pelas unidades mveis, estaes rdiobase (ERBs) e a CN (Core Network). As unidades mveis so equipamentos, utilizados pelos usurios, para o acesso aos servios disponibilizados pelas operadoras
de telefonia celular. As estaes rdio- base so transmissores e receptores de rdio
por meio das quais os equipamentos mveis so conectados rede fixa de telefonia
(Public Switching Telephone Network - PSTN) via CN. Elas tambm so responsveis

24

pelo processamento da interface area, como codificao do canal, adaptao da taxa


de transmisso, espalhamento do sinal etc. As ERBs esto conectadas s centrais de
comutao mvel (Mobile Switching Center - MSC) pertencentes CN. A CN parte
da rede de acesso e nela esto os equipamentos responsveis pela comutao e
roteamento de chamadas, bem como conexes de dados com outras redes.
A primeira gerao de redes celulares (1G) utilizava sistemas analgicos. Cada
pas implantava o seu sistema e, pela escassez de padronizao, os sistemas eram,
em geral, incompatveis entre si. A segunda gerao (2G), j digital, buscou a padronizao, a nvel continental, que permitisse a mobilidade entre vrias redes. A terceira
gerao (3G) caracterizada por uma comunicao celular de alcance mundial, e
atualmente, as redes celulares esto em transio da terceira para a quarta gerao
(4G) que consiste em aumentar as taxas de transmisses e melhorar e modernizar as
tecnologias.

2.3.3

Rede Wi-Fi

A ideia de redes sem fio no nova. A indstria se preocupa com esta questo h tempos, mas a falta de padronizao de normas e especificaes se mostrou
como um empecilho, afinal, vrios grupos de pesquisas trabalhavam com propostas
diferentes. Por esta razo, algumas empresas, como 3Com, Nokia, Lucent Technologies(atualmente Alcatel-Lucent) e Symbol Technologies (adquirida pela Motorola) se
uniram para criar um grupo para lidar com este tema e, assim, nasceu, em 1999, a Wireless Ethernet Compatibility Alliance (WECA), que passou a se chamar Wi-Fi Alliance
em 2003.
O nome "Wi-Fi" tido como uma abreviatura do termo ingls "Wireless Fidelity",
embora a Wi-Fi Alliance nunca tenha afirmado tal concluso. comum encontrar o
nome Wi-Fi escrito como WiFi, Wi-fi ou at mesmo wifi. Todas estas denominaes se
referem mesma tecnologia. Wi-Fi um conjunto de especificaes para redes locais
sem fio (WLAN - Wireless Local Area Network) baseada no padro IEEE 802.11.
Com a tecnologia Wi-Fi, possvel implementar redes que conectam computadores e outros dispositivos compatveis (smartphones, tablets, consoles de videogame,
impressoras, etc) que estejam prximos geograficamente. Estas redes no exigem o
uso de cabos, j que efetuam a transmisso de dados por meio de radiofrequncia.
Este esquema oferece vrias vantagens, entre elas: permite ao usurio utilizar a rede

25

em qualquer ponto dentro dos limites de alcance da transmisso; possibilita a insero


rpida de outros computadores e dispositivos na rede; evita que paredes ou estruturas
prediais sejam furadas ou adaptadas para a passagem de fios.
A flexibilidade do Wi-Fi to grande que se tornou vivel a implementao de
redes que fazem uso desta tecnologia nos mais variados lugares, principalmente pelo
fato de resultarem em diminuio de custos. Assim sendo, comum encontrar redes
Wi-Fi disponveis em hotis, aeroportos, rodovirias, bares, restaurantes, shoppings,
escolas, universidades, escritrios, hospitais, etc. Para utilizar estas redes, basta ao
usurio ter um laptop, smartphone ou qualquer dispositivo compatvel com Wi-Fi.
A WECA passou a trabalhar com as especificaes IEEE 802.11 que, na verdade, no so muito diferentes das especificaes IEEE 802.3. Este ltimo conjunto
conhecido pelo nome Ethernet e simplesmente consiste na grande maioria das tradicionais redes com fio. Com um caminho a seguir, a WECA ainda precisava lidar
com outra questo: um nome apropriado tecnologia, que fosse de fcil pronncia
e que permitisse rpida associao sua proposta. Para isso, a WECA contratou
uma empresa especializada em marcas, a Interbrand, que acabou criando no s a
denominao Wi-Fi (provavelmente com base no tal termo "Wileress Fidelity"), como
tambm o logotipo da tecnologia.
O padro 802.11 estabelece normas para a criao e para o uso de redes sem
fio. A transmisso deste tipo de rede feita por sinais de radiofrequncia, que se
propagam pelo ar e podem cobrir reas na casa das centenas de metros. Como
existem inmeros servios que podem utilizar sinais de rdio, necessrio que cada
um opere de acordo com as exigncias estabelecidas pelo governo de cada pas. Esta
uma maneira de evitar problemas, especialmente interferncias.
H, no entanto, alguns segmentos de frequncia que podem ser usados sem necessidade de aprovao direta de entidades apropriadas de cada governo: as faixas
ISM (Industrial, Scientific and Medical), que podem operar, entre outros, com os seguintes intervalos: 902 MHz - 928 MHz; 2,4 GHz - 2,485 GHz e 5,15 GHz - 5,825
GHz (dependendo do pas, esses limites podem sofrer variaes). So justamente
estas duas ltimas faixas que o Wi-Fi utiliza, no entanto, tal caracterstica pode variar
conforme a verso do padro 802.11.

26

2.3.4

Criptografia

O envio e o recebimento de informaes sigilosas uma necessidade antiga, que


existe h centenas de anos, e da, a criptografia tornou-se uma ferramenta essencial
para que apenas o emissor e o receptor tenham acesso livre s informaes transmitidas.
Antigamente, a cifragem era utilizada na troca de mensagens, sobretudo em assuntos ligados guerra (no intuito de o inimigo no descobrir a estratgia do emissor
da mensagem, caso se apoderasse dela) e diplomacia (para que faces rivais no
estragassem os planos de acordos diplomticos entre naes). O primeiro uso documentado da criptografia foi em torno de 1900 a.c., no Egito, quando um escriba usou
hierglifos fora do padro numa inscrio.
Entre 600 a.c. e 500 a.c., os hebreus utilizavam a cifra de substituio simples
(de fcil reverso e fazendo uso de cifragem dupla para obter o texto original), sendo
monoalfabtico e monogrmica (os caracteres so trocados um a um por outros), e
com ela escreveram o Livro de Jeremias.
O chamado "Codificador de Jlio Csar"ou "Cifra de Csar"que apresentava uma
das tcnicas mais clssicas de criptografia, um exemplo de substituio que, simplesmente, substitui as letras do alfabeto avanando trs casas. O autor da cifragem
trocava cada letra por outra situada a trs posies frente no alfabeto. Segundo o
autor, esse algoritmo foi responsvel por enganar muitos inimigos do Imprio Romano;
no entanto, aps ter sido descoberta a chave, como todas, perdeu sua funcionalidade.
Em 1928, o exrcito alemo construiu uma verso conhecida como "Enigma G",
que tinha como garantidor de segurana a troca peridica mensal de suas chaves.
Essa mquina tinha como diferencial ser eltrico-mecnica, funcionando (com trs inicialmente) a oito rotores. Aparentava ser uma mquina de escrever, mas quando o
usurio pressionava uma tecla, o rotor da esquerda avanava uma posio, provocando a rotao dos demais rotores direita, sendo que esse movimento dos rotores
gerava diferentes combinaes de encriptao.
Assim, a codificao da mensagem pelas mquinas "Enigma"era de muito difcil
decodificao, uma vez que, para isso, era necessrio ter outra mquina dessas e
saber qual a chave (esquema) utilizada para realizar a codificao.
A Colossus surgiu do esforo de engenharia reversa das foras aliadas em decrip-

27

tar as mensagens da marinha e do exrcito alemo, s logrando efetivo xito aps


se ter conseguido uma mquina Enigma alem (furtada). Tais equipamentos foram,
inicialmente, desenvolvidos como mquinas de decriptao, mas depois passaram a
codificar mensagens das foras aliadas.
Depois, surgiram outras mquinas fisicamente semelhantes Enigma (pareciam
com antigas mquinas de escrever), porm foram aperfeioadas de forma a dificultar
o mais possvel a decriptao por quem no as possusse.
Devido aos esforos de guerra, a criptografia passou a ser largamente utilizada.
Em 1948, Claude Shannon desenvolveu a Teoria Matemtica da Comunicao, que
permitiu grandes desenvolvimentos nos padres de criptografia e na criptoanlise.
Durante a chamada "Guerra Fria", entre Estados Unidos e Unio Sovitica, foram
criados e utilizados diversos mtodos a fim de esconder mensagens a respeito de
estratgias e operaes, criptografadas com diferentes mtodos e chaves.
Diffie e Hellman revolucionaram os sistemas de criptografia existentes at 1976,
a partir do desenvolvimento de um sistema de criptografia de chave pblica que foi
aperfeioado por pesquisadores do MIT e deu origem ao algoritmo RSA.
Alm dos avanos da criptografia, a criptoanlise se desenvolveu muito com os
esforos de se descobrir padres e chaves, alm da diversidade dos canais de propagao das mensagens criptografadas. Desses esforos, surgiram diversos tipos de
criptografia, tais como por chave simtrica, por chave assimtrica, por hash e at a
chamada criptografia quntica, que se encontra, hoje, em desenvolvimento.
Durante muito tempo, o termo referiu-se exclusivamente cifragem, o processo de
converter uma informao comum (texto claro) em algo no-inteligvel; o qual chamase texto cifrado. A decifragem a tarefa contrria, dado uma informao no-inteligvel
convert-la em texto claro. No uso coloquial, o termo "cdigo" usado para referir-se a
qualquer mtodo de cifragem ou similar. Em criptografia, "cdigo"tem um significado
mais especfico, refere-se a substituio de uma unidade significativa (i.e., o significado de uma palavra ou frase) pelo substituto equivalente. Cdigos no so mais
usados na criptografia moderna, visto que o uso de cifras se tornou mais prtico e
seguro, como tambm melhor adaptado aos computadores.
Nos dias atuais, onde grande parte dos dados digital, sendo representados por
bits, o processo de criptografia basicamente feito por algoritmos que fazem o embaralhamento dos bits desses dados a partir de uma determinada chave ou par de

28

chaves, dependendo do sistema criptogrfico escolhido. Atualmente, a criptografia


amplamente utilizada na WEB, em segurana a fim de autenticar os usurios para lhes
fornecer acesso, na proteo de transaes financeiras e em redes de comunicao.
A criptografia tem quatro objetivos principais:
Confidencialidade da mensagem: s o destinatrio autorizado deve ser capaz de
extrair o contedo da mensagem da sua forma cifrada. Alm disso, a obteno
de informao sobre o contedo da mensagem (como uma distribuio estatstica de certos caracteres) no deve ser possvel, uma vez que, se o for, torna
mais fcil a anlise criptogrfica.
Integridade da mensagem: o destinatrio dever ser capaz de determinar se a
mensagem foi alterada durante a transmisso.
Autenticao do remetente: o destinatrio dever ser capaz de identificar o remetente e verificar que foi mesmo ele quem enviou a mensagem.
No-repdio ou irretratabilidade do emissor: no dever ser possvel ao emissor
negar a autoria da mensagem.
Nem todos os sistemas ou algoritmos criptogrficos so utilizados para atingir todos
os objetivos listados acima. Normalmente, existem algoritmos especficos para cada
uma destas funes. Mesmo em sistemas criptogrficos bem concebidos, bem implementados e usados adequadamente, alguns dos objetivos acima no so prticos
(ou mesmo desejveis) em algumas circunstncias. Por exemplo, o remetente de uma
mensagem pode querer permanecer annimo, ou o sistema pode destinar-se a um
ambiente com recursos computacionais limitados.

2.3.4.1

Chaves Pblica e Privada

Os algoritmos de chave pblica vm resolver os problemas de autenticao e integridade. Alm disso, um problema ocorrido na criptografia de chave simtrica (apresenta a mesma chave para cifrar e decifrar) resolvido, pois, propem um modelo
onde so utilizadas duas chaves, uma para cifrar outra para decifrar. Uma outra vantagem dos criptossistemas de chave assimtrica a possibilidade da criao de assinatura digital.[Buchmann 2002]

29

Em um cenrio tpico, um emissor usa a chave pblica do receptor para criptografar uma mensagem. Apenas o receptor possui a chave particular relacionada para
decriptografar a mensagem. A complexidade da relao entre a chave pblica e a
chave particular significa que, contanto que as chaves tenham o comprimento necessrio, impraticvel, em termos computacionais, determinar uma a partir da outra. A
criptografia de chave pblica tambm chamada de criptografia assimtrica. Poderemos citar alguns conceitos que daro uma maior nfase ao trabalho, que so os
seguintes:
Chave particular: a metade secreta de um par de chaves criptogrficas que
usada com um algoritmo de chave pblica. As chaves particulares so usadas
para decriptografar uma chave de sesso simtrica, assinar dados digitalmente
ou decriptografar dados que foram criptografados com a chave pblica correspondente.
Chave pblica:a metade no secreta de um par de chaves criptogrficas que
usada com um algoritmo de chave pblica. As chaves pblicas normalmente
so usadas ao criptografar uma chave de sesso, verificar uma assinatura digital
ou criptografar dados que possam ser decriptografados com a chave particular
correspondente.
Autenticao do destino: visa esconder informaes sigilosas das pessoas que
controlam as linhas de comunicao e os computadores intermedirios (provedores).
Integridade de informao: busca evitar que um mal-intencionado leia e altere
parte da informao transitando na linha de comunicao antes de chegar ao
destino, ou seja, o destinatrio gostaria de detectar se alguma alterao parcial
foi feita na linha.
Autenticao da origem: como evitar que um falso usurio (origem) envie uma
informao para destinatrio, ou seja, o destinatrio deseja ter certeza que foi o
usurio verdadeiro que enviou a informao.
Integridade de banco de dados: como evitar que alguma pessoa desautorizada
leia as informaes j enviadas e armazenadas no computador do destinatrio.
Deteco de integridade de informao: evita que alguma pessoa desautorizada

30

leia e altere as informaes j enviadas e armazenadas no computador do destinatrio.

2.4
2.4.1

Tecnologias de Desenvolvimento
Programao Orientada a Objetos

Segundo [Jacobson 2006], A orientao ao objeto um paradigma de desenvolvimento de programao que aproxima a representao de objetos do mundo real. Os
principais blocos de construo de um sistema so o objeto e a classe, que tenta definir estruturas do sistema em conceitos da realidade correlacionando-os com o objetivo
de resolver os problemas.
Um objeto ir representar algo do espao, do problema ou da soluo. J a classe
a abstrao de um conjunto de objetos similares. Todos os objetos tm uma identidade que os identifica como nicos em uma classe. O estado de um objeto so os
dados relevantes que os caracteriza e um comportamento que so as aes que um
objeto pode realizar [Jacobson 2006].
Por possuir essa caracterstica de aproximao com o mundo real, esse conceito
de orientao ao objeto ser de grande utilidade nesse projeto, com intuito de facilitar
o desenvolvimento da logica de programao.

2.4.2

Microcontroladores

Nos dias de hoje comum estarmos rodeados de aparelhos que usam microcontroladores, porm no nos damos conta onde so encontrados. Esses crebros de
tamanho diminuto, porm com grande poder de controle, so comumente encontrados
em aparelhos como micro-ondas, televisores, smartphones, automveis e na robtica
[Palpite Digita 2007].
Microcontroladores so circuitos integrados programveis que possui arquitetura
de um microcomputador, porm baseado numa arquitetura RISC (Reduced Instruction
Set Computing) como a prpria traduo sugere, conjunto de instrues de computao reduzida, os microcontroladores possuem basicamente trs caractersticas que
fazem sucesso na indstria, so eles: tamanho reduzido, preo acessvel e menor
consumo de energia [Robtica Livre 2011].

31

Nos microcontroladores Atmega da fabricante Atmel utilizados pelo Arduino, o


qual neste trabalho ser usado o modelo Uno que embarca um microcontrolador ATmega328, possui basicamente a CPU (Central Processing Unit), memrias (RAM,
ROM, EEPROM), pino digitais de entrada e sada, pinos analgicos, pinos PWM
(Pulse Width Module), conversor de sinal analgico/digital, etc [Arduino 2000].
Os microcontroladores se diferenciam dos processadores, pois alm dos componentes lgicos e aritmticos usuais de um microprocessador de uso geral, o microcontrolador integra elementos adicionais em sua estrutura interna, como memria de
leitura e escrita para armazenamento de dados, memria somente de leitura para armazenamento de programas, EEPROM para armazenamento permanente de dados,
dispositivos perifricos como conversores analgico/digitais (ADC), conversores digitais/analgicos (DAC) em alguns casos; e, interfaces de entrada e sada de dados.
Com frequncias de clock de poucos MHz (Megahertz) ou talvez menos, os microcontroladores operam a uma frequncia muito baixa se comparados com os microprocessadores atuais, no entanto so adequados para a maioria das aplicaes usuais
como por exemplo controlar uma mquina de lavar roupas ou uma esteira de cho de
fbrica. O seu consumo em geral relativamente pequeno, normalmente na casa dos
miliwatts e possuem geralmente habilidade para entrar em modo de espera (Sleep ou
Wait) aguardando por uma interrupo ou evento externo, como por exemplo o acionamento de uma tecla, ou um sinal que chega via uma interface de dados. O consumo
destes microcontroladores em modo de espera pode chegar na casa dos nanowatts,
tornando-os ideais para aplicaes onde a exigncia de baixo consumo de energia
um fator decisivo para o sucesso do projeto.

2.4.3

Arduino

Segundo [Werneck 2009] a plataforma Arduino busca atingir um grande nmero


de pessoas, entusiastas de eletrnica ou hobbys as para desenvolver projetos com
qualidade, porm de uma forma fcil e de valor acessvel. Essa plataforma beneficia um grande nmero de pessoas, com conhecimento em programao, mas sem
conhecimento em eletrnica, que podem realizar experimentos num equipamento prtico. Tambm as pessoas que tem conhecimento em eletrnica, mas no conhecem
programao podem realizar experimentos de alto nvel. Esta plataforma procura atingir os leigos que tem o desejo de criar algo e podem chegar a experimentos funcionais
com facilidade, partindo do zero.

32

Segundo [Werneck 2009], existe outras plataformas de microcontroladores criadas


com o mesmo objetivo, mas no mantendo o foco em caractersticas como facilidade
de uso e preo acessvel como o Arduino.
Arduino uma plataforma de computao fsica open-Soure baseado em uma simples placa com entradas e sadas e um ambiente de desenvolvimento que programa
a linguagem Processing/Wiring. Este ambiente de desenvolvimento multiplataforma
podendo criar as rotinas para Windows, Linux e Mac OS X. Sua linguagem de programao se assemelha bastante com a linguagem C++, porm o Arduino segue uma
forma simplificada [Arduino 2000]. Um programa tpico no Arduino consiste basicamente em duas funes, o void setup() que executa toda vez que o Arduino ligado
ou reiniciado, e a funo void loop() que conforme o nome sugere uma rotina de
loop realizando sua execuo de forma repetida no microcontrolador, essas funes
formam a estrutura bsica de um programa Arduino, existem inmeras outras que
fazem a leitura/escrita dos pinos digitais e analgicos [Gioppo 2009].
A plataforma Arduino pode ser utilizada para desenvolver objetos autnomos ou
iterativos (como um sistema de controle que necessita de acesso aos objetos do
mundo fsico), tomando as entradas a partir de uma variedade de sensores ou switches e controlando atuadores como LEDs, servomotores, rels ou outros tipos de
sada [Bentes 2009].
Atualmente a plataforma Arduino esta difundida por todo o mundo, sendo que esta
utilizada por vrios tipos de pessoas segundo a Homepage [Arduino 2000]. destinado a artistas, designers, hobbistas, e qualquer pessoa interessada em criar objetos
ou ambientes interativos. Um dos fatores que assegurou o sucesso do Arduino devese ao valor acessvel em montar ou adquirir uma placa pronta, permitindo que os admiradores da robtica ingressassem nessa rea de forma facilitada no desembolsando
valores exorbitantes como outras solues existentes no mercado [Rodrigo 2011].
Por se tratar de hardware e software livre existem inmeros tipos de placas disponveis no mercado bem como seus esquemas eletrnicos para quem tem noes de
eletrnica consiga construir sua prpria placa de forma a reduzir ainda mais seu custo,
ou poder optar por comprar uma placa j montada, pronta [Arduino 2000].
Abaixo seguem uma lista com algumas plataformas Arduino:
Arduino Uno: Placa baseada no ATmega328, contm tudo que precisa para suportar este microcontrolador, simplesmente plugue no USB ou alguma fonte 12v

33

para comear.
LilyPad Arduino: Uma placa circular enxuta, projetada para ser costurada em
roupas ou outras aplicaes que envolvem tecido.
Arduino Nano: uma placa pequena, completa e amigvel baseada originalmente no ATmega168, possuindo semelhanas ao Arduino Duemilanove.
Arduino Diecimila: Placa Arduino baseada no microcontrolador ATmega168, possui metade dos recursos de memria flash, SRAM e EEPROM comparado ao
Arduino Uno.
Arduino Mini: Placa Arduino baseada originalmente nas especificaes do microcontrolador ATmega168, porm suporta somente 9v de corrente de entrada.
Arduino BT: Placa Arduino baseado nas especificaes do microcontrolador ATmega328 com a diferena de possuir em seu circuito um mdulo bluetooth integrado.
Arduino Duemilanove: Placa Arduino lanada em 2009 baseada no microcontrolador ATmega168.
Como possvel notar existem vrias solues de placas Arduino, cada uma com
suas caractersticas especficas servindo a propsitos diferentes. Anteriormente, foram mostradas apenas alguns modelos de placas, nos focaremos em caractersticas
do Arduino Uno o qual ser usado nesse projeto. Esta placa foi selecionada por simplesmente ser a mais atual no momento, possui caractersticas semelhantes placa
de gerao anterior a Duemilanove e facilmente so encontrados sketchs (programas
escritos no ambiente de programao do Arduino) compatveis com esta verso. Na
Figura 2 apresentada a placa Arduino com as descries dos componentes que a
mesma possui, desde a alimentao aos pinos de entrada e sada. Nas subsees
abaixo sero apresentada maiores detalhes da placa.

2.4.3.1

Alimentao

De acordo com Arduino (2011), a placa Uno pode ser alimentada tanto pela porta
USB (USB Plug) quanto por uma fonte externa de alimentao (External Power Suply),
sendo feito uma seleo automtica do tipo de alimentao. A alimentao externa
pode ser feita de duas formas, atravs de bateria ou adaptador AC-DC.

34

Figura 4: Fonte: (ARDUINO, 2011).


Segundo [Arduino 2000], na alimentao com fonte externa a placa pode suportar de 6 a 20 volts, porm recomenda-se uma alimentao entre 7 e 12 volts, para
evitar instabilidade na placa ao fornecer menos energia e evitar queimar o dispositivo
fornecendo energia acima do recomendado.

2.4.3.2

Memria

Segundo [Arduino 2000], o microcontrolador ATmega328 usado pelo Arduino Uno


possui 32 KB de memria, reservando desse total 0,5 KB para o bootloader (gerenciador de boot ou pequeno software instalado no microcontrolador responsvel por
gerenciar a execuo dos programas em determinados ciclos de tempo), possui tambm 2 KB de SRAM e 1 KB de memria EEPROM, esta ltima pode ser manipulada
usando a biblioteca de mesmo nome.
A pouca capacidade de memria disponvel para gravar os sketchs notvel, porm sua limitao, quando necessrio, pode ser resolvida estendendo sua capacidade
de armazenamento com uso de uma Shield de MicroSD.

2.4.3.3

Entrada e Sada

De acordo com [Arduino 2000], o modelo Uno possui 14 pinos digitais podendo ser
de entrada ou sada bastando definir na funo void setup() do programa a que se

35

destina o pino, dentre esses pinos o Arduino possui 6 entradas analgicas nomeados
de A0 a A5, possuindo tambm alguns pinos com funes especificas, como exemplo
o pino 13 do LED (Light Emitting Diode, ou, diodo emissor de luz).
O Arduino possui pinos para entrada e sada digital e para entrada analgica permitindo um nmero considervel de possibilidades de controle para prototipagem rpida e de valor aceitvel. Deste total 6 destes pinos podem ser usados como sadas
PWM (Pulse Width Modulation).
Segundo o site oficial [Arduino 2000] PWM ou modulao de largura de pulso consiste em uma tcnica para ter resultados analgicos com significado digital. O controle
digital usado para criar uma onda quadrada, variando o sinal entre o ligado e desligado. Este padro de ligado-desligado pode simular voltagens completas entre 5 e 0
volts, obtida atravs da mudana da poro do tempo gasta no sinal de ligado versus o
tempo gasto no sinal de desligado. A durao desse "tempo" chamada de largura de
pulso. Para obter essa variao de valores analgicos, voc muda, ou modula, a largura de pulso. Se voc repetir este padro entre o ligado e desligado suficientemente
rpido com um LED, por exemplo, o resultado como se o sinal variasse a voltagem
entre 0 e 5 volts controlando o brilho do LED.
O Arduino possui uma comunidade ativa que trabalha em sua evoluo agregando
novas funcionalidades ao projeto. Comumente so encontrados dispositivos que se
encaixam na placa Arduino de forma a permitir novas possibilidades e facilitar a vida
dos projetistas em seus prottipos. Esses dispositivos so chamados de Shields,
abrem novos horizontes aos desenvolvedores agregando novas funcionalidades ao
Arduino.
Existe inmeros Shields criado para usar em conjunto com o Arduino, os mais
comuns so: [Sparkfun 2011].
Ethernet: Permite que um Arduino seja conectado a internet utilizando uma biblioteca de rede que suporta tanto TCP (Transmission Control Protocol) como UDP
(User Datagram Protocol);
Kit Joystick: Permite dotar o Arduino com um joystick se encaixando sobre o
mesmo transformando em um controle simples, contando com 4 botes e 1 de
seleo do joystick, as possibilidades so inmeras com este shield;
MicroSD: Este permite ampliar a capacidade de memria usada pelo projeto ou

36

pode funcionar como registrador de logs onde se queira gravar determinadas


informaes, como exemplo a leitura de um sensor;
Ardumoto: Este permite ao Arduino controlar dois motores de corrente contnua
(DC), agilizando projetos de robtica que envolve este tipo de controle;
Wifly: Este shield permite ao Arduino conectar a redes sem fio (Wireless) usando
o protocolo 802.11 b/g, facilitando os projetos que envolvem conexo sem fio.

2.5
2.5.1

Servios Tecnolgicos Comuns


Servio Web

[Alecrim 2008] esclarece que um servidor Web um computador que processa


solicitaes Hyper Text Transfer Protocol (HTTP).
Um sistema Web baseado na arquitetura cliente/servidor, nesta arquitetura, o
cliente envia requisies ao servidor Web e aguarda uma resposta. Enquanto isso,
o servidor Web responsvel por processar as requisies recebidas e enviar os
resultados para o cliente. Os servidores Web suportam diversos tipos de linguagens
de programao, estticas como o HTML e dinmicas como PHP ou ASP.
O servidor mais popular e mais utilizado no mundo servidor Apache, que um
servidor HTTP, multiplataforma e com licena de software livre, porm, existem outros
servidores muito utilizados, como IIS (Internet Information Services) da Microsoft.

2.5.2

Servio de Banco de Dados

o servio responsvel pela criao, manuteno e manipulao de todas as


informaes contidas em um banco de dados, tal manipulao inclui a consulta at
mesmo a excluso total dos dados de um banco.
Sistemas Gerenciadores de Bancos de dados so usados em muitas aplicaes
e softwares, so o mtodo preferido de armazenamento, recuperao de dados/informaes para aplicaes multiusurias grandes onde a coordenao entre muitos
usurios necessria ou at mesmo usurios individuais, visto que a maneira mais
prtica e eficiente de controle dos dados.

37

2.5.3

Servio de DNS

Sistema de Nomes de Domnios (Do ingls Domain Name System) funciona como
um sistema de traduo de endereos IP para nomes de domnios ou vice e versa.
atravs do DNS que se pode digitar o nome do site na barra de endereos do seu
navegador ao invs de utilizar o endereo IP.
Existem 3 Tipos de Servidores DNS, so eles:
Name server local: onde o cliente consulta diretamente para resolver um domnio/ip.
Name server authoritative: Contm os dados relativos a um domnio (exemplo:
empresa.br).
Root name server: o servidor raiz que identifica os name servers authoritatives
responsveis por um domnio e redireciona consultas. Consultado pelos name
servers locais.
Hoje tratando de software livre, podemos citar o Bind (Berkeley Internet Name Domain) que um servidor para o protocolo DNS mais utilizado na Internet em sistemas
Linux.

38

Trabalhos Relacionados

Neste captulo pretende-se mostrar alguns trabalhos relacionados ao tema proposto nesta monografia, a fim de expor e analisar os diferentes objetivos e concluses
de seus respectivos autores.

3.1

Design of a Simple Vending Machine Using Radio


Frequency Identification (RF-ID)

Desenvolvido por Sunil Kumar e Richa Pandey das reas de Engenharia e Tecnologia do Instituto Birla de Tecnologia, situado em Ranchi na India e Divulgado pelo
ELK Asia Pacific Journals, teve como objetivo a criao e desenvolvimento de uma
Vending Machine simples e de baixo custo usando a tecnologia de identificao de
rdio frequncia (RF-ID). [Sunil 2011]
A proposta desse trabalho foi a criao de uma Vending Machine para servir pequenas empresas que possua o custo inicial pequeno e que seja para produtos simples, a idia utilizar a identificao por rdio frequncia (RF-ID) para simplificar as
transaes, os produtos so identificados prviamente com trs entradas: Quantidade,
Qualidade e Custo.

3.2

Sistema de Venda Automtica Utilizando Pagamento


Eletrnico Atravs de Dispositivos Mveis

Desenvolvido por Makoto Miyagawa e Luciana de Aguiar Sena para o Congresso


Nacional de Iniciao Cientfica atravs da Universidade Federal do Amazonas e orientado pelo professor Waldir Sabino da Silva Jnior da rea de Engenharias e Tecnologias, teve como objetivo a criao de uma vending machine com integrao e
suporte a vendas atravs de dispositivos mveis. [Miyagawa 2010]

39

Neste trabalho foi desenvolvindo um prottipo de uma mquina automtica de vendas que utiliza o pagamento eletrnico atravs de dispositivos mveis. O sistema
desenvolvido dividido em duas aplicaes distintas: a parte fsica, por onde o consumidor recebe o produto comprado, e o servidor de aplicao, que controla a parte
lgica da mquina, listando e gerenciando tais produtos e conclundo a venda atravs
do servio de pagamento.
O prottipo atendeu as expectativas de funcionamento, realizando vendas fictcias
atravs do ambiente de teste do PayPal e conta com uma interface voltada para dispositivos mveis e um mtodo de gerenciamento dos produtos, com reserva de estoque.

3.3

Non-cash payment method using QR codes in an


automated microcontroller-based vending machine

Desenvolvido por Khalilur Rahman do Departamento de Engenharia Eltrica e Eletrnica pela Universidade BRAC como Bacharelado em Engenharia Eletro Eletrnica
com o propsito de criar e implementar uma Vending Machine baseada em micro controladores que utiliza QR codes como mtodo para autorizao de pagamentos online.
[Rahman 2014]
Neste trabalho foi proposto uma Vending Machine que utiliza QR Codes para efetuar pagamentos online, de forma que, uma vez que o usurio realiza seu pedido na
Vending Machine um QR Code gerado contendo todas as informaes do pedido,
ento, uma aplicao utilizada para escanear esse QR Code que, uma vez escaneado, gera as informaes do pedido, aps autorizao do usurio para utilizao
de sua conta de pagamento online as informaes do pedido so enviadas para um
Web Server, esse Web Server pega essa entrada de dados do usurio e processa o
pagamento atravs de uma plataforma de pagamentos online, aps a confirmao do
pagamento, um segundo QR Code gerado contendo as informaes do pedido e da
autorizao e enviado pelo servidor para a aplicao do usurio, o usurio ento
direciona o QR Code para ser escaneado pela Vending Machine para que esta, por
sua vez, possa ento liberar o produto.

40

Proposta

Neste captulo sero descritos as bases de todos os conhecimentos utilizados para


o desenvolvimento deste projeto.

4.1

Diagrama Geral

Figura 5: Diagrama de Funcionamento Geral

41

4.2

Diagrama de Casos de uso

Figura 6: Diagrama de Casos de Uso

42

4.3

Diagrama de Classes

Figura 7: Diagrama de Classes

43

CONCLUSO

5.1

Consideraes Finais

Este trabalho props novas formas e meios de efetuar pagamentos em Vending


Machines, A partir dos resultados obtidos na primeira etapa deste projeto foi possvel
identificar a grande demanda exigida para a produo do trabalho completo, a partir
da definio do primeiro escopo.
A fim de viabilizar o projeto de automao, foi utilizado o protocolo bluetooth ao
invs do nfc, que permitiu a reduo dos custos de produo, alm de possibilitar
uma maior flexibilidade na integrao de dispositivos. Como meio de interface com o
usurio foi utilizado a plataforma Android, que melhor se adequou aos requisitos do
projeto, sendo software livre.

44

REFERNCIAS
[Torres 2001] TORRES, G.. "Redes de Computadores Curso Completo. 1. ed.", Rio
de Janeiro, BR, Axcel Books, 2001.
[Tanenbaum 1997] TANENBAUM, A.S.. "Redes de Computadores. 3. ed.", Rio de Janeiro, BR, Campus, 1997.
[Jacobson 2006] JACOBSON, Ivar; BOOCH, Grady. "Uml Guia do Usuario", Rio de
Janeiro, BR, Elsevier, 2006.
[Alecrim 2008] Emerson Alecrim. Banco de dados MySQL e PostgreSQL. 2008.
URL:http://www.infowester.com/postgremysql.php. Last Visited:
21/09/2014.
[Palpite Digita 2007] Palpite Digital. Porque Utilizar Microcontroladores. 2007.
URL:http://www.palpitedigital.com.br/wp/2007/05/12/porque-uti
lizar-micrcontroladores. Last Visited: 22/09/2014.
[Robtica Livre 2011] Robtica
Livre.
Introduo

programao
de
microcontroladores.
2011.
URL:http://www.roboticalivre.com/index.php?option=com_flexico
ntent&view=items&cid=58&id=70. Last Visited: 23/09/2014.
[Arduino 2000] Arduino. Site Oficial. 2000. URL:http://www.arduino.cc. Last Visited: 29/08/2014.
[Werneck 2009] Pedro
Werneck.
Introduo
ao
Arduino.
2009.
URL:http://www.sabereletronica.com.br/secoes/leitura/1307.
Last Visited: 07/11/2014.
[Gioppo 2009] Lucas
Longen
Gioppo;
Marcelo
Massao
Kataoka
Higaskino;
Ricardo
Fantin
da
Costa;
William
Hitoshi Tsunoda Meira. Rob Seguidor de Linha. 2009.
URL:http://www.slideshare.net/rafaelpouzada/monografia-arduin
o. Last Visited: 15/11/2014.
[Bentes 2009] Leandro Maurcio Arajo Bentes. Arduino: hardware e software opensource. 2009. URL:http://www.hardware.com.br/artigos/arduino/.
Last Visited: 15/11/2014.
[Rodrigo 2011] Leandro Rodrigo. Plataforma Arduino, Hardware e Viso Geral. 2011.
URL:http://www.dihitt.com.br/barra/arduino--visao-geral. Last
Visited: 09/11/2014.

45

[Sparkfun 2011] Sparkfun. Especificao do sensor de distncia infravermelho. 2011.


URL:http://www.sparkfun.com/datasheets/Sensors/Infrared/gp2y0
a02yk_e.pdf. Last Visited: 12/11/2014.
[Sunil 2011]

Sunil Kumar and Richa Pandey. DESIGN OF A SIMPLE


VENDING
MACHINE
USING
(RF-ID).
2011.
URL:http://www.elkjournals.com/microadmin/UploadFolder/741834.I-8.pdf
Last Visited: 21/08/2015.

[Miyagawa 2010] Luciana de Aguiar Sena e Makoto Miyagawa. Sistema


de Venda Automtica atravs de dispositivos mveis. 2010.
URL:http://conic-semesp.org.br/anais/files/2013/trabalho-1000015410.pdf
Last Visited: 05/07/2015.
[Rahman 2014] Kahlilur Rahman. Non-cash payment method using QR codes.
2014. URL:http://dspace.bracu.ac.bd/handle/10361/3987 Last Visited: 20/07/2015.
[Bordin 2012] BORDIN,
M.
Introduo
a
Arquitetura
Android.
2012.
URL:http://sites.setrem.com.br/stin/2012/anais/Maycon.pdf
Last Visited: 20/03/2015.
[Buchmann 2002] BUCHMANN, J. A.. "Introduo Criptografia.", So Paulo, BR,
Berkeley Brasil, 2002.

Você também pode gostar