• Nenhum resultado encontrado

Águas do Mundo: aplicação para análise inicial de aquíferos

N/A
N/A
Protected

Academic year: 2021

Share "Águas do Mundo: aplicação para análise inicial de aquíferos"

Copied!
47
0
0

Texto

(1)

UNIVERSIDADE FEDERAL DO RIO GRANDE DO NORTE UNIDADE ACADÊMICA ESPECIALIZADA EM CIÊNCIAS AGRÁRIAS CURSO SUPERIOR DE TECNOLOGIA EM ANÁLISE E DESENVOLVIMENTO DE

SISTEMAS

Heriberto de Sousa Tinoco Filho

ÁGUAS DO MUNDO: APLICAÇÃO PARA ANÁLISE INICIAL DE AQUÍFEROS

Macaíba 2017

(2)

Heriberto de Sousa Tinoco Filho

ÁGUAS DO MUNDO: APLICAÇÃO PARA ANÁLISE INICIAL DE AQUÍFEROS

Trabalho de conclusão de curso de graduação apresentado à Unidade Acadêmica Especializada em Ciências Agrárias da Escola Agrícola de Jundiaí como requisito parcial para a obtenção do título de Tecnólogo em Análise e Desenvolvimento de Sistemas.

Orientador: Prof. Dr. Taniro Chacon Rodrigues

Coorientador: Prof. Dra. Fabiana Rodrigues de Arruda Camara

Macaíba 2017

(3)

Universidade Federal do Rio Grande do Norte - UFRN Sistema de Bibliotecas - SISBI

Catalogação de Publicação na Fonte. UFRN - Biblioteca Setorial Prof. Rodolfo Helinski - Escola Agrícola de Jundiaí - EAJ

Tinoco Filho, Heriberto de Sousa.

Águas do Mundo: Aplicação para análise inicial de aquíferos / Heriberto de Sousa Tinoco Filho. - 2017.

47f.: il.

Monografia (Tcnólogo) Universidade Federal do Rio Grande do Norte. Unidade Especializada em Ciências Agrárias. Tecnologia em Análise e Desenvolvimento de Sistemas. Macaíba, 2017.

Orientador: Taniro Chacon Rodrigues.

Coorientador: Fabiana Rodrigues de Arruda Camara.

1. Computação em Nuvem - Monografia. 2. Dispositivos Móveis - Monografia. 3. Aquicultura - Monografia. I. Rodrigues, Taniro Chacon. II. Camara, Fabiana Rodrigues de Arruda. III. Título. RN/UF/BSPRH CDU 004

(4)

Heriberto de Sousa Tinoco Filho

ÁGUAS DO MUNDO: APLICAÇÃO PARA ANÁLISE INICIAL DE AQUÍFEROS

Trabalho de conclusão de curso de graduação apresentado à Unidade Acadêmica Especializada em Ciências Agrárias da Escola Agrícola de Jundiaí como requisito parcial para a obtenção do título de Tecnólogo em Análise e Desenvolvimento de Sistemas.

Aprovado em: ____ de _______ de _____.

BANCA EXAMINADORA

__________________________________________ Taniro Chacon Rodrigues – EAJ/UFRN (orientador)

__________________________________________

Fabiana Rodrigues de Arruda Camara – EAJ/UFRN (coorientadora)

__________________________________________ Josenalde Barbosa de Oliveira - EAJ/UFRN

__________________________________________ Leonardo Rodrigues de Lima Teixeira - EAJ/UFRN

(5)

Agradecimentos

Agradeço primeiramente a meus pais, Heriberto de Sousa Tinoco e Rejane Mendes de Lima Tinoco, pelo suporte que me proveram desde a minha infância e pelo investimento na minha formação acadêmica.

À minha vó, Francisca Mendes de Lima, que cuida de mim em silêncio.

Às minhas irmãs, Iris Larissa Mendes Tinoco e Izabelly Cristina Mendes Tinoco, pelos vários anos de convivência.

À minha companheira, Maria Rayla do Santos, e meu primo, Thiago Victor Lima Brasil, que me apoiaram por toda esta jornada, sempre me dando o apoio necessário para seguir na direção certa.

Ao meu orientador, Prof. Dr. Taniro Rodrigues Chacon, que me guiou e incentivou durante meu trabalho.

À todo o corpo docente da EAJ e aos amigos do TADS. À Deus, onde sua presença me guia em silêncio.

(6)

“Impossível? Nós fizemos várias coisas impossíveis nesta jornada. Estou cansado de ouvir que certas coisas são impossíveis ou inúteis. Estas palavras não significam nada para nós.” “Impossible? We did a lot of impossible things on this journey. I’m tired of hearing that things are impossible or useless. Those words mean nothing to us.” Hirohiko Araki

(7)

RESUMO

A computação em nuvem é uma área da computação que possui grande potencial de uso em diversos domínios do conhecimento humano, como, por exemplo, o da Aquicultura, onde o compartilhamento de recursos e informações através da internet possui potencial para alavancar o desenvolvimento da área. Grandes empresas oferecem a infraestrutura necessária para a construção de uma solução em nuvem, onde estas soluções podem aproveitar-se do poder computacional, do armazenamento e disponibilidade, além da escalabilidade da rede provisionada por estas grandes empresas. Ainda que com a crescente adoção de soluções em nuvem nos mais diversos setores, ainda é claro o lento desenvolvimento desta área aplicada a soluções na área da aquicultura, o que é um atraso considerável no crescimento deste mercado especialmente no território brasileiro, onde boa parte dos produtores, especialmente os que estão para iniciar sua primeira produção, não possuem o auxílio e conhecimento necessário para a prosperidade do seu negócio ou não possuem o aporte financeiro para adquirir soluções já presentes no mercado. Portanto, este trabalho visa a elaboração de uma solução em nuvem e aplicativo para smartphones, que mapeará com o auxílio dos usuários, que são pequenos produtores interessados em iniciar/expandir seu negócio, a qualidade da água das mais diversas regiões do território brasileiro, para que os mesmos tenham o conhecimento da água que será o ponto chave para a escolha das espécies a serem cultivadas na aquicultura e sustentará o desenvolvimento do seu empreendimento. A avaliação deste trabalho foi realizada por duas vias: análise do método desenvolvido para aferição de turbulência e a partir dos modelos providos pela literatura para análise de oxigênio dissolvido, dureza, variação do pH e presença de algas. Com base nestes parâmetros de avaliação, este trabalho alcança seus objetivos iniciais, porém possui limitações quanto à metodologia para aferição de dados. Palavras-chave: Computação em Nuvem, Dispositivos Móveis, Redes Colaborativas, Aquicultura.

(8)

ABSTRACT

Cloud computing is a computing bias that has profound implications not only in the IT (Information Technology) sector, but also in a variety of sectors such as Aquaculture, where the sharing of resources and information through the Internet provides the foundation for the Development of the area. Large enterprises provide the infrastructure needed to build a cloud solution, where these solutions can take advantage of computing power, storage and availability, and the network scalability provided by these large enterprises. Although with the increasing adoption of cloud solutions in the most diverse sectors, it is still clear the slow development of this area applied to solutions in the area of aquaculture, which is a considerable delay in the growth of this market especially in the Brazilian territory, where much of the Producers, especially those who are about to start their first production, do not have the aid and knowledge necessary for the prosperity of their business or do not have the financial support to acquire solutions already present in the market. Therefore, this work aims at the elaboration of a cloud solution and a application for mobile devices, which will map with the help of users, who are small producers interested in starting / expanding their business, the quality of Water of the most diverse regions of the Brazilian territory, so that they have the knowledge of the water that will be the key point for the choice of the species to be cultivated in aquaculture and will sustain the development of its business. The evaluation of this work was carried out in two ways: analysis of the method developed for the measurement of turbulence and from the models provided by the literature for oxygen analysis, hardness, pH variation and presence of algae. Based on these evaluation parameters, this work reaches its initial objectives, but it has limitations on the methodology for the measurement of data.

(9)

LISTA DE TABELAS

Tabela 1. Perguntas utilizadas no questionário do Águas do Mundo e respectivas possibilidades de respostas. ... 21

(10)

LISTA DE FIGURAS

Figura 1. Tipos de serviços presentes em nuvem ordenados com base em seu nível de abstração, da

esquerda para a direta, do menos abstrato ao mais abstrato. ... 15

Figura 2. Exemplo de funcionamento de serviço Web ... 16

Figura 3. Exemplo de arquitetura de microsserviços, Clientes A e B fazem requisição para o API Gateway que repassa para o serviço correspondente. ... 17

Figura 4. Arquitetura de microsserviços da Netflix. Fonte: (JACOBSON, 2012) ... 17

Figura 5. Arquitetura do sistema ... 23

Figura 6. Exemplo de requisição ao serviço DataToDynamo ... 24

Figura 7. Exemplo de permissão para uso do DynamoDB ... 26

Figura 8. Diagrama descrevendo o comportamento do microsserviço ImageToS3 ... 27

Figura 9. Tela inicial da aplicação exibindo o mapa. ... 31

Figura 10. Exemplos de telas utilizadas para analisar aquíferos. ... 32

Figura 11. Diagrama representando o funcionamento da capacidade de salva análises para as enviar posteriormente. ... 33

Figura 12. Água com baixa turbidez à esquerda e com alta turbidez à direita. ... 35

(11)

SUMÁRIO 1 INTRODUÇÃO ... 9 1.1 JUSTIFICATIVA ... 12 1.2 OBJETIVOS ... 12 1.2.1 OBJETIVO GERAL ... 12 1.2.2 OBJETIVOS ESPECÍFICOS ... 12 1.3 ORGANIZAÇÃO DO TRABALHO ... 13 2 FUNDAMENTAÇÃO TEÓRICA ... 14 2.1 COMPUTAÇÃO EM NUVEM... 14 2.2 SERVIÇOS WEB ... 15 2.3 MICROSSERVIÇOS ... 16 2.4 ANDROID ... 18

2.5 BANCO DE DADOS NÃO RELACIONAL ... 18

2.6 QUALIDADE DA ÁGUA ... 19 3 ÁGUAS DO MUNDO ... 21 3.1 ARQUITETURA ... 22 3.1.1 DATATODYNAMO ... 23 3.1.2 IMAGETOS3 ... 24 3.1.3 RETRIEVEDATA ... 24 3.1.4 RETRIEVEMYDATA ... 24 3.1.5 UPDATEMEDIASDB ... 24 3.1.6 UPDATEDAILYDB ... 25 3.2 IMPLEMENTAÇÃO ... 25 3.2.1 SERVIÇOS WEB ... 26 3.2.2 INTERFACE GRÁFICA ... 30

3.3 OBTENÇÃO DE PARÂMETROS DA ÁGUA ... 35

3.3.1 TURBIDEZ ... 35 3.3.2 PRESENÇA DE ALGAS ... 36 3.3.3 OXIGÊNIO ... 36 3.3.4 VARIAÇÃO DE PH ... 36 3.3.5 DUREZA ... 36 4 AVALIAÇÃO ... 37 5 CONCLUSÃO ... 39 5.1 CONTRIBUIÇÕES E LIMITAÇÕES ... 39 5.2 TRABALHOS FUTUROS ... 40 REFERÊNCIAS ... 41

(12)
(13)

9

1 INTRODUÇÃO

O crescente aumento da população mundial, têm levado cientistas e especialistas a emitir alertas sobre a necessidade de aumentar a produção de alimentos. Estima-se que a produção de alimentos precisará crescer em cerca de 50% para prover o alimento necessário para o contingente populacional nas próximas duas décadas. Além dessa projeção negativa, pesquisadores da área contestam a ideia de que seja possível alavancar a produção de alimentos a tal ponto, apesar do consenso de que existem terra, água e especialistas suficientes para alcançar esta meta. Já que as regiões onde a pobreza é mais evidente, como da África subsaariana e o sul da Ásia, possuem uma concentração de necessidade de alimentos, porém, condições pouco favoráveis para o cultivo e o preço inacessível a população de países em desenvolvimento (MACFARQUHAR, 2009).

Nesse contexto, as pequenas produções familiares se destacam como um meio de aumento da produção de alimentos. A agricultura familiar traz benefícios diretos para a comunidade onde está instalada, pois impulsiona, por um lado, o crescimento econômico através da renda gerada na venda e compra de produtos relacionados e, por outro lado, aspectos sociais já que reduz a fome e má nutrição (FAO UN, 2015).

Uma das vertentes agrícolas com grande potencial de crescimento e aplicabilidade da produção familiar, é a aquicultura. Em países como a China a aquicultura é uma das suas principais atividades econômicas. No Brasil a aquicultura é uma atividade que está em plena expansão devido as condições ambientais e hídricas do país, como o clima favorável e a presença de 13% da água doce do planeta, que propiciam o desenvolvimento da atividade aquícola no país junto da produção de tilápias (Aquicultura no Brasil, 2015). Vários especialistas afirmam que o Brasil é um país com enorme potencial para se tornar um dos maiores produtores de pescados do mundo, alcançando muitos países asiáticos, líderes nesse tipo de produção, visto a taxa de crescimento de 56% nos últimos 12 anos e a produção total média de 476.522,00 toneladas por ano (Aquicultura no Brasil, 2015).

Segundo BOYD (2017), para o crescimento saudável de produções aquícolas se faz necessário um cuidado quanto a escolha do ambiente em que ocorrerá a produção. Existe uma correlação forte entre a qualidade da água e a saúde dos animais na aquicultura. A utilização de águas de qualidade inadequada durante o cultivo pode causar um aumento na mortalidade de animais durante a produção e, mais frequentemente, causar estresse nos animais e deixando-os mais susceptíveis a doenças.

Para aferir a qualidade de aquíferos, é necessária a análise de parâmetros como turbidez, temperatura, oxigênio dissolvido na água, transparência, pH, presença de algas e a

(14)

10

concentração de diversas substâncias, como, por exemplo, a amônia (LIMA et al., 2013). Atualmente, estes parâmetros podem ser analisados de forma objetiva com o uso de equipamentos como o WQC-24 (AIC, [s.d.]), um dispositivo capaz de analisar diversos parâmetros de qualidade da água, como o pH, temperatura, oxigênio dissolvido, turbidez, condutividade e salinidade. Ou, de forma empírica com o auxílio de questionários sobre aspectos físicos, inorgânicos e biológicos do aquífero (ARTELL; AHTIAINEN; POUTA, 2013).

Para a aferir com alta precisão a qualidade da água para uso em criação em aquíferos, é necessário o uso de tecnologias específicas, onde, geralmente, só é possível como o uso de dispositivos de alto custo, tais como o WQC-24. Nesse contexto, já existem trabalhos na literatura que apontam para soluções onde há a tentativa de redução dos custos da análise da qualidade da água com precisão. Por exemplo, no trabalho de FAUSTINE et al. (2014) os autores desenvolveram uma solução, em tese, de baixo custo para a análise da qualidade da água, porém o custo final para a implantação desta solução os custos somaram US$ 1250, uma quantia elevada que impossibilitaria o acesso para pequenas produções aquícolas à tecnologia desenvolvida.

O uso de smartphones como potencial ferramenta computacional de análise de dados tem ganhado destaque devido a popularização desses dispositivos, principalmente em países emergentes, onde em média 54% da população possui acesso a um smartphone (POUSHTER, 2016). Dentre os fatores que potencializam o uso de smartphones é possível citar a sua portabilidade e agregação de diversas funções, como: câmeras, sensores de luz, sensores de proximidade, alto-falantes e , principalmente, fácil o acesso à internet, que outrora seria acessível apenas através de computadores desktops (BONNINGTON, 2015). O uso de smartphones como parte de soluções é uma das principais tendências em diversos domínios, tais como de cuidados médicos (MOSA; YOO; SHEETS, 2012), educação (MILRAD; SPIKOL, 2007), agrícola (PONGNUMKUL; CHAOVALIT; SURASVADI, 2015), entre outros.

Mantendo a mesma linha de pesquisa, FAUSTINE e MVUMA (2014) idealizou uma outra solução onde são utilizados dispositivos móveis, smartphones, para enviar informações acerca da qualidade da água, coletadas pelo usuário dos aparelhos através do pareamento via Bluetooth com um dispositivo capaz de obter os dados de aquíferos ao ser submergido dentro deles, à um único banco de dados que pode ser acessado remotamente por usuários interessados, por fim, esta solução possui um custo de US$ 750 incluindo o dispositivo para efetuar análises, o smartphone e o módulo Bluetooth.

(15)

11

Nesse contexto da adoção de smartphones como soluções tecnológicas, surgem trabalhos como o de RAHIM et al. (2017) onde foram analisadas diversas soluções de monitoramento aquícola. No entanto, a solução de RAHIM et al. (2017) aponta como conclusão que, apesar do benefício da portabilidade, o uso de smartphones ainda é restrito a exibição de informações devido ao pouco poder computacional disponível para a execução de algoritmos matemáticos e estatísticos. Dessa forma, embora ainda pouco utilizados no desenvolvimento de soluções para análise de aquíferos, os smartphones entregam os alicerces necessários para a construção de diversas soluções, mas, as restrições de hardware (processamento e memória) presentes em alguns aparelhos, podem limitar a execução de algoritmos complexos em tempo hábil.

Para solucionar esta problemática, uma tendência atual é usar computação em nuvem para a execução de algoritmos que outrora seriam demasiadamente complexos para dispositivos de menor poder computacional processarem, pois depende exclusivamente do acesso à internet, para que o dispositivo seja capaz de enviar dados que precisam ser analisados e receber os resultados destas análises.

Devido a possibilidade de armazenamento de dados em soluções presentes na nuvem, torna-se possível o acesso e compartilhamento destes dados por meio de dispositivos que podem estar localizados em regiões diferentes e, portanto, compartilhando o conhecimento armazenado dentro da nuvem e o apresentando a diversos usuários que possuam interesse.

Utilizando-se do conceito de compartilhamento de conhecimento presente em diversas aplicações, os usuários atuam, muitas vezes indiretamente, como colaboradores através do compartilhamento de informações (CHOW; CHAN, 2008), onde estas informações são utilizadas para auxiliar na tomada de decisões, portanto, facilitando a formulação e execução de diversas atividades (ZHANG; LOWRY, 2008). Trabalhos como o de FAUSTINE e MVUMA (2014) e aplicativos comerciais como o Waze (WAZE, 2015) evidenciam o potencial de aplicações de compartilhamento de informações para mapear diversos pontos de interesse através do planeta.

Reunindo as necessidades aquícolas e as possibilidades computacionais, é proposto nesse Trabalho de Conclusão de Curso o sistema Águas do Mundo para auxílio na análise de aquíferos que afere e disponibiliza, através de uma API e aplicação para smartphones, informações da qualidade da água a partir da análise de dados disponibilizados por meio de usuários do sistema.

No contexto da aquicultura, informações sobre o ambiente em que ocorre o cultivo são de demasiada importância, portanto, a aferição e análise de dados são imprescindíveis para

(16)

12

produções aquícolas. Deste modo, a necessidade do conhecimento, por meio de um especialista, e ferramentas necessárias para avaliar e reunir os dados relevantes, são determinantes para o sucesso de produções aquícolas.

1.1 JUSTIFICATIVA

Para auxiliar no desenvolvimento da atividade aquícola no país, este trabalho possui como objetivo o desenvolvimento de uma solução de baixo custo para avaliação inicial da qualidade da água, onde tal solução será executada por meio do uso de dados enviados através de smartphones como ferramenta de aferição e, consequentemente, barateando o custo da solução e a tornando acessível para pequenos produtores.

Por fim, para que seja possível o acesso a informações de diversos aquíferos, o aplicativo desenvolvido neste trabalho irá exibir dados coletados por diversos usuários através de seus próprios smartphones, onde o conhecimento sobre a qualidade do aquífero adquirido com o auxílio de um usuário esteja disponível para consulta de interessados, em geral.

1.2 OBJETIVOS

A seguir são descritos o objetivo geral e os específicos que se busca atingir, através deste estudo.

1.2.1 OBJETIVO GERAL

O objetivo deste trabalho é realizar a partir de uma aplicação para smartphones o mapeamento nacional de zonas que possuam potencial disposição para produção aquícola, gerando assim, uma base de dados que permita a pequenos produtores avaliarem se

determinada localidade é ou não viável.

1.2.2 OBJETIVOS ESPECÍFICOS

Este trabalho tem como objetivos específicos:

a) Desenvolvimento de uma solução em nuvem que receba dados coletados por usuários, analise-os, e os torne passíveis de acesso através de smartphones; b) Construir uma aplicação para o sistema operacional Android, que vise enviar

informações para a nuvem, como também, exiba as informações já cadastradas; c) Investigar técnicas para análise dos parâmetros de água com custo baixo para o

usuário;

(17)

13

1.3 ORGANIZAÇÃO DO TRABALHO

Além deste capítulo, o trabalho está divido em outros 4, que são:

• Capítulo 2, aborda toda a fundamentação teórica dos necessária para compreensão deste trabalho. Serão abordados os seguintes temas: Computação em Nuvem, Serviços Web, Microsserviços, Android, Bancos de dados não relacional e Qualidade da água;

• Capítulo 3, apresenta como foi realizada a implementação e a forma de obtenção de parâmetros da qualidade da água;

• Capítulo 4 especifica os métodos utilizados para aferição de parâmetros sobre qualidade da água;

• Capítulo 5, discute acerca dos resultados obtidos, apresenta objetivos alcançados;

(18)

14

2 FUNDAMENTAÇÃO TEÓRICA

Este capítulo tem por objetivo a apresentação de alguns conceitos fundamentais para a compreensão do trabalho. Inicialmente, é realizada uma explanação sobre assuntos relacionados com computação como Computação em Nuvem, serviços Web, microsserviços e dispositivos móveis. Em seguida, são apresentadas as descrições de parâmetros das águas importantes para integração da aplicação com informações referentes a esse domínio das Ciências Agrárias.

2.1 COMPUTAÇÃO EM NUVEM

A computação em nuvem é um termo que se refere principalmente a aplicações sendo entregues como serviços, ou seja, um conjunto de algoritmos (IBM KNOWLEDGE CENTER, [s.d.]),através da internet, onde estes serviços são oferecidos e entregues por meio da nuvem, que é o software e hardware presentes em data centers que oferecem o serviço (DIKAIAKOS et al., 2009).

Tais aplicações, que estão se tornando cada vez mais comuns, possuem como principais motivadores a ubiquidade da rede e o crescimento das conexões sem fio à internet, que permitem aos dispositivos acesso a soluções em nuvem. Desta forma, as aplicações incorporam as principais características das soluções em nuvem, como a interoperabilidade do serviço e a segurança no tráfego de dados (DIKAIAKOS et al., 2009).

A computação em nuvem possui diversos modelos de negócio, como IaaS, SaaS e PaaS, como apresentado na Figura 1. O IaaS (Infraestructure-as-a-service) é o modelo de negócios onde são entregues os recursos computacionais necessários para que as mais diversas soluções sejam executadas independente do dispositivo utilizado para receber ou

enviar dados (RITTINGHOUSE; RANSOME, 2010). Já no modelo SaaS

(Software-as-a-Service) , os dados estão permanentemente presentes em servidores remotos que são acessíveis via internet e que são armazenados temporariamente no dispositivo do cliente que pode ser: desktop, tablets, notebooks, dispositivos móveis e etc. (RITTINGHOUSE; RANSOME, 2010). Por fim, o modelo PaaS (Platform-as-a-Service), que é uma variação do SaaS, pode ser reconhecido simplesmente como serviços Web e este modelo de serviço é relacionado diretamente com o SaaS, porém o mesmo entrega uma plataforma para a construção do software a ser oferecido ao invés de uma aplicação a se usar (RITTINGHOUSE; RANSOME, 2010). Como principais pontos do PaaS estão a escalabilidade do sistema, que significa a capacidade de responder a picos de tráfego e se reajustar a capacidade/quantidade para os comportar, onde neste modelo de negócio a

(19)

15

empresa que oferece o serviço fica encarregada do gerenciamento e manutenção dos servidores.

Figura 1. Tipos de serviços presentes em nuvem ordenados com base em seu nível de abstração, da

esquerda para a direta, do menos abstrato ao mais abstrato.

Segundo ARMBRUST et al. (2010), serviços na nuvem possuem abstração variável, onde de um lado pode-se encontrar serviços de baixa abstração como o Amazon EC2 (AMAZON WEB SERVICES, 2015) que entrega somente o hardware necessário para a construção de soluções, dificultando a escalabilidade e o controle de falhas de soluções que utilizem este serviço. Porém do outro lado do espectro existem serviços como o Google App Engine (GOOGLE CLOUD PLATFORM, 2010) que entrega uma plataforma focada no desenvolvimento de aplicações web e back-ends para aplicativos móveis, neste serviço o próprio App Engine cuidará do escalonamento e disponibilidade da aplicação.

2.2 SERVIÇOS WEB

Como definido pela World Wide Web Consortium (W3C), um serviço Web é um sistema de software designado para suportar interações entre máquinas através da rede, através de mensagens transportadas por protocolos de Internet. Tal sistema é identificado por meio de um Uniform Resource Identifier (URI) e possuindo os recursos contidos neste software bem definidos, descritos, publicados e passíveis de descoberta via contrato de uso (BOOTH et al., 2004).

(20)

16

Tendo como principal objetivo um serviço Web busca garantir a interoperabilidade durante a comunicação entre máquinas, para que tal interoperabilidade ocorra, um serviço Web utiliza de padrões de protocolos e linguagens abertos e bem documentados para a comunicação, tais como o SOAP (Simple Object Access Protocol) (W3C, 2007) e REST (Representational State Transfer) (FIELDING, 2000), ambos para o acesso às operações disponíveis, que utilizam as linguagens XML (eXtensible Markup Language) e JSON (JavaScript Object Notation) respectivamente como forma de resposta de requisições, como visto na Figura 2.

Figura 2. Exemplo de funcionamento de serviço Web

2.3 MICROSSERVIÇOS

Microsserviço é um padrão arquitetural que tem seu uso cada vez mais comum, grande parte devido a flexibilidade na implantação e facilidade de manutenção quando em contraste com os grandes sistemas monolíticos (NAMIOT; SNEPS-SNEPPE, 2014). Neste padrão os serviços são implantados separadamente de forma distribuída, fazendo com que cada serviço seja um componente do sistema que escala de forma independente e seja fracamente acoplado (RICHARDS, 2015).

Segundo NAMIOT e SNEPS-SNEPPE (2014), a construção de um sistema com o uso de microsserviços permite que este possa ser desenvolvido de forma incremental, possibilitando a atualização individual de cada componente do sistema, visto que em sistemas monolíticos, o framework utilizado durante o desenvolvimento não pode ser alterado sem gerar implicações para os demais serviços do sistema.

Para acesso aos diversos componentes de um sistema, os dispositivos que desejam o acesso interagem com um serviço intermediário que possibilita a comunicação, o API Gateway, como visto na Figura 3.

(21)

17

Figura 3. Exemplo de arquitetura de microsserviços, Clientes A e B fazem requisição para o API

Gateway que repassa para o serviço correspondente.

O API Gateway é um único ponto de entrada para todos os clientes, de forma que toda requisição é feita para o API Gateway que então repassa o pedido para o servidor no qual reside o microsserviço requisitado. Assim tornando transparente aos clientes o acesso ao servidor que contém o microsserviço desejado (RICHARDSON, 2016).

Dentre as implementações desta arquitetura, é possível destacar a da Netflix (JACOBSON, 2012), que mostrou a capacidade de microsserviços em suportar diferentes dispositivos e como a mesma trata requisições para seu API Gateway, onde uma única requisição para ele faz com que sejam executados diversos serviços, como visto na Figura 4.

(22)

18

2.4 ANDROID

Com o crescimento do número de dispositivos móveis (smartphones e tablets), os usuários acumulam experiências ricas e maiores com diversas aplicações, sendo executadas direto no aparelho ou em servidores remotos por meio de conexões sem fio (DINH et al., 2013).

Dentro do crescimento do número de dispositivos móveis, grande parte utiliza o sistema operacional (SO) Android da Google, os quais correspondem a cerca de 84,3% deste mercado (“IDC: Smartphone OS Market Share 2016, 2015”, 2016), o que leva os desenvolvedores de aplicações para dispositivos móveis a focarem neste SO.

O Android é um SO baseado em Linux, e gerencia os drivers de dispositivos, a memória do sistema, processos e conexões. Apesar do kernel Linux, o Android funciona a partir de uma camada acima do kernel, onde uma série de bibliotecas com funcionalidades básicas do sistema e uma máquina virtual (VM), chamada de Dalvik, residem (HOWSTUFFWORKS, [s.d.]). Dado que as aplicações baseadas neste SO devem funcionar nos mais diversos dispositivos, a VM Dalvik viabiliza este fim, pois a mesma auxilia o SO ao executar as aplicações de forma isolada, esta função é chamada de sandboxing. Devido ao comportamento nativo de VMs, que é simular um hardware e software, e repassar as solicitações feitas ao ambiente simulado para o real, as VMs permitem que aplicações sejam desenvolvidas para um único hardware e software sem a necessidade de ajustar o código para dispositivos das mais diversas características. Além do sandboxing executado pela máquina virtual Dalvik, seu uso também é justificado devido a segurança e confiabilidade impostas pelo isolamento das aplicações, além disto, devido a cada aplicação requerer sua própria instância da VM, a aplicação tem acesso limitado ao hardware do dispositivo (EHRINGER, 2010).

2.5 BANCO DE DADOS NÃO RELACIONAL

Uma demanda exponencial por armazenamento de dados se destacou após o ano 2000 devido à expansão virtual. Em razão disto, o modelo de armazenamento organizado mais utilizado, denominado banco de dados relacional, passou a demonstrar limitações. O destaque de possibilidades para resoluções das necessidades que se apresentaram foi o banco de dados não relacional (OLIVEIRA, 2014).

Em comparação ao relacional, o modelo não relacional permite armazenar maior volume de dados com desempenho melhor. Tais características devem-se a capacidade de crescer de acordo com a demanda de armazenamento, a um menor custo (escalabilidade),

(23)

19

resistência a falhas, flexibilidade do esquema, e facilidade para manipular e configurar (OLIVEIRA, 2014).

2.6 QUALIDADE DA ÁGUA

A qualidade da água se tornou um componente importante de pesquisas ao redor do mundo (RAHIM et al., 2017), visto que é o componente inorgânico mais encontrado na matéria viva, deixa para trás a percepção da sua falta de influência e presença ignorada (CHAPLIN, 2006).

Segundo PAHL-WOSTL (2002), a análise e gerenciamento da qualidade de águas se torna cada vez mais importante, principalmente, nos países mais industrializados. O maior problema reside na poluição de aquíferos por meio da agricultura, onde o uso de tecnologia de ponta se mostra inviável devido ao custo e exige grande interação com aspectos sociais.

A qualidade da água é definida por meio de sua composição química, física e microbiológicas. Nesse sentido, a viabilização do uso irá depender do propósito, no caso do consumo humano, por exemplo, seja direto ou através de comida, a água deve ser de alta qualidade e que não represente risco para a saúde humana (HOWARD; BARTRAM, 2003).

Doenças causadas pelo consumo de água inadequada podem prover de altos níveis de resíduos químicos tóxicos, como o arsênio, originado antropicamente de inseticidas, herbicidas e resíduos industriais. A contaminação por nitrato, possui como uma das fontes a decomposição de resíduos de esgotos, que em altas quantidades é comprovadamente prejudicial à saúde, podendo causar intoxicação e até morte infantil (SANTOS, 2010).

Para o cultivo em meios aquáticos, a água é a principal matéria-prima para produção. Assim, a qualidade da mesma tem influência sobre a sobrevivência e saúde dos animais em criação, atuando nas suas funções de, por exemplo, crescimento e reprodução, e, consequentemente, no sucesso econômico (LEIRA et al., 2017).

Dentre as variáveis para análise das águas, são importantes citar para o desenvolvimento do presente trabalho: dureza, pH e presença de oxigênio.

A dureza da água representa o teor de concentração de sais, como o cálcio e magnésio. Neste conjunto encontram-se componentes importantes para o desenvolvimento dos peixes, como a formação do esqueleto e funções musculares (LOUREGA, 2013). Como efeito desse parâmetro nota-se que quanto maior a dureza, mais água é necessária para que os sais reajam ao sabão, resultando em espuma (CASIDAY; FREY, 2010).

O potencial hidrogeniônico (pH), como revela seu nome, indica a concentração de íons de hidrogênio (FUNASA, 2013), sendo o valor 7,0 considerado o ponto neutro da escala,

(24)

20

onde amostras com valores menores são denominadas ácidas, e alcalinas, para maiores. Para a aquicultura a faixa entre 6 e 8,5 é considerada ideal (BOYD, 2013).

O oxigênio é essencial para grande parte da vida terrestre, assim diversos organismos aquáticos necessitam da presença deste em níveis adequados. A poluição das águas causa diminuição na concentração de oxigênio devido ao consumo pelo processo de decomposição da matéria orgânica (ANA, 2016). A presença de algas também influenciará a disponibilidade de oxigênio, podendo ocorrer supersaturação devido a produção a partir da fotossíntese, causando uma variação negativa à noite (ANA, 2016).

2.6.1 ALGAS

A fotossíntese é um processo responsável por converter energia luminosa em energia química. Durante este ciclo, as cores do espectro visível da luz interagem de diferentes formas com organismo.

Moléculas orgânicas, denominadas pigmentos, absorvem parte da faixa do espectro, e outras são refletidas, o que gera as cores que as caracterizam visualmente (KHAN ACADEMY, 2015).

As algas vermelhas são, principalmente, de ambiente marinho, e podem atingir profundidades consideráveis, já que os pigmentos desta absorvem luz azul, a qual percorre distância maiores. As algas marrons, que também podem atingir tom de verde-oliva, são comuns no litoral, e absorvem luz do verde ao marrom. As algas verdes refletem a cor verde, que é a observada por seres humanos, devido a presença de pigmentos que absorvem luz azul e vermelha, sendo predominantemente aquáticas, com maioria de água doce (ANDERSEN; LEWIN, 2015).

(25)

21

3 ÁGUAS DO MUNDO

Este capítulo apresenta o Águas do Mundo, um sistema para auxílio na análise de aquíferos que afere e disponibiliza, através de uma API e aplicação para smartphones, informações da qualidade da água a partir da análise de dados e fotografias disponibilizadas por meio de usuários do sistema.

No contexto da aquicultura, informações sobre o ambiente em que ocorre o cultivo são de demasiada importância, portanto, a aferição e análise de dados são imprescindíveis para produções aquícolas. Deste modo, a necessidade do conhecimento, por meio de um especialista, e ferramentas necessárias para avaliar e reunir os dados relevantes, são determinantes para o sucesso de produções aquícolas.

Este projeto utiliza microsserviços em nuvem com a função de receber os dados referentes a qualidade da água, proporcionando desta forma, que o usuário avalie se o aquífero em questão é passível, ou não, de uso em produções aquícolas. Os dados obtidos por estes microsserviços provêm da aplicação desenvolvida para smartphones, que tem como objetivo aquisição e envio de dados sobre o aquífero. Os dados adquiridos pela aplicação para smartphones proveem do envio da sequência de respostas a partir do questionário, apresentado na Tabela 1, e a partir das fotografias solicitadas referentes ao aquífero em questão, que passará por análise acerca de aspectos visuais, como, por exemplo, a presença de algas.

Os peixes estão na superfície da água?

sim não

A água está dura?

sim não

Os peixes estão com aparência apática?

sim não não se aplica

Tabela 1. Perguntas utilizadas no questionário do Águas do Mundo e respectivas possibilidades de

respostas.

Por consequência deste trabalho não se utilizar de ferramentas com alta precisão para a obtenção de dados, vale ressaltar que há cenários em que a utilização de ferramentas, como sensores construídos unicamente para a análise de aquíferos, são essenciais para produções, especialmente as que se encontram em andamento. Uma vez que características físicas, químicas e biológicas da água, são sensíveis a alterações ambientais e, por tanto, podem sofrer variações em curtos períodos de tempo.

(26)

22

3.1 ARQUITETURA

A arquitetura da solução proposta foi construída de forma a tornar cada ação disponível no servidor Web em um serviço único do sistema, onde cada serviço possui um único objetivo e é capaz de controlar seu próprio ciclo de vida e escalonamento alheio aos outros serviços presentes. A independência de cada serviço se dá devido a descentralização do hardware utilizado nos servidores do sistema, permitindo que cada serviço e módulo de tal serviço estejam inseridos em servidores diferentes. Esta descentralização de hardware, torna possível o escalonamento do poder computacional de forma individual, permitindo que, serviços reajam individualmente a alterações no tráfego de dados, ao número de requisições a estes e fazendo com que o uso exacerbado de um serviço não afete os demais.

Devido a possível grande quantidade de dados que o servidor possa vir a armazenar, se é utilizado um banco de dados não relacional para armazenar os dados enviados, visto que este tipo de banco de dados provê velocidade nas operações de leitura e escrita de dados.

Conforme a premissa inicial deste trabalho, foi utilizado um serviço Web para o armazenamento e análise de dados e imagens, de forma que a aquisição de dados e a exibição das informações geradas pós-análise, estejam contidas somente na aplicação para smartphones, portanto, reduzindo a carga computacional para estes dispositivos. Como pode ser visto na Figura 5, os smartphones (clientes) fazem requisições aos microsserviços, como, por exemplo, envio da imagem, que permite ao microsserviço responsável iniciar a análise, o qual executa os algoritmos complexos, restando aos smartphones apenas o dever de aferir os parâmetros a serem analisados.

(27)

23

Figura 5. Arquitetura do sistema

As funções exercidas por este serviço Web são divididas em 3 microsserviços para a comunicação entre o dispositivo móvel e os dados armazenados na nuvem, tais serviços são nomeados de: (3.1.1) DataToDynamo, (3.1.2) ImageToS3 e (3.1.3) RetrieveData. Além destes, também ocorrem serviços secundários, UpdateDailyDB e UpdateMediaDB, que atualizam os dados presentes no servidor, quanto a data da sua última análise e quanto a adição de análises respectivamente. As subseções abaixo terão seu funcionamento detalhado na seção 3.2.

3.1.1 DATATODYNAMO

Para realizar uma análise, o serviço Web recebe dados obtidos a partir das respostas do questionário sobre o aquífero a ser aferido. Tais dados são enviados por um aplicativo desenvolvido para smartphones. Estes dados enviados são acrescidos da localização atual do usuário, que é obtida através do sistema de GPS do dispositivo, acompanhado do nome do arquivo da fotografia.

Para o envio dos dados adquiridos, a aplicação para smartphones efetua uma requisição HTTP Post para o endpoint do serviço DataToDynamo via o API Gateway.

(28)

24

Estes dados, após serem enviados com sucesso ao serviço Web, são armazenados em um banco de dados não relacional, e caso haja sucesso na operação, é retornado uma resposta HTTP 200, como visto na Figura 6.

Figura 6. Exemplo de requisição ao serviço DataToDynamo

3.1.2 IMAGETOS3

Como parte complementar para aferição da qualidade de aquíferos, é efetuada a análise de uma fotografia do local, para que seja efetuada uma análise minuciosa do local, como requisito para funcionamento deste microsserviço,

Durante a execução deste serviço é efetuada uma requisição ao serviço de terceiros, como o Wunderground (WUNDERGROUND, [s.d.]), que permite acessar informações meteorológicas de diversas regiões, as quais são utilizadas como heurísticas durante a análise da fotografia. O Wunderground retorna os dados climáticos para cada hora do dia anterior ao momento que está sendo realizada requisição, dados como temperatura média e pressão média.

Por fim, os dados adquiridos através da fotografia são agregados ao conjunto enviado previamente pelo usuário por meio da função (3.1.1) DataToDynamo e, portanto, os tornando em uma única análise.

3.1.3 RETRIEVEDATA

Para o usuário verificar a qualidade de aquíferos, este serviço tem como objetivo retornar para o usuário a qualidade dos diversos aquíferos próximos ao usuário. Para tal, é efetuada uma análise estatística de dados enviados de localizações próximas. Ao fim desta análise são retornadas ao usuário informações sobre aquíferos próximos.

3.1.4 RETRIEVEMYDATA

Para o usuário verificar a qualidade de aquíferos em que o mesmo participou na formação da média, este serviço tem como objetivo retornar para o usuário a qualidade de aquíferos em que a média das análises possui participação do usuário.

3.1.5 UPDATEMEDIASDB

Para repartir a carga computacional, este microsserviço tem como objetivo único o cálculo da média de análises efetuadas em locais próximos. Para que tal microsserviço

(29)

25

funcione sem a interação com o usuário, o mesmo é executado quando uma análise é finalizada ou seja, os dados e fotografia enviados através do smartphone já foram analisados e unidos como um único item no banco de dados.

3.1.6 UPDATEDAILYDB

Como forma de facilitar o acesso aos dados mais recentes do sistema, este microsserviço atualiza diariamente a idade das médias armazenadas, de forma que a idade é quantificada em meses a partir da análise mais recente utilizada nesta média.

3.2 IMPLEMENTAÇÃO

Este capítulo apresenta aspectos da implementação do Águas do Mundo, sistema que consiste em microsserviços construídos com o auxílio dos serviços Lambda e S3 da Amazon Web Services (AWS, 2014a) e a linguagem de programação Node.Js (NODE.JS FOUNDATION, 2015). Das funções presentes nestes microsserviços, estão: o armazenamento das respostas do questionário sobre a qualidade da água, armazenamento da fotografia do aquífero, acesso a média das análises próximas ao usuário, atualização dos valores utilizados nas médias e atualização da idade das médias armazenadas.

Para o uso destes microsserviços foi construída uma aplicação para Android, aplicativo que foi desenvolvido com o uso da linguagem de programação Kotlin (JETBRAINS, 2014) e o ambiente de desenvolvimento (IDE) Android Studio (GOOGLE, 2013). As principais atividades executadas pela aplicação Android são:

• Aferição e envio dos parâmetros de qualidade de água com o uso de questionário, fotografia do aquífero e de amostra de água do aquífero;

• Verificar a qualidade de aquíferos próximos ao usuário;

• Exibir mapa com a qualidade de aquíferos próximos ao usuário.

Sendo assim, para permitir o acesso da aplicação aos microsserviços presentes na solução em nuvem, foram utilizadas bibliotecas para acesso aos serviços providos pela Amazon, como o Lambda que se encontra presente no SDK da Amazon Web Services (AWS, 2014b). Levando em conta a capacidade de acesso a serviços Web como base da aplicação, a separação da lógica de transação da interface gráfica possui demasiada importância, sendo assim, este aplicativo foi construído com base no modelo arquitetural Model-View-Presenter (MVP) (CERVONE, 2017).

A Seção 3.2.1 apresenta detalhes da implementação dos microsserviços Web. A Seção 3.2.2ilustra o fluxo de uso da aplicação para dispositivos móveis.

(30)

26

3.2.1 SERVIÇOS WEB

Incorporados ao sistema, os serviços Web providos pela Amazon, entregam os alicerces para o funcionamento deste trabalho, utilizando os serviços: Lambda, DynamoDB, S3 e Rekognition.

• Lambda: serviço de computação sem servidor; • DynamoDB: banco de dados não relacional; • S3: armazenamento de arquivos;

• Rekognition: análise de imagens.

A utilização do Lambda permitiu a este trabalho a construção de microsserviços, de forma que o gerenciamento e escalonamento de servidores estejam aos cuidados da provedora do serviço. No desenvolvimento de microsserviços com o Lambda só se deve ao desenvolvedor a atribuição das permissões necessárias para o funcionamento dos microsserviços, como visto na Figura 7, que demonstra o uso da permissão de acesso completo ao serviço DynamoDB, responsável pelo armazenamento de dados.

{ "Version": "2012-10-17", "Statement": [ { "Action": [ "dynamodb:*", ], "Effect": "Allow", "Resource": "*" } ] }

Figura 7. Exemplo de permissão para uso do DynamoDB

Para o armazenamento dos dados de respostas do questionário é utilizado o microsserviço DataToDynamo, o qual possui uma execução simplificada que consiste em verificar se os dados recebidos não estão vazios, ou null, e, assim, exercer sua função, que é de exclusivamente receber e armazenar dados no DynamoDB. Dos dados recebidos estão: identificador do usuário, data e hora em que ocorreu a leitura, nome da primeira foto a ser armazenada, latitude, longitude, país, estado, cidade e além destes, também são recebidos dados sobre as respostas do usuário sobre o questionário.

Quanto a análise das fotografias, primeiramente, após a foto ter sido enviada com sucesso ao serviço S3, o microsserviço ImageToS3 é chamado. Conforme descrito na Figura

(31)

27

8, este comportamento ocorre devido a ativação de um gatilho para execução deste serviço, que é chamado automaticamente ao final de upload finalizado com sucesso ao repositório, ou bucket como denominado pela Amazon, chamado de aguasdomundo. Este gatilho possibilita o acesso ao arquivo que o ativou, ou seja, ao registro mais recente no repositório.

Figura 8. Diagrama descrevendo o comportamento do microsserviço ImageToS3

Em seguida, o algoritmo do ImageToS3 acessa as respostas do questionário correspondente a imagem que será analisada, através do nome do arquivo da imagem que previamente foi enviado em conjunto com os outros dados acerca do aquífero. Este microsserviço, então, define o procedimento para análise da imagem, e o executa através do

(32)

28

serviço para análise de imagens da Amazon, denominado de Rekognition. Desta forma, atribui rótulos a imagem, ou seja, discrimina os objetos identificados na imagem, verificando em cada um destes se há ocorrência de alga. Ao encontrar o rótulo referente a algas, o mesmo é acompanhado de uma taxa de confiança, que representa a porcentagem de algas presentes na imagem, e esta quantificação é inversamente proporcional a porcentagem de transparência do aquífero. A alga verde pertence ao meio da água doce, porém, o presente algoritmo não possui a capacidade de identificar esta cor devido a restrições do serviço utilizado para analisar a imagem, assim, após diversos testes, esta atividade mostrou-se bem representada através da identificação do rótulo chamado grass (grama). A detecção positiva ou negativa da cor verde é, então, enviada a outro banco de dados, sendo que em caso positivo os valores sobre transparência e presença de algas são adicionados à análise inicial. Já em caso negativo, é acionado uma API de terceiros chamado Wunderground, relatando o país e cidade da obtenção de dados, sendo que, se houverem cidades com o mesmo nome a API retornará a listagem destas acrescidas de um valor representando o estado a que pertencem, possibilitando um novo acionamento, agora, com a especificação do estado.

Para análise da turbidez, devido a restrições do serviço de análise de imagens da Amazon, foi necessário a utilização do serviço Google Vision (GCM, [s.d.]), provido pela Google (GOOGLE CLOUD PLATFORM, [s.d.]) através do seu catálogo de serviços em nuvem presentes na Google Cloud Platform. Para utilização deste serviço foi necessário o cadastro na plataforma da Google e obtenção de permissões para utilização. Para ser possível o acesso a este serviço, foi implementada uma requisição, de forma que esta apresente em seu corpo a imagem convertida em bytes e a chave de acesso à API. Com o envio da requisição a Google Vision, este serviço retorna as informações encontradas, como, por exemplo, as cores presentes. Com estes resultados, o ImageToS3 verifica a cor de maior dominância e seu valor, atribuindo valor 0 para resultados acima de 80, pois trata-se do fundo da imagem. Porém, caso a cor de maior dominância for menor do que 80, o valor resultante é mantido. O resultado final desta análise é o parâmetro turbidez. Por fim, é verificado se houve ocorrência de chuva no dia anterior a aferição.

No microsserviço retrieveData é definido, primeiramente, parâmetros para busca das médias finalizadas, sendo selecionadas as médias que possuem idade menor igual a 6 meses. Esta definição é feita com base no atributo month, que identifica a idade da análise em meses. Tal comportamento é representado na Figura 9.

(33)

29

Figura 9. Fluxograma representando o microsserviço retrieveData

Para o acesso as análises do usuário, o microsserviço retrieveMyData visa o retorno de médias em que análises do usuário foram utilizadas, sendo selecionadas as médias que possuem idade menor igual a 6 meses, com base no atributo month. Este microsserviço é representado na Figura 10.

Figura 10. Representação do microsserviço retrieveMyData

O microsserviço UpdateDailyDB possui como objetivo a atualização da idade de média, com ativação de forma automática e diária. O mesmo pesquisa as médias com idade menor igual a 6 meses, utilizando o parâmetro month. As análises resultantes da busca são iteradas em um laço de repetição, visando somente atualizar o parâmetro date, o qual

(34)

30

representa a data da mais recente análise utilizada nesta média, possua o número do dia em que a análise foi realizada igual a data de execução do microsserviço. Por fim, as médias que cumpram tais requisitos têm o parâmetro month incrementado em 1.

O microsserviço UpdateMediasDB visa o cálculo de médias baseadas nas análises mais recentes, sendo ativada automaticamente quando uma análise é finalizada e adicionada ao banco de dados aguasdomundofinal. Esta análise que ativou o microsserviço é requisitada, e todas as médias com idade menor igual a 6 meses são acessadas. Caso não haja médias com idade menor que seis meses, uma nova média é criada com os dados da análise responsável pela ativação do microsserviço. Porém, no caso em que a média possui idade menor igual a 6 meses, um laço de repetição verifica se esta média possui distância menor igual a 20m, sendo o laço encerrado ao ser encontrada a primeira que satisfaça este requisito. São criados três contadores onde cada um deles representará a superfície, dureza e a variação de pH, cada um destes contadores receberá um valor inicial igual ao número de análises que compõem a média a ser tratada. Em seguida são criadas as variáveis superficie, dureza, peixe_apatico, rain, transparency, turbulency, algae e algaeColor, as quais carregaram os valores correspondentes aos parâmetros contidos na análise que ativou este microsserviço. Em seguida, um laço de repetição verifica as análises que compõem a média, onde os parâmetros que compõem essas análises são acrescidos das variáveis correspondentes e instanciados previamente, porém, caso estes parâmetros possuam um valor igual a -1, não serão adicionados e seus contadores correspondentes serão decrescidos em 1. Por fim, as variáveis superficie, dureza e peixe_apatico, que representam respectivamente os parâmetros oxigênio, dureza e variação de pH, serão divididas pelos seus respectivos contadores e as demais variáveis serão divididas pelo número de análises contidas na média. A média será atualizada com estes parâmetros, além de acrescido da análise que ativou o microsserviço, e o mês e data da média serão atualizados conforme a análise acrescida, já que a mesma possui um valor de data diferente.

3.2.2 INTERFACE GRÁFICA

O Águas do Mundo provê uma interface para dispositivos móveis que permite o usuário aferir parâmetros de qualidade de água e verificar visualmente a qualidade da água de aquíferos próximos. Para abstrair a exibição dos dados analisados, é apresentado ao usuário um (i) mapa semelhante a mapas de calor, como visto na Figura 11. A aba (3) ‘minhas análises’ exibe uma listagem em tela da qualidade de aquíferos onde o usuário contribuiu com a análise.

(35)

31

Figura 11. Tela inicial da aplicação exibindo o mapa.

Em seguida, o usuário do Águas do Mundo possui a opção de (2) analisar aquíferos, de forma que a fotografia que será utilizada na análise só pode ser adquirida no local em que o usuário se encontra. Após a fotografia, é apresentado ao usuário uma série de questões sobre a qualidade do aquífero. Tais questões (Tabela 1) são utilizadas para obter dados acerca do aquífero, de forma que estas aferem sobre os seguintes parâmetros: oxigênio disponível, dureza da água e pH. As questões foram retiradas da cartilha da Embrapa (LIMA et al., 2013), onde são indicados sinais de problemas nos peixes ou no ambiente, e sinalizado o motivo do problema, referindo-se ao parâmetro. Algumas telas exibidas na aplicação durante o processo de aferição de parâmetros são demonstradas na Figura 12.

(36)

32

Figura 12. Exemplos de telas utilizadas para analisar aquíferos.

O envio dos dados ocorre por meio do uso de duas bibliotecas providas pela Amazon, que proveem o acesso aos serviços Amazon Lambda e Amazon S3, respectivos nomes das bibliotecas utilizadas. Tais bibliotecas são utilizadas no envio de dados, onde a Lambda permite o acesso aos microsserviços e o S3 acesso ao armazenamento de arquivos em nuvem da Amazon, onde este serviço é usado unicamente para o envio de imagens do aquífero que será analisado.

A execução das análises ocorre por meio do envio dos parâmetros da água, obtidos a partir do preenchimento do questionário, e o envio de duas fotografias. Sendo que, devido a forma como os microsserviços foram construídos, só é permitido efetuar o upload das imagens após concluir o envio das respostas do questionário.

Para que os dados necessários estejam conforme a especificação deste trabalho, os parâmetros obtidos são armazenados e tratados segundo uma classe, que objetiva apenas armazenar os respectivos parâmetros aferidos, sendo denominada classe Analise neste trabalho. A mesma possui os seguintes atributos: (i) id, valor alfanumérico que identifica o dispositivo que aferiu os dados; (ii) nome_foto, parâmetro que armazena o nome da foto a ser enviada posteriormente; (iii) superficie, valor numérico que representa a presença de peixes

(37)

33

na superficie de aquíferos; (iv) dureza, valor numérico que representa a dureza atual do aquífero; (v) peixe_apatico, valor numérico que representa a aparência atual de peixes já presentes no aquífero; (vi) latitude e (vii) latitude, representam a geolocalização atual do dispositivo utilizado; (viii) pais, (ix) estado e (x) cidade, estes parâmetros representam o local atual em que o usuário se encontra.

É importante salientar que, caso o usuário deseje efetuar uma análise e não possua acesso à internet para enviar estes dados aos microsserviços correspondentes, estes dados são salvos localmente e são enviados quando a aplicação verificar que há acesso à internet. Como visto na Figura 13.

Figura 13. Diagrama representando o funcionamento da capacidade de salva análises para as enviar

posteriormente.

Para execução desta funcionalidade, verifica-se ao final da aferição de dados se há presença de conexão com a internet. Caso o dispositivo não possua conexão no momento, faz com que os dados aferidos sejam armazenados para futuras tentativas. Por tanto, quando se é detectado que o dispositivo está conectado com a internet, as ações pendentes são acessadas e registradas em um gerenciador que cuidará do envio destes dados aos serviços Web. Para que os dados armazenados sejam enviados de forma automatizada, foi-se implementado um NetworkChangeReceiver, que é um listener capaz de solicitar uma ação por parte da aplicação quando o estado de conexão com a internet é alterado.

A aplicação desta funcionalidade é importante devido ao público alvo, já que tais análises podem ocorrer em locais onde o acesso à internet é restrito, como em casos em que o sinal telefônico pode não ser adequado, inviabilizando o uso de conexões móveis como o 3G e 4G, ou pequenas centrais de produções que ainda não utilizam rede particular.

Por fim, após o questionário e imagem serem analisados através dos microsserviços, os dados ficam disponíveis para visualização do público em geral. O aplicativo envia a posição geográfica (latitude e longitude) atual do dispositivo ao retrieveData, que após processar a informação, retorna as análises, permitindo que o aplicativo mostre no mapa as avalições dos últimos 6 meses próximos ao usuário, em uma distância de até 1000m. Sendo

(38)

34

ainda disponibilizada ao usuário em questão a listagem das análises as quais o mesmo teve participação no envio de dados, para este fim o aplicativo efetua uma solicitação ao microsserviço retrieveMyData acrescida do mesmo ID utilizado nas análises, retornando as quais o usuário teve participação, finalizando com o aplicativo preenchendo a lista com estas.

(39)

35

3.3 OBTENÇÃO DE PARÂMETROS DA ÁGUA

Nesta seção é exposto os métodos utilizados no aplicativo Águas do Mundo para aferição dos parâmetros.

Os parâmetros oxigênio, variação do pH e dureza possuem métodos já comprovados pela literatura que permitem analisar os aquíferos, os quais foram implementados ao aplicativo. Além destes, a presença de algas também demonstra importância, porém, sendo necessária uma análise de maior precisão e detalhes, visto que o método de avaliação difundido é instável, pois utiliza a análise visual. Devido a proposta deste trabalho, tornou-se necessário, ainda, o desenvolvimento de uma técnica para a análise de turbidez, já que tal parâmetro não possui método de baixo custo que permita a análise do mesmo.

As seguintes seções apresentam os métodos utilizados para a análise dos seguintes parâmetros: oxigênio (Erro! Fonte de referência não encontrada.), variação de Ph (3.3.2), d ureza (3.3.3), presença de algas (Erro! Fonte de referência não encontrada.) e turbidez (Erro! Fonte de referência não encontrada.).

3.3.1 TURBIDEZ

A técnica proposta funciona a partir da análise de uma amostra do aquífero inserida em recipiente transparente, posicionado sob uma superfície de cor uniforme a escolha do usuário do aplicativo. Um exemplo de recipientes com amostras de águas diferentes pode ser visto na Figura 14. Após fotografar a amostra inserida no recipiente, a imagem será enviada a um serviço Web que analisa a mesma e retorna a dominância da cor da água sobre o fundo.

(40)

36

3.3.2 PRESENÇA DE ALGAS

Devido ao processo de fotossíntese, a presença de algas possui correlação com a concentração de oxigênio nas águas, os efeitos envolvem a diminuição de oxigênio durante a noite e a superprodução durante o dia. A partir da análise da fotografia do aquífero verificou-se a preverificou-sença e quantidade de algas, além da cor, já que a mesma varia de acordo com o ambiente.

3.3.3 OXIGÊNIO

O oxigênio é o principal atuante no ciclo de vida dos seres vivos. A poluição das águas, ou a presença excessiva de algas, tem como consequência a diminuição da concentração deste componente nas águas. Quando o aquífero apresenta baixos de níveis de oxigênio dissolvido, os peixes vão até a superfície para respirar, sendo um indicativo visual da qualidade das águas, informado pelo próprio usuário através da pergunta no questionário referente a presença destes animais na superfície.

3.3.4 VARIAÇÃO DE PH

As espécies aquáticas necessitam de níveis diferentes de pH. A variação do pH causa estresse nos peixes do aquífero, devido ao gasto energético necessário para compensar a variabilidade em questão, como consequência estes animais podem apresentar aparência apática, que é identificada visualmente e informada pelo usuário através do questionário.

3.3.5 DUREZA

A dureza é relacionada a concentração de sais, sendo estes importantes para o funcionamento de variadas funções do organismo dos peixes. Para a verificação da dureza das águas do aquífero em questão optou-se por avaliar através da reação com sabão. A técnica de avaliação consistiu em misturar água do aquífero com o sabão, sendo informado ao final no questionário se foi gerada pouca ou muita espuma, já que quanto mais dura, maior quantidade de água é necessária para gerar espuma.

(41)

37

4 AVALIAÇÃO

Para avaliação deste trabalho foi efetuada primeiramente a comparação entre a metodologia desenvolvida para análise de turbidez, ou seja, a presente no aplicativo Águas do Mundo, e a utilização de sensores. A aquisição dos dados de sensores foi efetuada por parte de especialistas na área. A possibilidade de imprecisão é esperada, tendo em vista a proposta de gratuidade do trabalho e a dispensa de mostrar os dados sem nenhum tratamento, já que para o usuário final são entregues apenas as recomendações.

Como mostra a Figura 15, em azul são mostrados os valores representativos para uma turbidez alta, obtidos através da aplicação e, também, do sensor, os quais revelam uma semelhança entre métodos devido ao que será entregue ao usuário é a recomendação, e não os valores em precisão. Já em vermelho, ocorre a representação de uma situação com baixa turbidez, onde o valor é ínfimo e invisível ao gráfico na escala apresentada utilizando o sensor, e para a medição com a aplicação, é apresentado como altíssima turbidez, pois o que o mesmo detecta é o fundo do aquífero, devido a transparência das águas, sendo está a mais dominante e não causando erro na informação.

Figura 15. Comparação entre os dados obtidos por sensor e pela aplicação.

Como resultado da comparação, é realmente constatado que os dados obtidos pela aplicação não possuem a mesma precisão dos obtidos por sensores. Todavia, as recomendações entregues pelo aplicativo para os dados oriundos tanto da aplicação como dos sensores, possuem a acurácia semelhante.

Além da avaliação para o método de aferição da turbidez, foram avaliados também os métodos utilizados para verificar outros parâmetros presentes neste trabalho, com o auxílio de

(42)

38

especialista na área de qualidade da água. Após reuniões com a especialista, foram constatadas possíveis imprecisões para estes parâmetros.

Devido proposta a longo médio prazo deste trabalho e a entrega indireta dos seus referentes dados a partir de recomendações, tornou-se necessário, então, as avaliações com diferentes números de análises. Assim, foi constatado que o aplicativo demonstra imprecisões em casos de aquíferos que possuem poucas análises, entretanto, após realizadas um número considerável destas, a precisão dos dados contidos no banco de dados aumenta. Porém, as recomendações sugeridas mantêm-se, já que os dados em que estas são baseadas tendem a somente aumentar sua precisão, porém não mudam drasticamente.

O Águas do Mundo consiste, como proposto, de uma solução em nuvem e um aplicativo para sistema operacional Android. A solução em nuvem realiza a análise e armazena os dados aferidos por usuários. Já o aplicativo possibilita acessar as funcionalidades da nuvem ao enviar a aferição de parâmetros e, ainda, exibir os resultados das análises através de texto e por meio de mapas de calor. Desta forma, as informações da qualidade das águas estão disponíveis para observação pelo público em geral, sendo que, o usuário pode as visualizar até 1 km de distância do local onde se encontra.

Referências

Outline

Documentos relacionados

Portanto, mesmo percebendo a presença da música em diferentes situações no ambiente de educação infantil, percebe-se que as atividades relacionadas ao fazer musical ainda são

Many positive impacts are documented in sectors well beyond the sugarcane mills and farms: boosts in other crops, decrease in deforestation, growth of labor market, and improved

Promptly, at ( τ − 2 ) , there is a reduction of 4.65 thousand hectares in soybean harvested area (statistically significant at the 1% level), an increase of 6.82 thousand hectares

Os ativos não circulantes classificados como disponível para venda são mensurados pelo menor montante entre o seu custo contábil e o seu valor justo, líquido das despesas com a

No Brasil e no mundo, é elevado o número de turistas interessados nesse tipo de atividade, em busca de conhecimentos e aventuras em cavernas e demais paisagens cársticas,

Local de realização da avaliação: Centro de Aperfeiçoamento dos Profissionais da Educação - EAPE , endereço : SGAS 907 - Brasília/DF. Estamos à disposição

Devido às características do Sistema Brasileiro, o Planejamento da Operação de Sistemas Hidrotérmicos de Potência (POSHP) pode ser clas- sicado como um problema de

Somente na classe Aberta Jr e Sr, nas modalidades de Apartação, Rédeas e Working Cow Horse, que será na mesma passada dessas categorias e os resultados serão separados. O