unversidade positivo nÚcleo de ciÊncias exatas e ... · tecnológica que tem como objetivo...

43
UNVERSIDADE POSITIVO NÚCLEO DE CIÊNCIAS EXATAS E TECNOLÓGICAS ENGENHARIA DA COMPUTAÇÃO Luiz Henrique Sehnem Orientador: Maurício Perretto SISTEMA INTELIGENTE DE ENTREGA DE GÁS DE COZINHA Curitiba, 2015

Upload: ledat

Post on 26-Jan-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

UNVERSIDADE POSITIVO

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

ENGENHARIA DA COMPUTAÇÃO

Luiz Henrique Sehnem

Orientador: Maurício Perretto

SISTEMA INTELIGENTE DE

ENTREGA DE GÁS DE COZINHA

Curitiba, 2015

RESUMO

Devido ao crescimento da ideia e aplicações da internet das coisas, uma revolução

tecnológica que tem como objetivo conectar os objetos usados diariamente na rede mundial de

computadores, cada vez mais surgem dispositivos do dia a dia como: eletrodomésticos, meios

de transporte, tênis, roupas e maçanetas conectadas à Internet e a outros dispositivos, como

computadores e Smartphones.

A ideia é que o mundo físico e o digital interajam de uma forma transparente, através de

dispositivos que se comuniquem com os outros e os data centers e suas nuvens. Aparelhos

vestíveis, como o Google Glass e o Smartwatch 2, da Sony, transformam a mobilidade e a

presença da Internet em diversos objetos em uma realidade cada vez mais próxima.

Este trabalho, consiste no desenvolvimento de um sistema para monitorar e realizar

pedidos de botijões dos modelos p5, p8, p13 e p45, nos quais a medição da quantidade de gás

dentro do botijão é obtida com base no peso total do mesmo e temperatura ambiente.

O sistema utiliza a nuvem para a comunicação entre os dispositivos, com um servidor

que armazena informações de cadastros de clientes e fornecedores. Pela medição da quantidade

de gás contida no botijão e feita uma previsão de quando o mesmo acabará.

O usuário pode realizar um pedido a qualquer distribuidora mais próxima. As

distribuidoras físicas cadastradas possuem uma aplicação web para acessar e gerenciar suas

entregas e os distribuidores móveis possui um aplicativo Android instalado em Smartphone

para logística.

ABSTRACT

Due to the growth of the idea and application of Internet of things, a technological

revolution that aims to connect the objects used daily in the world wide web increasingly arise

devices of everyday life such as home appliances, transportation, shoes, clothes and handles

connected to the Internet and to other devices such as computers and Smartphones.

The idea is that the physical world and the digital interact in a transparent manner,

through devices that communicate with each other and their data centers and clouds. Wearable

devices, such as Google Glass and the SmartWatch 2, Sony, transform mobility and Internet

presence in several objects into a reality ever closer.

This work is to develop a system to monitor and perform cylinders applications models

p5, p8, p13 and p45, in which the measurement of the amount of gas within the cylinder is

obtained based on the total weight of it and room temperature.

The system uses the cloud for communication between devices with a server that stores

information of customers and suppliers entries. By measuring the amount of gas contained in the

cylinder and made a prediction of when it will end.

The user can place an order at any nearest distributor. The registered physical distributors

have a web application to access and manage their deliveries and mobile distributors have an

Android application installed on Smartphone for logistics.

SUMÁRIO

1 INTRODUÇÃO ................................................................................................................................ 5

1.1 OBJETIVO GERAL ................................................................................................................... 5

1.2 OBJETIVOS ESPECÍFICOS ..................................................................................................... 5

2 FUNDAMENTAÇÃO TEÓRICA .................................................................................................... 7

2.1 APLICAÇÕES COMERCIAIS DE MEDIDORES DE GÁS DE COZINHA .................................. 9

2.2 GPS ............................................................................................................................................. 10

2.3 CRIPTOGRAFIAS ..................................................................................................................... 11

2.4 PROJETO SIMILAR DE TCC ................................................................................................... 12

3 ESPECIFICAÇÃO TÉCNICA ........................................................................................................... 14

3.1 ANÁLISE DE REQUISITOS ..................................................................................................... 15

3.2 RESTRIÇÕES ............................................................................................................................. 16

3.3 DESCRIÇÃO DAS PARTES COMPONENTES E INTERFACEAMENTO ENTRE SISTEMAS

.................................................................................................................................................................................................... 16

3.3.1 DESCRIÇÃO HARDWARE EMBARCADO COM ANDROID ........................................... 21

3.3.2 DESCRIÇÃO SERVIDOR WEB .......................................................................................... 21

4 DESENVOLVIMENTO .................................................................................................................... 23

4.1 HARDWARE .............................................................................................................................. 23

4.2 SOFTWARE ............................................................................................................................... 26

5 TESTES E RESULTADOS .............................................................................................................. 38

6 CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS .............................................................. 42

7 BIBLIOGRAFIA .................................................. ............................................................................ 43

5

1 INTRODUÇÃO

Com o aumento do uso de dispositivos interligados à rede mundial de computadores tem

incentivado soluções cada vez mais próximas das necessidades das pessoas nos mais variados

ambientes. Em residências, um sistema para monitorar a quantidade de gás de cozinha

eletronicamente, com indicador da quantidade e proximidade do final do gás para botijões tipo

p5, p8, p13 e p45, trazendo conforto aos moradores. Ainda mais, se este sistema realizar o

pedido de forma inteligente, procurando obter o melhor desempenho na entrega para o cliente,

encontrando a distribuidora com a menor distância da residência.

1.1 OBJETIVO GERAL

Este projeto é um sistema de monitoramento de gás GLP - Gás Liquefeito de Petróleo, e

previsão para realizar a troca do botijão, utilizando como grandezas o peso do botijão e a

temperatura ambiente para realizar o cálculo da quantidade de GLP existente no botijão. O

sistema possui um aplicativo Android para realizar pedidos e monitorar o gás, um sistema Web

para distribuidora realizar a logística da entrega e um aplicativo Android para enviar informações

do GPS - Global Positioning System a um servidor Web, para distribuidoras móveis.

1.2 OBJETIVOS ESPECÍFICOS

1. Estudar sistemas de monitoração de botijões de gás de cozinha dos modelos p5, p8, p13 e

p45 e medição indireta utilizando as grandezas de peso do botijão e temperatura ambiente;

2. Desenvolvimento de um sistema embarcado para monitorar volume do botijão de gás;

3. Desenvolvimento de um sistema de gerenciamento de dispositivos (servidor web) e

monitoramento de pedidos e gestão de entregas (Celular ou Tablet);

6

4. Testes de avaliação de desempenho do sistema;

7

2 FUNDAMENTAÇÃO TEÓRICA

O GLP é formado por uma mistura gasosa de hidrocarboneto, obtido pelo gás natural das

reservas do subsolo, ou do processo de refino do petróleo cru nas refinarias sendo armazenado

dentro de cilindros em estado líquido e gasosa. Os cilindros quando se encontram com o máximo

de GLP em seu interior possui 85% em estado líquido e 15% em estado gasoso. Em seu estado

líquido começa a se transformar em gasoso conforme o cilindro é utilizado. (COPAGAZ, 2015).

Devido o gás de cozinha não possuir cor nem cheiro próprio, por motivo de segurança

uma substância é adicionada ainda no processo das refinarias para pode produzir um cheiro

característico quando há um vazamento de gás. O gás de cozinha não é uma substância tóxica,

porém se inalado em grande quantidade, produz efeito anestésico. (COPAGAZ, 2015).

Para obter a grandeza do volume do gás de cozinha existem vários tipos de aplicações,

uma seria colocar um medidor de gás digital na saída do botijão, ou conforme foi abordado no

projeto pela grandeza de peso e temperatura.

Para obter a quantidade de gás do botijão é necessário saber o volume de cada tara, para

descobrir basta saber que o GLP varia entre 2,1 – 2,5 kg/m³ (LIQUIGAS GLP, 2015), portanto,

aplicando a equação v=pm*1/2,45, onde 2,45 é o valor do gás em kg/m³ com a temperatura de

15,6ºC e o pm é peso da tara cheia, exemplo o p13 a 15,6ºC tem o valor de 13kg de gás com seu

cilindro cheio, logo na tabela 1 possui todos os valores calculados com esta formula para cada

tipo de botijão.

Tara Volume(m³)

P5 2,04

P8 3,26

P13 5,3

P45 18,36 Tabela 1 – Relação entre botijão e volume.

Após saber o volume do botijão é necessário saber o peso do gás por metro cubico dentro

do botijão em relação à temperatura ambiente atual que vamos nomear como constante Q, onde

os valores plotados em kg/m³ por temperatura ambiente se encontra amostrados na tabela 2.

8

Temperatura (Q)

kg/m³

Temperatura (Q)

kg/m³

Temperatura (Q)

kg/m³

0 2,495

21 2,432

42 2,369

1 2,492

22 2,429

43 2,366

2 2,489

23 2,426

44 2,363

3 2,486

24 2,423

45 2,36

4 2,483

25 2,42

46 2,357

5 2,48

26 2,417

47 2,354

6 2,477

27 2,414

48 2,351

7 2,474

28 2,411

49 2,348

8 2,471

29 2,408

50 2,345

9 2,468

30 2,405

51 2,342

10 2,465

31 2,402

52 2,339

11 2,462

32 2,399

53 2,336

12 2,459

33 2,396

54 2,333

13 2,456

34 2,393

55 2,33

14 2,453

35 2,39

56 2,327

15 2,45

36 2,387

57 2,324

16 2,447

37 2,384

58 2,321

17 2,444

38 2,381

59 2,318

18 2,441

39 2,378

60 2,315

19 2,438

40 2,375

61 2,312

20 2,435

41 2,372

62 2,309 Tabela 2 – Relação temperatura e kg/m³.

Também é necessário saber o peso da tara do botijão que se encontra disponível na

etiqueta conforme exigência do INMETRO, com os valores mostrados na tabela 3.

Tara Peso(kg)

P5 7

P8 12

P13 15

P45 64 Tabela 3 – Relação de peso da tara dos botijões.

Com o valor do volume da tara a qual está sendo analisado mais a constante do peso do

gás em kg/m³ pode descobrir o peso máximo que o botijão com gás de cozinha possui com a

formula pm = Q*Vt onde Q em a constante kg/m³ que varia conforme a temperatura e Vt o

volume da tara, portanto, ao descobrir o peso máximo, basta aplicar uma ultima equação para

9

saber a quantidade que possui de gás no cilindro, com a seguinte formula Qg = (pa-pt)*100/pm,

onde Qg é a quantidade de gás em porcentagem, pa peso atual do cilindro, pt peso da tara, pm

peso do gás com o cilindro cheio na temperatura ambiente.

2.1 APLICAÇÕES COMERCIAIS DE MEDIDORES DE GÁS DE COZINHA

As aplicações comerciais utilizam medidores de gás para obter a quantidade de gás,

porém, este equipamento é necessário conter a NBR 8613 do Inmetro.

A Figura 1 ilustra um medidor de gás da LAO Indústria.

Figura 1 – Medidos de gás da LAO.

Fonte: LAOINDUSTRIA (2015)

A Figura 2 ilustra um regulador de gás da IMAR que mede a quantidade de gás contida

no botijão de forma analógica com indicador mecânico.

10

Figura 2 – Regulador de Gás com manômetro da IMAR

Fonte: IMAR (2015).

2.2 GPS

Para saber a localização de objetos ou pessoas é comum utilizar o GPS que se encontra

em quase todos os equipamentos moveis, no qual utilizado neste projeto para sincronizar a

localização das operadoras moveis, portanto, o GPS é um sistema de navegação por satélite com

um aparelho móvel que envia informações sobre a posição em qualquer horário, lugar e condição

climática.

Criado em 1973 para facilitar os sistemas de navegação. Atualmente, existem dois tipos

de sistemas de navegação por satélite: o GPS americano, que antigamente era utilizado por

militares, e atualmente seu uso é geral, e o GLONASS que é um sistema russo.

O GPS é utilizado na aviação, navegação marítima e diversas pessoas, para saber sua

posição cidade, e principalmente para viajar. Utilizando O GPS consegue criar sistemas que

localizam e encontram caminhos para um determinado local, saber a velocidade e direção do seu

deslocamento. No qual atualmente o sistema está sendo utilizado em automóveis, com um

sistema de mapas que facilita o deslocamento do usuário pelas cidades. (Significados, 2015).

11

2.3 CRIPTOGRAFIAS

Devido o acesso a internet ser globalizado e comum para todos, e o grande avanço no

desempenho de equipamentos eletrônicos conectados a rede mundial de computadores, é

necessário nos projetos que utilizam a rede ser capacitado de garantir segurança ao seu sistema, e

usuários que utilizam o mesmo, portanto, no projeto foi utilizado criptogragias RSA, AES e de

Cesar para garantir a segurança do sistema.

O RSA é um algoritmo de criptografia de dados considerado um dos mais seguros de

encriptação atuais. Nasceu dos estudos de Ronald Rivest, Adi Shamir e Leonard Adleman, onde a

partir destes nomes foi dado o nome de RSA, no qual constituiu-se por um trio de matemáticos

que revolucionaram a historia da criptografia. O fundamento envolve um par de chaves, na qual

uma chave pública que pode ser conhecida por todos para realizar a criptografia e uma chave

privada que deve ser mantida em sigilo utilizando números primos. Lembrando que, uma chave

na criptografia controla todo o processo de operação dos algoritmos transformando um texto puro

em criptografado. (BURNETT, S, PAINE, S; 2002).

O AES (Advanced Encryption Standard), também conhecido como algoritimo de

Rinjndael, desenvolvido por dois pesquisadores belgas em outubro de 2000, é uma cifra de bloco

adotada como padrão de criptografia pelo governo dos Estados Unidos, que é utilizado em todo o

mundo e analisado extensivamente, como o caso do seu predecessor, o Data Encryption Standard

(DES). (BURNETT, S, PAINE, S; 2002).

Cifra de César, que seu nome e dado em homenagem a Júlio César, no qual utilizou este

tipo de cifra para comunicar com seus generais, sendo, uma das mais simples e conhecidas

técnicas de criptografia. É um tipo de cifra de substituição na qual cada letra do texto é

substituída por outra conforme na figura 5 onde se observa que os valores foram aumentados em

1. (CRIPTOGRAFIA, 2015).

12

Figura 5 – Exemplo de cifra de César.

2.4 PROJETO SIMILAR DE TCC

Em trabalhos similares de TCC, que tem como objetivo controlar e monitoram

dispositivos remotamente, conforme na figura 3, trata-se de projeto para controle de residência

remotamente feito por um aplicativo de celular conectado a um servidor que está conectado a

vários clientes (Computadores) que consultam os dados no servidor e realiza a operação

solicitada pelo celular. Também, este projeto controla equipamentos e consulta informações de

uma forma remota, facilitando o dia a dia do usuário.

Figura 3 – Diagrama de um sistemas que controla residência remotamente.

Fonte: MAURÍCIO,SOUZA,DECLERQUE (2014)

13

Na figura 4 demonstra o hardware que executa as ações passando pelo cliente conectado

ao servidor via xbee.

Figura 4 – Equipamento que controla acionamentos em residência.

Fonte: MAURÍCIO,SOUZA,DECLERQUE (2014).

14

3 ESPECIFICAÇÃO TÉCNICA

O objetivo principal deste projeto é o desenvolvimento de um sistema de monitoramento de

gás de cozinha dos botijões dos modelos p5, p8, p13 e p45 e a logística e otimização da entrega

dos pedidos, procurando a distribuidora mais próxima da localidade da entrega.

Conforme figura 6, todos os periféricos são conectados em um servidor Web pela internet

via TCP/IP criptografados, para garantia da integridade dos dados. O servidor web trata e informa

os dados obtidos entre os periféricos do sistema e também realiza cadastros de novos clientes e

distribuidoras.

O Sistema embarcado é responsável para medir a quantidade de gás do tipo de botijão

informado pelo usuário via interface HTTP em uma página HTML ou via teclado e display.

Utiliza sensores (peso e temperatura) para capturar as grandezas que o ajudarão a definir o

volume do gás presente na tara do botijão. Quando ocorre uma troca do botijão, é necessário que

o usuário informe ao sistema, ele se comunica com o servidor usando criptografia de César.

O aplicativo Android possui dois modos de operações, o primeiro modo para realizar

pedidos à distribuidora mais próxima para entrega e o segundo para verificar a quantidade de gás

em seu botijão ele se comunica com o servidor usando criptografias de RAS e AES.

O hardware de distribuidora móvel pode ser um celular ou tablet com Android é responsável

para informar sua localização usando uma interface de GPS para o servidor a fim de mantê-lo

sempre atualizado. Ele sempre irá consultar o servidor para verificar se possui entregas a serem

realizadas. Comunica-se com o servidor usando criptografias de RAS e AES.

15

.

Figura 6 – Diagrama da interação dos sistemas.

3.1 ANÁLISE DE REQUISITOS

Para garantir que os cálculos estejam corretos é necessário calibrar a balança e o medidor

de temperatura para que os valores estejam o mais próximo do correto. Para realizar tal

calibragem o sistema embarcado contém uma página Web que ao se conectar com usuário root

poderá realizar tal operação.

Para garantir que o sistema possua o cálculo correto entre a previsão em que o volume de

gás esteja no fim é necessário que o servidor e o sistema embarcado estejam sincronizados. Desta

forma foi desenvolvido em ambos um sincronismo com um servidor NTP (Network Time

Protocol).

É necessário informar via Web no sistema embarcado os valores das taras conforme o

modelo, porque as mesmas variam entre fabricantes.

Para acessar informações atualizadas é obrigatoriamente necessário que o sistema

embarcado esteja conectado à internet. O mesmo se aplica para a distribuidora móvel que precisa

estar enviando a coordenadas para o servidor.

16

3.2 RESTRIÇÕES

A balança não consegue trabalhar com o botijão P90 devido seu tamanho e peso onde

ultrapassa a relação calibrada de 130kg.

O sistema embarcado possui uma plataforma aonde se deve posicionar o botijão de forma

centralizada para garantir melhor a medição do equipamento e um case com teclado e display que

deve estar em um lugar seco aonde se recomenda utiliza-lo em um lugar afastado do gás para

respeita a NBR 8613, exigindo passar um cabo usb blindado para conectar na balança.

Necessária conexão com a internet conectando via wifi ou cabo de rede.

Atende somente botijões com valores de taras da distribuidora Liquigás.

3.3 DESCRIÇÃO DAS PARTES COMPONENTES E INTERFACEAMENTO

ENTRE SISTEMAS

O Sistema Embarcado responsável por monitorar e enviar as informações para o

servidor, utiliza uma placa NXP LPC 1769, ver figura 7, para imprimir no display 16x4 onde

recebe as informações da placa PCDuino v2, ver figura 8 pela UART.

17

Figura 7 – Foto da placa LPC1769.

Figura 8 – Foto da placa PCDuino V2.

Na figura 9, representa esquemático elétrico do sistema de embarcado que monitora o

botijão de gás de cozinha, que possui um display conectado na LPC 1769 onde utiliza os pinos:

J6 [38, 39, 40, 41, 42, 43, 44] como saídas digitais para realizar a impressão no display lcd de 4

linhas e 16 colunas nos pinos D7, D6, D5, D4, E, RW, RS. O potenciômetro (PON 2) de 0,01 –

10k conectado ao display possui a função de regular o contraste do display.

18

Ainda na LPC existe um pino PAD16 configurado como RX para comunicar-se via serial,

com a PCDuino que possui um pino em J8(1) como TX para transmissão de pacotes de dados

para a LPC 1769 realizar a impressão no display. Na PCDuino possui um teclado matricial onde

os pinos J8 (3, 4, 5, 6) estão como saídas digitais e J8 (7, 8) e J11 (1, 2) como entradas digitais,

para descobrir qual tecla é pressionada no teclado e ser tratado pelo software.

Os pinos J12(5) e configurado como ADC para ler um sinal analógico, realizado pelas

células de carga que varia a resistência do material, conforme o peso aplicado nele, na qual

ligadas em forma de ponte de Wheatstone para melhorar a sensibilidade e medir o peso do

botijão, onde utiliza-se um INA 128 com ganho de 50, por ultimo, o pino J12(5) também

configurado como ADC para leitura de sinal analógico do lm35, que transforma temperatura

ambiente em sinal elétrico.

19

Figura 9 – Esquemático elétrico do hardware embarcado e seus módulos

20

Na figura 10 representa o conector USB que interliga o modulo da PCDuino e o modulo

que obtém as grandezas do peso e temperatura ambiente, onde o D+ é ligado no adc 5 e sensor do

peso e o D- adc 4 e sensor da temperatura .

Figura 10 – Conector USB.

A figura 11 demonstra onde é conectado na balança que contem o sensor de peso e

temperatura ambiente.

Figura 11 – Imagem da balança com conector USB.

21

3.3.1 DESCRIÇÃO HARDWARE EMBARCADO COM ANDROID

O hardware de distribuidora e o aplicativo Android para pedidos e consultas online que

compartilham o mesmo software, onde as telas exibidas mudam conforme o tipo de usuário

autenticado. Com um aplicativo para as distribuidoras que enviam informações de sua localização

para o servidor e gerencia a logística da entrega, que armazena no banco de dados do servidor,

por conexão via 2G ou 3G, conectados a internet, e possui um banco de dados que armazena

informações básicas como usuário, senha, endereço do servidor e porta.

Quando conectado com usuário comum serve como consulta de informações do sistema

embarcado e realiza os pedidos, entretanto não utiliza o GPS para sua localização, somente o

endereço que foi cadastrado pelo usuário. Diagrama conforme figura 12.

Figura 12 – Diagrama simples aplicativo Android.

3.3.2 DESCRIÇÃO SERVIDOR WEB

Na figura 13, representa o diagrama simples do Servidor Web, que contem três

servidores habilitados, sendo um para atender a parte web do protocolo HTTP, outro para

comunicação entre o aplicativo Android utilizando trocas de chaves RSA e AES, e por ultimo,

22

o servidor responsável para se comunicar com o embarcado que monitor o gás utilizado a

criptografia de Cesar. O banco de dados é compartilhado entre todos os servidores.

Figura 13 – Diagrama simples Servidor Web.

23

4 DESENVOLVIMENTO

O projeto consiste em três sistemas, onde um sistema embarcado com três módulos de

hardware, possui um modulo com um sensor responsável em converter peso em sinal elétrico e

um sensor que converte temperatura ambiente em sinal elétrico, para ser amostrado no modulo

principal (PCDuino), que com um software gerencia o envio e recebimento de informações com

o servidor e monitora o botijão com ajuda dos modulo citado acima, pelo seus pinos analógicos.

Este sistema possui um hardware (LPC 1769), que comunica com a serial da PCDuino

para realizar a impressão no display. Possuindo um sistema com aplicativo Android para

consultas e gerenciar a logística. E um sistema para armazenar e controlar as informações de

todos os outros sistemas através de um banco de dados.

4.1 HARDWARE

São utilizados dois tipos de sensores no projeto, o de peso que utiliza 4 células de carga na

ligação em ponte de Wheatstone conectadas a um INA 128 com ganho de 50 para melhorar a

sensibilidade do sensor e da temperatura utilizando um sensor LM 35, conforme figura 14.

24

Figura 14 – Esquemático elétrico circuito que coleta grandezas de peso e temperatura.

Este hardware utiliza um cabo USB blindado para conectar com o módulo da PCDuino,

que serve para alimentar e passar as informações dos ADCs.

25

Para imprimir o display foi utilizado um modulo com a placa LPC 1769. Conforme a

figura 15.

Figura 15 – Esquemático elétrico das conexões entre a lpc 1769 e o display 16x4.

A figura acima possui uma UART RX que é ligada a PCDuino para gerar

comunicação, logo receber os pacotes de dados para imprimir no display.

O firmware colocado neste equipamento utiliza a IDE LPCXPRESSO, que em que

sua logica fica esperando os dados que vem da PCDuino para realizar a impressão no

display conforme o pacote de dados na tabela 4.

0 1 2 ao 18 19 20 ao 35 36 37 ao 52 53 54 ao 69 70

Byte Inicio Byte L1 Array L1 Byte L2 Array L2

Byte L3 Array L3

Byte L4 Array L4 Byte Fim

Tabela 4 – Pacote de comunicação serial.

26

Conforme a tabela 4, o byte na posição 0 do pacote é representado por um byte de

inicio de pacote, o da posição 1 por um byte que seta a linha 1, a posição 2 à 18 armazena a

linha 1 , 19 seta a linha 2, 20 à 35 armazena linha 2, 36 seta linha 3, 37 à 52 armazena linha

3, 53 seta linha 4, 54 à 69 armazena linha 4 e a posição 70 finaliza o pacote e imprime no

display as linhas recebidas pela serial, caso os bytes significativos que são da posições 0, 1,

19, 36, 53 e 70 não forem os corretos o sistema descarta o pacote.

Na PCDuino para entrada de dados, utiliza-se um teclado matricial para economizar

pinos de GPIOs utilizados em hardware, para realizar tal tarefa, observe na figura 16 que

possui linhas e colunas onde as linhas são colocadas para nível logico 1 uma de cada vez,

portanto a cada 50ms uma das linhas recebe o valor 1 e as outras 0, e com isso caso aperte

um botão a coluna correspondente passara de nível logico 0 para 1.

Figura 16 – Teclado matricial.

4.2 SOFTWARE

O mesmo aplicativo Android possui o funcionamento para as duas aplicações, verifica

qual telas usar conforme o login e senha. Conforme pode ser visto na figura 17.

27

Figura 17 – Fluxo do login do aplicativo andorid.

Para realizar todas as comunicações entre o aplicativo e o servidor web foi

implementado um protocolo que utiliza criptografias RAS e AES passando como pacotes

arquivos XML, figura 18.

Figura 18 – Fluxo de rede entre aplicativo Android e Servidor WEB.

1 - Aplicativo envia pedido de conexão.

2 - Servidor gera chave RSA pública e privada e envia a pública.

28

3 - Aplicativo gera chave AES criptografa chave com RSA e envia.

4 - Servidor decifra e armazena chave AES e retorna ACK.

5 - Cliente envia pacote XML criptografado com AES.

6 - Servidor envia resposta via XML criptografado com AES.

Para manter a distribuidora embarcada sempre com sua posição atualizada, o sistema

fica enviando a cada segundo a posição do aplicativo, confirme figura 19.

Figura 19 – Fluxograma do envio do gps no aplicativo da distribuidora móvel.

O aplicativo do usuário possui janelas de compra, confirmação de compra,

Informações do embarcado, e status de entrega realizada e finalizada, para o da

distribuidora móvel a tela inicial que mostra a posição e tela de pedidos a realizar e

finalizados, figura 20.

29

Figura 20 – Aplicativo Android para monitoramento e pedidos de gás.

O sistema embarcado foi implementado em linguagem C utilizado uma compilação

remota por makefile para ser alocado em uma pasta no sistema para reproduzir ao iniciar o

linux. Devido a demora na inicialização dos drivers do equipamento o sistema fica

aguardado a subida destes drivers, depois inicia e verifica o banco de dados. Caso não

possua o banco ele cria um default. Inicia a configuração dos pinos do sistema embarcado e

o servidore HTTP e NTP para manter os relógios sincronizados.

30

Figura 21 – Diagrama das Threads do Software Embarcado.

Conforme figura 21, este sistema possui 7 threads para gerenciar simultaneamente ou

quase todas as operações que o equipamento realiza.

Thread 1 (Servidor HTTP) inicia o servidor http que foi implementado no embarcado

em C atendendo posts e gets, para criar janelas html para ser acessado em um navegador,

ver figura 22.

31

Figura 22 – Janela de configuração do embarcado via HTTP.

32

Thread 2 (WIFI Config) é a que configura o WIFI do equipamento. O driver

utilizado tem a limitação de ao configurar uma rede WIFI, é necessário reiniciar o

equipamento. Também armazena no banco de dados o IP da rede WIFI e Cabeada, para

exibição no menu IP do display e na página WEB de configuração.

Thread 3 (IO Controller) é a que verifica as teclas pressionadas no teclado

traduzindo e gerando a ação necessária.

Thread 4 (Controller Serial) é responsável para enviar as informações para LPC 1769

para impressão do display com as instruções da Thread 3, conforme as figuras 23 e 24.

Figura 23 – Imagem do display do embarcado pedindo senha.

33

Figura 24 – Imagem da LPC 1769 conectada ao display.

Thread 5 (ADC Read e Media Móvel) é responsável pela execução do filtro de FIR

de média móvel de 1.000.000 de posições para converter o valor do ADC em peso e

temperatura onde ocorre uma convolução entre dois vetores, na figura 25 pode observar-se

que possui um vetor de 4 posições onde o primeiro multiplica com o primeiro o segundo

com o segundo e assim sucessivamente, e depois ocorre uma soma de todas as

multiplicações obtendo um resultado médio, o primeiro vetor é preenchido a cada leitura do

ADC que ocorre a cada 1ms e o segundo e preenchido no inicio do projeto realizando o

seguinte calculo Valor=1/tamanhoVetor. Também calcula a quantidade do gás e a previsão

de quantos dias faltam para acabar que é calculado com base no dia que foi trocado o

botijão menos o dia atual e com isso verifica quantos dias se passarão e faz uma media com

os dias que falta com a quantidade gasta desde a troca do botijão com isso obtém-se os dias

que falta para acabar o gás.

34

Figura 25 – Vetores de um filtro de FIR de media movel.

Thread 6 (Cliente) envia os dados de quantidade e dias faltantes do gás para o

servidor em forma de XML com criptografia de Cesar somando 10 nos bytes. Conforme

exemplo na figura 26.

Figura 26 – Exemplo de uso da cifra de César.

O protocolo de envio de pacotes de dados é conforme a figura 27.

35

Figura 27 – Diagrama de rede do Embarcado com o Servidor WEB.

` 1 – Inicia a conexão com o servidor, pega o arquivo XML e aplica criptografia de

César e envia para o servidor

2 – Servidor decifra pacote XML e responde se autenticação esta ok via XML

criptografando com César.

Thread 7 (CNTP) responsável em manter o embarcado com o relógio sincronizado

com o servidor WEB usando protocolo NTP. .

O servidor WEB foi implementado em java onde todo protocolo HTTP e leitor XML

foi feito não utilizando nenhuma biblioteca pronta. Todas as páginas estão em código Java e

são convertidas em execução para HTML, atende gets, posts, cookies. Por ser em HTTP não

é criptografado.

O servidor possui páginas WEB para cadastros de usuários de distribuidoras e

gerenciamento de logística de distribuidoras não móveis (figuras 28 e 29).

36

Figura 28 – Tela de Home do Servidor HTTP.

37

Figura 29 – Tela de Pedidos da distribuidora no Servidor HTTP.

O servidor tem 3 entradas de comunicação TCP/IP uma para HTTP, outra para os

embarcados e para aplicativo WEB. Lembrando que para aplicativos Android usa RSA/AES

e embarcados usa a cifra de Cesar.

Para realizar o cálculo para saber qual distribuidora está com a menor distância é

utilizada a lib Geocoder do Google Maps.

38

5 TESTES E RESULTADOS

Para verificar o ganho do sensor de peso e calibrar o sistema, foram plotados alguns

valores do ADC utilizando pesos aferidos pelo IPEM-PR (Figura 30) - Instituto de Pesos e

Medidas do Paraná, conforme tabela 5 sendo desta forma possível calibrar o desvio da balança

em relação aos pesos oficiais.

Figura 30 – Calibragem da balança com pesos de 20kg oficiais do IPEM-PR.

39

Peso (mg) Valor ADC

1000 227

2000 243

3000 259

4000 277

5000 292

6000 311

7000 329

8000 348

9000 365

10000 385

20000 570

30000 759

40000 955

50000 1148

60000 1341

70000 1530

80000 1727

90000 1917

100000 2116

Tabela 5 – Valores dos pesos em relação com o adc.

No caso da temperatura, para comparação utilizado um equipamento do IPEM-PR (figura

31), porém, como LM 35 é linear não foram plotados os dados para correção somente foi feita

uma regra de três com os valores medidos. O valor calculado foi 323 para 20°C .

40

Figura 31 – Calibrando a temperatura.

41

Para realizar testes de múltiplas conexões foi criado um script de teste em linux para

inicializar vários pedidos no sistema embarcado verificando a integridade do sistema. Foram

gerados 65000 pedidos por segundo, sem nenhuma falha nas entregas de dados. Também foi

avaliado durante 1h com o Wireshark, um sistema de log de rede, sendo que no caso do Android

através de um script Java e não houve problemas de conexão. Para o protocolo HTTP foi

realizado o mesmo testes mais o script em Python.

Por ultimo foi realizado um teste com todos os scripts e não houve nenhuma perda de

informação.

Para garantir que o software embarcado consiga rodar sem ocorrer travamento por algum

motivo de acesso indevido de memoria, ou por alocar sem deslocar após terminar de utilizar o

ponto de memoria, foi rodado testes com o Valgrind que é um software de teste que avalia seu

executável em execução analisando o uso de memoria conforme vai progredindo nas execuções.

Para evitar erros em que o software embarcado por algum motivo seja interrompido por

alguma entrada indevida em uma função do projeto, criou-se testes unitário de funções para que,

toda alteração fosse rodada a cada entrega de projeto para garantir que a nova implementação não

venham danificar as anteriores. Na figura 32 contem os logs dos testes unitários.

Figura 32 – Log de testes unitários do software embarcado.

42

6 CONSIDERAÇÕES FINAIS E TRABALHOS FUTUROS

O projeto propôs um sistema de monitoramento e logística de gás GLP para prever o fim

do gás e fazer novos pedidos de uma forma prática e rápida usando sempre a distribuidora mais

próxima da residência do cliente. Conforme os testes realizados, o sistema teve um bom

comportamento de informação e resposta entre as aplicações e interfaces de monitoramento.

Observou-se que o sistema não possui uma boa precisão isso devido ao sensor de peso que no seu

datasheet possui um erro de 100 gramas e temperatura que possuem um erro de 0,5 graus.

Entretanto esse problema poderá ser resolvido usando uma válvula de gás digital para informar a

pressão do gás, mas lembrando que em caso comercial se o produto for invasivo é necessário

homologar no IPEM atendendo os seus requisitos.

O banco de dados por utilizar SQLite pode ter sobrecargas com o passar do tempo,

portanto, se faz necessário alterar para um banco de dados com maior robustez, entretanto, possui

uma facilidade de alterar o mesmo, visto que, a classe do banco de dados é uma interface onde

sua alteração não danifica nenhuma logica do sistema.

O Servidor Web, para ter uma utilidade mais comercial teria que ter um sistema melhor de

logística, como um estoque para não ocorrer compras sem a distribuidora possuir um produto e o

consumo do gás utilizar o banco de dados do servidor para melhorar a precisão e uma forma de

pagamento online.

Para desenvolvimento desse sistema embarcado foi utilizado recurso de aproximadamente

de R$ 1.000,00, porém, para que este produto possa ser produzido em escala comercial, há

necessidade de reduzir os custos.

43

7 BIBLIOGRAFIA

BURNETT, S, PAINE, S. Criptografia e Segurança: o Guia Oficial RSA, Editora Campus, RSA

Press, 2002.

COPAGAZ GLP. Disponível em:

<http://www.copagaz.com.br/representantes/o_que_e_glp.asp>.Acesso em: 10 out. 2015.

SIGNIFICADOS de GPS. Disponível em: <http://www.significados.com.br/gps/>.Acesso em: 1

nov. 2015.

CRIPTOGRAFIA Uma aplicação da matemática discreta através da implementação da cifra de

César em visualg. Disponível em:

<http://www.fatectq.edu.br/interfacetecnologica/arquivos/volume10/artigo02.pdf>.Acesso em: 4

dez. 2015.

IMAR Regulador de Gás com manômetro. Disponível em: < LAOINDUSTRIA Medidor de Gás.

Disponível em:

<http://www.laoindustria.com.br/images/uploads/Catalogo_%20G_0.6_2013.pdf>.Acesso em: 1

nov. 2015.

LAOINDUSTRIA Medidor de Gás. Disponível em:

<http://www.laoindustria.com.br/images/uploads/Catalogo_%20G_0.6_2013.pdf>.Acesso em: 1

nov. 2015.

LIQUGAS GLP. Disponível em:

<www.liquigas.com.br/wps/portal/!ut/p/c0/04_SB8K8xLLM9MSSzPy8xBz9CP0os3hvPwMjIw9

3IwN_Cy9TAyM_L6_AAPNAI39zE_2CbEdFAPmfWrg!/.>. Acesso em: 1 nov. 2015.

MAURÍCIO,SOUZA,DECLERQUE. Automação e monitoramento remoto residencial, TCC,

Universidade Federal de Santa Maria, 2014.