automação comercial com bluetooth acblue · para melhor entender o assunto. são eles o...

87
UNIVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS CURSO DE ENGENHARIA DA COMPUTAÇÃO GUILHERME TUCUNDUVA DE PAIVA MARCO POLO RAUTH FILHO Automação comercial com Bluetooth(ACBlue) Trabalho de Conclusão de Curso. Prof. Mauricio Perretto Orientador Curitiba, novembro de 2009.

Upload: others

Post on 03-Jun-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

UNIVERSIDADE POSITIVO

NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS

CURSO DE ENGENHARIA DA COMPUTAÇÃO

GUILHERME TUCUNDUVA DE PAIVA

MARCO POLO RAUTH FILHO

Automação comercial com Bluetooth(ACBlue)

Trabalho de Conclusão de Curso.

Prof. Mauricio Perretto

Orientador

Curitiba, novembro de 2009.

Page 2: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

2

UNIVERSIDADE POSITIVO

Reitor: Prof. Oriovisto Guimarães

Vice-Reitor: Prof. José Pio Martins

Pró-Reitor de Graduação: Prof. Renato Casagrande

Diretor do Núcleo de Ciências Exatas e Tecnológicas: Prof. Marcos José Tozzi

Coordenador do Curso de Engenharia da Computação: Prof. Edson Pedro Ferlin

Page 3: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

3

Agradecimentos

Gostaríamos de agradecer ao nosso orientador Msc. Mauricio Perretto e todos os outros Mscs. e Drs. que nos instruíram durante o período de graduação. Agradecemos também as amizades feitas antes e durante o curso, que nos ajudaram ás vezes a recuperar a sanidade e outras vezes a perdê-la de vez. E por último e mais importante gostaríamos de agradecer nossos familiares, que nos apoiaram e suportaram nossos dias de noites mal dormidas, mau humor e stress nessa nossa longa jornada.

Page 4: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

4

SUMÁRIO

LISTA DE ABREVIATURAS E SIGLAS ....................................................... 6 LISTA DE FIGURAS ..................................................................................... 8 LISTA DE TABELAS .................................................................................... 9 RESUMO .................................................................................................... 10

ABSTRACT ................................................................................................ 11 1. INTRODUÇÃO ................................................................................... 12 2. FUNDAMENTAÇÃO TEÓRICA ......................................................... 14 2.1. E-commerce ........................................................................................................................... 14 2.2. Mercado.................................................................................................................................. 15 2.3. Bluetooth ................................................................................................................................. 16 2.3.1. Bluetooth X Infrared ......................................................................................................... 16 2.3.2. Bluetooth X 802.11b .......................................................................................................... 17 3. ESPECIFICAÇÃO DE PROJETO...................................................... 20 3.1. Servidor .................................................................................................................................. 20

3.1.1. Banco de Dados ............................................................................................................. 20 3.1.2. Aplicação web ................................................................................................................ 20 3.1.3. Servidor Web, frameworks e arquitetura ........................................................................ 21

3.1.3.1. Funcionalidades da aplicação web ............................................................................ 21 3.1.4. Serviço ........................................................................................................................... 22

3.1.4.1. Sockets....................................................................................................................... 22 3.1.5. Processo ......................................................................................................................... 23

3.1.5.1. Rational Unified Process - RUP ............................................................................... 23 3.1.5.2. Uml 2.0 ...................................................................................................................... 25

3.2. J2ME ....................................................................................................................................... 25 3.2.1. Funcionalidades do cliente portátil ................................................................................ 25

3.2.1.1. Bluetooth ................................................................................................................... 26 3.2.2. CLDC, MIDP e Midlets ................................................................................................. 27

3.2.2.1. CLDC (Connected Limited Device Configuration) ................................................... 27 3.2.2.2. MIDP (Mobile Information Device Profile) .............................................................. 27 3.2.2.3. MIDlets ..................................................................................................................... 27

3.3. Terminal Bluetooth ................................................................................................................ 27 3.4. Condições de desenvolvimento ............................................................................................. 28

3.4.1. Recursos de software ..................................................................................................... 28 3.4.2. Recursos de Hardware ................................................................................................... 28 3.4.3. Recursos Diversos.......................................................................................................... 29

3.5. Projeto de Hardware .............................................................................................................. 29 3.5.1. Componentes ................................................................................................................. 29

3.5.1.1. RabbitCore RCM5400W ........................................................................................... 30 3.5.1.2. KC-21 ........................................................................................................................ 31

3.5.2. Comunicação serial ........................................................................................................ 32 3.5.3. Firmware ....................................................................................................................... 32

3.6. Software .................................................................................................................................. 36 3.6.1. Serviço Bluetooth ........................................................................................................... 36 3.6.2. Fluxograma .................................................................................................................... 37 3.6.3. Web app ......................................................................................................................... 37

3.6.3.1. Requisitos .................................................................................................................. 38 3.6.3.2. Diagrama de caso de uso ........................................................................................... 39 3.6.3.3. Casos de uso .............................................................................................................. 40 3.6.3.4. Diagramas de classe .................................................................................................. 44

3.6.4. Software para Dispositivos Móveis................................................................................ 45 3.6.4.1. Requisitos .................................................................................................................. 45 3.6.4.2. Diagrama de caso de uso ........................................................................................... 46

Page 5: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

5

3.6.4.3. Casos de uso .............................................................................................................. 47 4. IMPLEMENTAÇÃO ........................................................................... 50 4.1. Conhecendo o kit Rabbit e o módulo Bluetooth. .................................................................. 50 4.2. Protocolo ................................................................................................................................ 50

4.2.1. Pacote ............................................................................................................................. 51 4.2.2. Definições do Protocolo ................................................................................................. 51

Dados do pacote de cabeçalho ................................................................................................... 51 String trafegada convertida pelo protocolo ................................................................................ 51 String convertida em binário ...................................................................................................... 51

4.2.3. Conexão ......................................................................................................................... 51 4.2.4. Envio e recebimento ...................................................................................................... 52 4.2.5. Codificação do Protocolo ............................................................................................... 52

4.3. Aplicação web ......................................................................................................................... 52 4.4. Aplicação do dispositivo móvel ............................................................................................. 53 5. VALIDAÇÕES E RESULTADOS....................................................... 54

6. CONCLUSÃO .................................................................................... 56

REFERÊNCIAS........................................................................................... 57 APÊNDICE A .............................................................................................. 60 APÊNDICE B ............................................................................................ 602 Artigo Técnico. ................................................................................................................................. 623 Manual de instalação aplicação web. .............................................................................................. 629

Page 6: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

6

LISTA DE ABREVIATURAS E SIGLAS

API Application Programming Interface

CLDC Connected Limited device configuration

CRUDs Create, read, update and delete

EJB Enterprise Java Beans

IDE Integrated Development Environment

MIDP Mobile Information Device Profile

MVC Model View Control

J2ME Java to Micro Edition

J2SE Java Standard Edition

JDBC Java Database Connectivity

JSF Java Server Faces

JSP Java Serve Pages

RUP Rational Unified Process

UCS Use Case

UML Unified Modeling Language

UIs User Interface

CTS Clear to Send

RXD Receives on received Data

RTS Request to Send

TXD Transmitted Data

Web app Web Application

WEP Wired Equivalent Privacy

WWW World wide web

JSR Java specification requests

Page 7: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

7

JCP Java community process

Page 8: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

8

LISTA DE FIGURAS

Figura 1-1 Diagrama em blocos do projeto. .............................................................................................. 13

Figura 2-1: Celulares homologados em 2008 (TELECO, 2008). ............................................................. 16

Figura 2-2 Camadas do Bluetooth ............................................................................................................. 18

Figura 3-1 Comunicação sockets (SOCKETS, 2009). ................................................................................ 22

Figura 3-2: Fases e disciplinas do RUP (RUP, 2009). .............................................................................. 23

Figura 3-3: Estrutura de aplicativos Bluetooth J2ME (J2ME, 2009). ....................................................... 26

Figura 3-4: Representação do terminal Bluetooth. .................................................................................... 28

Figura 3-5: RabbitCore RCM5400W(RABBIT,2009). ............................................................................... 30

Figura 3-6: Pinagem do RabbitCore RCM5400W(RABBIT,2009). ........................................................... 30

Figura 3-7: Comunicação UART entre Microcontrolador e Módulo Bluetooth(KCWIREFREE, 2009). .. 32

Figura 3-8: Arquitetura do Terminal Bluetooth. ........................................................................................ 33

Figura 3-9: Fluxograma - requisição de slave. .......................................................................................... 34

Figura 3-10: Fluxograma - Retorno do servidor. ...................................................................................... 35

Figura 3-11: Representação do modelo. .................................................................................................... 36

Figura 3-12: Fluxograma do Serviço Bluetooth. ....................................................................................... 37

Figura 3-13: Diagrama de classes da aplicação web. ............................................................................... 39

Figura 3-14: Camada de Negócios. ........................................................................................................... 44

Figura 3-15: Camada de Serviços.............................................................................................................. 44

Figura 3.16: Diagrama de caso de uso da aplicação de dispositivos móveis. ........................................... 46

Figura 5-2: Imagem do sistema do celular. ............................................................................................... 55

Figura 5-3: imagem do sistema WEB. ........................................................................................................ 55

Page 9: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

9

LISTA DE TABELAS

Tabela 2.1: Quantidade de Celulares (TELECO, 2008). .......................................................................... 15

Tabela 3.1: Descrição dos pinos do RabbitCore RCM5400W(RABBIT, 2009). ........................................ 31

Tabela 3.2: Descrição dos pinos do KC-21(KCWIREFREE, 2009). ......................................................... 32

Tabela 3.3: Requisitos funcionais da aplicação web. ................................................................................ 38

Tabela 3.4: Requisitos não funcionais da aplicação web. ......................................................................... 38

Tabela 3.5: Requisitos funcionais do software dos dispositivos móveis. .................................................... 45

Tabela 3.6: Requisitos não funcionais do software dos dispositivos móveis. ............................................. 46

Tabela 3.7: Diagrama de caso de uso da aplicação de dispositivos móveis. ............................................. 46

Page 10: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

10

RESUMO

Com a crescente utilização da internet, aplicações como o comércio eletrônico se disseminaram de forma rápida devido às suas facilidades.

Como qualquer outro serviço, o comércio eletrônico possui vantagens e desvantagens. Uma das vantagens é a possibilidade da pesquisa de produtos com informações sobre disponibilidade ou localização com grande facilidade e rapidez.

Porém, este serviço também possui uma grande desvantagem. Não estando no local, não é possível visualizar o estado do produto e verificar a qualidade. Há também certa dificuldade na troca caso contenha defeito.

No caso do cliente estar em estabelecimentos comerciais, com infra-estrutura muito grande, nem sempre o produto almejado está disponível para compra e perde-se muito tempo até perceber este detalhe. A consulta do preço é difícil se a etiqueta fora arrancada ou está num lugar escondido no balcão.

Estas são situações comuns no comércio e podem ser todas solucionadas através da automatização da informação, trazendo ao usuário final, todas as informações necessárias. Nosso projeto beneficiará a automação comercial, possibilitando usuários com posse de um aparelho celular, efetuar consultas com todas as comodidades do comércio eletrônico, dentro de lojas, mercados, bares e outros.

Palavras-Chave: e-commerce, bluetooth, dispositivos móveis, wireless.

Page 11: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

11

ABSTRACT

With the increasing use of internet, applications like e-commerce have spread quickly due to its user-friendliness.

Like any other service, e-commerce has advantages and disadvantages. One of the advantages is the possibility of easily and quickly finding products with information of availability or location.

But this service has a big disadvantage. Not being physically in the same place as the product, it's not possible to view the state of the it or check its quality. There is also a certain difficulty in the Exchange in case it presents defects.

When the customer is in store with a very large infrastructure, the desired product is not always available for purchase and one loses a long time perceiving this detail. Consulting the price is difficult IF the label is missing or is in a hidden place on the counter.

These situations are common in retail and could be always solved through information automation, bringing the end user all necessary information. Our Project will benefit business automation, allowing users with a cell phone to search with all the facilities of commerce within shops, markets, bars and others.

Keywords: e-commerce, bluetooth, mobile, wireless.

Page 12: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

12

1. INTRODUÇÃO

“Com o rápido desenvolvimento da tecnologia, os telefones celulares estão certamente tornando-se mais populares a cada dia. Os últimos lançamentos de telefones celulares estão aptos a atrair um novo mercado e clientes, e o seu rápido desenvolvimento tecnológico pode ser bem compreendido pelo fato de que foi a 20 anos atrás, quando os telefones celulares eram vistos como objetos de luxo, feitos para as grandes corporações, para a força policial e para o exército, e agora quase 50% de todas as crianças na América possuem telefones celulares. Em verdade, até em países em desenvolvimento o uso dos telefones celulares está crescendo rapidamente, com as pessoas se utilizando deles (sic) para uso pessoal e para negócios” (POLO MERCANTIL, 2009).

Com um novo canal de comercialização, fazendo da união do e-commerce com o avanço dos dispositivos móveis, este trabalho propõe uma maneira de trazer a facilidade da compra online para o próprio estabelecimento (loja), modernizando a forma de vender, eliminando o velho papel de pão com a "listinha de mercado".

Este projeto demonstra como, com um dispositivo móvel dentro das mediações de um estabelecimento comercial, o cliente pode adquirir o software e realizar diversas tarefas, como listar produtos, conferir ofertas, detalhar a descrição dos produtos, selecionar item com a leitura de código de barras do produto desejado feito com o celular, entre outras atividades.

Com módulos Bluetooth espalhados pelo estabelecimento, conectados a um servidor por rede Wireless, é possível distribuir os serviços para todas as pessoas que tenham interesse ou curiosidade da nova funcionalidade.

A solução contém uma interface online para acesso pela internet tanto pelo browser, como pelo celular, caso o cliente não se encontre na loja ou por terminais disponíveis pela loja. Estas disponibilizam as mesmas funcionalidades.

A figura 1.1 representa em blocos como o projeto está organizado.

Page 13: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

13

Figura 1-1 Diagrama em blocos do projeto.

Page 14: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

14

2. FUNDAMENTAÇÃO TEÓRICA

Antes de prosseguir nas especificações do projeto, alguns conceitos são necessários para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth.

2.1. E-commerce

Comércio eletrônico, também conhecido como e-commerce consiste na compra e venda de produtos ou serviços por meios eletrônicos, como a internet ou outras redes de computadores. A quantidade de negócios efetuados eletronicamente tem crescido extraordinariamente junto com a utilização da internet. O comércio eletrônico moderno geralmente utiliza o meio WWW (World Wide Web), pelo menos até determinado ponto do ciclo de vida da transação.

Para o consumidor, o comércio eletrônico é facilmente estimulado pelo uso da WWW. Uma pessoa pode comprar online qualquer coisa desde livros, bugigangas, até itens muito caros como imóveis. Outros exemplos são o banco online, pagamento de contas, transferências de fundos até os primeiros trâmites de transferências para outros países. Todas estas atividades com poucos cliques nos seus teclados.

"A internet cresce mais do que o PIB em parte pela passagem do comércio tradicional para o digital. Os negócios estão migrando para a rede mais rápido do que o crescimento do mercado” (FRIDSCHTEIN, 2006).

Junto ao crescimento da internet, da globalização dos negócios e resposta ao dinamismo da sociedade, diversas empresas estão entrando neste meio, obtendo lucros com esta nova fase.

"A facilidade, conforto, agilidade e, principalmente, a diversificação do mix de produtos disponível nas vitrines das lojas virtuais é mais um atrativo para quem gosta de comprar tudo em um único lugar, economizando tempo, evitando trânsito e filas intermináveis, além, é claro de contar com a comodidade de receber tudo em casa”

(GUASTI, 2009).

É grande o número de pessoas que realiza ou alguma vez realizou compra pela internet. Isto não é um modismo, mas sim uma tendência, pois além dos benefícios citados acima, os preços podem ser mais baixos, com diversas facilidades de pagamento, além do consumidor pode analisar e antecipar seu comportamento perante uma compra.

Page 15: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

15

"De uma forma simples, ou simplista, o e-commerce (comércio eletrônico) é apenas transacionar um produto ou serviço por meio eletrônico. Mas, isso não é tudo. A transformação não se restringe ao momento ou o local do negócio. Ela atravessa a cultura de gestão, os processos/procedimentos, a infra-estrutura tecnológica e abrange mais de um elo da cadeia produtiva – do consumidor aos parceiros de negócio" (IKEDA , 2009).

Não muito diferente da internet, os celulares também explodiram no mercado.

2.2. Mercado

O mercado é favorável devido à grande quantidade de celulares ativos no Brasil. Em Fev/09 já haviam 152,4 milhões de aparelhos operacionais conforme dado da Tabela 2.1.

Celulares em Fev/09

Dez/07 Nov/08 Dez/08 Jan/09 Fev/09

Celulares 120.980.103 147.052.397 150.641.403 151.949.07 7 152.364.986

Pré-pago 80,66% 81,29% 81,47% 81,59% 81,59%

Densidade 63,59 76,33 78,11 79,79 79,94

Densidade corrigida*

64,22 77,34 79,17 79,79 79,94

Crescimento Mês

4.666.276 2.256.779 3.589.006 1.307.674 415.909

4,01% 1,6% 2,4% 0,9% 0,3%

Crescimento Ano

21.061.482 26.072.294 29.661.300 1.307.674 1.723.583

21,08% 21,55% 24,52% 1,08% 1,42%

Crescimento em 1 ano

21.061.482 30.738.570 29.661.300 29.091.500 28.242.507

21,08% 26,43% 24,52% 23,68% 22,75%

Tabela 2.1: Quantidade de Celulares (TELECO, 2008).

Para estes números nota-se um crescimento na quantidade de aparelhos ativos bem significantes ao decorrer do tempo.

Page 16: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

16

A grande maioria dos celulares homologados disponibiliza as características necessárias para a instalação e execução da aplicação. Como é possível perceber no gráfico da Figura 2-11 em Fev/09 existem 56.3% de aparelhos com Bluetooth e outros 63.1% com câmera digital(TELECO, 2008).

O e-commerce não poderia deixar de entrar neste meio. Inicialmente, os serviços disponibilizados pelo celular limitavam-se pela venda de toques, papéis de parede e músicas para o celular. Os dispositivos foram evoluindo, ganhando maior capacidade de processamento, mais sofisticação e o acesso à internet. Desta forma, consumidores podiam realizar compras pelo celular com a comodidade de estar em qualquer lugar.

Este é um campo que está se iniciando, com uma parcela ainda muito pequena em relação a todo comércio eletrônico. .

2.3. Bluetooth

Bluetooth é um protocolo de comunicação sem fio capaz de comunicar dois ou mais dispositivos com Bluetooth. Assim como HTTP, FTP ou SMTP, ele possui uma arquitetura cliente-servidor. É o cliente quem inicia a conexão e o servidor quem recebe a conexão.

2.3.1. Bluetooth X Infrared

A comunicação sem fio entre computadores não é uma novidade. Já era possível com infravermelho, por exemplo, porém a distância entre os dispositivos deve ser muito curta e os sensores infravermelhos deveriam estar apontados um para o outro. O Bluetooth dribla a primeira limitação pois sua especificação define uma distância de até 10 metros entre os dispositivos. A segunda limitação não ocorre, pois Bluetooth trabalha como comunicação de radio.

Figura 2-1: Celulares homologados em 2008 (TELECO, 2008).

Page 17: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

17

2.3.2. Bluetooth X 802.11b

Outro protocolo de comunicação sem fio é o 802.11b (protocolo de rede sem fio). Bluetooth e 802.11b possuem finalidades diferentes, no entanto ambas trabalham na mesma frequência: 2.4GHz.

O objetivo da rede sem fio é estabelecer conexões entre computadores em altas velocidades com distâncias próximas a 100 metros. Já o Bluetooth, comunicar dispositivos móveis em distâncias de até 10 metros com velocidade de 1Mb/s. Baixa velocidade e distância curta, permitiram que o Bluetooth seja até 500 vezes mais econômico que a rede wireless, o que faz muita diferença quando a energia que alimenta o dispositivo é oriunda de uma bateria.

Bluetooth é para ser utilizado como a substituição de cabos seriais ou USB, no entanto, ele possui uma capacidade embutida de comunicação de som sem fio. Tanto Bluetooth quanto 802.11b não são capazes de substituir um ao outro pelas suas características.

Geralmente encontramos em lojas, Bluetooth com a finalidade de:

- Transferência de dados sem fio de PDA para telefone;

- Compartilhar conexão entre um notebook e o telefone;

- Redes pessoais (PC para PC);

- Substituto de cabos (PC para periféricos);

Mas o Bluetooth pode ser utilizado para funções muito mais avançadas, como:

- conectar qualquer dispositivo com qualquer dispositivo, como um cabo universal;

- conectar com impressoras;

- Aplicações de voz;

- Jogos sem fio;

- Aplicações diversas como propaganda ou e-commerce.

O infravermelho é comumente utilizado para comunicação de curta distância entre dispositivos. Diferente deles, o Bluetooth opera com ondas de rádio na faixa de 2.4GHz, assim como 802.11b, 802.11g e telefones sem fio.

A comunicação com ele pode ser ponto a ponto ou multiponto, dependendo de seu suporte definido pelo fabricante.

Se um Bluetooth suporta somente conexão ponto a ponto, poderá somente manter uma conexão por vez. Exemplo desta funcionalidade pode ser um fone de ouvido estabelecendo conexão com um celular.

Page 18: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

18

Caso o Bluetooth suporte conexão multiponto, até sete conexões podem ser estabelecidas com este dispositivo. Isto é importante, por exemplo, quando é necessário conectar uma impressora a um palm , telefone e fone de ouvido simultaneamente com um computador.

O hardware do Bluetooth está classificado em três classes, classe 1, classe 2 e classe 3. A diferença entre elas está entre o consumo de energia e as distâncias suportadas. A classe 1 especifica que o consumo desta deve estar na faixa de 200mW com distância de até 100 metros, enquanto as classes 2 e 3 ficam com o consumo de 2,5mW, 1mW e distâncias de até 20 metros e 30 metros respectivamente.

O Bluetooth possui uma pilha de protocolo, utilizadas para controlar o dispositivo ou realizar comunicação com outros dispositivos. Estas podem ser um software, um firmware, um hardware ou a combinação entre os três. Eles funcionam assim como um driver é utilizado para controlar os periféricos em um computador. Tais protocolos permitem o controle do Bluetooth programaticamente.

Cada componente da pilha de protocolo é chamado de camada e estão separados em dois grandes grupos, camadas e perfis. As camadas do Bluetooth são HCI, L2CAP, SDP, RFCOMM, TCS-BIN, WAP, OBEX, BNEP e HID. E a figura 2.3 exibe todos os perfis.

JSR-82(Java Specification Requests) é uma solicitação de especificação JAVA na JCP (Java Community Process), procedimento formal para transformar um simples conceito incorporado na especificação do Java padrão. A JSR-82 no entanto, é a proposta para controlar Bluetooth pelo Java. Liderado pela Motorola, a especificação é formada pelas seguintes empresas: Extended Systems, IBM, Mitsubishi, Newbury Networks, Nokia, Parthus Technologies, Research in Motion, Rococo Software, Sharp Eletronics, Sony Ericsson, Smart Fusion, Smart Network Devices, Sun Microsystems, Symbian, Telecordia, Vaultus e Zucotto. Estas empresas foram as responsáveis pela

Figura 2-2 Camadas do Bluetooth

Page 19: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

19

referência de implementação e Kit de Compatibilidade Tecnológica da especificação, mas qualquer outra empresa pode desenvolver a JSR-82 seguindo estas especificações.

A resultante da especificação é a API Bluetooth Java, que possui os seguintes componentes básicos:

- Inicialização da pilha: Basicamente é a parte em que é inicializado o dispositivo, configurando nome da porta, taxa de transferência, disponibilidade, entre outros.

- Gerenciamento do dispositivo: Este componente permite que seja consultado o nome, endereço, indicar se o dispositivo pode ser localizado e consular o nome ou endereço de outros dispositivos conectados.

- Localizar dispositivos: Para utilizar o Bluetooth, é necessário que exista uma forma de localizar outros dispositivos Bluetooth ativos no ambiente. Este componente fornece estas funcionalidades.

- Localizar serviços: Assim como existe o localizador de dispositivos, este componente é preciso para identificar os serviços prestados pelos dispositivos encontrados.

- Registrar serviços: Os registros localizados podem ser registrados por esta funcionalidade.

- Comunicação: Por fim, temos aparte que realiza a comunicação entre os dispositivos.

Esta é a teoria necessária para programar a comunicação entre dispositivos Bluetooth.

Page 20: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

20

3. ESPECIFICAÇÃO DE PROJETO

Neste capítulo será abordada detalhadamente a especificação do projeto para cada bloco definido no diagrama da Figura 1-1. Começaremos falando sobre o servidor, seguido dos dispositivos móveis, terminal Bluetooth e processo para desenvolvimento.

3.1. Servidor

É responsabilidade do servidor, tratar todas as regras de negócio do sistema. É ele quem possui os serviços de pesquisa consultados pelos dispositivos móveis. Também possui o servidor de aplicação com a parte web e o banco de dados, que trata da persistência dos dados cadastrados e utilizados no sistema.

3.1.1. Banco de Dados

Com o banco de dados persistimos as informações relacionadas aos cadastros da loja, itens da loja com suas descrições, ofertas, mapa da loja e algumas informações do cliente. Os dados são acessados via um serviço Java possibilitando o usuário utilizar as funcionalidades de listagem de produto, ofertas, comparação de produtos. Tanto no dispositivo móvel quanto em estações para consultas.

Para banco de dados foi escolhido o PostgresSQL por ter um bom desempenho no desenvolvimento de aplicativos grandes e complexos. Além disso, é um software com licença BSD de código aberto do tipo Berkeley Software Distribution sem adicionar custo para o desenvolvimento da aplicação (POSTGRESQL, 2009).

3.1.2. Aplicação web

A área de aplicações web, principalmente com a popularização da internet, tem crescido muito. Os fatores que agregam vantagens a esta tecnologia são:

- independência de plataforma (funciona em browsers de qualquer sistema operacional);

- dispensa de instalação de softwares em cada cliente (basta conectar-se ao site e navegar);

- pode ser utilizado em uma intranet ou na internet, com informações centralizadas em um único servidor;

- Atualização automática, o cliente só percebe que o site mudou de aparência.

Page 21: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

21

É através da aplicação web onde são efetuados todos os cadastros do sistema, o mapeamento da loja e administração no geral.

As consultas dos produtos, preços e o carrinho de compras estão disponíveis tanto dentro da loja quanto na casa do cliente.

3.1.3. Servidor Web, frameworks e arquitetura

É o servidor web quem permite publicar conteúdos dinâmicos na internet/intranet. Ele abrange as tecnologias Servlet e JSP (Java Server Pages) que permitem este dinamismo (WEBAPP, 2009).

Servlets são as tecnologias que permitem a interação de aplicações web, pois são classes que possuem acesso com toda a família do Java, incluindo a API JDBC que permite conexão com o banco de dados (SERVLET, 2009).

Java Server Pages é a tecnologia que permite, de forma simples, criar páginas web muito mais ricas em relação às páginas estáticas (JSP, 2009).

Java Server Faces é um framework para desenvolvimento web onde é possível utilizar componentes propostos pela especificação do JSF bem como criar seus próprios componentes, para reaproveitamento. Também permite controlar o estados de UIs(Interface com usuário), controlar eventos no lado cliente e validações (JSF, 2009).

Beneficiando-se das tecnologias citadas acima, o framework JBOSS SEAM encapsula diversas tarefas no desenvolvimento para integração de JSF com EJB de forma mais simples com o uso de anotações em classes (SEAM, 2009).

Outro framework que escolhemos, é o hibernate. Framework de mapeamento objeto-relacional, que cuida da camada de persistência. Todo acesso a banco é feito por ele, de forma transparente para o desenvolvedor. A persistência é puramente orientada a objetos. É o hibernate quem efetua os inserts, updates, deletes, etc. Basta na configuração informar qual é o banco de dados utilizado, que a sintaxe é adequada automaticamente para o banco escolhido (HIBERNATE, 2009).

A arquitetura para o sistema é voltada ao desenvolvimento em camadas, o famoso MVC (Model, View, Control), com as limitações da web.

3.1.3.1. Funcionalidades da aplicação web

A aplicação web possui as seguintes funcionalidades:

- Cadastro e controle de usuários.

Os usuários são os que acessam o sistema para realizar pesquisas e fazer pedidos, além dos que atualizam os cadastros.

- Cadastro de categorias e produtos.

Todo produto cadastrado se enquadrará em uma categoria. Os produtos possuem um valor referente ao código de barras, para permitir pesquisas pelos mesmos.

Page 22: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

22

- Cadastro de mapa da loja.

A finalidade do mapa da loja é apenas identificar o setor da loja em que os produtos estão armazenados.

- Pesquisa de produtos.

A pesquisa de produtos para o cliente permite conferência de valores e descritivos. Para os funcionários da loja, um controle melhor para localização dos produtos no sistema.

- Cadastro de ofertas.

As ofertas cadastradas devem possuir um prazo para expirar.

- Carrinho de compras.

Pela pesquisa, o cliente pode adicionar itens ao carrinho de compras, possibilitando uma prévia do valor da compra.

3.1.4. Serviço

Para que os dispositivos móveis possam comunicar com o servidor, é necessário um serviço, que recebe requisições repassadas pelos terminais por socket, contendo as pesquisas efetuadas.

Este serviço deve reconhecer qual dispositivo fez a requisição, pois é necessário responder para o módulo. Aqui deve ser feito um tratamento nos dados recebidos por sockets pelo terminal.

3.1.4.1. Sockets

A troca de informação entre o software e o firmware do terminal é feita através de um link de comunicação chamado sockets.

Sockets rodam sobre o protocolo IP, realizando a comunicação entre o servidor e os dispositivos móveis através das interfaces bluetooth e ethernet.

Sockets funcionam no esquema cliente/servidor (Figura 3-1). O servidor espera uma conexão requisitada pelo cliente, depois de ser estabelecida a conexão é possível trafegar dados entre o cliente e o servidor, permitindo os serviços serem acessados pelos dispositivos (SOCKETS, 2009).

Figura 3-1 Comunicação sockets (SOCKETS, 2009).

Page 23: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

23

3.1.5. Processo

O desenvolvimento do software respeita os padrões de fábrica de software. Visando a reutilização de componentes tanto na documentação quanto na aplicação e otimização do processo da construção.

A criação dos artefatos para desenvolvimento se baseia nos padrões UML e Rational Unified Process descritos abaixo. Estes padrões auxiliam nas etapas dividindo a documentação do software.

3.1.5.1. Rational Unified Process - RUP

O RUP é uma ferramenta de desenvolvimento que auxilia no gerenciamento da construção de softwares. O RUP define atividades com responsáveis, dependências entre as mesmas, modelo de ciclo de vida e descrição de como devem ser realizadas. O RUP é composto por fases e disciplinas demonstradas na Figura 3-2 (RUP, 2009).

As fases da criação do projeto pelo RUP:

- Concepção

Define o escopo do projeto

- Elaboração

Define os requisitos e a arquitetura do sistema

Figura 3-2: Fases e disciplinas do RUP (RUP, 2009).

Page 24: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

24

- Construção

Desenvolvimento do sistema

- Transição

Implantação do sistema

Para as fases de desenvolvimento do projeto são necessárias as execuções de disciplinas.

- Modelagem do negócio

Conhecer a estrutura do negocio e identificar onde podem ser implementadas as soluções

- Requisitos

Estabelecer a interações dos atores com o sistema e os limites. Estimar tempo e custo do desenvolvimento do projeto.

- Análise e Projeto

A partir dos requisitos, elaborar um projeto do que o sistema vai ser. Construir uma arquitetura adequada às necessidades do sistema.

- Implementação

Implementar as classes e objetos. Testar as unidades e integrá-las

- Testes

Encontrar erros e anotá-los, validar as especificações e a implementação de acordo com o projetado.

- Implantação

Disponibilizar a aplicação para o usuário.

- Gerenciamento e planejamento

Controlar os artefatos desenvolvidos e evitar diversas versões / atualizações simultâneas.

- Gerência de configuração e mudanças

Utilizar ferramentas para planejar, executar, acompanhar e monitorar o projeto. Gerenciar riscos das etapas.

- Ambiente

Auxilia no aprimoramento das atividades relacionadas do projeto.

Page 25: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

25

3.1.5.2. Uml 2.0

O processo UML(Unified Modeling Language) é um método que auxilia na criação dos artefatos para as fases e disciplinas do RUP.

O UML cria documentos de modelagem para o paradigma de orientação a objetos. Com estes documentos é possível abstrair de maneira simplificada as entidades e funcionalidades do projeto (UML, 2009).

3.2. J2ME

Assim como na aplicação web, procuramos manter a portabilidade, optando por desenvolver o software dos dispositivos móveis utilizando a tecnologia J2ME. Com ela, não existe a necessidade de desenvolver uma aplicação para cada dispositivo diferente existente, o que seria inviável devido a infinidade de dispositivos. Por outro lado, apenas dispositivos que suportem esta tecnologia aceitarão o sistema (J2ME, 2009).

Outro requisito para os dispositivos móveis, é a funcionalidade Bluetooth, para comunicação com o servidor.

Os softwares desenvolvidos para estes dispositivos são MIDlets, descritos posteriormente.

3.2.1. Funcionalidades do cliente portátil

As funcionalidades previstas para estes dispositivos prevêem:

- Conferir ofertas

Produtos promocionais serão listados no dispositivo;

- Listagem de produtos por pesquisa

Os produtos serão pesquisados, então listados.

- Leitura de código de barras do produto

É possível pesquisar o produto pelo número contido no código de barras.

- Detalhar a descrição dos itens

Uma descrição mais detalhada dos produtos é possível quando desejado.

- Mapa da loja

Cada produto possui sua localização na loja. Esta informação estará disponível junto à descrição do produto.

- Carrinho de Compras.

Page 26: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

26

Uma simulação de compras é possível pelo carrinho de compras. Nele o cliente ou o vendedor pode acompanhar o montante do valor da compra enquanto vão sendo selecionados os produtos. Uma boa forma de não gastar mais do que estava reservado para as compras.

3.2.1.1. Bluetooth

Tecnologia sem fio Bluetooth é uma comunicação de curta distância entre sistemas, com a intenção de substituir cabos, conectando portáteis e/ou outros dispositivos eletrônicos. As vantagens da tecnologia sem fio Bluetooth são robustez, baixa potência, e baixo custo. Muitas funcionalidades da especificação são opcionais, permitindo diferenciação do produto (BLUETOOH, 2009).

A figura 3.3 demonstra como funciona a estrutura de acesso ao Bluetooth utilizando o J2ME.

O núcleo do sistema Bluetooth consiste em um transmissor RF(radio freqüência), banda base e pilha de protocolo. O sistema oferece serviços que conectam dispositivos e transacionam uma variedade de classes entre os dispositivos.

Figura 3-3: Estrutura de aplicativos Bluetooth J2ME (J2ME, 2009).

Page 27: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

27

3.2.2. CLDC, MIDP e Midlets

3.2.2.1. CLDC (Connected Limited Device Configuration)

CLDC é parte fundamental da arquitetura da plataforma JAVA 2, Micro Edition (J2ME). Tecnologia J2ME é disposta nas APIs chamadas configurations, profiles, e optional packages. Um ambiente de aplicação J2ME inclui tanto a configuração quanto a CLDC e um profile com o MIDP descrito a seguir (J2ME, 2009).

3.2.2.2. MIDP (Mobile Information Device Profile)

MIDP é o elemento chave da J2ME. Quando combinado com o CLDC, MIDP providencia um ambiente de execução JAVA padrão para os mais populares dispositivos de informação móveis, como celulares, PDAs, etc. A especificação MIDP foi definida pela JCP (Java Community Process) por um grupo de especialistas de mais de 50 companhias, incluindo as maiores fabricantes de dispositivos, provedores de serviços de comunicação e comerciantes de software para dispositivos móveis. Ela define uma plataforma para aplicações gráficas e interligadas (J2ME, 2009).

3.2.2.3. MIDlets

MIDlet é a aplicação criada pelo desenvolvedor Java ME, assim como um jogo, uma aplicação de negócio ou outra funcionalidade. Estes MIDlets podem ser escritos uma vez e executados em todos dispositivos suportados de acordo com a especificação do Java ME. O MIDlet pode residir em um repositório qualquer onde o usuário efetua o download para seu dispositivo (J2ME, 2009).

3.3. Terminal Bluetooth

O terminal Bluetooth, é a interface que cria uma ponte entre o dispositivo móvel e o servidor.

Um hardware com um microcontrolador com disponibilidade de interface ethernet ou wifi. Neste hardware foi acoplado um modulo Bluetooth. Estes componentes formam o que foi chamado acima de terminal Bluetooth.

Um lado da ponte é a conexão Bluetooth, que se comunica com os dispositivos móveis, enquanto o outro lado é uma interface ethernet ou wifi. O microcontrolador fica responsável por realizar a comunicação entre as duas pontas conforme Figura 3-4.

Page 28: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

28

Este terminal tem sua faixa operacional determinada pelos componentes que formam o terminal. A energização do terminal é feita por fio.

O microcontrolador administra as conexões com os dispositivos móveis, armazenará suas requisições em um fila para que possam ser enviados ao servidor e a resposta devolvida para o dispositivo que criou a solicitação.

3.4. Condições de desenvolvimento

Nesta secção definiremos como as ferramentas, recursos e equipamentos necessários no desenvolvimento do projeto.

3.4.1. Recursos de software

Todo o ambiente utilizado para a produção dos softwares não gera custo, pois a linguagem escolhida (Java) pode ser escrita em qualquer sistema operacional, incluindo os não pagos.

Não é necessário uma IDE (Integrated Development Environment) para o desenvolvimento dos códigos, pois o mesmo pode ser feito em qualquer editor de texto, no entanto, também existem diversas IDEs gratuitas.

3.4.2. Recursos de Hardware

O Hardware, no entanto é quem determina o custo do produto.

Como visto nesta especificação, são necessários vários ítens que implicarão em aquisições para o projeto.

- Servidor que suporte:

Sistema Operacional Linux, maquina virtual Java e banco de dados PostegreSQL

- Placa de rede.

Figura 3-4: Representação do terminal Bluetooth.

Page 29: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

29

- Kit de desenvolvimento Rabbit com ethernet ou wifi.

- Roteador wifi

- Módulo Bluetooth.

- PCB para o terminal Bluetooth.

- Fonte para alimentação para o kit.

- Dispositivos móveis para teste.

3.4.3. Recursos Diversos

A mão de obra também influi muito nos custos, afinal serão utilizadas muitas horas pesquisando, projetando, implementando e testando o sistema.

Tanto a parte de hardware, quanto a de software são muito trabalhosas e exigem um alto nível de experiência. Ambos os integrantes da equipe tem um conhecimento aprofundado sobre a linguagem Java voltada para web. Mas ainda lhes é necessário aprofundar seus conhecimentos para desenvolver o terminal Bluetooth.

3.5. Projeto de Hardware

O hardware do projeto é o Terminal Bluetooth, que deve funcionar como uma ponte entre os dispositivos móveis e o servidor. A intenção é não precisar de computadores com Bluetooth em cada ponto do estabelecimento, pois Bluetooth dos celulares tem um alcance médio de 10m. O terminal Bluetooth resolve este problema com custo e disposição de espaço bem inferiores comparados a um PC.

O processamento que o terminal deve empenhar consiste em manter uma conexão com o servidor por uma rede Wireless, para que os dispositivos móveis conectados ao terminal pelo módulo Bluetooth possam utilizar serviços disponibilizados no servidor.

Quando conectado, o software do dispositivo requisitará informações para o terminal Bluetooth, gerando pacotes de dados contendo esta informação. O microcontrolador intercepta estes pacotes, anexa a identificação do dispositivo que está realizando a requisição e retransmite o novo pacote de dados para o dispositivo móvel.

O servidor processa e retorna para o terminal a resposta solicitada. Novamente o microcontrolador identifica para qual dispositivo os dados de retorno devem ser direcionados e comanda o módulo Bluetooth para que realize este retorno.

3.5.1. Componentes

Os componentes selecionados para o projeto são o microcontrolador e o módulo Bluetooth.

Page 30: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

30

3.5.1.1. RabbitCore RCM5400W

O microcontrolador escolhido é o RabbitCore RCM5400W(figura 3.5) da Rabbit Semiconductor, pois sua principal característica é possuir funcionalidades de uma rede Wi-Fi/802.11b, permitindo desenvolver projetos embarcados facilmente, com baixo consumo(RABBIT,2009).

A pinagem do Rabbit pode ser visualizada a na figura 3.6 e descrita na tabela 3.1, assim como a tabela com a descrição de cada pino.

Figura 3-5: RabbitCore RCM5400W(RABBIT,2009).

Figura 3-6: Pinagem do RabbitCore RCM5400W(RABBIT,2009).

Page 31: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

31

Pino Nome Descrição

1 Vin Alimentacao +3.3V DC

2 GND Aterramento

3 /RES_OUT Pino de saida do gerador de reset

4 /IORD Pino de leitura strobe externo

5 /IOWR Pino de escrita strobe externo

6 /RESER_IN Entrada para o gerador de reset

7 VBAT_EXT Entrada da bateria

24 PC 0 TXD Porta Serial D

25 PC 1 RXD Porta Serial D

26 PC 2 TXC Porta Serial C

27 PC 3 RXC Porta Serial C

28 PC 4 TXB Porta Serial B

29 PC 5 RXB Porta Serial B

30 PC 6 TXA Porta de programação

31 PC 7 RXA Porta de programação

50 GND Aterramento

Tabela 3.1: Descrição dos pinos do RabbitCore RCM5400W(RABBIT, 2009).

3.5.1.2. KC-21

O módulo Bluetooth é o KC-21 da KCWireFree. Ele possui comunicação serial de até 921K baud. Pode facilmente ser controlado por comandos AT sobre UART. Abaixo na tabela 3.2 a descrição dos pinos do utilizados(KCWIREFREE, 2009).

Pino Nome Descrição

1 GPIO [3] Propósitos Gerais ou SPI CLK

2 MODE Reservado

3 RESET Reiniciar (nivel logico baixo 5ms)

4 GPIO [8] Propósitos Gerais ou PCM IN

5 GPIO [10] Propósitos Gerais ou PCM OUT

Page 32: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

32

6 TXD Transmite dados

7 GPIO [9] Propósitos Gerais ou PCM CLK

8 RXD Recebe dados

9 CTS Livre para enviar (nivel lógico baixo)

10 RTS Requisicao para enviar (nivel lógico baixo)

23 GND Aterramento

24 VDD Alimentação +3.3V

Tabela 3.2: Descrição dos pinos do KC-21(KCWIREFREE, 2009).

Para controlar o módulo foi utilizada a interface serial com comandos AT que é um padrão tomado pelo KC-21(KCWIREFREE, 2009).

3.5.2. Comunicação serial

A comunicação física entre o microcontrolador e o módulo Bluetooth é feita pela interface de comunicação serial do módulo e as portas seriais C e D do Rabbit. Os pinos TXD e RXD do módulo Bluetooth são utilizados para dados e os pinos CTS e RTS são utilizados para controle de fluxo como representado na figura 3.7. No microcontrolador são utilizadas duas portas seriais, pois uma deve realizar o papel de controle de fluxo e a outra, a troca de dados como no Bluetooth (KCWIREFREE, 2009).

3.5.3. Firmware

O firmware do RCM5400W é desenvolvido no programa Dynamic C 10.5. O controle do módulo Bluetooth pelas portas seriais, o gerenciamento dos pacotes e a comunicação com o servidor são todas desenvolvidas neste software, utilizando bibliotecas prontas para os recursos que serão utilizados(DYNAMICC, 2009).

Figura 3-7: Comunicação UART entre Microcontrolador e Módulo Bluetooth(KCWIREFREE, 2009).

Page 33: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

33

A figura 3.8 representa as camadas utilizadas pelo terminal Bluetooth. As camadas de interface com o módulo Bluetooth, Gerenciamento wifi e Comunicação TCP-IP são camadas providas pelo módulo Bluetooth e pelo microcontrolador RabbitCore RCM5400W, para facilitar o acesso, controle e manipulação destas camadas. Estas camadas são bibliotecas prontas para o acesso e controle dos dispositivos. Os Comandos AT são utilizados para acionar o módulo Bluetooth e ativá-lo, para aceitar conexões e receber as requisições dos clientes móveis. Os dados são os enviados pelo cliente e devolvidos pelo servidor. A camada de Gerenciamento de Pacotes refere-se à manipulação dos dados com a identificação dos dispositivos que estão se comunicando. O Gerenciamento de Memória servirá para o microcontrolador saber para qual dispositivo conectado ao módulo Bluetooth deve ser devolvida a resposta do servidor.

Figura 3-8: Arquitetura do Terminal Bluetooth.

Terminal Bluetooth

Comandos AT

Interface Módulo Bluetooth

Gerenciamento Pacotes

Interface de Gerenciamento Wi-Fi

Interface de Comunicação TCP/IP

Gerenciamento de Memória

Dados

Entrada/Saída de dados

por dispositivos móveis

Entrada/Saída de dados

do servidor

Page 34: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

34

A figura 3.9 traz fluxos simplificados de uma conexão de um determinado dispositivo móvel com o terminal Bluetooth e os procedimentos necessários para que a requisição seja enviada para o servidor. Slave é a nomenclatura utilizada para representar os dispositivos que procuram Bluetooth com serviços disponíveis, os masters.

Figura 3-9: Fluxograma - requisição de slave.

Page 35: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

35

O fluxograma da figura 3.10 demonstra o fluxo simplificado de como uma resposta é retornada do servidor para o dispositivo que o invocou, caso o mesmo ainda esteja conectado ao master.

Figura 3-10: Fluxograma - Retorno do servidor.

Page 36: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

36

3.6. Software

Este capítulo traz o detalhamento do projeto dos softwares do sistema.

Tanto a aplicação web como o serviço que fornece as respostas para as requisições dos dispositivos móveis e a aplicação dos dispositivos móveis estão descritas aqui.

Requisitos, diagramas de casos de uso, casos de uso e modelos de classes descreverão, utilizando notações UML2.0, a modelagem e projeto para o desenvolvimento do software.

A Figura 3.11 abaixo representa a estrutura de pacotes gerados para reaproveitamento de código. O Modelo conterá as classes que representam o modelo do sistema. Serviço de Regras de Negócio é o pacote que realiza as regras negociais com as classes do modelo. Tanto a aplicação web como o Serviço de Dispositivo Móvel utilizarão estes pacotes.

A aplicação para celular utiliza diretamente apenas o pacote do Modelo, pois é simplesmente uma view para o sistema como um todo e não realiza regra de negócio alguma com o modelo.

3.6.1. Serviço Bluetooth

O serviço Bluetooth deve estar conectado com o Terminal Bluetooth aguardando requisições do mesmo. Estas requisições deverão ser tratadas para escolher qual operação deve ser realizada no servidor para que uma resposta seja devolvida para o terminal. A comunicação entre ambos é realizada por sockets.

O papel do Serviço Bluetooth é receber as requisições do terminal, interpretar o tipo de requisição e realizar a consulta ao banco de dados, utilizando o Serviço de Regras de Negócio. A resposta é simplesmente devolvida para o Terminal Bluetooth.

A intenção é trafegar Strings contendo os dados separados por “:” e “;”. Caso o

texto trafegado contenha estes caracteres, ele deve ser substituído por outra combinação de caracteres e retornado a forma correta quando chegar ao destino.

Modelo

Serviço Regras de Negócio

Aplicação WebServiço Dispositivo

Móvel

Figura 3-11: Representação do modelo.

Page 37: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

37

3.6.2. Fluxograma

No fluxograma da figura 3.12 é representado o serviço, receber dados é o bloco onde o software deve receber a requisição do Terminal Bluetooth.

No próximo bloco é identificado que serviço deve ser consultado (listar ofertas, pesquisar produtos, detalhar produto).

Quando identificado, a consulta é executada com parâmetros se for o caso. Esta consulta é realizada no banco de dados, utilizando os mesmos serviços que a aplicação web utiliza.

A resposta é encaminhada a quem requisitou o serviço e finalmente devolvida para o terminal Bluetooth, que fará o resto do processamento.

3.6.3. Web app

Este tópico definirá o projeto para o software que rodará no servidor web. Esta aplicação rodará num container web, que poderá ser acessado por qualquer browser web de computadores da rede interna do estabelecimento, podendo de forma fácil, ser configurada para rodar também na internet.

Figura 3-12: Fluxograma do Serviço Bluetooth.

Page 38: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

38

3.6.3.1. Requisitos

Requisitos funcionais e não funcionais da aplicação web estão representados pelas tabelas 3.3 e 3.4 respectivamente.

REQ-01 O sistema deve ser capaz de cadastrar os produtos oferecidos no

comércio além de poder categorizá-los. REQ-02

O sistema deverá possibilitar um cadastro das informações do estabelecimento, assim como o mapeamento da loja.

REQ-03 Promoções de produtos poderão ser cadastradas contendo um prazo de

validade. REQ-04

Os produtos poderão ser listados e pesquisados na aplicação. REQ-05

Os produtos devem possuir código de barras, para que a busca por código de barras possa ser realizada.

REQ-06 Os produtos deverão ser mapeados utilizando o mapa da loja.

REQ-07 Uma simulação de compra com o total do valor dos produtos escolhidos

deve ser disponibilizada.

Tabela 3.3: Requisitos funcionais da aplicação web.

REQ-08 O sistema deve funcionar no Internet Explorer 6 ou no Firefox 3.

REQ-09 O sistema não deverá ser instalado em cada cliente, deve rodar

totalmente no browser, sem a instalação de outros recursos. REQ-10

Os dados devem ser apresentados sempre online. REQ-11

O sistema deve possibilitar o acesso simultâneo de 20 usuários sem perder desempenho.

Tabela 3.4: Requisitos não funcionais da aplicação web.

Page 39: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

39

3.6.3.2. Diagrama de caso de uso

Abaixo o diagrama de Caso de Uso da figura 3.13 representa as interações do usuário com o sistema web.

Figura 3-13: Diagrama de classes da aplicação web.

Page 40: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

40

3.6.3.3. Casos de uso

Caso de uso - Manter Produto Cadastro, alteração listagem e exclusão de produtos estão descritos aqui, assim como colocá-los em promoção por um determinado período com um novo preço. Pré-Condições É preciso ter ao menos uma categoria cadastrada no sistema para que o produto possa estar categorizado. Pós-Condições A aplicação dos dispositivos móveis poderá consultar os produtos cadastrados. Fluxo Principal 1 - O usuário informará os dados do produto. 2 - O usuário pode escolher a que categoria e localização na loja, o produto atual pertence. 3 - Após os campos preenchidos, o usuário decide salvar o produto. 4 - O mesmo é persistido no banco de dados do servidor. Fluxo Alternativo 3a.1 - O usuário pode optar por listar os produtos cadastradas invocando a listagem dos mesmos. 3a.2 - A listagem traz todos os produtos cadastrados no banco de dados ordenados por categoria e nome do produto. 3a.3 - O usuário pode excluir produtos pela listagem, perante uma confirmação. 3b.1 - O usuário pode, partindo da listagem, invocar a tela de cadastro de produto com um produto selecionado, para realizar alteração no mesmo. 3c.2 - O usuário pode chamar a tela de cadastro de produto pela tela de listagem de produtos. 3d.1 - O usuário pode invocar a tela de cadastrar oferta ao produto selecionado. 3d.2 - Um novo preço para o produto e período em que será válida a oferta será preenchido. 3d.3 - A promoção é relacionada ao produto e persistida no banco de dados. Fluxo de exceção 1 - Qualquer problema de conexão com o banco de dados deve ser informado ao usuário. Regras de Negócio 2.1 - 3d.2 - O período deve ser um período válido. 3.1 - Produtos só podem ser relacionados com categorias não excluídas.

Page 41: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

41

Caso de uso - Pesquisa de Produto WEB Este documento descreve como o software tratará a pesquisa de produto na WEB. Inclusões UCS - Carrinho de compra WEB. Pré-Condições Não há pré-condições para este caso de uso Pós-Condições Dados listados. Não existem dados para listagem. Fluxo Principal 1 - É apresentada ao usuário uma tela com um campo que será utilizado como filtro de pesquisa. 2 - A pesquisa é efetuada no servidor e retornada. 3 - O resultado é listado na tela. 4 - Pode-se selecionar um item da listagem e utilizar o UCS Carrinho de compra WEB. Fluxo de exceção 1 - Problemas de conexão com o banco de dados deverá ser informada ao usuário. Regras de Negócio A pesquisa não deve levar em consideração se a palavra é caixa alta ou não. A pesquisa deve procurar tanto pelo nome dos produtos como pela sua descrição.

Caso de uso - Mapa da Loja Cadastro e alteração das informações da empresa. É um mapeamento para que os produtos possam facilmente ser encontrados na loja. Pós-Condições Os setores/prateleiras cadastrados poderão ser relacionados aos produtos. Fluxo Principal 1 - O usuário informará os dados da loja caso eles ainda não existam. 2 - Setores/prateleiras poderão ser adicionados ou removidos de uma lista de setores/prateleiras contidas na loja. 3 - Após os campos preenchidos, o usuário decide salvar os dados. 4 - Os mesmos são persistidos no banco de dados do servidor.

Page 42: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

42

Fluxo de exceção 1 - Qualquer problema de conexão com o banco de dados deve ser informado ao usuário. Regras de Negócio 2.1 - Setores/prateleiras excluídas, que possuírem relacionamento com produto, serão excluídas logicamente. 3.1 - Setores/prateleiras não podem ser duplicados.

Caso de uso - Carrinho de Compras WEB Este documento descreve como o software web listará e manipulará os itens do carrinho de compra. Inclusões Não há inclusões para este caso de uso. Pré-Condições O usuário deve acessar a pagina do software utilizando o UCS - Menu do sistema WEB. Pós-Condições Totalização do valor. Armazenar os dados na sessão do browser. Fluxo Principal 1 - É carregado os dados da listagem de carrinho de compra da sessão WEB ou inicializar uma nova. 2 - Quando selecionado um item da listagem pode-se alterar a quantidade ou excluí-lo da lista.

Page 43: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

43

Caso de uso - Manter Categoria Este documento contém as informações de cadastro, alteração, relacionamentos e exclusão de categorias. Pré-Condições É necessário que as informações da empresa estejam cadastradas. Pós-Condições Produtos podem se relacionar com categorias cadastradas por este caso de uso que não estejam deletadas logicamente. Fluxo Principal 1 - O usuário informará os dados da categoria. 2 - O usuário pode escolher a que categoria a categoria atual pertence. 3 - Após os campos preenchidos, o usuário decide salvar a categoria. 4 - A mesma é persistida no banco de dados do servidor. Fluxo Alternativo 3a.1 - O usuário pode optar por listar as categorias cadastradas invocando a listagem das mesmas. 3a.2 - A listagem traz todas as categorias cadastradas no banco de dados ordenadas por nome. 3a.3 - O usuário pode excluir categorias pela listagem, perante uma confirmação. 3b.1 - O usuário pode a partir da listagem, invocar a tela de cadastro de categoria com uma categoria selecionada, para realizar alteração na mesma. 3c.2 - O usuário pode chamar a tela de cadastro de categorias pela tela de listagem de categorias. Fluxo de exceção 1 - Qualquer problema de conexão com o banco de dados deve ser informado ao usuário. Regras de Negócio 2.1 - Categorias podem se relacionar como uma árvore, onde um nó possui diversos filhos e cada filho só está relacionado com um nó. Não podem estar relacionadas com elas mesmas nem com categorias relacionadas com categorias superiores a ela. Todas as categorias que já foram cadastradas e se enquadram nesta regra estarão disponíveis na tela para o relacionamento.

3.1 - Categorias que possuem produtos vinculados só podem ser excluídas logicamente, para sumir da listagem de categorias.

Page 44: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

44

3.6.3.4. Diagramas de classe

As classes que modelam as entidades presentes no sistema estão apresentadas no diagrama de classes Camada de Negócios da figura 3.14.

O diagrama Camada de Serviço da figura 3.15 contém os métodos que o sistema deverá implementar, para que os dados possam ser sincronizados com um repositório, no caso um banco de dados.

Figura 3-14: Camada de Negócios.

Figura 3-15: Camada de Serviços.

Page 45: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

45

3.6.4. Software para Dispositivos Móveis

Este tópico contém o detalhamento de projeto necessário para a construção das aplicações dos dispositivos móveis.

O software como previsto na especificação técnica, foi desenvolvido utilizando a tecnologia J2ME, que independerá do modelo/série do dispositivo que rodará a aplicação, desde que o mesmo possua suporte a esta tecnologia.

Outros frameworks foram utilizados como o Sun Wireless Toolkit for CLDC, que contém bibliotecas que dão suporte às bibliotecas que operam diversas camadas e protocolos que rodam sobre a conexão Bluetooth.

3.6.4.1. Requisitos

Abaixo estão presentes os requisitos funcionais e não funcionais relacionados ao software que rodará nos dispositivos móveis apresentados respectivamente pelas tabelas 3.5 e 3.6.

REQ-01 Os dispositivos móveis deverão listar ofertas cadastradas no servidor.

REQ-02 Através de critérios de pesquisa, celulares apresentarão listagens de

produtos. REQ-03

Produtos podem ser pesquisados pelo número do código de barras. REQ-04

Quando o dispositivo possuir o suporte necessário, deve ser possível identificar o número do código de barra pela imagem utilizando a câmera do dispositivo.

REQ-05 Com o produto encontrado via listagem ou busca por código de barras,

deve ser possível obter algum detalhamento do produto. REQ-06

A descrição do produto deve conter a sua localização caso mapeada. REQ-07

Uma simulação de compra (carrinho de compras) pode ser realizada no dispositivo totalizando a fatura.

Tabela 3.5: Requisitos funcionais do software dos dispositivos móveis.

REQ-08 O software para o celular deverá estar disponível pra download.

REQ-09 Os dispositivos móveis deverão disponibilizar interface Bluetooth,

suporte a J2ME e o seguinte hardware mínimo: 128KB de memória não-volátil para as APIs MIDP

32KB de memória volátil para a Java runtime

Page 46: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

46

REQ-10 Os dados pesquisados, ofertas, informações sobre produtos, deverão ser

as mesmas disponibilizadas pela aplicação Web, ou seja, este software deverá trabalhar apenas como uma interface para os dados contidos no servidor, comunicados por meio dos terminais Bluetooth.

Tabela 3.6: Requisitos não funcionais do software dos dispositivos móveis.

Abaixo o diagrama de Caso de Uso da figura 3.16 representa as interações do usuário com o aplicativo do dispositivo móvel.

3.6.4.2. Diagrama de caso de uso

Figura 3.16: Diagrama de caso de uso da aplicação de dispositivos móveis.

Page 47: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

47

3.6.4.3. Casos de uso

Caso de uso - Detalhar produto CEL Este documento descreve como o sistema irá fornecer os dados do produto desejado para detalhamento. Inclusões UCS - Carrinho de Compra Pré-Condições Um produto deve ter sido selecionado para detalhamento, pela listagem de produtos, de ofertas ou identificado pelo código de barras. Pós-Condições Caso desejado, o produto detalhado pode ser adicionado à listagem (em memória) que é apresentada no carrinho de compras. Fluxo Principal 1 - Os dados do produto são buscados no servidor e apresentados na tela do dispositivo móvel. 2 - O usuário pode optar por adicionar este produto no carrinho de compras, invocando o UCS - Carrinho de Compras Celular.

Caso de uso - Carrinho de Compras Este documento descreve como o software web listará e manipulará os itens do carrinho de compra. Inclusões Não há inclusões para este caso de uso. Pré-Condições O usuário deve acessar a página do software utilizando o UCS - Menu do sistema. Pós-Condições Totalização do valor. Armazenar os dados na memória temporária do celular. Fluxo Principal 1 - É carregado os dados da listagem de carrinho de compra ou inicializar uma nova. 2 - Quando selecionado um item da listagem pode-se alterar a quantidade ou excluí-lo da lista.

Page 48: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

48

Caso de uso - Leitura por código de barra CEL Este documento descreve como o sistema lê um código de barra utilizando a câmera do dispositivo móvel e identifica o produto. Inclusões UCS - Detalhar produto Pré-Condições É necessário que o aparelho tenha câmera e o software tenha suporte para manipular a mesma Pós-Condições A conexão utilizada por este caso de uso deverá ser liberada para o uso de outros serviços. Fluxo Principal 1 - O usuário deverá estar na tela de captura do código de barras. 2 - É necessário focar o código de barras de um objeto do estabelecimento que esteja cadastrado no sistema da loja. 3 - O sistema utiliza a imagem do código de barras para decodificar seu valor. 4 - O valor é passado para pesquisa do produto no servidor. 5 - O produto é listado na tela do dispositivo móvel. 6 - É possível selecionar o registro listado e fazer uma chamada do UCS - Detalhar Produto.

Caso de uso - Conferir Oferta CEL Este documento descreve como o software do celular listará as ofertas que estão cadastradas no servidor. Inclusões UCS - Detalhar produto Pré-Condições O usuário deve estar com o software na tela de menu UCS - Menu do sistema. Pós-Condições Dados listados. Não existem dados para listagem. Fluxo Principal 1 - O usuário deverá acessar a funcionalidade através de um menu. 2 - O sistema busca no servidor as ofertas com período válido para listá-las. 3 - As ofertas são listadas na tela. 4 - É possível selecionar um dos registros listados e fazer uma chamada do UCS - Detalhar Produto.

Page 49: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

49

Fluxo Alternativo - O usuário pode optar por entrar com o valor do código de barras impresso junto ao código de barras. - É disponibilizado ao usuário um campo para ser digitado o número do código de barra. - o passo 4 do fluxo principal é invocado com o valor adquirido no passo anterior. Fluxo de exceção 1 - A leitura do código não pode ser executada porque o celular não da suporte a este recurso. 2 - O código de barras não pôde ser decodificado.

Caso de uso - Listagem de produtos por pesquisa CEL Este documento descreve como o dispositivo pode pesquisar por produtos e listá-los. Inclusões UCS - Detalhar produto UCS - Carrinho de Compra. Pós-Condições Dados listados. Não existem dados para listagem. Fluxo Principal 1 - Uma tela é apresentada para o usuário escrever alguma palavra para realizar uma pesquisa. - A aplicação busca no servidor o resultado da pesquisa. - O resultado é listado na tela. - É possível selecionar um dos registros listados e fazer uma chamada do UCS - Detalhar Produto. Fluxo Alternativo - O usuário pode optar por adicionar ao carrinho de compras algum produto selecionado, invocando o UCS - Carrinho de Compras Celular. Regras de Negócio A pesquisa não deve levar em consideração se a palavra é caixa alta ou não. A pesquisa deve procurar tanto pelo nome dos produtos como pela sua descrição.

Page 50: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

50

4. IMPLEMENTAÇÃO

Foi no inicio do desenvolvimento do projeto que foi identificado o caminho crítico. De fato, a integração do projeto foi a parte em que ocorreram as maiores dificuldades, desde a aquisição do kit Rabbit do exterior até a falta de experiência com o desenvolvimento do seu firmware e das interfaces de comunicação envolvidas.

4.1. Conhecendo o kit Rabbit e o módulo Bluetooth.

O primeiro passo consistiu em realizarmos horas de pesquisas para entender o funcionamento das partes que formam o kit Rabbit, núcleo do projeto.

Na sequência, os primeiros passos, serviram para estabelecer uma conexão do kit com um roteador wireless. Foram feitas configurações utilizando autenticação WEP(Wired Equivalent Privacy) para garantir a segurança da rede.

Com a conexão estabelecida, foi possível o envio de dados do kit para um servidor Sockets com dados fictícios. Depois de conectado e enviados os dados do kit, foi a vez de processar uma informação recebida pelo Socket e retornada ao servidor.

Com um dos nós funcionando, o esforço do desenvolvimento à utilização do modulo Bluetooth acoplado ao kit. Agora a missão foi de receber dados via Bluetooth e interpretá-los no kit. Nesta etapa começaram a surgir problemas como caracteres, palavras reservadas, sincronismo e tamanho da informação enviada. Estes problemas deveriam ser tratados de forma transparente ao servidor.

Para o envio dos dados via Bluetooth com o kit, foram encontrados os mesmo problemas do recebimento.

No roteamento da informação proveniente do WIFI para o Bluetooth, foi integrado o que foi desenvolvido e realizado testes com pouca informação (30 bytes) para garantir o funcionamento do todo. Esta limitação foi motivada pela perda de dados que estava ocorrendo com pacotes contendo um número maior de bytes. Como a intenção era poder trafegar quantidades maiores, foi necessário desenvolver um protocolo de comunicação para solucionar este problema.

4.2. Protocolo

Como os problemas eram relativos ao tráfego de dados da aplicação pelo WIFI-Bluetooth o melhor foi elaborar um protocolo usando JAVA que resolvesse os problemas descritos na implementação da integração.

O protocolo foi dividido em pacote, definições do protocolo, conexão, envio, recebimento e codificação.

Page 51: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

51

4.2.1. Pacote

Foi convencionado dividir os dados em pequenos pacotes para o envio. A classe pacote contém dois atributos os dados em bytes e identificador de cabeçalho.

4.2.2. Definições do Protocolo

Para resolver os problemas de caracteres especiais e tamanho do pacote é estabelecido um tamanho fixo para transferência de dados. Este tamanho contém alguns bytes para numerar o pacote.

Existem dois atributos que definem o tamanho do pacote: DATA_MAX_SIZE que define o tamanho de dados que serão enviados e HEADER_MAX_SIZE o tamanho do cabeçalho dos dados.

O primeiro pacote sempre é o número 0 em HEADER_MAX_SIZE e em DATA_MAX_SIZE com a informação de quantidade de pacotes que serão enviados.

A numeração do cabeçalho utiliza um conjunto de bytes contendo 8 bits em cada. Pela tabela ASCII existem 256 bytes de caracteres, cada um deles pode ser representado por 8 bits. Alguns desses caracteres são reservados tanto no Dynamic C quanto nos comandos AT do modulo Bluetooth, que pode forçar um envio para o socket, truncar os bytes ou até mesmo efetuar um backspace. O atributo HEADER_UNUSED_BITS é importante porque limita o alcance de bits que podem ser utilizados no cabeçalho, com um custo de redução na quantidade de bytes.

Os dados têm o mesmo problema que o cabeçalho, porém é necessário trafegar todos os tipos de bytes. Com isso foi planejado que cada byte seria representado por outros dois bytes. Esses bytes são representados por valor em hexadecimal e sanam o problema.

Exemplificando quando queremos mandar 25 pacotes com dois bytes de cabeçalho, o primeiro pacote possuirá o HEADER_UNUSED_BITS partindo de 64.

Dados do pacote de cabeçalho:

00-25

String trafegada convertida pelo protocolo:

@@-3235

String convertida em binário:

0100000001000000-00110011001100100011001100110101

4.2.3. Conexão

Para garantir que os dados sejam enviados de forma correta para o terminal Bluetooth, criamos uma classe que contém os métodos padrões para estabelecer conexão, enviar e receber dados utilizando os protocolos Sockets e Bluetooth.

Page 52: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

52

4.2.4. Envio e recebimento

Ambas as classes de envio e recebimento, surgiram para resolver o problema de sincronismo encontrado na hora de enviar grandes quantidades de dados. Quando trafegam os dados, a ponta que recebe os dados retorna o numero do próximo pacote que deve ser enviado para manter a seqüência correta, assim existe a garantia da integridade dos dados recebidos.

Este sincronismo trabalha diretamente com o kit rabbit que contém a lógica de informar o que foi recebido para que o emissor envie ao seu destino os dados na seqüência.

4.2.5. Codificação do Protocolo

A linguagem utilizada pelos dispositivos móveis, apesar de ser JAVA, é uma linguagem muito mais restrita, contendo apenas uma fração de toda API do J2SE. Foi necessário adequar todo o código que deveria ser reaproveitado pelo dispositivo móvel, de forma que executasse da mesma forma as instruções dos códigos tanto no servidor quanto no dispositivo móvel.(J2ME, 2009)

4.3. Aplicação web

Assim que concretizado o tráfego de dados entre os dispositivos móveis e o servidor, estava na hora de desenvolver a aplicação para demonstrar a vantagem de todo o sistema. A aplicação que projetada, é uma aplicação de demonstração, para simular um pequeno sistema de cadastro de produtos categorizados para que estes pudessem ser pesquisados pelos dispositivos móveis.

Após a elaboração das classes e o mapeamento dos dados, pudemos iniciar a construção dos CRUDs (Create, read, update and delete).

As tabelas no banco de dados são automaticamente criadas ou atualizadas, bastando uma alteração no arquivo de propriedade de configuração da persistência. Isto evitou perda de tempo com Modelo de Entidade de Relacionamento.

As telas foram criadas utilizando componentes JSF, evitando qualquer esforço em sincronizar e controlar os dados preenchidos em formulários com valores dos atributos nos objetos de negócio. Enquanto os CRUDs eram elaborados, os métodos de negócio para pesquisa e listagem dos dados já era componentizados, reaproveitado posteriormente pelo serviço de integração.

Com a massa de dados elaborada, pudemos criar a integração com o servidor em que o terminal Bluetooth estabeleceria conexão para iniciar a conversação. A integração, visando mais dinamismo, foi desenvolvida obedecendo ao padrão REST, para que possa ser consultada por qualquer outro tipo de sistema conectado a WEB, desde que conhecida as especificações que estipulamos. REST é uma padronização para Web Service escrita como a tese de doutorado de Roy Fielding, um dos principais autores da especificação do protocolo HTTP(REST, 2009).

Page 53: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

53

Definidas as interfaces de integração via REST, servidor web e o servidor Sockets estavam interligados, permitindo agora que as aplicações dos dispositivos móveis pudessem realizar consulta a dados reais, não mais os estáticos criados para teste.

Neste ponto, a aplicação já era real, onde a conversação era realizada ponta a ponta no sistema. Em seguida, restava criar diversos registros diferentes no sistema, para testar se as aplicações dos dispositivos e o Terminal BT estavam em perfeita sincronia, corrigindo os defeitos existentes de todo o sistema.

Um dos benefícios notados durante a construção foi a agilidade na construção do software e integração em diferentes ambientes, pois todo o código fonte dos diferentes aplicativos estavam todos versionados em um repositório. Isto permitia que os códigos dos diferentes módulos estivessem compartilhados entre os membros, bastando realizar um update do SVN (Repositório utilizado) e a aplicação estaria rodando igualmente em qualquer ambiente desejado(SVN, 2009).

4.4. Aplicação do dispositivo móvel

Agora com todos os dados prontos para o serem consultados foi quando demos início ao desenvolvimento da aplicação do celular.

Acoplamos o protocolo de comunicação a aplicação e desenvolvemos as telas de pesquisas descritas na etapa de projeto.

Page 54: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

54

5. VALIDAÇÕES E RESULTADOS

Os testes em tempo de desenvolvimento forma feitos com dois celulares da marca NOKIA, um smartfone (modelo N73) e um celular convencional (modelo 5310). O primeiro possui sistema operacional Symbian S60, enquanto o segundo o sistema Symbian S40, ambos com suporte a JAVA e Bluetooth. Os dois aparelhos instalaram a aplicação e executaram as consultas ao terminal com êxito.

Outros modelos também conseguiram realizar as consultas e listagens, porém existiram alguns modelos mais capados ou mais antigos que restringiam o software do aparelho controlar o Bluetooth via JAVA ou até mesmo a instalação da aplicação.

As simulações via software dos dispositivos móveis estava limitada também devido as ferramentas de debug não possuir simulação de dispositivos Bluetooth, forçando a realização de inúmeros deploys (empacotar os códigos, transmitir para os dispositivos móveis e instalar nos mesmos) seguidos de baterias de testes para validar pequenos ajustes de código.

As requisições de celulares simultâneos ao terminal BT foram limitadas a uma conexão por vez pela limitação do módulo Bluetooth, o que praticamente não impediu o acesso simultâneo dos dispositivos, afinal o tempo de conexão, consulta e resposta era rápido o suficiente para permitir que consultas fossem executadas por dispositivos diferentes com intervalo de aproximadamente 3 segundos de diferença.

Com relação ao conteúdo que estava cadastrado no sistema web e o consultado nos dispositivos móveis, foi mantida a consistência, favorecido por todos os dados estarem centralizado num banco de dados e gerenciados pela aplicação web que também fornecia o serviço de integração entre os aplicativos.

O equipamento utilizado para a aplicação web e o serviço de integração foi testado em diferentes equipamentos, onde o inferior era um notebook equipado com processador Intel(R) Core(TM)2 Duo CPU T7500 @ 2.2GHz, com 2GB de RAM, onde não foi possível notar limitação porque é uma configuração além da necessária para suportar a máquina virtual JAVA rodando uma instância do JBOSS com a aplicação e o banco de dados.

Page 55: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

55

A figura 5.1 segue o exemplo de tela do sistema do celular.

A figura 5.2 segue o exemplo de tela do sistema do web.

Figura 5-3: imagem do sistema WEB.

Figura 5-1: Imagem do sistema do celular.

Page 56: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

56

6. CONCLUSÃO

Com o rápido avanço tecnológico dos dispositivos móveis, bem como a popularização do e-commerce, o produto desenvolvido, mesmo sendo uma versão simples, pôde demonstrar seus benefícios. Ele permitiu que dois equipamentos que possuíam a distância de comunicação limitada a aproximadamente 10m (limitação do BT dos dispositivos móveis para poupar bateria) estabelecessem comunicação com distâncias que atingem o alcance de comunicações WIFI (aproximadamente 100m), sendo que ambos possuem protocolos de comunicação diferentes (protocolo Bluetooth X protocolo WIFI).

Imaginem uma loja querendo fornecer serviços via Bluetooth para o celular do cliente em toda a extensão de seu estabelecimento. Primeiramente, o estabelecimento teria que possuir um computador com Bluetooth a menos de 10m do cliente, e para atender toda a estrutura física, seriam necessários vários computadores, tornando a solução muito cara.

O tempo de consulta pelo dispositivo móvel ao sistema é relativamente pequeno (poucos segundos, dependendo do tamanho da resposta da consulta). No entanto, o projeto permitiu que um cliente realizasse uma pesquisa por vez. Caso dois usuários tentassem acessar simultaneamente, possivelmente um deles receberia um aviso de problemas de conexão e que deveria tentar realizar a consulta novamente. É possível melhorar esta questão com um modulo Bluetooth que suporte a múltiplas conexões e não seja limitado de fábrica, a uma única conexão por vez.

O projeto consistiu na construção de apenas um Terminal Bluetooth, devido ao alto custo dos componentes, que podem ser trocados por outros componentes mais baratos se em grande escala. A integração de inúmeros Terminais Bluetooth, conectados a rede do servidor, permite o sistema atender diversos ramos de comércio ou marketing eletrônico, atendendo uma enorme área física com o Bluetooth. O sistema pode ser aprimorado com algum outro terminal BT e módulos Bluetooth que aceitem mais de uma conexão simultânea, pois possuíamos apenas um kit de desenvolvimento e o módulo Bluetooth utilizado só permitia uma conexão de fábrica para fins didáticos.

Outra melhoria que pode agregar muito na solução é permitir que o aplicativo dos dispositivos móveis, pela câmera, fosse capaz de focar códigos de barra de produtos e interpretar o código dos mesmos. Assim é possível acessar informações do produto somente focando a câmara do dispositivo móvel em seu código de barra, deixando o sistema encarregado da consulta e apresentação do resultado.

Page 57: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

57

REFERÊNCIAS

UML; Padrão para documentação de software. Disponível em: <http://www.uml.org/> Acesso em : 15 de março de 2009 18:44 POSTGRESQL; Banco de dados PostgreSQL. Disponível em: <http://www.postgresql.org/about/> Acesso em : 11 de março de 2009 20:00 SOCKETS; funcionamento de Sockets com a linguagem Java. Disponível em: <http://java.sun.com/docs/books/tutorial/networking/sockets/> Acesso em: 15 de março de 2009 16:21 J2ME; Ferramenta de desenvolvimento dispositivo móveis. Disponível em: <http://java.sun.com/javame/index.jsp> Acesso em : 15 de março de 2009 16:21 JSP; Padrão de desenvolvimento de interface web. Disponível em: <http://java.sun.com/products/jsp/> Acesso em: 15 de março de 2009 16:51 JSF; Padrão de desenvolvimento de interface web. Disponível em: <http://java.sun.com/javaee/javaserverfaces/> Acesso em: 15 de março de 2009 16:31 EJB; Padrão de desenvolvimento de aplicações. Disponível em: <http://java.sun.com/products/ejb/> Acesso em: 15 de março de 2009 16:41 SERVLET; Ferramenta de desenvolvimento web. Disponível em: <http://java.sun.com/products/servlet/> Acesso em: 15 de março de 2009 18:31 WEBAPP; Servidor de aplicação web. Disponível em: <http://www.jboss.com/ products/platforms/application/> Acesso em: 15 de março de 2009 16:31 REST; Serviço web. Disponível em: <http://www.jboss.org/resteasy/> Acesso em: 15 de março de 2009 17:31 BLUETOOTH; funcionamento dos protocolos de comunicação Bluetooth Disponível em: <http://www.bluetooth.com/Bluetooth/Technology/Works/> Acesso em : 16 de março de 2009 22:00 RUP; Funcionamento da metodologia RUP Disponível em: <ftp://ftp.software.ibm.com/software/rational/web/datasheets/RUP_DS.pdf> Acesso em : 18 de março de 2009 11:50

Page 58: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

58

JBOSS; Framework para desenvolvimento web JBOSS SEAM Disponível em: <http://www.jboss.com/products/seam/> Acesso em: 05 de novembro de 2009 12:00 RABBIT; Modulo Rabbit RCM5400W Disponível em: <http://www.rabbit.com/ products/rcm5400W/docs.shtml> Acesso em: 05 de novembro de 2009 12:05 DYNAMIC C; Programação Dynamic C. Disponível em: <http://www.rabbit.com/ products/dc/docs.shtml> Acesso em: 05 de novembro de 2009 12:10 HIBERNATE; framework de persistência do Java. Disponível em: <https://www.hibernate.org/> Acesso em : 05 de novembro de 2009 12:15 KCWIREFREE; Bluetooth KC21 da KCWirefree. Disponível em: <http://kcwirefree.com/Products.aspx> Acesso em : 05 de novembro de 2009 12:20 NETBEANS; Ferramenta de desenvolvimento Disponível em: <http://netbeans.org/> Acesso em: 05 de novembro de 2009 12:20 ECLIPSE; Ferramenta de desenvolvimento eclipse. Disponível em: <http://eclipse.org> Acesso em: 05 de novembro de 2009 12:25 SVN; Repositório de Sistema Versionador de sistemas Disponível em: <http://www.assembla.com/> Acesso em: 05 de novembro de 2009 12:30 POLO MERCANTIL; Disponível em: <http://www.polomercantil.com.br/ article_display/article_display.php?article_id=beneficios_de_usar_um_telefone_celular__216> Acesso em : 16 de fevereiro de 2009 14:00 TELECO; Estatísticas de venda de celulares no Brasil. Disponível em: <http://www.teleco.com.br/ncel.asp> Acesso em: 16 de fevereiro de 2009 14:05 FRIDSCHTEIN , Renato ; O crescimento da internet e dos negócios; Disponível em: <http://webinsider.uol.com.br/index.php/2006/01/02/o-crescimento-da-internet-e-o-dos-negocios/> Acesso em: 10 de dezembro de 2009 23:00 GUASTI, Pedro; E-commerce brasileiro : o futuro é aqui e agora! Disponível em: <http://www.ebitempresa.com.br/imprensa_artigos3.asp> Acessado em: 10 de setembro de 2009 13:05 IKEDA, Internet Software ltda.; O e-commerce e o poder das redes regionais de varejo. Disponível em: <http://www.blogdaca.com/wp-content/up/2009/01/white-paper-o-e-commerce-e-o-poder-das-redes-regionais-de-varejo.pdf> Acessado em: 8 de novembro de 2009 15:10 FRIEDEN, Jonathan D.; Roche, Sean Patrick (2006-12-19), "E-Commerce: Legal Issues of the Online Retailer in Virginia" (PDF), Richmond Journal of Law & Technology 13 (2), Disponível em: <http://law.richmond.edu/jolt/v13i2/ article5.pdf > Acessado em : 15 de março de 2009 12:15

Page 59: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

59

GRAHAM, Mark (2008), "Warped Geographies of Development: The Internet and Theories of Economic Development" (PDF), Geography Compass 2 (3): 771, doi:10.1111/j.1749-8198.2008.00093.x, Disponível em: <http://geospace.co.uk/files /compass.pdf> Acessado em : 20 de abril de 2009 12:15

KESSLER, M. (2003). More shoppers proceed to checkout online. Retrieved January 13, 2004 . Disponível em : <http://www.usatoday.com/tech/news/2003-12-22-shoppers_x.htm> Acessado em : 10 de março de 2009 12:15

Page 60: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

60

APÊNDICE A

Comandos AT

Bond AT+ZV Bond [BD addr] [PIN]

Bypass AT+ZV Bypass

ChangeBaud AT+ZV ChangeBaud [rate]

ChangeDefaultBaud AT+ZV ChangeDefaultBaud [rate]

DeleteSmartCable AT+ZV DeleteSmartCable

DisableBond AT+ZV DisableBond

Discovery AT+ZV Discovery

DunConnect AT+ZV DUNConnect [BD Addr] [Service]

DunDisconnect AT+ZV DUNDisconnect

EnableBond AT+ZV EnableBond [BD addr] [PIN] [timeout]

EraseBondTable AT+ZV EraseBondTable

ExitPart AT+ZV ExitPark [BD address]

ExitSniff AT+ZV ExitSniff [BD address]

GPIOConfig AT+ZV GPIOConfig [GPIO Pin][Configuration]

GPIORead AT+ZV GPIORead [GPIO Pin]

GPIOWrite AT+ZV GPIOWrite [GPIO Pin] [Setting]

Hold AT+ZV Hold [BD address] [Hold Duration]

HostEvent AT+ZV HostEvent [Enable/Disable]

LocalName AT+ZV LocalName [name]

Park AT+ZV Park [BD address] [Beacon Period]

RemoteCmdDisconnect AT+ZV RemoteCmdDisconnect

Reset AT+ZV Reset

Security AT+ZV Security [level]

SmartCableSetup AT+ZV SmartCableSetup [BD address] [Attempts] [Interval]

Sniff AT+ZV Sniff [BD address] [Sniff Interval]

SPPConnect AT+ZV SPPConnect [BD Addr] [Service]

Page 61: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

61

SPPDisconnect AT+ZV SPPDisconnect

UpdateInquiryScan AT+ZV UpdateInquiryScan [mode] [duration] [interval]

UpdatePageScan AT+ZV UpdatePageScan [mode] [duration] [interval]

Version AT+ZV Version

Tabela 0.1: Lista de comandos estilo AT usados para controlar o módulo Bluetooth.

Page 62: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

62

APÊNDICE B

Manual de instalação aplicação web.

============================================ Estas são instruções gerais para deploy da aplicação web ACBlue. Como realizar o deploy no JBoss AS ---------------------------------------------- 1. Baixe e extraia JBoss AS 4.2.3.GA de: http://labs.jboss.com/jbossas/downloads 2. Copie a pasta acblue-app-1.0.0.ear e o arquivo ACBlueWEB-dev-ds.xml para a pasta jboss-4.2.3.GA/server/default/deploy/ 3. Crie um usuário e database no PostgreSQL para o sistema. 4. Edite as configurações de servidor, database, usuário e senha do banco em ACBlueWEB-dev-ds.xml. 5. Inicie o JBoss AS escrevendo "./run.sh" (no Linux/Unix) ou "run" (no Windows) no diretório jboss-4.2.3.GA/bin obs.: é preciso ter o java rodando na máquina. 6. Aponte seu browser web para: http://localhost:8080/acblue

Tabela 0.1: Manual de instalação da aplicação web.

Page 63: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

63

ACBLUE – AUTOMAÇÃO COMERCIAL COM BLUETOOTH

Guilherme Tucunduva de Paiva

[email protected]

Marco Polo Rauth Filho

[email protected]

RESUMO

Com a crescente utilização da internet, aplicações como o comércio eletrônico se disseminaram de forma rápida devido às suas facilidades. Como qualquer outro serviço, o comércio eletrônico possui vantagens e desvantagens. Uma das vantagens é a possibilidade da pesquisa de produtos com informações sobre disponibilidade ou localização com grande facilidade e rapidez. A idéia deste projeto é trazer estas vantagens à automação comercial, possibilitando usuários com posse de um aparelho celular, efetuar consultas com todas as comodidades do comércio eletrônico, dentro de lojas, mercados, bares e outros.

Palavras-chave: e-commerce, Bluetooth, dispositivos móveis, wireless.

ABSTRACT

With the growth of internet use, e-commerce application has spread in a fast way because of its ease of use. Like any other service, e-commerce has advantages and issues. One of the advantages is the search of product information such as availability and location easily and quickly. The goal of this project is to bring these e-commerce advantages, allowing the users with mobile devices to search with all the comfort of an e-commerce website but in

markets, bars, restaurants and other places.

Keywords: e-commerce, Bluetooth, mobile devices, wireless.

Page 64: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

64

1. INTRODUÇÃO

Este projeto demonstra como com um dispositivo móvel dentro das mediações de um estabelecimento comercial, o cliente pode adquirir o software e realizar diversas tarefas, como listar produtos, conferir ofertas, detalhar a descrição dos produtos, selecionar item com a leitura de código de barras do produto desejado feito com o celular, etc.

Com módulos Bluetooth espalhados pelo estabelecimento, conectados a um servidor por rede Wireless, é possível distribuir os serviços para todas as pessoas que tenham interesse ou curiosidade da nova funcionalidade.

A solução contém uma interface online para acesso pela internet tanto pelo

browser, como pelo celular, caso o cliente não se encontre na loja ou por terminais disponíveis pela loja. Estas soluções utilizam os mesmos serviços dos internos ao estabelecimento.

O seguinte diagrama representa em blocos como o projeto está organizado.

2. ESPECIFICAÇÃO

A implementação do projeto é composta de três elementos, sendo eles:

Terminal Bluetooth contendo um rabbit RCM54000W que possui uma saída WiFi 802.11b/g e entradas rs232 possibilitando conectar o modulo Bluetooth KC21.A programação do firmware foi realizada com Dynamic C.

Software para dispositivos móveis utilizando J2ME.

Software para fazer o controle dos dados com interface WEB utilizando Java com o framework JBoss Seam , hibernate , Web Services e banco de dados postgresql.

3.1. ESPECIFICAÇÃO DE HARDWARE

O hardware desenvolvido neste projeto consiste em fazer um prolongamento do serviço Bluetooth, que tem uma distância de uso limitada em aproximadamente 10 metros para estabelecer e manter sua conexão devido ao grande consumo de bateria, acoplando o módulo Bluetooth a uma rede WIFI que possui aumentar a distancia em pelo até 100 metros.

3.2. ESPECIFICAÇÃO DE SOFTWARE

O software deste projeto tem como principal função integrar as diversas tecnologias envolvidas e unificar os serviços em um único ponto para que todos os processos sejam executados pelos mesmos métodos. Para que isso seja possível escolhemos utilizar a metodologia Rational Unified Process RUP.

Foi criado um sistema e-commerce como exemplo para que possamos demonstra o funcionamento de todo o projeto.

Os softwares implementados se subdividem em 4 sendo eles os seguintes:

Software de Protocolo ACBlue que encapsula as requisições para enviar de um dispositivo móvel através do Bluetooth até o software integrador por WiFi.

Software para o servidor web onde é possível atualizar os dados do estabelecimento e realizar consultas genéricas também disponibilizadas por Web Service.

Software para dispositivo móvel que faz consultas

Software integrador de sistemas através de um Web Service e manda informações para o Terminal BT.

Page 65: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

65

3.3. PROTOCOLO

Como os problemas eram relativos ao tráfego de dados da aplicação pelo WIFI-Bluetooth achamos melhor convencionar um protocolo usando JAVA que resolvesse os problemas descritos na implementação da integração.

O protocolo foi dividido em pacote, estrutura, conexão, envio e recebimento.

Pacote

Convencionamos dividir os dados em pequenos pacotes para o envio. A classe pacote contem 2 atributos os dados em bytes e identificador de cabeçalho.

Estrutura

Para resolver os problemas de caracteres especiais e tamanho do pacote criamos um tamanho fixo para transferência de dados. Este tamanho contém alguns bytes para numerar o pacote.

Existem dois atributos que definem o tamanho do pacote: DATA_MAX_SIZE que define o tamanho de dados que serão enviados e HEADER_MAX_SIZE o tamanho do cabeçalho dos dados.

O primeiro pacote sempre é o numero 0 em HEADER_MAX_SIZE e em DATA_MAX_SIZE com a informação de quantidade de pacotes que serão enviados.

A numeração do cabeçalho utiliza um conjunto de bytes contendo 8 bits em cada. Pela tabela ASCII existem 256 bytes de caracteres, cada um deles pode ser representado por 8 bits. Alguns desses caracteres são reservados tanto no Dynamic C quanto nos comandos AT do modulo Bluetooth, que pode forçar um envio para o Socket, truncar os bytes ou até mesmo efetuar um backspace. O atributo HEADER_UNUSED_BITS é importante porque limita o alcance de bits que podemos utilizar no cabeçalho, com um custo de redução na quantidade de bytes.

Os dados têm o mesmo problema que o cabeçalho, porém precisamos trafegar todos os tipos de bytes. Com isso estipulamos que cada byte seria

representado por outros dois bytes. Esses bytes são representados por valor em hexadecimal e sanam o problema.

Exemplificando quando queremos mandar 25 pacotes com dois bytes de cabeçalho, o primeiro pacote possuirá o HEADER_UNUSED_BITS partindo de 64.

String trafegada:

@@-3235

String convertida em binário:

0100000001000000-00110011001100100011001100110101

Representação do pacote de cabeçalho:

00-25

Conexão

Para garantir que os dados sejam enviados de forma correta para o terminal Bluetooth, criamos uma classe que contém os métodos padrões para estabelecer conexão, enviar e receber dados utilizando os protocolos Sockets e Bluetooth.

Envio e recebimento

Ambas as classes de envio e recebimento, surgiram para resolver o problema de sincronismo encontrado na hora de enviar grandes quantidades de dados. Quando trafegamos os dados, a ponta que recebe os dados, retorna o numero do próximo pacote que deve ser enviado para manter a seqüência correta, assim garantimos a integridade dos dados que recebemos.

Este sincronismo trabalha diretamente com o kit rabbit que contém a lógica de informar o que foi recebido para que o emissor envie ao seu destino os dados na seqüência.

3.4. APLICAÇÃO WEB

A aplicação que projetamos, é uma aplicação de demonstração, para simular

Page 66: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

66

um pequeno sistema de cadastro de produtos categorizados para que estes pudessem ser pesquisados pelos dispositivos móveis.

Após a elaboração das classes e o mapeamento dos dados, pudemos iniciar a construção dos CRUDs (Create, read, update and delete).

As tabelas no banco de dados são automaticamente criadas ou atualizadas, bastando uma alteração no arquivo de propriedade de configuração da persistência. Isto evitou perda de tempo com Modelo de Entidade de Relacionamento.

As telas foram criadas utilizando componentes JSF, evitando qualquer esforço em sincronizar e controlar os dados preenchidos em formulários com valores dos atributos nos objetos de negócio. Enquanto os CRUDs eram elaborados, os métodos de negócio para pesquisa e listagem dos dados já era componentizados, reaproveitado posteriormente pelo serviço de integração.

Com a massa de dados elaborada, pudemos criar a integração com o servidor em que o terminal Bluetooth estabeleceria conexão para iniciar a conversação. A integração, visando mais dinamismo, foi desenvolvida obedecendo ao padrão REST, para que possa ser consultada por qualquer outro tipo de sistema conectado a WEB, desde que conhecida as especificações que estipulamos. REST é uma padronização para Web Service escrita como a tese de doutorado de Roy Fielding, um dos principais autores da especificação do protocolo HTTP.

Definidas as interfaces de integração via REST, servidor web e o servidor Sockets estavam interligados, permitindo agora que as aplicações dos dispositivos móveis pudessem realizar consulta a dados reais, não mais os estáticos criados para teste.

3.5. APLICAÇÃO PARA DISPOSITIVO MÓVEL

Para a aplicação do dispositivo móvel desenvolvemos as interfaces para consumir os serviços de consulta da

aplicação WEB.Os frameworks utilizados como o Sun Wireless Toolkit for CLDC, que contém bibliotecas que dão suporte às bibliotecas que operam diversas camadas e protocolos que rodam sobre a conexão Bluetooth.

3.6. APLICAÇÃO INTEGRADORA

Esta aplicação é responsável por fazer a ponte entre o Terminal BT e o Servidor de aplicação. O programa foi desenvolvido em Java e fica escutando as portas sockets para receber e enviar dados para o Web Service. Por sua vez o retorno é enviado para a mesma porta sockets que enviou os dados.

3.7. FIRMWARE

O firmware foi desenvolvido para atuar em conjunto com o protocolo ACBlue roteando os pacotes de topologias de redes e protocolos diferentes.

No projeto foram utilizadas as redes Bluetooth e WiFi com a interface de comunicação Serial Port Profile SPP e Sockets respectivamente.

O funcionamento é receber pacotes por Bluetooth e enviar via Sockets. Aguardar o retorno do Sockets e enviar para o Bluetooth.

3.8 INTERFACE DO USUÁRIO

Foram utilizadas as interfaces padrões do J2ME e do framework JBoss Seam.

4. TESTES E VALIDAÇÕES

Os testes em tempo de desenvolvimento forma feitos com dois celulares da marca NOKIA, um smartfone (modelo N73) e um celular convencional (modelo 5310). O primeiro possui sistema operacional Symbian S60, enquanto o segundo o sistema Symbian S40, ambos com suporte a JAVA e Bluetooth. Os dois aparelhos instalaram a aplicação e executaram as consultas ao terminal com êxito.

Outros modelos também conseguiram realizar as consultas e listagens, porém existiram alguns modelos mais limitados ou

Page 67: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

67

mais antigos que restringiam o software do aparelho controlar o Bluetooth via JAVA ou até mesmo a instalação da aplicação.

As simulações via software dos dispositivos móveis estava limitada também devido as ferramentas de DEBUG não possuir simulação de dispositivos Bluetooth, forçando a realização de inúmeros deploys (empacotar os códigos, transmitir para os dispositivos móveis e instalar nos mesmos) seguidos de baterias de testes para validar pequenos ajustes de código.

As requisições de celulares simultâneos ao terminal BT foram limitadas a uma conexão por vez pela limitação do módulo Bluetooth, o que praticamente não impediu o acesso simultâneo dos dispositivos, afinal o tempo de conexão, consulta e resposta era rápido o suficiente para permitir que consultas fossem executadas por dispositivos diferentes com intervalo de aproximadamente 3s de diferença.

Com relação ao conteúdo que estava cadastrado no sistema web e o consultado nos dispositivos móveis, foi mantida a consistência, favorecido por todos os dados estarem centralizado num banco de dados e gerenciados pela aplicação web que também fornecia o serviço de integração entre os aplicativos.

O equipamento utilizado para a aplicação web e o serviço de integração foi testada em diferentes equipamentos, onde o inferior era um notebook equipado com processador Intel(R) Core(TM)2 Duo CPU T7500 @ 2.2GHz, com 2GB de RAM, onde não foi possível notar limitação porque é uma configuração além da necessária para suportar a máquina virtual JAVA rodando uma instância do JBOSS com a aplicação e o banco de dados.

5. CONCLUSÃO

A meta foi atingida, pois permitimos a comunicação de 2 equipamentos que possuíam a distância de comunicação limitada a aproximadamente 10m (limitação do BT dos dispositivos móveis para poupar bateria) com distâncias que atingem o alcance de comunicações WI-FI (aproximadamente 100m), sendo que ambos possuem protocolos de comunicação diferentes (protocolo Bluetooth X protocolo WIFI).

O sistema pode ser aprimorado com algum outro terminal BT e módulos BT que aceite mais de uma conexão simultânea, pois possuíamos apenas um kit de desenvolvimento e o módulo BT utilizado só permitia uma conexão de fábrica para fins didáticos.

REFERÊNCIAS

Referências para UML http://www.uml.org/ 15 de março de 2009 18:44

Referências para Banco de Dados Postgres http://www.postgresql.org/about/ 11 de março de 2009 20:00

Referência para tipo de licenças http://www.opensource.org/licenses/bsd-license.php 11 de março de 2009 20:00

Referência para funcionamento de Sockets com a linguagem Java http://java.sun.com/docs/books/tutorial/networking/sockets/ 15 de março de 2009 16:31

Referência para o funcionamento dos protocolos de comunicação Bluetooth

http://www.bluetooth.com/Bluetooth/Technology/Works/ 16 de março de 2009 22:00

Referência do funcionamento da metodologia RUP ftp://ftp.software.ibm.com/software/rational/web/datasheets/RUP_DS.pdf 18 de março de 2009 11:50

Referência do funcionamento do framework JBOSS SEAM http://www.jboss.com/products/seam/ 05 de novembro de 2009 12:00

Referência do modulo Rabbit RCM 5400W http://www.rabbit.com/products/rcm5400W/docs.shtml 05 de novembro de 2009 12:05

Referência da linguagem de programação Dynamic C http://www.rabbit.com/products/dc/docs.shtml 05 de novembro de 2009 12:10

Page 68: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

68

Referência do framework de persistência do Java https://www.hibernate.org/ 05 de novembro de 2009 12:15

Referência do modulo Bluetooth KC21 da KCWirefree http://kcwirefree.com/Products.aspx 05 de novembro de 2009 12:20

Referência de ferramenta de desenvolvimento http://netbeans.org/ 05 de novembro de 2009 12:20

Referência de ferramenta de desenvolvimento eclipse http://eclipse.org 05 de novembro de 2009 12:25

Repositório de Sistema Versionador de sistemas http://www.assembla.com/ 05 de novembro de 2009 12:30

Page 69: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

69

MANUAL DO USUÁRIO ACBLUE

Page 70: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

70

1 CELULAR

1.1 TELA DE APRESENTAÇÃO DO SISTEMA.

1.2 MENU PRINCIPAL DO SISTEMA

Tela de inicialização do sistema do celular com uma logo de apresentação.

A tela principal do software do celular é onde se encontra o menu do sistema para acessar suas funcionalidades.

Campos editáveis :

- Nenhum.

Funções :

- Abrir a pesquisa de produto por descrição.

- Abrir a pesquisa de produto por código de barra.

- Abrir uma listagem de ofertas disponíveis.

- Abrir a listagem de carrinho de compras.

- Abrir a pesquisa de produto por uma determinada categoria.

- Sair da aplicação

Validações :

- Nenhuma.

Avisos :

- Problemas ao conectar com o servidor.

Page 71: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

71

1.3 FILTRO DE PESQUISA DE PRODUTO

1.4 FILTRO CATEGORIA

A tela de filtro de pesquisa serve para o usuário informar os dados o produto as ser procurado pelo sistema.

Campos editáveis :

- O campo Nome será utilizado para procurar na descrição e pelo nome do produto.

Funções :

- Realizar a pesquisa.

- Voltar para a tela anterior.

Validações :

- O usuário deve informar ao menos 3 caracteres.

Avisos :

- Problemas ao conectar com o servidor.

A tela de filtro de categoria é utilizada para o usuário informar os dados da categoria de um determinado produto as ser procurado pelo sistema.

Campos editáveis :

- O campo Categoria será utilizado para procurar pelo nome da categoria.

Funções :

- Realizar a pesquisa.

- Voltar para a tela anterior.

Validações :

- O usuário deve informar ao menos 3 caracteres.

Avisos :

- Problemas ao conectar com o servidor.

Page 72: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

72

1.5 CARRINHO DE COMPRAS

1.6 LISTAGEM DE CATEGORIAS

A tela de Carrinho de Compras lista para o usuário os produtos selecionados para o usuário.

Campos editáveis :

- Nenhum.

Funções :

- Abrir Descrição do Produto.

- Voltar para a tela anterior.

Validações :

- Nenhum.

Avisos :

- Problemas ao conectar com o servidor.

A tela de Categorias retorna uma lista para o usuário do filtro utilizado na pesquisa.

Campos editáveis :

- Nenhum.

Funções :

- Realizar a pesquisa.

- Voltar para a tela anterior.

Validações :

- O usuário deve informar ao menos 3 caracteres.

Avisos :

- Problemas ao conectar com o servidor.

Page 73: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

73

1.7 LISTAGEM DA PESQUISA DE PRODUTOS

1.8 DESCRIÇÃO

A tela de Pesquisa de Produto lista para o usuário o retorno da pesquisa sistema.

Campos editáveis :

-Nenhum.

Funções :

- Ok adiciona o produto no carrinho de compras

- Voltar para a tela principal do sistema.

Validações :

- Nenhuma.

Avisos :

-Nenhum.

A tela de Descrição mostra os dados detalhados do produto tal como categoria, descrição , localização , valor e quantidade.

Campos editáveis :

- O campo quantidade só pode ser inserido números inteiros.

Funções :

- Alterar Quantidade.

- Excluir produto do carrinho de compras.

- Voltar para tela anterior.

Validações :

- Nenhuma.

Avisos :

- Nenhum.

Page 74: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

74

1.9 TELA DE AVISO

A tela de Aviso mostra os problemas que ocorreram com o sistema.

Campos editáveis:

- Nenhum.

Funções :

- Done que retorna a tela anterior do sistema.

Validações :

- Nenhuma.

Avisos :

- Nenhum.

Page 75: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

75

2 APLICAÇÃO WEB

2.1 PÁGINA INICIAL DO SISTEMA

A página inicial do sistema é acessada pelo link http://localhost:8080/acblue e contém uma listagem de categorias.

Campos editáveis:

- Campo de Pesquisa : Busca produtos ou categorias no sistema.

Menu :

- Principal : Link que retorna para a pagina inicial do sistema.

- Pesquisar :Botão que efetua a pesquisa .

- Carrinho de compras :Link que mostra o carrinho de compras do usuário.

- Entrar : Link entra na tela de login do sistema.

Funções :

-Selecionar acessórios por categoria.

Validações :

- Nenhuma.

Page 76: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

76

2.2 LISTAGEM DE PRODUTOS POR UMA CATEGORIA

A listagem de produtos por Categorias retorna todos os produtos que o usuário selecionou de uma categoria.

Campos editáveis:

- Campo de Pesquisa que busca produtos ou categorias no sistema.

Menu :

- Principal : Link que retorna para a pagina inicial do sistema.

- Pesquisar :Botão que efetua a pesquisa .

- Carrinho de compras :Link que mostra o carrinho de compras do usuário.

- Entrar : Link entra na tela de login do sistema.

Funções :

-Adicionar ao Carrinho de Compras.

Validações :

- Nenhuma.

Page 77: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

77

2.3 LISTAGEM DO CARRINHO DE COMPRAS

A página de listagem de carrinhos de compra é o local em que o usuário faz o controle da quantidade e do que foi selecionado na compra.

Campos editáveis:

- Quantidade de itens a escolher.

Funções :

- Remover o item da lista.

- Fechar a tela de carrinho de compras.

Validações :

- Quantidade deve ser numérica é inteira.

Avisos :

- Nenhum.

Page 78: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

78

2.4 PAGINA DE LOGIN DO SISTEMA

A página de login do sistema é utilizada para dar manutenção no conteúdo do sistema.

Campos editáveis:

- Campo de Pesquisa que busca produtos ou categorias no sistema.

- Nome do usuário para logar no sistema.

- Senha do usuário para logar no sistema.

- Lembrar senha.

Menu :

- Principal : Link que retorna para a pagina inicial do sistema.

- Pesquisar :Botão que efetua a pesquisa.

- Carrinho de compras :Link que mostra o carrinho de compras do usuário.

- Entrar : Link entra na tela de login do sistema.

Funções :

- Logar : Botão que efetua o login do sistema.

Validações :

- O usuário existe.

-Senha incorreta.

Page 79: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

79

2.5 CADASTRO DA EMPRESA

A página de cadastro de empresa é onde usuário preenche os dados do seu estabelecimento.

Campos editáveis:

- Campo de Pesquisa que busca produtos ou categorias no sistema.

- Nome da empresa.

- Descrição da empresa.

Menu :

- Principal : Link que retorna para a pagina inicial do sistema.

- Pesquisar :Botão que efetua a pesquisa .

- Empresa :Link para manter os dados da empresa.

- Localização :Link para manter as localizações do estabelecimento.

- Categoria :Link para manter as categorias do estabelecimento.

- Produto : Link para manter os produtos do estabelecimento.

- Oferta: Link para manter as ofertas do estabelecimento.

- Sair : Link entra na tela de login do sistema.

Funções :

- Alterar dados do estabelecimento.

Validações :

- * Campos obrigatórios.

Page 80: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

80

2.6 LISTAGEM DE LOCALIZAÇÃO

A página de listagem de localização é utilizada selecionar um item de localização para edição ou abrir a

inserção.

Campos editáveis:

- Campo de Pesquisa que busca produtos ou categorias no sistema.

Menu :

- Principal : Link que retorna para a pagina inicial do sistema.

- Pesquisar :Botão que efetua a pesquisa.

- Empresa :Link para manter os dados da empresa.

- Localização :Link para manter as localizações do estabelecimento.

- Categoria :Link para manter as categorias do estabelecimento.

- Produto : Link para manter os produtos do estabelecimento.

- Oferta: Link para manter as ofertas do estabelecimento.

- Sair : Link entra na tela de login do sistema.

Funções :

- Adicionar nova localização.

Validações :

- Nenhuma.

Page 81: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

81

2.7 CADASTRO DE LOCALIZAÇÃO

A página de cadastro de localização para incluir, alterar ou excluir dados de localização.

Campos editáveis:

- Campo de Pesquisa que busca produtos ou categorias no sistema.

- Sigla do setor e/ou local.

- Nome do setor e/ou local.

Menu :

- Principal : Link que retorna para a pagina inicial do sistema.

- Pesquisar :Botão que efetua a pesquisa.

- Empresa :Link para manter os dados da empresa.

- Localização :Link para manter as localizações do estabelecimento.

- Categoria :Link para manter as categorias do estabelecimento.

- Produto : Link para manter os produtos do estabelecimento.

- Oferta: Link para manter as ofertas do estabelecimento.

- Sair : Link entra na tela de login do sistema.

Funções :

- Alterar dados do estabelecimento.

Validações :

- * Campos obrigatórios.

Page 82: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

82

2.8 LISTAGEM DE CATEGORIAS

A página de listagem de categorias é utilizada para edição ou abrir a inserção.

Campos editáveis:

- Campo de Pesquisa que busca produtos ou categorias no sistema.

Menu :

- Principal : Link que retorna para a pagina inicial do sistema.

- Pesquisar :Botão que efetua a pesquisa.

- Empresa :Link para manter os dados da empresa.

- Localização :Link para manter as localizações do estabelecimento.

- Categoria :Link para manter as categorias do estabelecimento.

- Produto : Link para manter os produtos do estabelecimento.

- Oferta: Link para manter as ofertas do estabelecimento.

- Sair : Link entra na tela de login do sistema.

Funções :

- Adicionar nova categoria.

Validações :

- Nenhuma.

Page 83: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

83

2.9 CADASTRO DE CATEGORIA

A página de cadastro de categoria para incluir, alterar ou excluir dados de categoria.

Campos editáveis:

- Campo de Pesquisa que busca produtos ou categorias no sistema.

- Combo de categorias superior.

- Nome da Categoria.

Menu :

- Principal : Link que retorna para a pagina inicial do sistema.

- Pesquisar :Botão que efetua a pesquisa.

- Empresa :Link para manter os dados da empresa.

- Localização :Link para manter as localizações do estabelecimento.

- Categoria :Link para manter as categorias do estabelecimento.

- Produto : Link para manter os Produtos do estabelecimento.

- Oferta: Link para manter as ofertas do estabelecimento.

- Sair : Link entra na tela de login do sistema.

Funções :

- Alterar dados do estabelecimento.

Validações :

- * Campos obrigatórios.

Page 84: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

84

2.10 LISTAGEM DE PRODUTOS

A página de listagem de produtos é utilizada para edição ou abrir a inserção.

Campos editáveis:

- Campo de Pesquisa que busca produtos ou categorias no sistema.

Menu :

- Principal : Link que retorna para a pagina inicial do sistema.

- Pesquisar :Botão que efetua a pesquisa.

- Empresa :Link para manter os dados da empresa.

- Localização :Link para manter as localizações do estabelecimento.

- Categoria :Link para manter as categorias do estabelecimento.

- Produto : Link para manter os produtos do estabelecimento.

- Oferta: Link para manter as ofertas do estabelecimento.

- Sair : Link entra na tela de login do sistema

Funções :

- Adicionar nova categoria.

Validações :

- Nenhuma.

Page 85: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

85

2.11 CADASTRO DE PRODUTO

A página de cadastro de categoria é onde usuário preenche os dados da categoria.

Campos editáveis:

- Campo de pesquisa que busca produtos ou categorias no sistema.

- Combo de categorias.

- Combo de localizações.

-Nome do produto.

-Descrição do produto.

-Valor do produto.

-Código de barra do produto.

Menu :

- Principal : Link que retorna para a pagina inicial do sistema.

- Pesquisar :Botão que efetua a pesquisa .

- Empresa :Link para manter os dados da empresa.

- Localização :Link para manter as localizações do estabelecimento.

- Categoria :Link para manter as categorias do estabelecimento.

- Produto : Link para manter os produtos do estabelecimento.

- Oferta: Link para manter as ofertas do estabelecimento.

- Sair : Link entra na tela de login do sistema.

Funções :

- Alterar dados do estabelecimento.

Validações :

- * Campos obrigatórios.

Page 86: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

86

2.12 LISTAGEM DE OFERTAS

A página de listagem de ofertas é utilizada para edição ou abrir a inserção.

Campos editáveis:

- Campo de Pesquisa que busca produtos ou categorias no sistema.

Menu :

- Principal : Link que retorna para a pagina inicial do sistema.

- Pesquisar :Botão que efetua a pesquisa.

- Empresa :Link para manter os dados da empresa.

- Localização :Link para manter as localizações do estabelecimento.

- Categoria :Link para manter as categorias do estabelecimento.

- Produto : Link para manter os produtos do estabelecimento.

- Oferta: Link para manter as ofertas do estabelecimento.

- Sair : Link entra na tela de login do sistema.

Funções :

- Adicionar nova oferta.

Validações :

- Nenhuma.

Page 87: Automação comercial com Bluetooth ACBlue · para melhor entender o assunto. São eles o e-commerce, dispositivos móveis e Bluetooth. 2.1.E-commerce Comércio eletrônico, também

87

2.13 CADASTRO DE OFERTAS

A página de cadastro de ofertas é utilizada para incluir, alterar ou excluir dados de ofertas

Campos editáveis:

- Campo de Pesquisa que busca produtos ou categorias no sistema.

-Combo de categorias filtra os produtos listados.

-Combo de produtos.

-Data Inicial

-Data Final

-Valor

Menu :

- Principal : Link que retorna para a pagina inicial do sistema.

- Pesquisar :Botão que efetua a pesquisa.

- Empresa :Link para manter os dados da empresa.

- Localização :Link para manter as localizações do estabelecimento.

- Categoria :Link para manter as categorias do estabelecimento.

- Produto : Link para manter os produtos do estabelecimento.

- Oferta: Link para manter as ofertas do estabelecimento.

- Sair : Link entra na tela de login do sistema.

Funções :

- Adicionar nova oferta.

Validações :

- Nenhuma.