UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE...

105
UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE P ´ OS-GRADUAC ¸ ˜ AO EM ENGENHARIA EL ´ ETRICA E COMPUTAC ¸ ˜ AO Marco Aur´ elio Borges UMA ARQUITETURA PARA INTERNET DAS COISAS PARA AN ´ ALISE DA CONCENTRAC ¸ ˜ AO DE MON ´ OXIDO DE CARBONO NA GRANDE S ˜ AO PAULO POR MEIO DE T ´ ECNICAS DE BIG DATA ao Paulo 2017

Transcript of UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE...

Page 1: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

UNIVERSIDADE PRESBITERIANA MACKENZIEPROGRAMA DE POS-GRADUACAO EM

ENGENHARIA ELETRICA E COMPUTACAO

Marco Aurelio Borges

UMA ARQUITETURA PARA INTERNET DAS COISAS

PARA ANALISE DA CONCENTRACAO DE MONOXIDO

DE CARBONO NA GRANDE SAO PAULO POR MEIO DE

TECNICAS DE BIG DATA

Sao Paulo2017

Page 2: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

UNIVERSIDADE PRESBITERIANA MACKENZIEPROGRAMA DE POS-GRADUACAO EM

ENGENHARIA ELETRICA E COMPUTACAO

Marco Aurelio Borges

UMA ARQUITETURA PARA INTERNET DAS COISAS

PARA ANALISE DA CONCENTRACAO DE MONOXIDO

DE CARBONO NA GRANDE SAO PAULO POR MEIO DE

TECNICAS DE BIG DATA

Dissertacao apresentada ao Programa dePos-Graduacao em Engenharia Eletrica e Com-putacao da Universidade Presbiteriana Macken-zie como requisito parcial a obtencao de tıtulode Mestre em Engenharia Eletrica e Computacao.

Orientador: Prof. Dr. Paulo Batista LopesCoorientador: Prof. Dr. Leandro Augusto da Silva

Sao Paulo2017

Page 3: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

A B726 Borges, Marco Aurélio

Uma arquitetura para internet das coisas para análise da concentração de monóxido de carbono na grande São Paulo por meio de técnicas de Big Data / Marco Aurélio Borges – São Paulo, 2017.

80 f.: il., 30 cm Bibliografia: f. 73-79 Dissertação (Mestrado em Engenharia Elétrica e Computação) –

Universidade Presbiteriana Mackenzie, São Paulo, 2017. Prof. Dr. Paulo Batista Lopes

1. Internet das Coisas 2. Big Data 3.Sensor Data Mining 4.

Arquitetura Hadoop 5. ESP2866. Título

CDD 004.678

Page 4: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA
Page 5: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

a Deus por ter me dado forca em to-dos os momentos.pelo apoio, incentivo incondicionaisda minha mae, meus irmaos e a mi-nha famılia.

i

Page 6: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

AGRADECIMENTOS

Ao Instituto Presbiteriano Mackenzie pelo financiamento parcial deste projeto com

bolsa de estudo do MackPesquisa e Capes (Coordenacao de Aperfeicoamento de Pessoal

de Nıvel Superior)

Aos colegas pesquisadores dos laboratorios BigMAAp e JAS3 da Faculdade de Com-

putacao e Informatica e Escola de Engenharia Eletrica da Universidade Presbiteriana

Mackenzie.

Ao Programa de Pos-Graduacao em Engenharia Eletrica e Computacao (PPGEEC)

da Universidade Presbiteriana Mackenzie, por todo o suporte para a realizacao desta

pesquisa.

Ao meu orientador Prof. Dr. Paulo Batista Lopes e ao coorientador Prof. Dr. Leandro

Augusto da Silva, por todo o apoio, auxılio, paciencia e conhecimento compartilhados

comigo.

ii

Page 7: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

RESUMO

A utilizacao de sensores para o monitoramento de um determinado ambiente aliada ao

uso da internet como meio de comunicacao e popularmente chamado de Internet das Coi-

sas (do ingles, Internet of Things (IoT )). A quantidade de informacao que se gera neste

ambiente IoT tem fomentado um aumento no acumulo de dados nunca antes imaginado.

Um dos importantes desafios para o seu desenvolvimento e armazenar e processar esse

grande volume de dados em aceitaveis parametros de medicao e analise. Esta pesquisa

direciona esse desafio, a partir do armazenamento e compilacao de dados oriundos de

diversos sensores ate a analise exploratoria das informacoes obtidas. Na pesquisa foram

analisados sensores de captacao de dados na Regiao Metropolitana de Sao Paulo (RMSP),

com sensores capazes de medir os ındices de monoxido de carbono (CO). A pesquisa ainda

analisa algumas arquiteturas para processamento em lote (batch) e em fluxo (stream) de

sensores e utilizar uma delas na construcao de um ambiente Big Data. Foram utiliza-

das as ferramentas de Big Data para o armazenamento, processamento e visualizacao

desses dados de IoT. Nos experimentos desenvolvidos na pesquisa foram analisados os

sensores de monoxido de carbono (MQ7), conectados atraves de uma unidade micro-

controladora que apresenta suporte ao protocolo Transmission Control Protocol/Internet

Protocol (TCP/IP). Este projeto destaca o instrumento de como compilar e executar

esses dados e a analise dos mesmos obtidos de forma dinamica. Os dados obtidos pelos

sensores IoT constatam como a media dos ındices coletados, estao muito superiores aos

padroes internacionais estabelecidos pela OMS.

Palavras-chave: Internet das Coisas, Big Data, Sensor Data Mining, Arquitetura

Hadoop e ESP2866.

i

Page 8: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

ABSTRACT

The use of sensors for the monitoring of a given environment allied to the Internet as

a means of communication is popularly known as Internet of Things (IoT). The amount

of information generated in this environment has led to an unprecedented increase in data

collection. One of the major challenges for its development lies in the storage and the

processing of this huge volume of data into acceptable measurement and analysis parame-

ters. This research takes up this challenge by storing and compiling data from different

sensors, and by carrying out an exploratory analysis of the information gathered. In this

research, sensors that collect data from a specific Sao Paulo’s Metropolitan Area (SMA)

have been analysed. These sensors are capable of measuring carbon monoxide (CO) le-

vels. This research aims to analyse some architectures for both batch and stream sensor

processing and to use one of them for the construction of a Big Data environment. Big

Data tools were used for IoT storage, processing and visualization data. During the expe-

riments, carbon monoxide sensors (MQ7), were analysed. They were connected through a

microcontroller unit that supports the Transmission Control Protocol/Internet Protocol

(TCP/IP). This project highlights the necessary tools to execute and analyse the data

in a dynamic manner. The data collected by the sensors show that the avarage levels

of carbon monoxide are well above the international standards set by the World Health

Organization (WHO).

Keywords: Internet of Things, Big Data, Sensor Data Mining, Hadoop Architecture

and ESP2866.

i

Page 9: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Sumario

1 INTRODUCAO 1

1.1 Justificativa . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4

1.2 Objetivos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.1 Objetivo Geral . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5

1.2.2 Objetivos Especıficos . . . . . . . . . . . . . . . . . . . . . . . . . . 6

1.3 Organizacao Documento . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6

2 REFERENCIAL TEORICO 7

2.1 Padroes Qualidade do Ar . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7

2.2 Internet das Coisas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11

2.2.1 Aplicacao de Sensores IoT . . . . . . . . . . . . . . . . . . . . . . . 13

2.2.2 Sistemas Cognitivos IoT . . . . . . . . . . . . . . . . . . . . . . . . 15

2.3 Big DATA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19

2.3.1 Desenvolvimento Big Data . . . . . . . . . . . . . . . . . . . . . . . 21

2.3.2 Sensor Data Mining . . . . . . . . . . . . . . . . . . . . . . . . . . 24

2.3.3 Data Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25

2.3.4 Big Data Analytics . . . . . . . . . . . . . . . . . . . . . . . . . . . 28

2.3.5 Ferramentas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30

2.4 ARQUITETURAS PARA BIG DATA e INTERNET DAS COISAS . . . . 35

2.5 Parametros do sistema Big Data para SDM . . . . . . . . . . . . . . . . . 36

2.6 Sistema, arquitetura, framework e modelo de referencia . . . . . . . . . . . 38

2.7 Arquitetura Liquid . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 39

2.7.1 Estrutura da Arquitetura Liquid . . . . . . . . . . . . . . . . . . . 39

2.7.2 Distribuicao quanto ao Processamento . . . . . . . . . . . . . . . . 40

Page 10: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

2.7.3 Limitacoes da Arquitetura . . . . . . . . . . . . . . . . . . . . . . . 41

2.8 Hadoop Distributed File System . . . . . . . . . . . . . . . . . . . . . . . . 42

2.8.1 Caracterısticas Principais . . . . . . . . . . . . . . . . . . . . . . . 43

2.8.2 MapReduce . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 44

3 METODOLOGIA, PROJETO E IMPLEMENTACAO 50

3.1 Metodologia . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50

3.2 Descricao do Projeto para Implementacao da Arquitetura . . . . . . . . . . 51

3.3 Configuracao dos Sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . 51

3.4 Armazenamento e Analise dos Dados . . . . . . . . . . . . . . . . . . . . . 54

3.5 Servidor NoSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56

4 RESULTADOS EXPERIMENTAIS 58

4.0.1 Linguagem de Programacao . . . . . . . . . . . . . . . . . . . . . . 58

4.0.2 Visualizacao de Dados . . . . . . . . . . . . . . . . . . . . . . . . . 58

4.1 Resultados HDFS e MapReduce . . . . . . . . . . . . . . . . . . . . . . . . 66

5 CONCLUSOES 71

5.1 Trabalhos Futuros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 72

REFERENCIAS 79

6 ARTIGO PUBLICADO 80

Page 11: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Lista de Figuras

1 Captura de dados rede IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . 12

2 Diagrama de bloco modulo ESP8266. . . . . . . . . . . . . . . . . . . . . . 14

3 Fluxograma CIoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 16

4 Perguntas e Repostas IBM Watson and Deep QA . . . . . . . . . . . . . . 18

5 Conceito de Big Data Analytics. . . . . . . . . . . . . . . . . . . . . . . . . 21

6 Processos de Mineracao de Dados. . . . . . . . . . . . . . . . . . . . . . . . 23

7 Big Data Analytics Infraestutura. . . . . . . . . . . . . . . . . . . . . . . . 31

8 Plataformas de Big Data e quanto ao processamento. . . . . . . . . . . . . 33

9 Integracao de dados arquitetura Liquid. . . . . . . . . . . . . . . . . . . . . 40

10 Diagrama esquematico do funcionamento do algorıtimo de MapReduce. . . 45

11 Fluxo atividades contador de palavras. . . . . . . . . . . . . . . . . . . . . 48

12 Arquitetura proposta e implementada neste Trabalho. . . . . . . . . . . . . 51

13 Exemplo da topologia de sensores. . . . . . . . . . . . . . . . . . . . . . . . 52

14 Sketch Programacao Sensor . . . . . . . . . . . . . . . . . . . . . . . . . . 54

15 Layout sensor IoT. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 55

16 Dados json e Url IP servidor . . . . . . . . . . . . . . . . . . . . . . . . . 55

17 Dashboard servidor NoSQL . . . . . . . . . . . . . . . . . . . . . . . . . . . 57

18 Coleta Dados Sensor 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

19 Coleta Dados Sensor 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 60

20 Coleta Dados Sensor 2 e 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . 62

21 Visualizacao dos valores medios coletados pelo sensor 2. . . . . . . . . . . . 63

22 Densidade sensores . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

iv

Page 12: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

23 Quartil sensor 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

24 Quartil sensor 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 64

25 Boxplot sensor 4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

26 Histograma sensor 2. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65

27 Histograma sensor 4. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66

28 Aplicacoes gerenciadas HDFS. . . . . . . . . . . . . . . . . . . . . . . . . . 68

29 Execucao do HUE. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 69

30 Logs e ID Job. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 70

Page 13: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Lista de Tabelas

1 Padroes Estaduais de Qualidade do Ar . . . . . . . . . . . . . . . . . . . . 8

2 Criterios para episodios agudos de poluicao do ar . . . . . . . . . . . . . . 9

3 Estrutura do ındice de qualidade do ar . . . . . . . . . . . . . . . . . . . . 10

4 Comparacao padroes de protocolo. . . . . . . . . . . . . . . . . . . . . . . 14

5 Comparacao escalas de atributos. . . . . . . . . . . . . . . . . . . . . . . . 26

6 Principais ferramentas de processamento em lote em Big Data. . . . . . . . 32

7 Principais ferramentas de processamento stream em Big Data. . . . . . . . 34

8 Principais ferramentas de analise interativa em Big Data. . . . . . . . . . . 35

9 Configuracoes do Cluster Yahoo. . . . . . . . . . . . . . . . . . . . . . . . . 44

10 Atividades de um MapReduce. . . . . . . . . . . . . . . . . . . . . . . . . . 49

11 Lista de Componentes Utilizados . . . . . . . . . . . . . . . . . . . . . . . 53

12 Configuracoes do Cluster servidor IoT Server. . . . . . . . . . . . . . . . . 56

vi

Page 14: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Lista de Quadros

1 Entradas e saıdas MapReduce. . . . . . . . . . . . . . . . . . . . . . . . . . 45

2 Codigo simulando MapReduce. . . . . . . . . . . . . . . . . . . . . . . . . . 47

3 Progamacao dados sensores R Studio. . . . . . . . . . . . . . . . . . . . . . 59

4 Script url e Loop. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

5 Biblioteca ui.R. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61

6 HDFS e MapRduce Stream. . . . . . . . . . . . . . . . . . . . . . . . . . . 67

Page 15: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Lista de Abreviaturas e Siglas

AHP Analytic Hierarchy Process

API Application Programming Interface

BDE Big Data Ecosystem

BI Business Intelligence

CDH Cloudera Distribution for Hadoop

CETESB Companhia Ambiental do Estado de Sao Paulo

CIoT Cognitive Internet of Things

CO Monoxido de Carbono

CONSEMA Conselho Estadual do Meio Ambiente

CPUs Central Processing Units

CRS Compressed Representation Structure

DA Data Analytics

DM Data Mining

ETL Extraction Transform and Loading

FP Growth Frequent Pattern Growth

FPGAs Field Programmable Gate Arrays

GPIO General Purpose Input Output

GPUs Graphics Processing Units

HDF Hortonworks Data Flow

HDFS Hadoop Distributed File System

viii

Page 16: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

HDP Hortonworks Data Platform

HTTP Hypertext Transfer Protocol

HUE Hadoop User Experience

IaaS Infrastructure as a Service

IoT Internet of Things

IPCS Intelligent Physical Cyber Socia

ITU International Telecommunication Union

json java script object notation

KDD knowledge Discovery in Databases

M2M Machine to Machine

MD Mineracao de Dados

MI Metas Intermediarias

MIT Massachusetts Institute of Technology

MPP Massively Parallel Processing

NLU Natural Language Understanding

NoSQL Not only Structured Query Language

OLAP Online Analytical Processing

OMS Organizacao Mundial da Saude

ORM Object Relational Mapper

PaaS Platform as a Service

PF Padroes Finais

ppm partes por milhao

PQAr Padroes de Qualidade do Ar

Page 17: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

QA Question Answering

RAM Random Access Memory

RMSP Regiao Metropolitana de Sao Paulo

SaaS Sensing as a Service

SDM Sensor Data Mining

SMA Sao Paulo’s Metropolitan Area

SQL Structured Query Language

TCP/IP Transmission Control Protocol/Internet Protocol

UDP User Datagram Protocol

USB Universal Serial Bus

VM Virtual Machine

WHO World Health Organization

WiFi Wireless Fidelity

Yarn Yet Another Resource Negotiator

x

Page 18: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

1 INTRODUCAO

A poluicao atmosferica e resultante de um somatorio de fatores geograficos e climaticos;

e seus efeitos nocivos sao percebidos pela populacao atraves de doencas respiratorias. A

inalacao do gas monoxido de carbono, de forma cronica, tempo prolongado e em doses

nocivas, podem provocar doencas respiratorias desde inflamacoes (traqueites e bronqui-

tes cronicas) ate enfisema pulmonar e broncopneumonias quımicas ou infecciosas. Sua

acao toxica deve-se, principalmente, a capacidade de oxidar proteınas, lipıdios e outras

substancias quımicas integrantes das celulas, lesando ou matando as mesmas, dependendo

da concentracao e do tempo de exposicao. Assim, os oxidantes fotoquımicos agravam a

acao irritante dos outros poluentes e intensificam as inflamacoes e infeccoes do sistema

respiratorio (PORTAL, 2017).

A forma mais evidente de agravar a poluicao do ar em grandes centros urbanos,

como na regiao metropolitana de Sao Paulo, e a producao de resıduos produzidos pela

combustao do diesel que movimenta a frota de caminhoes e onibus; e que sao lancados

no ar. A fumaca preta que sai dos escapamentos dos veıculos a diesel e formada pela

mistura de poluentes gasosos e particulados nocivos a saude humana como o monoxido

de carbono (PORTAL, 2017).

O Monoxido de Carbono (CO), e um gas inodoro, incolor, insıpido produzido por

queima incompleta de combustıveis que contem atomos de carbono. Essencialmente,

trata-se de uma substancia que prejudica a oxigenacao dos tecidos e, por isso, e classificada

como um asfixiante sistemico.

A Organizacao Mundial da Saude (OMS ) estabelece que uma cidade somente pode

considerar que tem um ar limpo se apresentar uma media de, no maximo, 10 partes por

milhao (ppm), (OMS, 2017). Qualquer valor acima desse ındice representa riscos para a

saude. O ındice de poluicao do ar em Sao Paulo em media e quase duas vezes superiores

ao teto estabelecido pela (OMS). A taxa e de 19 ppm. A frota da capital paulista passa de

7 milhoes de veıculos, o ultimo dado oficial do departamento e o balanco de dezembro de

2016, quando a frota da cidade fechou em 7,98 milhoes de veıculos (DENATRAN, 2017).

O monitoramento da qualidade do ar tem relevada importancia para a definicao de

polıticas de abatimento da poluicao atmosferica. E atraves da rede de monitoramento

1

Page 19: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

que se pode constatar a evolucao das concentracoes dos poluentes como o monoxido de

carbono (CO).

A proposito da discussao da obtencao de dados de sensores, que captam alguns poluen-

tes e ındices, esses ajudam no sentido de monitorar e gerar analises que podem contribuir

com a reducao da poluicao.

Nesse contexto que emerge a Internet das Coisas, conceito que consiste na criacao

de uma infraestrutura de sensores interconectados com a finalidade monitorar, analisar e

atuar virtualmente sobre o mundo real. A definicao de Internet das Coisas, ou simples-

mente IoT (do ingles, Internet of Things), foi proposta inicialmente pelo Auto-ID center

do Massachusetts Institute of Technology (MIT ) (MATTERN F.; ZURICH, 2005) e no

relatorio de pesquisa escrito pelo International Telecommunication Union (ITU ) (ITU,

2005; ITU, 2009).

No ambiente de IoT existem diversos desafios ainda a serem superados como a necessi-

dade de interoperabilidade dos dados, o volume de informacao diversificada transmitida e

recebida, seguranca e privacidade no acesso as informacoes contextualizadas e aos servicos

de atuacao no ambiente (GAO; LEI; YU, 2015). No aspecto de armazenamento, a solucao

mais apropriada e com uso de tecnologias de Big Data que alem de auxiliar no armaze-

namento, ainda oferece recursos para processamento e visualizacao dos dados.

Alguns dispositivos como sensores, cameras e microfones, eletrodomesticos conectados

ou dispositivos de realidade aumentada, que podem ser categorizados pelo termo Internet

das Coisas (IoT), geram dados nao trataveis por sistemas desenvolvidos para processar

dados estruturados. Dados com caracterısticas como estas, grandes (volume), rapidos

(velocidade) e difıceis de serem tratados pelos sistemas atuais (variedade) definem o termo

Big Data (MADDEN, 2012).

Com o amadurecimento dessa tecnologia no sentido do aprimoramento dos sensores,

a coleta de dados e consecutivo armazenamento dos mesmos com capacidade analıtica

provocou um interesse muito grande dessa tecnologia em diversas areas do conhecimento.

O interesse mais significativo e impactante vem sendo chamado de cidades inteligentes

(do ingles, Smart Cities) cuja finalidade e a obtencao de um ambiente que proporcione

a populacao conforto, comodidade, seguranca e ambientes mais inteligentes (JIN et al.,

2014).

2

Page 20: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Essas tecnologias preenche um espaco entre as necessidades decorrentes da evolucao

do mercado, das informacoes, dos usuarios e coisas pelo movimento em direcao a um

framework comum que viabilize novos desafios, como quantidade adicional de informacao

que pode ser gerada e utilizada. Esse desafio de analise de grande quantidades de dados

tera grande impacto no uso da IoT em novas areas de utilizacao dos sensores inteligentes,

cidades inteligentes, transportes e muitas outras que afetarao o futuro do ecossistema glo-

bal da Internet (SKARMETA, 2013). Segundo Ganz et al. (2015) e Skarmeta (2013) as

caracterısticas da IoT, como grande volume de dados, informacoes distribuıdas, relacao de

tempo e localizacao, a heterogeneidade entre os dispositivos, dificultam o processamento

em uma arquitetura centralizada: (1) o grande volume de dados distribuıdos em diferentes

localidades ou sites torna-se uma dificuldade na centralizacao e processamento em tempo

real, que em caso de processamento centralizado requer alto desempenho; (2) essa massa

de dados gerados na IoT requer o processamento em tempo real, que em caso de pro-

cessamento centralizado tambem requer alto desempenho do hardware; (3) avaliacoes de

seguranca e privacidade, tolerancia e falhas, necessidades das empresas, ou atendimento

as normas locais, inviabilizam a arquitetura centralizada; (4) recursos escassos. (BHATT;

PATOLIYA, 2016).

O projeto Apache Hadoop e uma das ferramentas/solucoes mais conhecidas para Big

Data atualmente. Sua finalidade e oferecer uma infraestrutura para armazenamento e

processamento de grande volume de dados, provendo escalabilidade linear e tolerancia a

falhas. Segundo White (2015), em abril de 2008 o Hadoop quebrou o recorde mundial e

se tornou o sistema mais rapido a ordenar 1 terabyte, utilizando 910 maquinas essa marca

foi atingida em 209 segundos. Em 2009, este valor foi reduzido para 62 segundos.

Chen e Zhang (2014a) ao apresentar alguns princıpios essenciais para o projeto de

sistemas Big Data analıticos, mencionam que muitas arquiteturas sao propostas para

processamento paralelo, tanto para processamento em fluxo quanto para processamento

em lote. No entanto, as arquiteturas variam de acordo com o tipo de problema a ser

resolvido.

Essa alta captacao e processamento dados pode ser usado no contexto dentro de uma

Regiao Metropolitana de Sao Paulo (RMSP), na medida em que a utilizacao de sensores

passa a mapear a qualidade do ar. Sistemas de gerenciamento em uma cidade inteligente,

3

Page 21: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

ambientes virtuais de aprendizagem e outros sistemas estao presentes nas modalidades de

transmissao on-line do dados obtidos que podem ser usados em benefıcio da populacao

de uma grande metropole, como Sao Paulo. Dentre as areas do conhecimento preocu-

padas com o desenvolvimento do processo de envio de dados de poluentes ambientais

oriundos dos sensores, duas se destacam pelo uso intensivo de dados e por suas relacoes

interdisciplinares: Mineracao de dados sensoriais ou Sensor Data Mining, (SDM ) e Data

Analytics (DA). Embora tenham em comum a preocupacao em analisar dados gerados

no contexto cientifico, visando um melhor entendimento e a melhoria deste contexto,

estas areas apresentam suas particularidades em relacao ao processamento dos mesmos

(CHITTURI; THOMAS; S., 2015).

A pesquisa na literatura por aplicacoes envolvendo Internet das Coisas e Big Data

mostrou uma importante carencia por orientacoes mais objetivas quanto a definicao e

aplicacao de arquiteturas de sistemas, a escolhas de ferramentas e a decisao de apre-

sentacao/hospedagem em nuvem ou em estrutura propria. A lacuna encontrada tornou-se

a motivacao da presente pesquisa que propoe como objetivo implementar uma arquitetura

de Big Data para Internet das Coisas que envolve o processo de coleta em tempo real, ar-

mazenamento de forma distribuıda, processamento analıtico dos dados e visualizacao das

analises. Como objetivo especıfico propoe-se aqui a validacao desta arquitetura atraves

do monitoramento de CO em algumas regioes da regiao metropolitana da cidade de Sao

Paulo.

1.1 Justificativa

Atraves das ferramentas de Big Data foi possıvel coletar, armazenar, analisar e apre-

sentar os resultados obtidos dos ındices de monoxido de carbono, e utiliza-los para indicar

o risco a que as pessoas estao expostas nos locais receptores, tais como, escolas, hospitais,

bairros com alta incidencia de doencas respiratorias, vales, proximidades dos corredores

de transportes, regioes com baixa ventilacao etc. Uma outra vantagem dessas ferramentas

foi a possibilidade de se analisar, atraves de variacoes nas taxas de emissoes, quais seriam

os impactos futuros de polıticas de prevencao da poluicao do ar (CETESB, 2017).

Os dados referentes as emissoes veiculares no inventario da CETESB sao apresentados

em toneladas/ano para a RMSP, ou seja, de forma muito agregada, e a partir deles, nao

4

Page 22: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

e possıvel estimar as diferencas intra-urbanas nas emissoes, segundo os carregamentos de

trafego na malha viaria. Em consequencia disso, no modelo de dispersao de poluentes,

as emissoes sao representadas como se toda a frota de automoveis estivesse igualmente

distribuıda na RMSP e emitisse poluentes uniformemente por todo o territorio, o que na

pratica nao acontece (CETESB, 2017).

A implementacao de aplicacoes para Sensor Data Mining (SDM ) e Data Analytics

(DA) passa pela definicao da arquitetura da solucao, pela definicao das solucoes computa-

cionais de hardwares e softwares, pela selecao de linguagens e algoritmos para mineracao

de dados.

Uma das razoes para justificar e o conceito de cidades inteligentes, onde foi disponibi-

lizado alguns sensores MQ7 em modulo ESP2866 12F com uma placa de WiFi embutida,

as quais foram espalhados na RMSP e analisar esses dados em (batch) processamento em

lote ou (stream) processamento em fluxo continuo.

Em complemento ao citado acima, visando prover os servicos capazes de processar e

analisar o massivo volume de dados gerados pela comunicacao entre os diversos disposi-

tivos, usando interfaces abertas que permitam integracao simples entre varias aplicacoes,

o manuseio dos dados obtidos de diversos sensores ou estacoes de medicao de ındices de

CO foram realizados nas ferramentas disponıveis em Big Data atraves de sensores e os

modulos IoT.

1.2 Objetivos

1.2.1 Objetivo Geral

Um dos argumentos que motivou realizar essa pesquisa e o impacto da qualidade de

vida na cidade de Sao Paulo devido a poluicao do monoxido de carbono. A captacao desses

poluentes sao relizados atraves de sensores IoT. A coleta, armazenamento, processamento

e a visualizacao sao requisitos para a analise das tecnologias citadas, apresentar algumas

arquiteturas para este tipo de processamento e aplicar uma delas dentro do conceito

Sensor Data Mining.

5

Page 23: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

1.2.2 Objetivos Especıficos

Como objetivos especıficos deste trabalho destacam-se:

1. Comparar algumas arquiteturas para este tipo de processamento;

2. Argumentar requisitos do processamento Big Data, como a arquitetura Hadoop

implementada;

3. Aplicar a arquitetura escolhida ao cenario Sensor Data Mining, analisando con-

juntos compostos por logs do ambiente virtual na coleta, armazenamento, analise e apre-

sentacao desses dados massivos.

4. Delinear o uso e aplicacao dos sensores IoT (MQ7) utilizados.

1.3 Organizacao Documento

Este trabalho e organizado da seguinte forma:

A Introducao apresentada neste capıtulo.

O Capıtulo 2 relaciona o embasamento teorico relevantes a pesquisa, onde sao defini-

dos os conceitos de Big Data com IoT, tecnicas de algoritmos e analise e reconhecimento

de padroes e como ocorre a captura das informacoes. Apresenta-se tambem a descricao

de arquiteturas de Big Data, analisando questoes importantes para a definicao de arqui-

teturas tais como essenciais e restricoes para o projeto de sistemas de Big Data e IoT.

O Capıtulo 3 argumenta-se a metodologia aplicada, o projeto e implementacao in-

cluindo e a coleta, armazenamento, analise e processamento.

No Capıtulo 4 verifica-se os resultados experimentais, a linguagem de programacao

usada e a visualizacao dos sensores IoT.

O Capıtulo 5 destaca as conclusoes da pesquisa, os trabalhos futuros, as possibilidades

de continuidade e os artigos publicados.

6

Page 24: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

2 REFERENCIAL TEORICO

2.1 Padroes Qualidade do Ar

O desenvolvimento dos conhecimentos tecnicos e cientıficos encaminhou, a Uniao Eu-

ropeia e os Estados Unidos a revisao de suas referencias, com a atualizacao dos valores

dos padroes adotados, assim como a insercao de novos parametros (CETESB, 2017).

A Organizacao Mundial de Saude ( OMS) em 2015, publicou um documento com uma

revisao dos valores-guia para os poluentes atmosfericos estabelecendo a protecao da saude

da populacao, a luz dos conhecimentos cientıficos adquiridos ate entao (ORGANIZATION,

2006).

Os Padroes de Qualidade do Ar (PQAr) variam de acordo com a abordagem adotada

para balancear riscos a saude, viabilidade tecnica, consideracoes economicas e varios ou-

tros fatores polıticos e sociais, que, por sua vez, baseiam, entre outras coisas, do nıvel de

desenvolvimento e da capacidade do Estado de gerenciar a qualidade do ar. Os procedi-

mentos recomendados pela OMS estabelecem esta heterogeneidade e, admitem que, ao

elaborarem polıticas de qualidade do ar, os governos devem considerar responsavelmente,

suas circunstancias locais antes de adotarem os valores propostos como padroes nacionais.

A OMS tambem recomenda que o processo de estabelecimento de padroes visa atingir

as menores concentracoes possıveis no ambito de limitacoes locais, capacidade tecnica e

prioridades em termos de saude publica (ORGANIZATION, 2006).

O Estado de Sao Paulo em 2008 introduziu um processo de revisao dos padroes de

qualidade do ar, baseando-se nas diretrizes estabelecidas pela OMS, com participacao de

representantes de diversos setores da sociedade. Este processo culminou na publicacao do

Decreto Estadual no 59113 de 23/04/2013, estabelecendo novos padroes de qualidade do

ar por intermedio de um conjunto de metas gradativas e progressivas para que a poluicao

atmosferica seja reduzida a nıveis desejaveis ao longo do tempo (CETESB, 2017).

Tal decreto estabelece que o monitoramento da qualidade do ar no territorio do Estado

de Sao Paulo sera efetuada atraves de Padroes de Qualidade do Ar, observados os seguintes

criterios:

1. Metas Intermediarias (MI ) - estipuladas como valores temporarios a serem cumpri-

7

Page 25: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

dos em etapas, visando a melhoria gradativa da qualidade do ar no Estado de Sao Paulo,

baseada na busca pela reducao das emissoes de fontes fixas e moveis, em linha com os

princıpios do desenvolvimento sustentavel (OMS, 2017);

2. Padroes Finais (PF ) - padroes determinados pelo melhor conhecimento cientıfico

para que a saude da populacao seja preservada ao maximo em relacao aos danos causados

pela poluicao atmosferica (OMS, 2017).

A Tabela 1 a seguir apresenta os padroes de qualidade do ar estabelecidos no DE no

59113/2013, sendo que os padroes vigentes estao sublinhados.

Tabela 1: Padroes Estaduais de Qualidade do Ar (CETESB, 2017).

Poluentes Tempo de

Amostra-

gem

MI1

(µg/cm3)

MI2

(µg/cm3)

MI3

(µg/cm3)

PF

(µg/cm3)

Partıculas Inalaveis - (MP10) 24 horas -

MAA1

120 - 40 100 - 35 75 - 30 50 - 20

Partıculas Inalaveis Finas - (MP2,5) 24 horas -

MAA1

60 - 20 50 - 17 37 - 15 25 - 10

Dioxido de Enxofre (SO2) 24 horas -

MAA1

60 - 40 40 - 30 30 - 20 20 -

Dioxido de Nitrogenio (NO2) 1 hora -

MAA1

260 - 60 240 - 50 220 - 45 200 - 40

Ozonio (O3) 8 horas 140 130 120 100

Monoxido de Carbono (CO) 8 horas - - - 9 ppm

Fumaca* (FMC) 24 horas -

MAA1

120 - 40 100 - 35 75 - 30 50-20

Partıculas Totais em Suspensao* (PTS) 24 horas

MGA2

- - - - - - 240 - 80

Chumbo** (Pb) MAA1 - - - 0,5

1 - Media aritmetica anual (MAA).

2 - Media geometrica anual (MGA).

* Fumaca e Partıculas Totais em Suspensao - parametros auxiliares a serem utilizados

apenas em situacoes especıficas, a criterio da Companhia Ambiental do Estado de Sao

8

Page 26: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Paulo (CETESB).

** Chumbo - a ser monitorado apenas em areas especıficas, a criterio da CETESB.

As Metas Intermediarias devem ser obedecidas em 3 (tres) etapas, assim determinadas

(CETESB, 2017):

Meta Intermediaria Etapa 1 - (MI1) - Valores de concentracao de poluentes at-

mosfericos que devem ser respeitados a partir de 24/04/2013;

Meta Intermediaria Etapa 2 - (MI2) - Valores de concentracao de poluentes at-

mosfericos que devem ser respeitados sucessivamente, a MI1, que entrara em vigor apos

avaliacoes realizadas na Etapa 1, reveladas por estudos tecnicos apresentados pelo orgao

ambiental estadual, convalidados pelo Conselho Estadual do Meio Ambiente (CONSEMA);

Meta Intermediaria Etapa 3 - (MI3) - Valores de concentracao de poluentes at-

mosfericos que devem ser considerados nos anos subsequentes a MI2, sendo que seu prazo

de duracao sera definido pelo CONSEMA, a partir do inıcio da sua vigencia, com base

nas avaliacoes realizadas na Etapa 2. Os padroes finais (PF) sao aplicados sem etapas

intermediarias quando nao forem estabelecidas metas intermediarias, como no caso do

monoxido de carbono, partıculas totais em suspensao e chumbo. Para os demais poluen-

tes, os padroes finais passam a valer a partir do final do prazo de duracao do MI3.

A Legislacao Estadual (DE no 59113/2013) estabelece tambem criterios para episodios

agudos de poluicao do ar. A declaracao dos estados de Atencao, Alerta e Emergencia, alem

dos nıveis de concentracao ultrapassados, requer a previsao de condicoes meteorologicas

desfavoraveis a dispersao dos poluentes (CETESB, 2017).

Tabela 2: Criterios para episodios agudos de poluicao do ar (CETESB, 2017).

Parametros Atencao Alerta Emergencia

Partıculas Inalaveis Finas (µg/m3) - 24 h 125 210 250

Partıculas Inalaveis (µg/m3) - 24 h 250 420 500

Dioxido de Enxofre (µg/m3) - 24 h 800 1600 2.100

Dioxido de Nitrogenio (µg/m3) - 24 h 1.130 2.260 3.000

Monoxido de Carbono (ppm - 8h) 15 30 40

Ozonio (µg/m3) - 8 h 200 400 600

9

Page 27: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

O ındice de qualidade do ar e uma ferramenta matematica desenvolvida para sim-

plificar o processo de divulgacao da qualidade do ar. Os parametros contemplados pela

estrutura do ındice utilizado pela sao (CETESB, 2017)

A Tabela 2 apresenta os criterios agudos de poluicao do ar, como sao vistos na

sequencia dos gases citados.

• partıculas inalaveis (MP10)

• partıculas inalaveis finas (MP2,5)

• fumaca (FMC)

• ozonio (O3)

• monoxido de carbono (CO)

• dioxido de nitrogenio (NO2)

• dioxido de enxofre (SO2)

Cada poluente medido e calculado um ındice, que e um valor adimensional. Depen-

dendo do ındice atingido, o ar recebe uma qualificacao, que e uma nota para a qualidade

do ar, alem de uma cor, conforme apresentado na tabela abaixo (CETESB, 2017).

Tabela 3: Estrutura do ındice de qualidade do ar (CETESB, 2017).

Qualidade Indice MP10

(µg/m3)

MP2,5

(µg/m3)

O3

(µg/m3)

CO

(ppm)

NO2

(µg/m3)

SO2

(µg/m3)

N1 - Boa 0 - 40 0 - 50 0 - 25 0 - 100 0 - 9 0 - 200 0 - 20

N2 - Moderada 41 - 80 > 50- 100 > 25- 50 > 100 -

130

> 9 - 11 >200 -

240

>20 - 40

N3 - Ruim 81 - 120 > 100 -

150

> 50 -

75

> 130 -

160

> 11 -

13

> 240 -

320

> 40 -

365

N4 - Muito Ruim 121 - 200 > 150 -

250

> 75 -

125

> 160 -

200

> 13 -

15

> 320 -

1130

> 365 -

800

N5 - Pessima > 200 > 250 > 125 > 200 > 15 > 1130 > 800

10

Page 28: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Alem da qualidade do ar apresentada na Tabela 3, iniciando em N1 (Boa) ate a

escala N5 (Pessima) definida pelo orgao regulatorio de Sao Paulo (CETESB, 2017). O

CO apresenta uma variacao de 9 ate maior que 15, o qual conjuga com a informacao da

OMS citado anteriormente.

2.2 Internet das Coisas

A Internet das Coisas (IoT) esta se transformando em uma importante tendencia tec-

nologica, nao so na industria e no meio academico, mas tambem em revistas comerciais e

na mıdia, por causa de seu impacto disruptivo. Uma rede global feita por bilhoes de dis-

positivos ira mudar a maneira como viver e trabalhar, com consequencias nao totalmente

previsıveis. A IoT e percebido como um ambiente interconectado globalmente no qual

uma nova geracao de coisas cotidianas ou objetos inteligentes eliminara a distancia entre

mundos reais e virtuais, fornecendo servicos ciberfısicos personalizados. Do ponto de vista

do desenvolvedor, a realizacao de tal cenario revolucionario IoT e desafiador e tem sido

abordado ate agora de forma evolutiva. Esta abordagem consiste em tirar o melhor de

diferentes paradigmas e tecnologias de computacao bem estabelecidas, como computacao

em nuvem, computacao baseada em agentes e redes de sensores sem fio. De fato, um

processo de desenvolvimento de ecossistemas IoT e intrinsecamente complexo no nıvel de

coisa, bem como no nıvel do sistema, porque caracterısticas como inteligencia, dinamica,

interoperabilidade e autonomia sao transversalmente exigidas (SAVAGLIO; FORTINO;

ZHOU, 2016).

O desenvolvimento de uma aplicacao em Internet das Coisas necessita de uma arqui-

tetura de Big Data para a o armazenamento e analise (Big Data Analytics), do entendi-

mento da producao de sensores e a ligacao dos mesmo em uma rede unica. Nesse sentido,

o objetivo desta secao e apresentar a fundamentacao teorica sobre ambas as tematicas.

A Internet das Coisas pode ser definida como uma infraestrutura de rede global, que

interconecta fısica e virtualmente objetos, com o objetivo de explorar dados capturados

e suas capacidades de comunicacao. Essa infraestrutura abrange e envolve a Internet

e as redes de comunicacao, necessitando de identificacao unica de objetos, sensores e

capacidade de conexao, como suporte para o desenvolvimento independente de servicos e

aplicacoes. A IoT e caracterizada pelo alto grau de captura de dados, transferencia de

11

Page 29: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

eventos de rede, conectividade e interoperabilidade (CASAGRAS, 2009).

Adicionalmente, a tecnologia IoT permite a maior interacao e alcance entre seres

humanos e maquinas, incluindo o desenvolvimento e integracao dos mais avancados hard-

ware, software e sensores. A utilizacao do termo Coisas inclui objetos do mundo real

que existem em grandes quantidades e de diferentes tipos que possuirao uma identificacao

unica na Internet.

Figura 1: Captura de dados rede IoT.

(CASAGRAS, 2009)

A Figura 1 ilustra como e um processo de captura de dados em IoT. Os dados sao ori-

ginados pelos objetos fısicos, os quais sao lidos pelo dispositivo atuador, conhecido como

gateway. Os mesmos sao enviados aos sistemas gerenciamento de informacao, conectado

a internet ou outra tecnologia de rede. A conclusao desse processamento dos dados co-

nectados aos dispositivos por uma aplicacao ou servico e uma atuacao na captura dos

dados.

O projeto Casagras (2009) explicita um modelo de alto nıvel da arquitetura da IoT.

Este modelo, reproduzido na Figura 1, consiste de tres camadas:

1. Camada fısica: nesta camada, os objetos fısicos sao identificados e considerados

componentes da IoT por meio de uso do conceito de objeto conectado.

2. Dispositivo gateway processador: estes dispositivos estabelecem e mantem a inter-

12

Page 30: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

face entre a camada fısica e a camada de processamento de dados.

3. Camada de processamento de dados: esta camada prove os servicos de analise e

mineracao de dados que suporta as aplicacoes. Os dados sao obtidos a partir da interface

estabelecidas pelo gateway processador.

2.2.1 Aplicacao de Sensores IoT

De acordo com a Figura 2, um diagrama de bloco e apresentado, cada no e um modulo

ESP8266 que pode comunicar com um servidor principal de rede. A funcao do servidor e

iniciar a comunicacao atraves de um protocolo. Periodicamente o servidor coleta os dados

do sensor para um banco de dados. O servidor possui uma interface ethernet para acesso

a internet e para ser executado em uma arquitetura baseada em web-server. Sendo assim,

se faz a transferencia de dados do no (de sensor) para o servidor e em seguida para o no

da rede WiFi e, o usuario pode observar os dados do sensor e controlar a rede de sensores

sem fio do navegador da web remotamente (THAKER, 2016).

A Internet das Coisas oferece uma vasta gama de aplicacoes incorporadas. Com o

avanco da IoT, o conceito de rede de sensores tornou-se cada vez mais aceitavel. Os

sensores sao embutidos a internet e ao seu alcance. Os sensores sao ligados a internet e a

sua cobetura. Ha um numero de sensores com uso diferente, como, medidor de pressao,

medidor de vazao, temperatura, poluentes, CO e umidade medicao, transmissores de

nıvel. As redes sem fio sao usadas principalmente para transferir dados para a estacao de

base do sensor, pois oferece intercomunicacao estavel para instrumentos e controles como

para a automacao de edifıcios .

A maioria dos sensores de rede sao desenvolvidos nos padroes Wireless Fidelity (WiFi)

e ZigBee. O padrao ZigBee diferencia-se por desenvolver menor consumo, por um alcance

reduzido (cerca de 10 metros) em uma area pequena e comunicacao entre duas unidades

poder ser repetida sucessivamente pelas unidades existentes na rede ate atingir o destino

final. Ele trabalha no protocolo IEEE 802.15.4, baseia-se num cluster de topologia de

rede, o qual transmite os dados captados dos nos das estacoes de base. Em uma topologia

de rede em cluster como um sensor de CO e dependendo da distancia, ele levara mais

tempo para enviar dados do sensor ate a base ou servidor, conforme apresentado na Tabela

4 que traz uma comparacao entre os dois padroes (THAKER, 2016).

13

Page 31: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 2: Diagrama de bloco modulo ESP8266.

(THAKER, 2016).

Tabela 4: Comparacao padroes de protocolo. (THAKER, 2016).

Caracterıstica WiFi ZigBee

Range 50-100 me-

tros

10-100 metros.

Taxa de Dados 11 a 54 Mbps 20, 40 e 250 Kbps.

Topologia ponto a

ponto

Ad-hoc,peer to peer,star,mesh.

Frequencia 2.4 - 5GHz 2.4 GHz.

Complexidade Alta Baixa.

Consumo de

Energia

Alta Baixo .

Os padroes citados na Tabela 4, sao definidos da seguinte forma abaixo:

• No inferior, o menor no do sensor sem fio de distancia em ralacao ao servidor.

• Intermediario e o controlador de servidor principal.

• O no supervisor lida com as possıveis falhas e com todo o controle do sistema, caso

acontece algum erro durante a transmissao de dados.

Se na transmissao entre qualquer no da rede wireless e o servidor ocorrer algum

problema, os dados detectados sao armazenados na memoria do sensor, ou no no mais

proximo, e desse no, os dados detectados sao transferidos para a estacao base. Assim,

14

Page 32: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

este tipo de mecanismo evita todo tipo de tolerancia de erro na rede de sensores sem fio.

Todos os sensores em uma rede sao configurados de tal forma a melhorar a latencia dos

mesmos (THAKER, 2016).

2.2.2 Sistemas Cognitivos IoT

A literatura apresenta algumas definicoes de sistemas de cognicao de internet das coi-

sas (do ingles, Cognitive Internet of Things (CIoT )). Kelaidonis et al. (2012) menciona

que, uma estrutura para a virtualizacao de objetos do mundo real e a gestao cognitiva de

seus equivalentes virtuais. A estrutura consiste em nıveis de funcionalidade e cada nıvel

compreende entidades cognitivas que proporcionam os meios de auto-gestao e aprendi-

zagem, permitindo aplicacoes e objetos inteligentes e flexıveis. A estrutura apresentada

permite a abstracao da heterogeneidade que deriva da vasta quantidade de diversos objetos

e dispositivos, ao mesmo tempo em que aumenta a confiabilidade e facilita a consideracao

dos pontos de vista de varios usuarios stakeholders (proprietarios de objetos e meios de

comunicacao) integridade empresarial e, portanto, maximizacao das oportunidades de

exploracao.

A necessidade pratica impulsiona a desenvolver um novo paradigma, denominado cog-

nitivo (CIoT), para capacitar a IoT atual como um cerebro para inteligencia de alto nıvel

inspirada primeiramente pela eficacia da cognicao humana. O CIoT tem a capacidade

de ligar o mundo fısico (com objetos, recursos, etc.) e o mundo social (com a demanda

humana, comportamento social, etc.), operacao automatica de rede e provisionamento de

servicos inteligentes (WU et al., 2014).

E um novo paradigma de rede, onde objetos (fısicos / virtuais) sao interligados e se

comportam como agentes, com mınima intervencao humana, as coisas interagem umas

com as outros seguindo um contexto-consciente ciclo percepcao-acao, utilizam a metodo-

logia de compreensao para aprender tanto com o ambiente fısico quanto com redes sociais,

armazenam, processam e tem o conhecimento da base dados, abaixo sao mecanismos de

tomada de decisao eficientes em termos de recursos, com dois objetivos principais (WU

et al., 2014):

• ponte sobre o mundo fısico (com objetos, recursos, etc.) e o mundo social (com a

15

Page 33: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 3: Fluxograma CIoT.

(WU et al., 2014).

demanda humana, o comportamento social, etc), em conjunto com eles mesmos para

formar um ciber - fısico-social (do ingles, Intelligent Physical Cyber Socia (IPCS ));

• permitindo a alocacao inteligente de recursos, operacao e provisionamento de servicos

inteligentes.

A Figura 3 resume algumas tarafes cognitivas, e apresenta um fluxo de CIoT. Como

uma ponte transparente entre o mundo fısico (com coisas fısicas / virtuais, objetos, re-

cursos, etc.) e mundo social (com a demanda humana, o comportamento social, etc.),

juntamente com ela mesma um sistema IPCS. A partir de uma visao de baixo para cima,

o processo do sistema IPCS consiste em quatro camadas principais (WU et al., 2014):

1. Sensing control layer - A camada de controle de deteccao possui interfaces diretas

com ambiente, em que os perceptores sentem o ambiente processando os estımulos e

16

Page 34: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

retorno de entrada, observacoes para a camada superior, e os atuadores atuam para

controlar os perceptores atraves do ambiente (WU et al., 2014).

2. Data semantic knowledge layer - A camada de dados semanticos e conhecimento

analisa o sensoriamento de dados para formar util semantica e conhecimento (WU et al.,

2014).

3. Decision making layer A camada de tomada de decisao utiliza o conhecimento

semantico e abstraıda da camada inferior para permitir multiplas ou agentes interativos

para raciocinar, planejar e selecionar a acao mais adequada, com dupla funcao de apoio

aos servicos para redes humanas, sociais e estimular acoes de adaptacao ao ambiente fısico

(WU et al., 2014).

4. Service evaluation layer - A camada de avaliacao do servico compartilha interfaces

como redes sociais, nas quais fornecem servicos sob demanda as redes sociais, e um novo

desempenho em metricas sao projetadas para avaliar os servicos provisionados e retorno

do resultado da avaliacao para o processo de cognicao. Com uma metodologia sintetica,

o CIoT inclui cinco tarefas cognitivas fundamentais, sequencialmente: 1) percepcao, acao

e ciclo; 2) analise macica de dados; 3) derivacao semantica e descoberta de conhecimento;

4) tomada de decisao inteligente; 5) servicos sob demanda.

Em resumo, o ciclo percepcao e acao e a tarefa cognitiva mais primitiva no CIoT,

com a percepcao como entrada do ambiente fısico e acao como saıda para ele. De outra

maneira, o provisionamento de servicos sob demanda diretamente suporta varios servicos.

Infraestrutura como um servico (do ingles Infrastructure as a Service (IaaS ), Platform as a

Service (PaaS ) e Sensing as a Service (SaaS )), e mais amplamente (do ingles, Everything

as a service), com a aplicacao em redes humanas/sociais como tem se observados recen-

temente (WU et al., 2014).

Por outro lado, o Watson Cognitive System da IBM engloba o ecossistema da empresa,

o qual e composto de pergunta e resposta de linguagem natural e machine learning que se

tornou famoso depois de bater dois jogadores humanos peritos no quiz show ”Jeopardy”

em 2011. Ele determina suas respostas e pontuacao de confianca associada com base no

conhecimento que adquiriu. As solucoes Watson fornecem uma combinacao das seguintes

caracterısticas-chave (KOLLIA; SIOLAS, 2016):

17

Page 35: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

• Compreender as perguntas atraves da linguagem natural. O Watson fornece pro-

cessamento de linguagem natural para ajudar a entender as complexidades da co-

municacao humana como meio de interacao do usuario e extrair conhecimento de

fontes de dados (KOLLIA; SIOLAS, 2016).

• Gerar e avaliar hipoteses, respostas e evidencias de apoio. O Watson fornece geracao

e avaliacao de hipoteses atraves da aplicacao de analises avancadas para avaliar e

avaliar um painel de respostas baseado apenas em evidencias relevantes

(KOLLIA; SIOLAS, 2016).

Figura 4: Perguntas e Repostas IBM Watson and Deep QA

(WU et al., 2014).

A Figura 4 e uma solucao de pergunta e resposta (do ingles, Question Answering

(QA)) sistema, construıdo pela IBM para aplicar linguagem natural avancada, processa-

mento, recuperacao de informacao, representacao do conhecimento, raciocınio automati-

zada e machine learning, o campo de resposta a questao de domınio aberto. Ele usa gestao

da informacao dados nao estruturados, fornece uma plataforma de integracao de diversas

colecoes de texto, fala e independentemente das abordagens algorıtmicas, linguagens de

programacao ou modelo de domınio subjacente (KOLLIA; SIOLAS, 2016).

Ainda de acordo com a Figura 4, o Watson analisa o seguinte processo:

1. Question Decomposition (Pergunta de decomposicao) - quando a pergunta e apre-

sentada, o Watson analisa para extrair suas principais caracterısticas (KOLLIA; SIOLAS,

2016).

18

Page 36: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

2. Hypothesis Generation (Geracao de Hipoteses) - O Watson pesquisa o corpus (que

consiste em conhecimento nao estruturado) para o caminho que pode conter uma resposta

valiosa (KOLLIA; SIOLAS, 2016).

3. Hypothesis and evidence scoring (Hipoteses e evidencias de pontuacao) - Ele com-

para a linguagem da questao e a linguagem de todas as potencialidades, como algoritmos

de raciocınio especıficos. Cada um dos algoritmos executam uma comparacao diferente

(por exemplo: pesquisa para a correspondencia de termos e sinonimos, examine a tempo-

rais e espaciais) e depois produz uma ou mais pontuacoes que indicam o grau de relevancia

da resposta (deducao) a questao (KOLLIA; SIOLAS, 2016).

4. Synthesis (Sıntese) - Cada pontuacao resultante e ponderada contra uma modelo

estatıstico que, captura o desempenho do algoritmo no estabelecimento de inferencia,

entre duas passagens semelhantes para esse domınio, durante o perıodo de treinamento

de Watson. Este Modelo estatıstico e usado para resumir um nıvel de confianca como

a metrica de evidencia do Watson que o candidato A resposta e inferida pela pergunta

(KOLLIA; SIOLAS, 2016) .

5. Final Confidence Merging and Ranking (Confianca Final Fusao e Classificacao) -

Os processos (1 a 4) e repetido para cada uma das respostas dos candidatos ate o Watson

encontrar respostas que sao candidatos mais fortes do outros e finalmente retorna uma

lista classificada deles seguido por sua pontuacao de confianca (KOLLIA; SIOLAS, 2016).

Concluindo, o Watson e plataforma de inteligencia artificial para construir sistemas

cognitivos, os quais disponibilizam diversos servicos cognitivos (do ingles, Application

Programming Interface (API )), alem dos mencionados acima como: Language Speech,

Vision, Data/Insights (Dados nao estruturados), Embodied Cognition Tools, (do ingles,

Natural Language Understanding (NLU )) solucoes de chat bot, e IoT com integracao de

voz.

2.3 Big DATA

O conceito Big Data esta fundamentado, basicamente, em propriedades como volume,

velocidade, variedade e valor. Tais propriedades, muitas vezes resumidas como os V’s do

Big Data, referem-se ao volume de dados gerados e coletados em pouco perıodo de tempo

19

Page 37: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

(velocidade), o formato em que esses dados sao disponibilizados, ou seja, de maneira

estruturada, nao-estruturada ou semi-estruturada, e a partir de analises sob os dados, o

valor que se pode agregar ao contexto em que o Big Data esta inserido. Embora se tenha

outros V’s na literatura, os principais apresentados aqui sao propriedades encontradas

em problemas de IoT (MAYER-SCHONB V. CUKIER, 2014; TIGANI; NAIDU, 2014).

Cada acao realizada por um sensor de IoT reflete em uma interacao onde dados sao

coletados e transferidos, gerando um imenso volume de dados na ordem de terabytes por

dia de medicao.

Para coloca-lo em perspectiva, 40 zettabytes e 40 trilhoes de gigabytes estimada em

57 vezes a quantidade de todos os graos de areia em todas as praias da terra. Para atingir

esse valor, todos os dados devem duplicar a cada dois anos ate 2020 Computerworld

(2012), isso incluiria, por exemplo, sensores de maquina e dispositivos inteligentes que se

comunicassem com outros dispositivos.

O Big Data e um dos desafio mais importante para o horizonte de 2020, a quantidade

de dados digitais produzidos excedera 40 zettabytes Data e Cognitive (2017), o equivalente

a 5.200 GB de dados para cada homem, mulher e crianca na Terra (COMPUTERWORLD,

2012).

As propriedades do conceito de Big Data sao chamadas de 5Vs: Volume, Velocidade,

Variedade, Valor e Veracidade, como apresentado na Figura 5. Estas propriedades envol-

vem todo o ecossistema do modelo, chamado de (do ingles, Big Data Ecosystem (BDE )),

que compreende Big Data Infrastructure, Big Data Analytics, Big Data Management e

Big Data Security (DEMCHENKO; LAAT; MEMBREY, 2014).

• Volume: estima-se que o volume de dados disponıvel no universo digital seja de 2,7

zetabytes, ou 2,7 x 1021 bytes, ou ainda 2,7 trilhoes de gigabites (FANG et al., 2015).

• Variedade: alem dos dados estruturados, dados semiestruturados e desestruturados

sao gerados por novos dispositivos tais como smart phones e aqueles categorizados

como IoT, coisas dentre as quais estao sensores remotos de objetos e ambientes,

gerenciadores de infraestrutura e construcoes, cameras e microfones, produtos co-

nectados, realidade aumentada etc. CeArley e Claunch (2012) estimam que 50%

das conexoes a internet sao geradas por coisas, que no ano de 2020 serao mais de

20

Page 38: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 5: Conceito de Big Data Analytics.

(ACHARJYA; AHMED, 2016).

30 bilhoes de equipamentos gerando conexoes permanentes e mais de 200 bilhoes de

equipamentos gerando conexoes intermitentes;

• Velocidade: fluxos de dados sao gerados continuamente em grandes volumes;

• Variabilidade: os dados podem assumir variedades de formas e interpretacoes dife-

rentes;

• Valor: possibilidade de extrair respostas aplicaveis ao negocio (MENDES, 2017).

2.3.1 Desenvolvimento Big Data

Uma extensa coleta de dados da ordem de terabytes, petabytes podendo chegar ate

zettabytes sao gerados por diversos sensores e processados a cada dia, de diversas fontes

21

Page 39: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

como sensores e fontes multiplas. A compilacao dessa massa de dados requer um grande

esforco, seja num cidade inteligente, onde estao espalhados diversas formas de obtencao

desses dados ou tudo que e informacao gerado atraves desde um smartphone ou qualquer

outro dispositivo eletronico, em nıveis de conhecimento dessa base de dados para uma

tomada de decisao, com isso a analise em Big Data torna-se um desafio do conhecimento

e desenvolvimento a ser atingido (ACHARJYA; AHMED, 2016).

A origem deste grande volume de dados pode ser trafego de sensores espalhados numa

determinada cidade, transacoes bancarias, pesquisas na Internet, busca em lojas digitais,

imagens de diagnostico medico, sensores de monoxido, dados governamentais, posicao de

um aparelho celular dentro da rede entre outros. Esses dispositivos sao grande geradores

de dados. De acordo com CeArley e Claunch (2012) previram que no ano de 2020 haveria

30 bilhoes de equipamentos permanentemente conectados a Internet e outros 200 bilhoes

de equipamentos intermitentemente conectados, cada um deles produzindo dados. Essa

massa de dados contem informacoes de relevancia, onde o processo de obtencao e objeto

de Mineracao de dados (HAND; MANNILA; SMYTH, 2001).

Os autores Kantardzic (2011) Jain, e Flynn (1999) mencionam a Mineracao de Da-

dos, referindo-se ao uso de algorıtimos, metodologias e tecnicas computacionais para o

desenvolvimento de modelos ou padroes originais. Porem, Hand, Mannila e Smyth (2001)

apresentam uma definicao mais completa ao relacionar a mineracao de dados a analise

de dados observacionais, visando a identificacao de relacionamentos antes ignorados e de

formas singulares que sejam compreendidas e uteis ao proprietario dos dados. Os auto-

res concordam em afirmar que a mineracao de dados diverge da analise exploratoria de

dados da Estatıstica no que refere ao grande volume de dados, a natureza observacional

dos dados e a necessidade da interacao de especialistas na descoberta/desenvolvimento

de modelos ou padroes originais. Sendo assim, os autores consultados acima mencionam

que as diferencas vao alem da definicao da Mineracao de Dados: percebem-se tambem a

dependencia desta area do conhecimento a area nomeada descoberta de conhecimento em

bases de dados (do ingles, knowledge Discovery in Databases (KDD)).

Segundo Silva, Peres e Boscarioli (2016), KDD (do ingles, Data Mining (DM )) nao sao

sinonimos, mesmo que estejam relacionados. Outros termos mais populares se misturam

com o termo mineracao de dados, como (do ingles, Extraction Transform and Loading

22

Page 40: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

(ETL)), cubos de uma Data Warehoue, (do ingles, Online Analytical Processing (OLAP))

e estatıstica descritiva. Efetivamente, mineracao de dados e entendida como uma etapa

do processo de descoberta e conhecimento em base de dados, onde, pode abranger os

demais termos.

Tais processos, como identificados por Goldschmidt e Passos (2015) na Figura 6 como:

Figura 6: Processos de Mineracao de Dados.

(GOLDSCHMIDT; PASSOS, 2015).

• Interpretacao e Avaliacao do problema - demonstra o conhecimento do domınio de

aplicacao dos dados estudados para a identificacao de um problema significativo.

Um conjunto de variaveis de dependencia e especificado e, quando possıvel, uma

forma geral desta dependencia e proposta como hipotese inicial;

• Receber os dados transformados - O processo de geracao dos dados para as aplicacoes

de Mineracao de Dados e o observacional, sobre o qual o programador nao tem

influencia;

• Pre Processamento dos dados -processo executado apos o recebimento dos dados e

que inclui a identificacao e remocao de erros, normalizacao e compressao de dados

e selecao de atributos;

• Selecao/extracao do modelo com padrao e relacionamento - constitui na escolha e

na implementacao da tecnica de Mineracao de Dados adequada;

23

Page 41: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

• Analise do modelo e conclusoes - definida a decisao sobre os resultados obtidos.

Nesta fase, um modelo mais simples pode ser menos exato, mas facilita a inter-

pretacao (MENDES, 2017).

2.3.2 Sensor Data Mining

A Mineracao de dados de sensores (Mining Data Sensor) por (CHITTURI; THOMAS;

S., 2015), ou (Sensor Data Mining) e o termo que direciona a area que utiliza recursos de

Big Data efetuando uma Data Analytics aplicados a leitura dos dados dos sensores, como

medicao de gas carbonico.

Apesar do processo de SDM ser equivalente aos da Mineracao de Dados (MD), o

mesmo contem caracterısticas que distinguem da mineracao de dados.

• Objetivos: em SDM ha objetivos de pesquisa direcionada, tais como melhorar o pro-

cesso da distribuicao desses sensores, tais como conhecer melhor o comportamento

dos poluentes numa grande metropole.

• Dados: ha regioes com variacoes de gases poluentes, com isso a dados a serem

minerados, podendo conter informacao semantica intrınseca, relacionamentos com

outros dados e hierarquia em multiplos nıveis;

• Tecnicas: embora muitas das tecnicas tradicionais de MD possam ser aplicadas a

SDM, algumas necessitam ser adaptadas ao contexto de saude publica e organiza-

cional.

Patel, Udayakumar e Vyas (2015) mencionam uma estrutura para extrair os dados

de sensores Data Mining sem fio. Essa estrutura consiste em uma nova formulacao para

a tecnica de mineracao de dados usando a regra de associacao por metodo de extracao

distribuıda. As relacoes sequenciais entre sensores sem fio e regras de associacao usando

a tecnica de mineracao de dados para estimar o valor de eventos perdidos e tambem para

melhorar o desempenho. O metodo distribuıdo proposto e projetado com rede de senso-

res sem fio para melhorar o tempo de vida da rede, minimizando o numero de mensagens

necessarias para o processo de mineracao. Os resultados da experiencia mostraram que

a metodologia pode reduzir o numero de mensagens trocadas pelo menos em 40% em

24

Page 42: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

comparacao com os outros metodos existentes. A rede de sensores sem fio coleta au-

tomaticamente as informacoes ou dados. A estrutura de representacao comprimida (do

ingles, Compressed Representation Structure (CRS )) e capaz de comprimir os dados e a

rede de sensores fornece facil e rapida coleta de dados. O processo de mineracao do CRS

e comparado e analisado com o (do ingles, Frequent Pattern Growth (FP Growth)) , o

algoritmo de mineracao existente, o resultado tem mostrado que o metodo e melhor do

que FP Growth.

2.3.3 Data Analytics

O estudo do ambiente da analise dos dados sensoriais, seja nas medicoes dos poluentes

no ar baseados em dados em ferramentas de Big Data e IoT conhecido como DA (Data

Analytics).

Em termos computacionais, deve haver uma estrutura razoavel para o armazenamento

dos dados, de maneira que isso seja expansıvel para contemplar o aumento na geracao dos

dados, por exemplo, ampliacao de sensores. Nesse sentido emergem dois outros concei-

tos: O primeiro deles e a distribuicao de dados, possibilitando a ampliacao dos recursos

computacionais de armazenamento de dados e o processamento dos mesmos de forma

paralela, discutido em detalhes a seguir. O outro conceito e o de paradigma de banco

de dados nao relacional ou como popularmente chamado, (do ingles, Not only Structu-

red Query Language (NoSQL)), o qual tem como propriedade a alta disponibilidade para

armazenamento e possibilidade de se expansıvel conforme a demanda do volume de dados.

Os bancos de dados NoSQL sao uma solucao eficaz para o processamento de grandes

dados, mas esses bancos de dados sao heterogeneos. Eles oferecem diferentes modelos de

armazenamento de dados, idiomas para desenvolvedores e usuarios. Esta grande variedade

de plataformas dificulta a interoperabilidade dos dados, a integracao de dados e migracao

de dados de um sistema para outro (HAJOUI et al., 2016).

Atualmente, existem mais de 50 bancos de dados NoSQL com recursos e otimizacoes.

Cada um fornece diferentes mecanismos de armazenamento e recuperacao de dados, que

desempenho, consistencia e disponibilidade. Contudo, como varias bases de dados NoSQL

tem diferentes desempenhos e comportamento diferente em termos de consistencia e dis-

ponibilidade, e significativas para ter aplicacoes que nao estao satisfeitas com apenas um

25

Page 43: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

deles (HAJOUI et al., 2016).

Hajoui et al. (2016) define um metodo chamado (do ingles, Analytic Hierarchy Process

(AHP)) representado na Tabela 5, ou processo de hierarquia analıtica como sendo multi

criterios para uma tomada de decisao, o qual permite aos decisores modelar um complexo

problema em uma hierarquia de estrutura, mostrando as metricas, criterios, objetivos e

alternativas. A AHP e composta por varios componentes como estruturacao hierarquica

da complexidade, comparacoes por pares, julgamentos, um metodo derivando pesos e

consideracoes de consistencia. A analise do processo de hierarquia AHP consiste nas

seguintes etapas:

1) Definir os criterios de decisao sob a forma de uma hierarquia de objetivos. A AHP

utiliza uma escala de comparacao normalizada importancia relativa mostrada na Tabela

5, as comparacoes sao feitas nos ındices usando os criterios de proporcionalidade entre

1-9.

2) Apos a geracao do vetor de prioridade, a inconsistencia de comparacao de empare-

lhamento pode ocorrer devido o erro de subjetividade humana.

Tabela 5: Comparacao escalas de atributos (HAJOUI et al., 2016).

Intensidade Definicao

1 Igual Importancia.

2 Intermediario entre 1 e 3.

3 Importancia Moderada.

4 Intermediario entre 3 e 5.

5 Fortemente mais importante.

6 Intermediario entre 5 e 7.

7 Fortemente importante.

8 Intermediario entre 7 e 9.

9 Extremamente Importante.

1/2, 1/3, 1/4,

1/5, 1/6, 1/7,

1/8, 1/9

Recıprocos de 2,3,4,5,6,7,8 e 9.

Um grande problema de interoperabilidade de dados e quando desejam explorar e

analisar dados armazenados em Sistemas. O armazenamento de dados em diferentes

26

Page 44: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

representacoes dificulta a consulta e interpretacao de dados. Varias abordagens foram

propostas para facilitar o acesso ao banco de dados NoSQL. Alguns sao baseados na

definicao de uma API generica ou capaz de suportar o acesso aos diferentes dados, outros

sao baseados em abordagens federadas.

(HAJOUI et al., 2016) define seis criterios oriundos do Big Data de interoperabilidade

e outros complementares fazem parte dos padroes essenciais de qualidade em engenharia

de software:

1 - Modelos de dados (C1): modelos de dados utilizados nesta abordagem, armazena-

mento de chaves / valores, armazenamento de documentos e armazenamento baseado em

colunas, uma abordagem apropriada e aquela que inclui os tres modelos de dados, com

isso, mao tem limitacao de modelo de dados na escolha de banco de dados NoSQL.

2 - Quering (C2): define a complexidade das consultas que podem ser executadas,

este criterio e muito importante para aplicacoes que exigem grandes dados analıticos ou

estatısticos, ate mesmo muito determinantes na escolha de uma solucao.

3) Desempenho (C3): avalia a latencia da solucao, este criterio e muito importante,

em grandes aplicacoes a resposta pode ser em tempo real.

4) Portabilidade (C4): pode ser implementada em uma nuvem num ambiente de forma

flexıvel ou nao, pode ser implementadas no mesmo, porque nao precisar alterar o codigo.

A menos que, as bases de dados NoSQL oferecidas pela operador sao diferentes. neste

caso, devemos reescrever o codigo de a solucao.

5) Integracao (C5): a capacidade de adicionar facilmente um novo NoSQL em base

de dados em uma solucao.

6) Mapeamento (C6): se a solucao integrar um (do ingles, Object Relational Mapper

(ORM )) em API para bases de dados NoSQL, uma variante do Java formara uma API.

Dado o numero de bases de dados NoSQL, o mapeamento facilita o desenvolvimento de

aplicativos para usar em NoSQL.

Alem disso, a arquitetura orientada por modelo modeldriven e a metodologia de enge-

nharia podem ser solucao para problema em grandes dados de sensores IoT (HAJOUI et

al., 2016), o termo Big Data Analycs mais detalhado sera apresentado na proxima secao

2.7.

27

Page 45: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

O processo de hierarquia analıtica (AHP), e um multi criterio de decisoes certas, os

quais permitem aos decisores modelar um problema complexo e uma estrutura hierarquica,

mostrando as relacoes da meta, objetivos (criterios) e alternativas. O AHP e composto por

varios componentes, tais como a estruturacao hierarquica da complexidade, comparacoes

por pares, julgamentos, um metodo de de consideracoes de consistencia. A analise processo

de hierarquico (AHP), conforme apresentado na ordem de prioridades da Tabela 5.

2.3.4 Big Data Analytics

Entende-se como o conceito de Big Data Analytics a manipulacao de quantidades

de dados nao suportadas por tecnicas e tecnologias tradicionais, bem como a conciliacao

de bases de dados com arquiteturas distintas, sendo elas estruturadas e nao estrutura-

das. Tambem formas inovadoras de processar informacoes para uma melhor percepcao e

tomada de decisao (MAYER-SCHONB V. CUKIER, 2014) (TIGANI; NAIDU, 2014).

Volumes de dados sao gerados a todo momento, milhares de terabytes sao criados

diariamente em um ambiente virtualizado. Cada clique e acao realizada por um sensor

de IoT reflete em uma interacao onde dados sao armazenados e/ou transferidos, e estes

dados podem conter valiosas informacoes, caso sejam devidamente interpretados.

O fluxo de sensores e dispositivos utilizados em aplicacoes e pela web apresentaram

o desafio de processar, analisar, armazenar e entender o grande volume de dados gerado

numa dimensao maior do que os processos, algoritmos e recursos computacionais haviam

tratado (FAN; BIFET, 2013).

Considerando as multiplas origens dos dados, seu volume e variabilidade, Fang et al.

(2015) mencionam sobre a necessidade de colaboracao multidisciplinar e de juntar esforcos

de industrias, academias e governos no desenvolvimento de novos metodos, disciplinas e

forcas de trabalho que juntem as ciencias de redes de dados, gerenciamento de dados,

computacao e estatıstica. Embora, o Big Data relacione-se com a ciencia computacional

intensiva, e suas aplicacoes se estendam as mais diversas areas de pesquisa, tais como

bioquımica, astronomia, bio-informatica, astronomia, economia, negocios, administracao

e sociologia (CHEN; ZHANG, 2014b) (KAMBATLA et al., 2014) citam algumas areas

com grande potencial de benefıcio no uso de tecnicas analıticas em Big Data:

28

Page 46: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

• Sensores de IoT espalhados em uma RMSP, e que permitam a conectividade com

as ferramentas de analise, sao de extrema importancia para os decisores de uma

melhor qualidade de vida da populacao.

• As areas de saude e bem-estar sao umas das mais beneficiadas pelo uso de tecnicas

analıticas, tanto pelo benefıcio de bem-estar humano quanto pela quantidade de

dados que a area produz. Dados provenientes de registros medicos, diagnostico por

imagem, farmaceuticos, habitos pessoais, preferencias pessoais e registros financeiros

podem ser cruzados oferecendo significantes melhorias em intervencoes medicas e

bem-estar, bem como diminuindo custos (MENDES, 2017);

• A area governamental e o setor publico sao grandes motivadores do uso de tecnicas

analıticas e Big Data, tanto devido a polıticas governamentais quanto as acoes de

integracao de dados. Oportunidades de diminuicao de custos e de maior disponi-

bilidade somam-se as possibilidades de implementacao do voto eletronico movel,

deteccao de fraudes e de sonegacoes de impostos (MENDES, 2017);

• Internet e redes sociais representam grandes areas de aplicacao para a analise de

dados e Big Data no que tange a entrega de conteudo personalizado. Dados de in-

teracoes em funcao do tempo contribuem para entender comportamentos coletivos,

desenhar fluxos de informacao e contribuir para o gerenciamento de recursos e para

a predicao. Mineracao de grafos, pesquisa e indexacao de imagens e vıdeos ofere-

cem oportunidades de desenvolvimento e identificacao de correlacoes de entidades

(MENDES, 2017);

• Processos computacionais e experimentais em fısica, astronomia, genetica entre ou-

tros, geram grandes quantidades de dados para validacao e geracao de insights ci-

entıficos e demandam recursos computacionais capazes de analisar dados em tempo

real localmente, uma vez que os dados gerados sao maiores do que o potencial de

armazenamento e estao disponıveis geralmente em um local, requerendo tecnicas de

paralelizacao ao inves de tecnicas de computacao distribuıda (MENDES, 2017).

• Outras areas com alto potencial de benefıcio com o uso de tecnicas analıticas e

Big Data sao as relacionadas a natureza e processos naturais. Dispositivos como

satelites, radares e sensores terrestres coletam dados de fenomenos ambientais e seus

29

Page 47: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

efeitos, ocupacao urbana, emissao de carbono, alteracao da camada polar, eventos

climaticos extremos, uso de recursos naturais e atividades humanas (MENDES,

2017);

2.3.5 Ferramentas

Demchenko, Laat e Membrey (2014) menciona que as ferramentas de Big Data Analy-

tics atualmente sao oferecidas pelos principais fornecedores mundiais de Cloud Computing

e Big Data, com servicos como o Amazon Elastic MapReduce, Microsoft Azure HD Insight,

IBM Big Data Analytics, Cloudera Enterprise, Cloudera Distribution for Hadoop (CDH ),

Hortonworks Data Flow (HDF ) e Hortonworks Data Platform (HDP), que possuem suıtes

escalaveis deHadoop e ferramentas para Analytics, posicionando-se como fornecedores de

servicos de Big Data e oferecendo seus produtos como servico as a Service.

Para a coleta e analise dos dados dos usurarios em um ambiente virtualizado como o de

Cloud Computing, faz-se necessario o uso de Big Data Analytics. Alem da infraestrutura

padrao presente em Cloud Computing (como processamento, memoria, armazenamento

e rede), outros elementos sao requeridos para suportar este sistema de Data Analytics

como: servicos de clusterizacao, ecossistema Hadoop, Apache, Kafta e outros (que en-

volve ferramentas e servicos), ferramentas especıficas de analise de dados (mineracao de

dados, visualizacao de dados), suporte a bases de dados estruturadas (do ingles, Structured

Query Language (SQL)) e nao estruturadas (NoSQL) e base de dados com processamento

paralelo massivo (do ingles, Massively Parallel Processing (MPP)) (RICHERT, 2013), Big

Data Analytics, como pode ser observado na Figura 7.

Do ponto de vista que diferencia o fenomeno Big Data do fenomeno conhecido como

(do ingles, Business Intelligence (BI )) e a oferta de ferramentas Open Source, muitas

delas desenvolvidas e disponibilizadas por grandes empresas geradoras de dados, tais como

Facebook, Yahoo, Twiter e Linkedin, tornando a implementacao de solucoes e as iniciativas

analıticas em Big Data acessıveis (CHEN; ZHANG, 2014a). A seguir algumas Tabelas,

as quais demonstram o comportamento e caracterısticas das ferramentas analıticas que

suportam o processamento Big Data, relacionadas pelas categorias: processamento em

lote, processamento em fluxo contınuo e ferramentas de analise interativa.

No campo de Big Data Analytics, pode-se classificar a analise de dados em tres nıveis,

30

Page 48: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 7: Big Data Analytics Infraestutura.

(DEMCHENKO; LAAT; MEMBREY, 2014).

de acordo com a profundidade da analise: analıtica descritiva (Descriptive Analytics);

analıtica preditiva (Predictive Analytics) e analıtica prescritiva (Prescriptive Analytics).

Na analıtica descritiva, historicos sao explorados para apresentar o que ocorreu. Podem

ser utilizados algoritmos de regressao para identificar tendencias nas bases de dados.

Este nıvel de analise esta associado a sistemas de BI. O nıvel de analise preditiva busca

prever probabilidades e tendencias futuras, ela usa tecnicas estatısticas como regressao

linear e regressao logıstica para entender comportamentos e predizer acoes. Por meio de

mineracao de dados (data mining) identifica e extrai padroes para prover informacoes

e previsoes. Ja a analise analıtica prescritiva e voltada para a eficiencia e tomada de

decisao. E possıvel simular analises em sistemas complexos a fim de coletar informacoes

sobre o comportamento deste sistema, identificar problemas e, por meio de determinadas

tecnicas, encontrar solucoes otimizadas para a resolucao destes problemas (PROVOST;

FAWCETT, 2013).

31

Page 49: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

A Tabela 6 apresenta ferramentas de processamento em lote, uma vez processados

grandes quantidades de dados inclusive em paralelo, nao sao apropriadas para processa-

mento de dados em fluxo contınuo.

Tabela 6: Principais ferramentas de processamento em lote em Big Data (CHEN; ZHANG,

2014b; ACHARJYA; AHMED, 2016).

Aplicacao Ferramenta Descricao

Infraestrutura e

Plataforma

Apache Ha-

doop

Plataforma para processamento paralelo distribuıdo composta um

nucleo comum (Hadoop Commom), um sistema de arquivos dis-

tribuıdo (HDFS), um framework para agendamento e gerencia-

mento de recursos do cluster (Hadoop YARN) e um sistema de

processamento paralelo (Hadoop MapReduce) (APACHE, 2017b).

Infraestrutura e

Plataforma

Microsoft

Dryad

Infraestrutura para programacao paralela e distribuıda onde a

computacao e executada como um grafo direcionado (MICRO-

SOFT, 2016).

Analise de da-

dos

Apache

Mahout

Ambiente de programacao que permite o uso de algoritmos de

aprendizagem de maquina escalaveis. Suporta algoritmos de fil-

tragem, classificacao, agrupamento, reducao de dimensionalidade

e outros (APACHE, 2017c).

Business Intelli-

gence

Jaspersoft

Business

Intelligence

Ferramenta de analise, integracao e visualizacao de dados que su-

porta integracao com bancos de dados NoSQL. Dispoe de versao

licenciada pelo modelo AGPL e versoes pagas (JASPERSOFT,

2017).

Business Analy-

tics

Pentaho

Business

Analytics

Plataforma de analise, visualizacao e integracao de dados que su-

porta integracao com distribuicoes e ferramentas Haddop, bases de

dados NoSQL e bancos de dados analıticos. Conecta-se tambem

com os principais bancos de dados relacionais e com outras origens

de dados, inclusive em nuvem (PENTAHO, 2017).

Analise

avancada por

aprendizagem

de maquina

Skytree Ser-

ver

Plataforma de analise de dados Big Data que interage com im-

plementacoes Hadoop e que implementa algoritmos de sistemas

de recomendacao, analise preditiva, agrupamento e pesquisa de

similaridade.

Visualizacao de

dados

Tableau Ferramenta de visualizacao de dados que suporta integracao com

origens de dados Hadoop, NoSQL, relacionais e arquivos.

Gerenciamento

e integracao de

dados

Talend Open

Studio

Plataforma Open Source baseada em Apache Hadoop que permite

integracao e analise de dados Big Data.

32

Page 50: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

A Tabela 7 enumera algumas das ferramentas projetadas para processamento em fluxo

contınuo, tal como o processamento requerido em arquivos de log, dados de sensores, dados

(do ingles, Machine to Machine (M2M )), telefonia e outros dados com grande volume e

velocidade e com tipos complexos. Esses tipos de dados sao chamados de streams e exigem

ferramentas projetadas especificamente para este tipo de processamento. O processamento

em fluxo contınuo requer baixa latencia de resposta, caracterıstica esta nao presente no

modelo de processamento (CHEN; ZHANG, 2014b).

Alem de ferramentas para processamento de dados em lote e em fluxo contınuo, fer-

ramentas de analise interativa de dados Big Data tambem sao oferecidas na modalidade

Open Source, dentre as quais podem ser destacadas as que aparecem na na Figura 8

(MENDES, 2017).

Tanto o Google e Apache Drill utilizam sistemas de analise interativa, usam o modelo

MapReduce para os processamentos, os quais sao citados na Tabela 8.

Figura 8: Plataformas de Big Data e quanto ao processamento.

(CHEN; ZHANG, 2014a).

33

Page 51: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Tabela 7: Principais ferramentas de processamento stream em Big Data (CHEN; ZHANG,

2014a; ACHARJYA; AHMED, 2016).

Aplicacao Ferramenta Descricao

Processamento

em tempo real

Apache

Storm

Sistema de computacao distribuıda e tolerante a falhas para pro-

cessamento de streams de dados. Aplicavel a processamento

analıtico em tempo real, aprendizagem de maquina em tempo

real, ETL e outras aplicacoes distribuıdas.

Processamento

contınuo de

dados

Apache S4 Sistema de computacao distribuıda desenvolvido pelo Yahoo e li-

berado para a Apache. Processa fluxos contınuos de dados de

forma distribuıda, tolerante a falhas e componentizada.

Processamento

em tempo real

de machine

data

SQLstream

s-server

Plataforma para processamento analıtico de dados em tempo real

baseada em processamento em memoria de fluxos de dados nao

estruturados com consultas SQL. Aplicavel a dados gerados por

maquinas (machine data) (SQLSTREAM, 2017).

Processamento

em tempo real

de machine

data

Splunk Ferramenta de visualizacao e analise em tempo real de machine

data. Machine Data pode ser definido como registro definitivo

de todas as atividades e comportamentos de clientes, usuarios,

transacoes, aplicacoes, servidores, redes e dispositivos moveis. E

isto e mais que somente logs. Isto inclui configuracoes, dados de

APIs, filas de mensagens, eventos de mudancas, a saıda de co-

mandos de diagnostico, registros detalhados de chamadas e dados

de sensores de sistemas industriais, e outros dados? (SPLUNK,

2017).

Sistema de

mensageria

distribuıda

Apache

Kafka

Sistema de distribuicao de mensagens que analisa dados operaci-

onais e dados de atividades de usuarios em websites em fluxo e

com persistencia de dados.

Plataforma de

negocios em

tempo real

SAP Hana Plataforma analıtica de dados de negocios em tempo real e in-

memory e integravel com outras aplicacoes analıticas.

34

Page 52: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Tabela 8: Principais ferramentas de analise interativa em Big Data (CHEN; ZHANG,

2014a).

Ferramenta Descricao

Google Dremel Sistema de analise interativa complementar as computacoes baseadas em

Map/Reduce escalavel e que permite agregacoes de grandes volumes de da-

dos.

Apache Drill Sistema de analise interativa semelhante ao Google Dremel que permite pes-

quisa em bases de dados nao relacionais, que usa o modelo Map/Reduce de

processamento e que permite consultas ad hoc baseadas em SQL em grandes

volumes de dados (APACHE, 2017a)

2.4 ARQUITETURAS PARA BIG DATA e INTERNET DAS

COISAS

Considerando um projeto de Big Data e IoT, a definicao de arquitetura estabeleceu-

se como a principal tarefa e que idealmente deve levar em consideracao o desafio dos

dados apresentados pelo volume recebido e armazenados. Para aplicacoes Big Data para

mineracao de dados sensoriais sao aplicaveis as etapas da descoberta de conhecimento em

bases de dados (KDD) de pre-processamento, mineracao de dados e pos-processamento

(ACHARJYA; AHMED, 2016). Combinar estes requisitos torna-se um desafio para o Big

Data.

Na pesquisa de Big Data ha duas maneiras de processamento que sao observados,

um que computa o volume completo de dados gerando a partir dele mesmo e outro que

computa apenas o volume de dados mais recente. A estes modelos de processamento

referem-se os nomes de processamento em lote (batch) e processamento em fluxo contınuo

(stream), respectivamente. No primeiro tipo de processamento os volumes de dados sao

grandes mas as restricoes de tempo de resposta para a analise sao menos exigentes. O

segundo tipo de processamento e o requerido por aplicacoes de analise em tempo real, nos

quais a variavel tempo de resposta, ou latencia, torna-se um fator crıtico para o sucesso

(CHEN; ZHANG, 2014a)

Os sistemas e plataformas Big Data disponıveis sao adequadas a resolver um dos dois

problemas, em lote ou em fluxo contınuo, e o conceito de ”tamanho unico”(one size fits

35

Page 53: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

all) quanto a ferramentas Big Data nao e aplicavel (CHEN; ZHANG, 2014a). As solucoes

recomendadas para lidar com os dois tipos de problemas sao o uso de ferramentas e

plataformas diferentes (CHEN; ZHANG, 2014a) ou escalonamentos diferentes (SINGH;

REDDY, 2015). Ao apresentar suas recomendacoes para a escolha de uma arquitetura

Big Data, (SINGH; REDDY, 2015) reforcam a necessidade de o objetivo da arquitetura

ser bem definido: otimizacao para velocidade ou para carga de trabalho. A otimizacao da

plataforma visando a velocidade implicara a consideracao de sistemas para processamento

em tempo real tais como (do ingles, Graphics Processing Units (GPUs) e Field Program-

mable Gate Arrays (FPGAs)). Se o objetivo e processar grandes quantidades de dados

sem restricoes quanto ao tempo de processamento, sistemas que escalem horizontalmente

sao mais adequados.

A necessidade que alguns sistemas tem de analisar dados em tempo real pode conduzir

ao questionamento se seria possıvel analisar Big Data e IoT em tempo real atendendo a

etapa de pre-processamento dos dados essencial a descoberta de conhecimento em bases

de dados (KDD) (ACHARJYA; AHMED, 2016).

2.5 Parametros do sistema Big Data para SDM

As recomendacoes para um sistema Big Data e das caracterısticas de sistemas de SDM

podem ser representadas por requisitos para uma arquitetura Big Data, os quais pode-se

usar em IoT (MENDES, 2017).

1. Estrutura a dados de grande volume - deve ser possıvel tratar grandes volumes de

dados, com seguranca (MENDES, 2017);

2. Estrutura a dados variados - deve ser possıvel armazenar dados variados, incluindo

os semi e os nao-estruturados (MADDEN, 2012);

3. Suportar dados adquiridos constantemente - deve ser possıvel lidar com dados em

uma latencia suficiente para processamento em fluxo contınuo (SOUZA; AMAZONAS,

2013);

4. Obtencao dos dados - Deve ser possıvel receber dados de diferentes origens de

dados, com dados em modelos e estruturas diversos (MENDES, 2017);

36

Page 54: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

5. Pre-processamento - A arquitetura deve suportar o pre-processamento dos dados,

o que inclui mas nao se restringe a retirada de anomalias, normalizacao e compressao

dos dados, selecao de atributos, tratamento de dados inconsistentes, tratamento de dados

heterogeneos e de dados desatualizados (MENDES, 2017);

6. Analise - Devem ser suportados metodos analıticos e aplicacoes diversos (PATEL;

UDAYAKUMAR; VYAS, 2015);

7. Escalabilidade - A arquitetura deve ser escalavel de modo que mantenha a latencia

em nıveis aceitaveis mesmo diante do aumento de carga de trabalho. O modelo deve aten-

der demandas de processamento em lote e em fluxo contınuo dentro de limites aceitaveis.

Devem ser utilizados recursos de processamento e armazenamento paralelo, distribuıdo e

em memoria sempre que possıvel (MENDES, 2017);

8. Exatidao e precisao - Devem ser mantidos nıveis consideraveis de acuracia e de

precisao nos processos;

9. Robustez e tolerancia a falhas - Deve ser possıvel a recuperacao diante de falhas

decorrentes de duplicidade de dados, indisponibilidade de nos e concorrencia; desenvolvi-

mento;

10. Extensibilidade - A arquitetura deve permitir modificacoes sem grandes impactos

de desenvolvimento;

11. Mınima manutencao - Devem ser aplicadas solucoes o mais simples possıvel, dimi-

nuindo a necessidade de manutencao, serem liberadas e suportadas consultas arbitrarias;

12. Suporte a consultas - Devem ser aprovadas e suportadas consultas arbitrarias;

13. Capacidade de correcao - A arquitetura deve permitir a ativacao de rastreamento

para a identificacao de erros (SOUZA; AMAZONAS, 2013);

14. Restricoes de uso - A arquitetura deve estabelecer, em toda sua extensao, a

aplicacao de restricoes de uso de dados que por motivos eticos, de privacidade, de pro-

priedade intelectual, de reputacao, de seguranca ou de restricoes legais nao possam ser

expostos ou utilizados, inclusive quando forem utilizados dados que juntos aumentem a

probabilidade de identificacao. As restricoes devem poder ser aplicaveis para um usuario,

para um grupo de usuarios ou para todos os usuarios (MENDES, 2017).

37

Page 55: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

15. Interoperabilidade - Uma caracterıstica que se refere a capacidade de diversos

sistemas e organizacoes trabalharem em conjunto (interoperar) de modo a garantir que

organizacoes e sistemas computacionais compartilhem para trocar informacoes de maneira

eficaz e eficiente (CASAGRAS, 2009).

2.6 Sistema, arquitetura, framework e modelo de referencia

As publicacoes na literatura para sistemas IoT e Big Data, para Mineracao de Dados

Sensoriais SDM ou Data Analytics, contribuem para as definicoes arquitetura, framework

e modelo de referencia. Consideram- se as apresentacoes antes de aplica-los.

• Sistema - diz respeito ao conjunto de hardware e software e suporte humano que

pertencem a uma empresa ou organizacao. Incluem computadores bem como os

programas necessarios para o processamento de dados e as pessoas responsaveis

pela respectiva gestao (ISO, 2008).

• Arquitetura - Definicao e representacao de uma estrutura para a composicao de

um sistema em termos de seus componentes computacionais, suas propriedades e

interacoes. A arquitetura de software de um programa ou sistema computacional

e a estrutura ou estruturas do sistema que abrange os componentes de software,

as propriedades externamente visıveis desses componentes e as relacoes entre eles

(ISO, 2011).

• Framework - pode ser definido como classes ou quadros cooperativos que tornam

um projeto reutilizavel para uma classe especıfica de software (IEEE. . . , 2010).

• Modelo de Referencia - determina-se como uma colecao de conceitos sobre um tema,

facilitando o particionamento de relacionamentos entre topicos relevantes do as-

sunto, podendo ser expressado por formas comuns de descricao (IEEE. . . , 1999).

A definicao de arquitetura para sistemas Big Data e IoT aparece da necessidade de

incluir e pesquisar dados em grandes volumes e com uma latencia aceitavel para o contexto

do sistema. Mesmo o escalamento dos tradicionais bancos de dados e ate mesmo a inclusao

de recursos de processamento assıncrono nao sao capazes de responder satisfatoriamente

38

Page 56: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

a problemas tais como corrupcao de dados, tolerancia a falhas e alta disponibilidade

(NATHAN N.; WARREN, 2015).

A literatura pesquisada destaca algumas arquiteturas que permitem a combinacao de

processamento de grandes volumes e baixa latencia: Lambda e Kappa (WINGERATH

et al., 2016) (CARDENAS-BENITEZ et al., 2016) (CHENG et al., 2015) (NASIR, 2016)

(FORGEAT, 2015) e Hadoop. Em paralelo tambem tem - se o aparecimento da arquitetura

Liquid como um padrao para processamentos em tempo quase real (FERNANDEZ et al.,

2015).

2.7 Arquitetura Liquid

Para um processamento em tempo quase real, Gallidabino et al. (2016) propoem a

arquitetura Liquid, ainda emergente nesse cenario tecnologico, onde o princıpio basico e

o processamento de duas camadas, processing layer e messaging layer sendo com baixa

latencia nas mensagens, as quais recebem, pre-processam e entregam dados para os pro-

gramadores.

Basicamente o funcionamento da arquitetura Liquid e fornecer acesso de dados de

baixa latencia para suporte em tempo real stream, alem de de suportar tambem aplicacoes

em lote ( batch). Ela suporta processamento incremental altamente disponıvel (FERNAN-

DEZ et al., 2015).

A Figura 9 apresenta como a arquitetura que interliga com o HDFS, Map Reduce

(MR), Apache Samza ate chegar nos terminais, tudo isso em uma baixa latencia na

conexao entre eles. A parte inferior mesma figura apresennta a interligacao ao Big Data,

mostrando como pode ser a base do trabalho em SDM e DA representados pelos sensores,

logs e as metricas envolvidas.

2.7.1 Estrutura da Arquitetura Liquid

Ainda de acordo com a Figura 9 a estrutura de da arquitetura Liquid consiste em

duas camadas cooperantes.

1. Uma camada de mensagens fornece acesso a dados com base em metadados, que

39

Page 57: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 9: Integracao de dados arquitetura Liquid.

(FERNANDEZ et al., 2015).

permite aos sistemas back-end ler dados de pontos especıficos em tempo real. Ele e

distribuıdo em escala para grande volumes de dados com alta disponibilidade.

2. Outra camada de processamento executa trabalhos semelhantes a ETL (Extract

Transform and Load) para sistemas back-end, garantindo acesso de dados de baixa latencia.

Esta camada pode executar processamento de dados antes de passar os dados para o sis-

tema back-end, desde a limpeza e normalizacao dos dados ate o calculo de estatısticas

agregadas ou a deteccao de erros.

2.7.2 Distribuicao quanto ao Processamento

Como resultado da arquitetura Liquid, ela incorpora, como se fosse uma a separacao

benefica do armazenamento e computacao de stack, Map Reduce, (do ingles, Hadoop

Distributed File System (HDFS ), o qual resulta em:

• Pode escalar o armazenamento e a computacao independentemente.

• Quanto a tolerancia a falhas e difıcil de conseguir a chegar a camada de processa-

40

Page 58: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

mento.

A camada de mensagens usa Apache Kafka, um sistema altamente disponıvel de men-

sagens publicadas / subscritas distribuıdas. Os dados sao armazenados persistentemente

em logs comprometidos e distribuıdos, que sao replicados para alta disponibilidade. Para

acesso a dados de alto rendimento, a camada de mensagens explora o padrao anti-caching

comportamento arquivo cache do sistema, no qual os dados sao mantidos na (do ingles,

Random Access Memory (RAM )) por padrao e para o disco se nao for usado por um

perıodo de tempo. Como os logs comprometidos so e possıvel definir com precisao o

perıodo de tempo, apos quais dados devem ser liberados para o disco, melhorando o de-

sempenho para sistemas back-end, os quais leem o cabecalho do log (FERNANDEZ et al.,

2015).

A camada de processamento e implementada usando Apache Samza, uma estrutura de

processamento de fluxo distribuıdo que segue um processamento de paradigma, ele executa

tarefas do tipo ETL eficientemente e com baixa latencia, representando explicitamente o

estado como parte da computacao. A camada de processamento armazena dados anotados

na camada de mensagens como metadados, o que permite que os trabalhos fluxos de dados

de forma dinamica (FERNANDEZ et al., 2015).

2.7.3 Limitacoes da Arquitetura

Sendo ainda uma arquitetura recente, o emprego da mesma com uso intensivo de

recursos podem gerar trabalhos em execucao na mesma infra-estrutura, a implementacao

executa em uma Virtual Machine (VM ) Java.

A implementacao da arquitetura Liquid aborda esses desafios, na camada de men-

sagens, as particoes sao balanceadas atraves de clusters disponıveis, o que permite um

melhor equilıbrio da camada de processamento, porem a camada de processamento acaba

isolando os recursos de nıveis do sistema operacional, como Linux e Apache Yet Another

Resource Negotiator (Yarn), com isso restringe a memoria e recursos das Central Proces-

sing Units (CPUs) de cada tarefa. (FERNANDEZ et al., 2015).

41

Page 59: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

2.8 Hadoop Distributed File System

Uma das solucoes mais conhecidas para analise de dados em larga escala e o projeto

Apache Hadoop, concebido por Doug Cutting, o mesmo criador da biblioteca de busca

textual Apache Lucene (WHITE, 2015). Os componentes principais desta ferramenta

consistem em um sistema de arquivos distribuıdos para ser executado em clusters com-

postos por maquinas de baixo custo, e tambem pelo framework de programacao paralela

MapReduce.

Quando uma base de dados alcanca a capacidade maxima de espaco preenchida por

uma unica maquina fısica, torna-se necessario distribuir esta responsabilidade com um

determinado numero de computadores. Sistemas que gerenciam o armazenamento de

arquivos em uma ou mais maquinas interligadas em rede sao denominados sistemas de

arquivos distribuıdos (WHITE, 2015).

Para Coulouris et al. (2013), um sistema de arquivos distribuıdo permite aos pro-

gramas armazenarem e acessarem arquivos remotos exatamente como se fossem locais,

possibilitando que os usuarios acessem arquivos a partir de qualquer computador em

uma rede. Questoes como desempenho e seguranca no acesso aos arquivos armazenados

remotamente devem ser comparaveis aos arquivos registrados em discos locais.

Segundo White (2015) seu funcionamento depende dos protocolos de rede que serao

utilizados. Portanto, todos os problemas relacionados a propria rede tornam -se inerentes

a este tipo de abordagem, adicionando uma complexidade muito maior aos sistemas de

arquivos distribuıdos, por exemplo, em relacao aos sistemas de arquivos convencionais.

No contexto Big Data, que engloba um volume muito grande de dados, a utilizacao de

um mecanismo para armazenar informacoes ao longo de varias maquinas e indispensavel.

Neste sentido, a camada mais baixa do Hadoop e composta por um sistema de arquivos

distribuıdos chamado Hadoop Distributed File System, ou HDFS.

O HDFS foi projetado para executar MapReduce jobs que, os quais, realizam leitura,

processamento e escrita de arquivos extremamente grandes (VENNER, 2009). Apesar de

apresentar semelhancas com os sistemas de arquivos distribuıdos existentes, seu grande

diferencial esta na alta capacidade de tolerancia a falhas, no baixo custo de hardware que

e requerido e tambem na escalabilidade linear.

42

Page 60: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

2.8.1 Caracterısticas Principais

O HDFS foi projetado para armazenar arquivos muito grandes a uma taxa de trans-

missao de dados constante, sendo executado em clusters com hardware de baixo custo

(WHITE, 2015). Suas principais caracterısticas de design podem ser descritas a seguir:

• Arquivos muito grandes: Este sistema de arquivos distribuıdos e capaz de arma-

zenar arquivos que chegam a ocupar terabytes de espaco, portanto, e utilizado por

aplicacoes que necessitam de uma base de dados extremamente volumosa. Segundo

Shvachko et al. (2010), os clusters do Hadoop utilizados pela Yahoo chegam a ar-

mazenar 25 petabytes de dados.

• Streaming data access : Operacoes de leitura podem ser realizadas nos arquivos

quantas vezes forem necessarias, porem um arquivo pode ser escrito apenas uma

unica vez. Esta abordagem pode ser descrita como write-once, read-many-times

(WHITE, 2015). Este sistema de arquivos distribuıdos foi construıdo partindo da

ideia que este modelo e o mais eficiente para processar os dados. O HDFS tambem

realiza a leitura de qualquer arquivo a uma taxa constante, ou seja, a prioridade e

garantir vazao na leitura e nao minimizar a latencia ou prover interatividade com

aplicacoes em tempo real, como e realizado em sistemas de arquivos com proposito

geral.

• Hardware de baixo custo: O HDFS foi projetado para ser executado em hardwares

que nao precisam ter necessariamente alta capacidade computacional e tambem alta

confiabilidade. O sistema foi desenvolvido partindo do pressuposto que a chance

dos nos ao longo do cluster falharem e extremamente alta, portanto, mecanismos

de tolerancia a falha foram desenvolvidos para contornar este problema, permitindo

uma maior flexibilidade quanto ao uso de diferentes tipos de hardwares. A Tabela

9 apresenta as configuracoes das maquinas utilizadas pelo cluster Hadoop presente

na empresa Yahoo.

43

Page 61: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Tabela 9: Configuracoes do Cluster Yahoo ((WHITE, 2015); (SHVACHKO et al., 2010)).

Processador

(CPU)

Memoria

RAM

Espaco em disco Sistema Operacional

2 quad-core de 2

a 2,25 GHz

16 a 24 GB 4 discos SATA de 1 Terabyte Red Hat Enterprise Linux Server

2.8.2 MapReduce

MapReduce pode ser definido como um algorıtimo de programacao voltado para pro-

cessamento de grande volume de dados ao longo de varias maquinas, obtendo resultados

em tempo razoavel (WHITE, 2015). Utiliza-se o conceito de programacao distribuıda

para resolver problemas, adotando a estrategia de dividı-los em problemas menores e

independentes.

De acordo com Dean e Ghemawat (2008), o usuario deste modelo especifica uma

funcao map, que devera processar um par chave, valor gerando como produto conjuntos

intermediarios de pares chave, valor, e tambem define uma funcao reduce, responsavel

por unir todos os valores intermediarios associados a uma mesma chave.

Este modelo e baseado nas primitivas map e reduce presentes na linguagem R e

tambem em muitas outras linguagens de programacao funcional. Este paradigma foi

adotado, pois percebeu-se que varios problemas consistiam em realizar o agrupamento

das entradas de acordo com uma chave identificadora, para entao processar cada um

destes conjuntos (DEAN; GHEMAWAT, 2008).

Um programa MapReduce separa arquivos de entrada em diversas partes indepen-

dentes que servem de entrada para as funcoes map. As saıdas destas funcoes sao orde-

nadas por chave, valor e, posteriormente, transformadas em entradas do tipo chave,

lista(valores) para a funcao reduce, onde o resultado final sera salvo em um arquivo de

saıda. O Quadro 1 apresenta de maneira generica as entradas e saıdas das funcoes map e

reduce.

A grande colaboracao desta abordagem esta em disponibilizar uma interface simples

e poderosa que permite paralelizar e distribuir computacao em larga escala de forma

44

Page 62: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

map (k1, v1) → list (k2,v2)

reduce (k2, list (v2)) → list (v2)

(DEAN; GHEMAWAT, 2008)

Quadro 1: Entradas e saıdas MapReduce.

automatica (DEAN; GHEMAWAT, 2008). O desenvolvedor precisa apenas se preocupar

com as funcoes map e reduce, todo esforco para dividir o trabalho computacional ao longo

das maquinas, entre outras questoes operacionais, sao de responsabilidade do proprio

framework.

Sob a perspectiva dos dados distribuıdos, essa e uma caracterıstica extremamente

importante, pois operacoes simples de manipulacao de dados como, por exemplo, uma

simples medida de media, torna-se um desafio aos sistemas computacionais, necessitando

assim de um processamento colaborativo de todos os recursos computacionais disponıveis

para a realizacao da operacao. Nesse aspecto um conceito importante em Big Data e

conhecido como Hadoop. O que esta por de traz desse nome sao suas propriedades para o

armazenamento distribuıdo chamado de HDFS e o MapReduce, responsavel pela consulta

aos dados armazenados de forma distribuıda. A Figura 10 ilustra o processo e a aplicacao

desses conceitos. Nessa, os dados que chegam sao quebrados logicamente e distribuıdos

em arquivos sob diferentes recursos. No momento da analise, na fase do map os diversos

recursos sao consultados, os dados desejados sao recuperados localmente e organizados

(shuffle). Por fim, na fase de reduce, os resultados isolados sao combinados e apresentados.

Figura 10: Diagrama esquematico do funcionamento do algorıtimo de MapReduce.

(THAKER, 2016).

A apresentacao dos dados pode ser feita de uma maneira visual, explorando assim

45

Page 63: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

conceitos de visualizacao de dados ou entao como um resultado que pode ser armazenado

em uma base de dados para analises futuras.

A Figura 10 ilustra o diagrama esquematico do funcionamento do algorıtimo de Ma-

pReduce MapReduce. As entradas sao divididas em partes iguais denominadas input

splits, cada uma destas partes dao origem a uma map task, responsavel por gerar pares

intermediarios chave, valor. Cada map task realizada uma chamada a funcao map

definida pelo usuario.

Nas fases shuffle e sort, os pares intermediarios sao agrupados e ordenados de acordo

com sua chave. Este processo e realizado pelo framework. Por fim, as reduce tasks

recebem como entrada os valores resultantes das etapas shuffle e sort. Para cada entrada

chave, lista(valores) existente, uma reduce task executa uma chamada a funcao reduce

especificada pelo desenvolvedor.

Uma alternativa para contornar este problema seria o uso da programacao paralela,

analisando os arquivos em diferentes processos, utilizando quantas threads fossem ne-

cessarias. Todavia esta solucao nao e a mais eficiente, ja que os arquivos podem apresen-

tar diferentes tamanhos, ou seja, alguns processos seriam finalizados em um intervalo de

tempo menor, impossibilitando maximizar a capacidade de processamento.

Uma abordagem mais eficiente seria separar todos os arquivos em blocos pre defi-

nidos e entao dividı-los em processos distintos. Esta solucao requer um mecanismo de

sincronizacao complexo e de difıcil implementacao. Seria necessario agrupar todas as pa-

lavras e suas respectivas ocorrencias em cada uma das threads nos diferentes processos

em execucao. E mesmo assim a capacidade de processamento estaria limitada a apenas

uma maquina.

Este problema que se mostrou complexo possui uma solucao simples e de facil cons-

trucao quando utiliza-se a abordagem apresentada pelo paradigma MapReduce. Nesta

situacao, torna-se necessaria apenas a definicao de uma funcao map para realizar a con-

tagem de cada palavra presente nos arquivos de entrada, e tambem de uma funcao re-

duce para agrupar cada uma destas palavras e realizar a contagem final dos registros de

ocorrencias. Um codigo simulando com as funcoes map e reduce para este problema sao

apresentadas no Quadro 2.

46

Page 64: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

map (String key , String value):

// key: document name

// value: document contents

for each word w in value:

EmitIntermediate (w, ”1”);

reduce ( String key , Iterator values ):

// key: a word

// values : a list of counts

int result = 0;

for each v in values :

result += ParseInt(v);

Emit( AsString( result ));

(DEAN; GHEMAWAT, 2008)

Quadro 2: Codigo simulando MapReduce.

No Quadro 2, o programa MapReduce divide todos os arquivos de entrada em input

splits, na qual a chave do par chave, valor e composta pelo numero do respectivo input

split, enquanto o valor e o proprio conteudo de sua parte no texto. Para cada par de

entrada uma funcao map sera chamada e realizara quebra da linha em palavras. Cada

um destes tokens e associado ao valor 1, gerando pares de saıda no formato palavra 1.

O framework MapReduce realiza as etapas shuffle e sort para agrupar e ordenar os

resultados das map tasks. Em seguida, para cada chave existente sera realizada uma

chamada a uma funcao reduce, na qual e responsavel por percorrer uma lista efetuando a

soma dos valores encontrados. O resultado obtido e registrado em um arquivo de saıda.

A Figura 11 apresenta o fluxo completo da execucao de um programa MapReduce

para o problema da contagem de palavras.

• Desenvolvimento MapReduce

A solucao adequada para o contexto Big Data, na qual sao analisados arquivos

extremamente volumosos, consiste na construcao de um algoritmo baseado em com-

putacao distribuıda. A grande vantagem de utilizar o modelo MapReduce e que o

desenvolvedor precisa apenas adaptar o problema para ser resolvido com as funcoes

47

Page 65: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 11: Fluxo atividades contador de palavras.

Fonte: Adaptada pelo autor.

map e reduce. Toda a complexidade envolvida em paralelizar o processamento e

realizada pelo framework.

O MapReduce e um paradigma que permite uma implementacao flexıvel e simples

para esta situacao, para tal e necessario apenas tres coisas: Uma funcao map, uma

funcao reduce e um pedaco de codigo para execucao do job (WHITE, 2015).

Na Tabela10 estao as atividades que ocorrem em um MapReduce, e os jobs com os

responsaveis por cada uma delas.

48

Page 66: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Tabela 10: Atividades de um MapReduce (VENNER, 2009).

Atividade Responsavel

Configurar Job Desenvolvedor

Dividir arquivos de entrada em input splits Hadoop Framework

Iniciar map tasks com seus respectivos in-

put splits

Hadoop Framework

Definir funcao map utilizada pelas map

tasks

Desenvolvedor

Shuffle, onde as saıdas de cada map task

sao divididas e ordenadas

Hadoop Framework

Sort, onde os valores de cada uma das cha-

ves geradas pelas map tasks sao agrupados

Hadoop Framework

Iniciar reduce tasks com suas respectivas

entradas

Hadoop Framework

Definir funcao reduce, na qual e chamada

uma vez para cada chave existente

Desenvolvedor

Escrever os resultados das reduce tasks em

N partes no diretorio de saıda definido nas

configuracoes do job, onde N e o numero

de reduce tasks

Hadoop Framework

49

Page 67: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

3 METODOLOGIA, PROJETO E IMPLEMENTACAO

3.1 Metodologia

Esta pesquisa caracteriza-se como exploratoria quanto ao seu objetivo e aplicada

quanto a sua natureza, pois se propos a estudar ferramentas, requisitos e arquiteturas

de processamento Big Data e combinou-os em uma aplicacao que processe e analise dados

de sensores IoT.

A pesquisa Quanto ao procedimento, a pesquisa caracteriza-se como bibliografica,

uma vez que o referencial teorico conduziu ao entendimento do assunto e a definicao dos

procedimentos metodologicos.

A pesquisa bibliografica identificou oportunidades de pesquisa nas areas de Sensor

Data Mining (SDM) e Data Analytics (DA), visando a acoes aplicadas. Chitturi, Thomas

e S. (2015) registram que aplicacoes de SDM tem sido desenvolvidas com base em diversas

tecnicas e tarefas de SDM, incluindo a analise e a visualizacao de dados.

O metodo de pesquisa proposto estrutura-se em nas seguintes etapas, ilustradas na

Figura 12:

• Medir: Sensores IoT ESP8266 para coleta de CO sao colocados em diferentes regioes

da regiao metropolitana da cidade de Sao Paulo.

• Coletar: Essa etapa consiste na obtencao de dados dos sensores IoT ESP8266.

• Armazenar: Nesta fase o armazenamento foi executado em um banco de dados No-

SQL, parte do processo ao obter esses dados, o qual envia a arquitetura HDFS,

aplicando a funcao MapReduce.

• Analisar: Realiza uma analise exploratoria de como processamento distribuıdo.

• Apresentar: Esta fase da metodologia, implementa a visualizacao de dados.

50

Page 68: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

3.2 Descricao do Projeto para Implementacao da Arquitetura

Os sensores ESP8266 foram instalados num ambiente da Regiao Metropolitana de

Sao Paulo (RMSP), com o objetivo de coletar os dados de monoxido de carbono.

Figura 12: Arquitetura proposta e implementada neste Trabalho.

Fonte: Elaborada pelo autor.

O sensor ESP8266 com modulo arduıno captam os dados de monoxido de carbono,

transmitem-os via WiFi, acessam o servidor de coleta para armazenamento atraves de

uma API que permite a integracao simples de diversos tipos de sensores, o qual por sua

vez armazena os dados coletados em um banco de dados No-SQL como mostrado na

Figura 12. Os dados podem entao ser acessados via API para analise e processamento.

3.3 Configuracao dos Sensores

A disposicao dos sensores IoT esta ilustrada na Figura 13. Sao esses os sensores que

capturaram medicoes referente aos dados enviados sobre monoxido de carbono, os quais

foram espalhados em 4 regioes na RMSP. O consumo de energia de cada sensor e de

aproximadamente 560 mw.

O sensor ESP8266 e similar a um arduıno, onde o mesmo tem a vantagem de se co-

municar pela rede wireless, pois tem suporte ao protocolo TCP/IP . A unica desvantagem

e que so possibilita a leitura de um sensor analogico, pois tem apenas uma entrada.

51

Page 69: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 13: Exemplo da topologia de sensores.

Fonte: Elaborada pelo autor.

O modulo de sensor comunica-se com o microcontrolador, utilizando uma interface

serial. E ainda existem dois pinos General Purpose Input Output (GPIO) , ou entrada

e saıda de uso geral, permitindo que o modulo seja programado diretamente e a GPIO

acionada sem a necessidade de uso de um microcontrolador.

A caracterısticas do Modulo Wireless ESP8266 (BR-ARDUINO.ORG, 2017) e:

• Conexao a redes padrao 802.11 B/G/N ;

• Alcance aproximado: 91 metros;

• Tensao de operacao : 3.3 VDC ;

• Comunicacao serial: pinos TX e RX ;

• Modos de operacao : Cliente, Access Point, Cliente+Access Point ;

• Suporta comunicacao TCP e User Datagram Protocol (UDP).

O nıvel de sinal utilizado pelo modulo foi de 3.3V, assim o pino RX (recepcao serial)

nao foi ligado diretamente ao Arduıno. Utilizou-se uma fonte externa para alimentacao

52

Page 70: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

do modulo, pois dependendo da situacao ele pode exigir ate 300 mA de corrente, e o limite

do Arduıno e de 50 mA.

A compilacao dos dados na memoria dos sensores esta representado na Figura 14 de

acordo com o Sketch do Arduıno. Na representacao ha um sensor, chamado de IoTm002,

o qual solicita a autenticacao do Iot Server para o inicio da gravacao dos dados.

Tabela 11: Lista de Componentes Utilizados (Fonte: Elaborado pelo autor.)

Qtde. Componentes Utilizados

1 Placas Circuito Impresso Pcb Fibra De Vidro 10x5 cm

1 Fonte de 5V

1 Capacitores de 10 uF de 16V

1 Resistores de 560 Ω

2 Led´s

1 CI regulador de tensao para 3V LM 317

1 Capacitor de 220 uF de 50V

1 Modulo MQ7 - Sensor de Monoxido de Carbono

1 Chave Reset

1 Modulo WiFi ESP8266D

1 Resistores de 10 KΩ por circuito

1 Barra de pinos

2 Conectores KRE

1 Conector Borne P4

A Tabela 11 apresenta os componentes que foram utilizados para montar o sensor IoT

de apenas um dos circuitos utilizados na coleta de monoxido de carbono.

A Figura 15 apresenta o layout referente aos circuitos IoT usados nesta pesquisa.

Nesse circuito ha uma fonte de alimentacao de 5V, um circuito integrado LM317, um

regulador de tensao positiva para correntes ate 1 Ampere com uma dissipacao maxima

de 2 Watts, com isso a tensao de saıda de todo circuito foi de 3Vcc. Todos os demais

componentes eletronicos como: modulo ESP8266 e os sensores MQ7 para medicao do gas

monoxido de carbono estao representados no layout do circuito. O layout ainda tem uma

placa na cor vermelha (ESP8266-12E) com ESP8266 embutido, baixo custo, transmissao

WiFi, conexao: 802.11 b/g/n, tem todos os componentes (ate a antena) integrados a

placa, e baixo consumo de energia. Essa placa (ESP8266-12E) ajuda na interface com a

53

Page 71: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 14: Sketch Programacao Sensor

Fonte: Adaptada de (ARDUINO, 2017).

programacao Sketch do Arduino, usando um microcontrolador via conexao com Universal

Serial Bus (USB)). Para estabelecer a conexao e a gravacao dos sensores usou- se a juncao

da placa do modulo arduıno com as conexoes fısicas de cada sensor Tx-Rx e GND-GND

para fechar o jumper do circuito.

A configuracao e para que a cada 300.000 ms ou 5 minutos cada sensor faz uma leitura

de CO e envia os dados pela rede.

3.4 Armazenamento e Analise dos Dados

A transmissao dos dados para armazenamento no servidor foi atraves do protocolo

Hypertext Transfer Protocol (HTTP) (LEACH et al., 1999). Os dados coletados sao

passados ao servidor por meio de uma API (MASSE, 2011), com isso, o servidor persiste

os dados no formato java script object notation (json), veja um exemplo dessa estrutura

de armazenamento nas Figuras 16 e 17.

54

Page 72: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 15: Layout sensor IoT.

Fonte: Elaborada pelo autor.

Figura 16: Dados json e Url IP servidor

Fonte: Elaborada pelo autor.

55

Page 73: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Desta forma, os sensores transmitem os dados por stream ao servidor. A requisicao

em lote (batch) dos dados com os valores das requisicoes e feito pela mesma API por meio

do R Studio.

O R Studio e um ambiente de desenvolvimento livre e integrado com a linguagem de

programacao R (SILVA; PERES; BOSCARIOLI, 2016). Atraves do R Studio possibilitou

utilizar linhas de comando e direcionar o dados capturados dos sensores ESP8266 para as

ferramentas Apache Hadoop, HDFS, com o MapReduce, o qual realizou-se o processamento

e analise dos dados.

A visualizacao dos dados sera feita com uso do Shiny, um framework para aplicacoes

web usado na linguagem R, cuja aplicacao permite apresentar valores configuraveis pelo

usuario em caixas de dialogos.

3.5 Servidor NoSQL

Os dados capturados dos sensores de monoxido de carbono foram armazenados no

formato json, o qual permitiu compilar e gravar direto no servidor No-SQL, representado

na Figura 17 (STANDARD, 2017).

A url http://201.6.243.44:3000/dump representou o dump coleta de dados dos sensores

no formato json, representado na Figura 16 e na Arquitetura do servidor da Figura 12.

Tabela 12: Configuracoes do Cluster servidor IoT Server.

Fonte: Adaptada de (WHITE, 2015) (SHVACHKO et al., 2010).

Processador

(CPU)

Memoria

RAM

Espaco em disco Sistema Operacional

2 quad-core de 2

a 2,25 GHz

4 GB 1 disco SATA de 500 GI-

GABYTE

Ubuntu server 16.04.2 LTS

A Tabela 12 apresenta os dados de configuracao do servidor IoT Server NoSQL,

referente a CPU, Memoria, Espaco em disco e Sistema Operacional.

De acordo com a Figura 17, o processamento em batch ou stream desse grande volume

de dados, cuja uma funcao map, processou um par chave, valor gerando como produto

56

Page 74: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 17: Dashboard servidor NoSQL

Fonte: Elaborada pelo autor.

conjuntos intermediarios de pares chave, valor, e tambem define uma funcao reduce,

responsavel por unir todos os valores intermediarios associados a uma mesma chave dos

sensores.

O Dashboard do servidor IoT Server visualiza em cada instante de 300.000 ms o input

com os sensores IoTm001, IoTm002, IoTm003, ou IoTm004 de modo aleatorio.

57

Page 75: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

4 RESULTADOS EXPERIMENTAIS

4.0.1 Linguagem de Programacao

A linguagem de programacao aplicada foi o R de framework R Studio, usada para

desenvolver software de estatıstica e analise de dados, levantamentos de data miners, a

qual possibilitou compilar os dados dos sensores (SILVA; PERES; BOSCARIOLI, 2016).

4.0.2 Visualizacao de Dados

O projeto Shiny e um framework para aplicacoes web usado na linguagem R, cuja

uma aplicacao apresentou valores configuraveis em caixas e graficos. Nos exemplos abaixo

optou-se por utilizar informacoes captadas em stream ou fluxo contınuo dos sensores.

As Figuras 18 e 19 representam os resultados da incidencia do ındices de monoxido

de carbono num determinado perıodo de analise para duas diferentes regioes da cidade de

Sao Paulo.

Os dados referentes ao sensor 2 (na cor azul) da Figura 18 permitem verificar que

no horario de maior incidencia e concentracao de CO, o sensor registrou uma medicao

entre 30 e 35 ppm de monoxido carbono. Os dados do sensor 4 (na cor vermelho) estao

representados na Figura 19, na mesma amostragem de medicao do sensor tem-se o sensor

2, uma maior concentracao com CO, entre 45 e 55 de ppm.

Para efeitos comparativos dos resultados a Figura 20 representa os dados do sensores

agrupados, onde percebe-se claramente a diferenca nas medicoes entre os dois sensores,

sugerindo assim que na regiao monitorada pelo sensor 4 ha maiores ındices poluicao do

gas monoxido de CO.

Vale ressaltar que por estes valores medidos, pode-se perceber nitidamente que os

valores estao muito acima da media da OMS, os quais estabelecem no maximo 10 ppm.

Os resultados mınimos medidos foram entre 30 e 35 ppm referente ao sensor 2. Alem

disso, na secao 2.1 os padroes de qualidade do ar na Tabela 1, os criterios de atencao de

poluicao do ar na Tabela 2 e a estrutura dos ındices de qualidade dor ar sao apresentados

juntamente com a Tabela 3.

58

Page 76: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

library(anytime); library(jsonlite); library(curl); library(rmr2); library(rhdfs)

url = ’http://201.6.243.44:3000/dump’

#Recebe a url acima e converte o formato json para list

document = fromJSON(txt=url)

#Converte o Posix recebido do horario para BRT

document$IoTm004$date=anytime(document$IoTm004$date/1000)

document$IoTm003$date=anytime(document$IoTm003$date/1000)

document$IoTm002$date=anytime(document$IoTm002$date/1000)

document$IoTm001$date=anytime(document$IoTm001$date/1000)

#Converte todos os dados captados dos sensores de CHARACTER para NUMERIC

document$IoTm001$data=as.numeric(document$IoTm001$data)

document$IoTm002$data=as.numeric(document$IoTm002$data)

document$IoTm003$data=as.numeric(document$IoTm003$data)

document$IoTm004$data=as.numeric(document$IoTm004$data)

#Para um melhor manuseio desmembra o document recebido no vetor Sensores

Sensor1=document$IoTm001; Sensor2=document$IoTm002

Sensor3=document$IoTm003; Sensor4=document$IoTm004

#Plot Monoxido de Carbono por Tempo (linhas) - Sensor 2

Sensor2x=Sensor2[(as.Date(Sensor2$date)=as.Date(”2017-05-29”) &

as.Date(Sensor2$date)=as.Date(”2017-06-04”) ),]

y = seq(from = as.POSIXct(min(Sensor2x$date)),

to = as.POSIXct(max(Sensor2x$date)), length.out = (length(Sensor2x$date)))

plot (y, Sensor2x$data, type=”n”, xlab=”Tempo”, ylab=”Monoxido de Carbono”)

lines(y, Sensor2x$data, type=”o”, col=”blue”, sub=)

#Plot Monoxido de Carbono por Tempo (linhas) - Sensor 2 e Sensor 4

plot (z, Sensor4x$data, type=”n”, xlab=”Tempo”, ylab=”Monoxido de Carbono”)

lines(z, Sensor4x$data, type=”o”, col=”red”, sub=)

lines(y, Sensor2x$data, type=”o”, col=”blue”, sub=)

legend(”topright”, c(”Sensor 2”, ”Sensor 4”), col = c(”blue”, ”red”),

text.col = ”black”, lty = c(1,1,1,1), pch = c(1,1,1,1), cex=0.60, ncol = 2)

Fonte: Elaborada pelo autor.

Quadro 3: Progamacao dados sensores R Studio.

59

Page 77: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 18: Coleta Dados Sensor 2.

Fonte: Elaborada pelo autor.

Figura 19: Coleta Dados Sensor 4.

Fonte: Elaborada pelo autor.

O Quadro 3 ilustra o script da programacao executada no ambiente do R Studio,

referente as coletas dos sensores 2 e 4, os quais resultam nos graficos ilustrados na Figuras

18 e 19.

O Quadro 4 apresentou os comandos entrada e saıda das sessoes referente um loop

(ou delay) de atualizacao dos sensores ate a leitura do servidor IoT server de 300.000 ms

para a leitura de cada sensor, o qual e lido pela url citada no quadro em stream.

Os arquivos apresentados (server.R e ui.R), o primeiro executa a logica da pro-

gramacao, funcoes e processamentos necessarios e o segundo apenas a visualizacao das

60

Page 78: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

function(input, output, session) observe(#atualiza a url apos 300.000 ms

invalidateLater (300000)

url = ’http://201.6.243.44:3000/dump’

Fonte: Elaborada pelo autor.

Quadro 4: Script url e Loop.

library(shiny)

titlePanel(”Medidas de CO na Regiao Metropolitana da Cidade de Sao Paulo”),

sidebarLayout(

sidebarPanel(

selectInput(”select”, label = h3(”Sensores”),

choices = list(”Sensor 1”= 1, ”Sensor 2”= 2, ”Sensor 3”= 3,

”Sensor 4”= 4), selected = 1),

dateRangeInput(”dates”, label = h3(”Intervalo”)),

hr(),

actionButton(”atualizar”, ”Exibir”)

),

mainPanel(

tabsetPanel(type = ”tabs”,

tabPanel(”Media”, plotOutput(”plot1”)),

tabPanel(”Quartis”, verbatimTextOutput(”plot2”)),

tabPanel(”Tempo”, DT::dataTableOutput(”plot3”)),

tabPanel(”Densidade”, plotOutput(”plot4”)),

tabPanel(”Box Plot”, plotOutput(”plot5”)),

tabPanel(”Histograma”, plotOutput(”plot6”))

))))

Fonte: Elaborada pelo autor.

Quadro 5: Biblioteca ui.R.

61

Page 79: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 20: Coleta Dados Sensor 2 e 4.

Fonte: Elaborada pelo autor.

informacoes, conforme apresentado no Quadro 5 um exemplo dos comandos ui.R.

Com base nos dados armazenados, outras formas de abordagem de analises podem

ser realizadas. Os resultados seguintes apresentarao a construcao de paineis de analises

(dashboards) que permitem explorar melhor os resultados e auxiliar um gestor na analise

e definicao de polıticas publicas para reducao da poluicao do ar.

Os dashboards sao construıdos, com o uso de uma biblioteca em Linguagem R chamada

Shiny. Essa biblioteca permite a construcao de uma aplicacao baseada em web, em que

os dados sao apresentados em uma interface web e as analises sao feitas nos scripts de

programacao desenvolvido em R (RSTUDIO, 2017). Diferente de outras linguagens e

bibliotecas de programacao, onde as analises sao feitas e os resultados devem ser salvos

temporariamente para entao o uso de uma outra ferramenta de visualizacao, a grande

motivacao e vantagem do Shiny e manter a integracao dessas duas componentes em uma

unica aplicacao.

A interface do R Studio, como se pode ver na Figura 21, permite que se faca analises

em tempo real dos sensores com exploracoes analıticas como media, densidade, quartil,

boxplot e histograma. Outras medidas ainda podem ser incorporadas nesta interface, assim

como diversos outros sensores. Especificamente nesta figura esta apresentado o valor da

media. Como os dados estao sendo coletados a cada 300.000 ms, e estamos exibindo

62

Page 80: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

a informacao por hora (eixo x do grafico), significa que os dados de CO apresentados

(eixo y) e a media das medicoes feitas a cada hora. A interface ainda tera uma outra

componente para permitir futuramente que se possa escolher o intervalo de tempo para o

calculo da media, ou seja, dia, mes e ate ano.

Figura 21: Visualizacao dos valores medios coletados pelo sensor 2.

Fonte: Elaborada pelo autor.

• Densidade

Para o exemplo de analise de densidade, novamente sera usado o sensor 2 como re-

ferencia. A analise da densidade ilustrada na Figura 22 mostra que ha uma distribuicao

nao linear nos ındices de CO. Ou seja, ha uma concentracao entre 20 a 25 ppm de CO por

uma variacao de 0,03 da densidade aferida, porem em outro determinado dia, apresentou-

se um acumulo de 30 a 35 ppm de monoxido de carbono em uma variacao maior da

densidade em aproximadamente 0,10.

• Quartil

Para conhecer melhor as medicoes que estao sendo feitas, uma analise importante a

se fazer e com o calculo dos valores de resumo. A analise nas Figuras 23 e 24 apresenta

medidas como media, mediana, quartil e ainda, o valor mınimo, maximo e valor ausente

(caso ocorra). Aqui tambem pode-se definir um intervalo de tempo para apresentar a

analise.

63

Page 81: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 22: Densidade sensores

Fonte: Elaborada pelo autor.

Figura 23: Quartil sensor 2.

Fonte: Elaborada pelo autor.

Figura 24: Quartil sensor 4.

Fonte: Elaborada pelo autor.

• Boxplot

As medidas de resumo ainda podem ser apresentadas com o uso Boxplot que pra-

ticamente consolida graficamente as medidas em valores de mınimo, media, mediana e

64

Page 82: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

maximo obtido de CO. A Figura 25 ilustra o resultado essa plotagem para as medicoes

do sensor 2.

Figura 25: Boxplot sensor 4

Fonte: Elaborada pelo autor.

• Histograma

Figura 26: Histograma sensor 2.

Fonte: Elaborada pelo autor.

O histograma apresentado nas Figuras 26 e 27 exemplifica e confirma que no horario

de menos concentracao de partıculas, ou seja em horario de menos poluicao atmosferica,

65

Page 83: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 27: Histograma sensor 4.

Fonte: Elaborada pelo autor.

os ındices estiveram um pouco acima da recomendacao da OMS, e nos horarios de grande

concentracao de monoxido os ındices concentraram entre entre 30 e 48 ppm.

Nota - se que o sensor 4 em relacao ao sensor 2, principalmente nos horarios de pico

com maior circulacao de veıculos apresentou o maior ındice de monoxido de carbono na

atmosfera. Na media um acrescimo em torno de 14% em relacao a uma medicao na RMSP.

A execucao da arquitetura completa implementada neste trabalho de analises mais

profundas sobre os resultados que estao sendo coletadas, mantem-se aqui o escopo do

projeto que foi a proposta e implementacao de uma arquitetura para coleta de dados de

sensores de CO e o armazenamento e analise dos dados usando conceitos de Big Data e

Internet das Coisas.

4.1 Resultados HDFS e MapReduce

O Quadro 6 apresenta os comandos, algumas bibliotecas (library’s) vetores e funcoes

usadas para executar o HDFS e aplicar o Mapreduce, ate a recuperacao dos dados inseridos

no comando from.dfs , este resultado pratico confirma a teoria exemplificada no referencial

teorico na Secao 2.

O sensores IoT Server estao representados pelas variaveis x1, x2, x3 e x4 (sensores

IoTm001,IoTm002, IoTm003 e IoTm004 ), o range estabelecido em relacao aos sensores

66

Page 84: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

library(jsonlite); library(curl); library(rmr2)

url = url(’http://201.6.243.44:3000/dump’) x=fromJSON(txt=url)

x1= x[[1]][c(0:500),]; x2= x[[2]][c(500:1000),]

x3= x[[3]][c(1000:1500),]; x4= x[[4]][c(1500:2000),]

simu1 = to.dfs(x1); simu2 = to.dfs(x2); simu3 = to.dfs(x3); simu4 = to.dfs(x4)

mapper= function(k,v) date = as.numeric(v$date) data = rbind(as.numeric(v$data)) return(keyval(1,data))

reduce =function(k, v) soma = (mean(v)) return(keyval(1,soma))

calc1 = mapreduce( input=simu1, map= mapper, reduce = reduce )

calc2 = mapreduce( input=simu2, map= mapper, reduce = reduce )

calc3 = mapreduce( input=simu3, map= mapper, reduce = reduce )

calc4 = mapreduce( input=simu4, map= mapper, reduce = reduce )

visualiza1 =from.dfs(simu1) #transformo a saıda num dataframe visualiza1

visualiza2 =from.dfs(simu2) #transformo a saıda num dataframe visualiza2

visualiza3 =from.dfs(simu3) #transformo a saıda num dataframe visualiza3

visualiza4 =from.dfs(simu4) #transformo a saıda num dataframe visualiza4

Fonte: Elaborada pelo autor.

Quadro 6: HDFS e MapRduce Stream.

foram da seguinte maneira: x1: 0 a 500, x2: 500 a 1000, x3: 1000 a 1500 e x4: 1500 a

2000, referente as posicoes de leitura de CO, na sequencia que os dados foram capturados,

essa variacao poderia ter outro range definido, como de 0 a 1000, de 2000 a 10.000, ou da

primeira ate a ultima coleta de dados. Esse criterio de escolha dos mesmos foi aleatoria,

referente a leitura do monoxido de carbono, a qualquer tempo essa medicao pode ser

realizada, desde que os sensores estejam enviando o sinal via WiFi para o servidor IoT

Server.

Apos a programacao realizada no Quadro 6, a Figura 28 apresenta um resumo com

os resultados obtidos do Hadoop, o painel gerencial e algumas aplicacoes, como e o pro-

cessamento distribuıdo, as metricas do cluster, cores virtuais, cores totais, reservado e

nos ativos. Neste caso, tem-se apenas uma maquina configurada, o cloudera manager,

podendo ampliar para um cluster maior de maquinas que desejar. Aumentando o numero

de maquinas e consequentemente o numero de dados, o Active Nodes ira mudar de 1

para 50 ou ate quanto suportar a capacidade de armazenamento. O Memory Total pode

aumentar de 8 GB para 50 GB ou superior.

67

Page 85: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Ainda na Figura 28 cada vez que executa o Map Reduce, ele organiza as informacoes,

onde os stream e jobs estao estruturados para facil entendimento como: arquivos subme-

tidos, arquivos pendentes em espera e arquivos executados (do ingles, Apps Submitted,

Apps Pending, Apps Running); cada vez que roda a funcao MapReduce.

Figura 28: Aplicacoes gerenciadas HDFS.

Fonte: Elaborada pelo autor.

Os resultados esperados sao registrados num arquivo de saıda com algumas das prin-

cipais rotinas executadas referente a Figura 28 como:

• ID - apresenta o enderecamento de cada rotina dos sensores IoT, a posicao 0001 do

sensor 1, assim sucessivamente ate a posicao 0004 do sensor 4.

• User - o nome estabelecido como o usuario de um VM Cloudera.

• Name - referente ao job stream executado pela funcao MapReduce.

• States e Final Status - considera os jobs executados e o status, se foram ou nao bem

sucedidos, e qual seria o erro, caso ocorresse.

A Figura 29 complementa a Figura 28 com o Hadoop User Experience (HUE ).

Neste dashboard visualiza-se, o processamento em cada etapa do Hadoop e da aplicacao

MapReduce, os destaques sao: o estado da analise com os parametros: bem-sucedido, em

execucao, falhou ou eliminado. O processamento de cada sensor IoT, o sensor 1 teve a

68

Page 86: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 29: Execucao do HUE.

Fonte: Elaborada pelo autor.

duracao de 1,32 min em relacao ao sensor 4, o qual executou - se em 50 segundos, um

rendimento de 32% superior ao sensor 4 em relacao ao 1, por outro lado, o 3 e 4 estiveram

muito proximo os tempo de processamento.

A Figura 30 ilustra o stream job do sensor 4, o qual obteve o menor tempo de proces-

samento em comparacao com os outros, como segue-se abaixo:

• Tentativas: ele traz o numero de tentativas de execucao do processamento, junta-

mente com o numero do container 1497793764801000401000001 atribuıdo.

• Tarefas: nas funcoes map, task e reduce sao gerados dois logs task :14977937648010004m000000

e 14977937648010004m000001 e um reduce: 14977937648010004r000000, sendo o m

de map e r de reduce dos logs executados.

• Metadados: apresenta-se: o id, user, quantidade de execucoes do MapReduce, o

tempo das rotinas, a funcao dfs, o threshold dos sensores, a latencia, o timeout de

300.000 ms (dfs.client.mmap.retry.timeout.ms), basicamente apresenta-se, o resul-

tado com um resumo das rotinas do HDFS.

• Contadores: as consolidacoes gerais de maps e reduces, quantos arquivos foram

escritos e lidos em bytes e a soma total de ambos.

• MR2: e um aplicativo distribuıdo que executa o MapReduce em cima do YARN.

Apesar de apresentar semelhancas com os sistemas de arquivos distribuıdos existentes,

o HDFS, diferencia-se na alta capacidade de tolerancia a falhas, baixa latencia e no baixo

69

Page 87: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figura 30: Logs e ID Job.

Fonte: Elaborada pelo autor.

custo de hardware, e tambem na execucao do MapReduce jobs, os quais, realizam leitura,

processamento e escrita de arquivos muito grandes como pode ser observado na Figura

30.

70

Page 88: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

5 CONCLUSOES

A presente pesquisa propos a analisar e implementar uma arquitetura para internet das

coisas, utilizando ferramentas de Big Data. A proposta de desenvolver uma arquitetura

de redes de sensores, espalhados na regiao metropolitana de Sao Paulo, via WiFi, e a

sua validacao como se obteve neste trabalho, possibilita pensar em um monitoramento

mais amplo na cidade para medicoes de CO, cujos dados coletados podem ser analisados

e usados para apoiar campanhas de reducao desse poluente. Portanto, conclui-se que os

objetivos almejados neste trabalho foram alcancados com exito.

Um dos fatores relevantes para obter o exito na pesquisa foi a utilizacao de sensores IoT

com modulo ESP8266 capazes de coletar informacoes e depois enviar os dados por meio de

rede WiFi e internet a um servidor. A partir dessas medicoes utilizou-se de ferramentas de

Big Data para armazenamento, processamento e analise. O armazenamento esta sendo

realizada com uso de um banco de dados (NoSQL) IoT Server, e o processamento e

analise com o uso da Linguagem R. Ou seja, o processamento e feito de forma distribuıda

atraves da construcao de scripts em linguagem R e a visualizacao com o uso de uma

biblioteca, tambem em R, chamada Shiny. O uso de uma mesma linguagem permitiu

a facil integracao entre analise e visualizacao dos dados. Para o caso da visualizacao, a

biblioteca permite a construcao de uma aplicacao Web que facilita o acesso aos dados e,

consequentemente, as analises.

Embora neste momento do projeto e no escopo dessa pesquisa nao esteja a analise

profunda dos resultados, ja se pode perceber que os valores de CO na regiao metropolitana

de Sao Paulo ultrapassa a media estabelecida pela Organizacao Mundial de Saude (OMS)

que estabelece no maximo de 10 ppm. Na Regiao Metropolitana de Sao Paulo em que os

sensores foram colocados as medidas variam entre 30 e 40 ppm CO. Ou seja, em media tres

ate quatro vezes o recomendado pela OMS. Assim, os resultados provisoriamente obtidos

neste trabalho permitem as autoridades governamentais ter controle sobre esse indicador

de poluicao e, com isso, motiva-los a espalhar novos sensores por outras regioes da cidade.

71

Page 89: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

5.1 Trabalhos Futuros

Como trabalhos futuros sugere-se o desenvolvimento e experimentacao da plataforma

aqui proposta com aplicacoes do mundo real com dados em tempo real. Cabe destacar

o uso da plataforma aqui descrita em um contexto real com redes de telecomunicacoes

reais e com uma escala de clientes e aplicacoes de modo a verificar o comportamento

da plataforma e do Iot Server e Apache Hadoop com um grande numero de instancias

integradas com clusters para processamento distribuıdo em Big Data.

Atestar a aplicabilidade das implementacoes algorıtmicas em diversos contextos de

IoT, de modo a elucidar se os algoritmos aqui utilizados conseguem modelar as inumeras

aplicacoes existentes nos diversos outros contextos.

Sugere-se explorar a modularidade da plataforma de IoT aqui descrita, de modo a

experimentar outras plataformas para Big Data, explorar a funcionalidade de notacoes

semanticas existentes no Iot Server e propor o uso do servico de clustering para a mode-

lagem automatica dessas notacoes semanticas.

Analisar a aplicabilidade dos servicos de reconhecimento de padroes para a seguranca

no contexto de IoT e integrar ao modulo de seguranca do IoT Server, seja no contexto de

seguranca da informacao e servicos ou a seguranca patrimonial e pessoal ou no ambito de

cidades inteligentes, de modo que as aplicacoes possam conhecer os contextos e compor-

tamentos pessoais e infiram ataques ou mudancas bruscas de comportamento individual

ou em massa.

Projeto de extensao de IoT para a cidade, destacam-se a preparacao de alguns outros

sensores e a tentativa de coloca-los nas cinco zonas da cidade (Norte, Sul, Leste, Oeste e

Centro). Melhorar a interface para permitir ao usuario que faca escolha da granularidade

no tempo de analise, ou seja, hora, dia, mes ou ano. Por fim, como mais importante, com

todos os dados coletados e armazenados, promover analises mais profundas que tentam

encontrar os causadores dos ındices de CO medidos na cidade. Apos esta etapa, verificar

e validar a escalabilidade linear oferecida pelo Hadoop.

Implementar sistemas cognitivos com inteligencia artificial usando tecnicas machine

learning, com IoT integrando solucoes de voz para tornar sensores inteligentes.

72

Page 90: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

REFERENCIAS

ACHARJYA, D.; AHMED, K. P. A survey on big data analytics: Challenges, open

research issues and tools. INTERNATIONAL JOURNAL OF ADVANCED COMPUTER

SCIENCE AND APPLICATIONS, Citeseer, v. 7, n. 2, p. 511–518, 2016.

APACHE. Apache Drill. 2017. Disponıvel em: <https://drill.apache.org>. Acesso em:

2017-03-12.

APACHE. Apache Hadoop. 2017. Disponıvel em: <https://hadoop.apache.org>. Acesso

em: 2017-03-12.

APACHE. Mahout 0.12.0 Features by Engine. 2017. Disponıvel em: <https://mahout-

.apache.org/users/basics/algorithms.html>. Acesso em: 2017-03-12.

ARDUINO, S. Access the Online IDE. 2017. Disponıvel em: <https://www.arduino.cc-

/en/Main/Software>. Acesso em: 2017-04-10.

BHATT, A.; PATOLIYA, J. Cost effective digitization of home appliances for home

automation with low-power wifi devices. In: 2016 2nd International Conference on

Advances in Electrical, Electronics, Information, Communication and Bio-Informatics

(AEEICB). [S.l.: s.n.], 2016. p. 643–648.

BR-ARDUINO.ORG. Servidor web WiFi com Arduino e ESP8266. 2017. Disponıvel em:

<http://br-arduino.org/2015/07/arduino-servidor-web-wifi-esp8266.html>. Acesso em:

2017-04-10.

CARDENAS-BENITEZ, N. et al. Traffic congestion detection system through connected

vehicles and big data. Sensors, Multidisciplinary Digital Publishing Institute, v. 16, n. 5,

p. 599, 2016.

CASAGRAS. Casagras final report: rfid and the inclusive model for the internet of

things. [S.l.]: John Murray, 2009.

CEARLEY, D.; CLAUNCH, C. The top 10 strategic technology trends for 2013. The

Top, v. 10, 2012.

73

Page 91: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

CETESB. Companhia Ambiental do Estado de SA£o Paulo Cetesb. 2017. Disponıvel

em: <http://www.cetesb.sp.gov.br/>.

CETESB. Qualidade do Ar. 2017. Online. Disponıvel em: <http://ar.cetesb.sp.gov.br-

/padroes-de-qualidade-do-ar/>. Acesso em: 2017-03-10.

CHEN, C. P.; ZHANG, C.-Y. Data-intensive applications, challenges, techniques and

technologies: A survey on big data. Information Sciences, v. 275, p. 314 – 347, 2014.

ISSN 0020-0255. Disponıvel em: <http://www.sciencedirect.com/science/article/pii-

/S0020025514000346>.

CHEN, C. P.; ZHANG, C.-Y. Data-intensive applications, challenges, techniques and

technologies: A survey on big data. Information Sciences, Elsevier, v. 275, p. 314–347,

2014.

CHENG, B. et al. Building a big data platform for smart cities: Experience and lessons

from santander. In: IEEE. Big Data (BigData Congress), 2015 IEEE International

Congress on. [S.l.], 2015. p. 592–599.

CHITTURI, B.; THOMAS, J.; S., I. T. New approaches for discovering unsupervised

human activities by mining sensor data. In: 2015 International Conference on Computing

and Network Communications (CoCoNet). [S.l.: s.n.], 2015. p. 118–123.

COMPUTERWORLD. 2012. Online. Disponıvel em: <http://www.computerworld.com-

/article/2493701/data-center/by-2020–there-will-be-5-200-gb-of-data-for-every-person-

on-earth.html>. Acesso em: 2017-03-12.

COULOURIS, G. et al. Sistemas Distribuıdos-: Conceitos e Projeto. [S.l.]: Bookman

Editora, 2013.

DATA, B.; COGNITIVE, A. B. the Foundation for. 2017. Online. Disponıvel em:

<http://www.idc.com/promo/thirdplatform/fourpillars/bigdataanalytics>. Acesso em:

2017-03-12.

DEAN, J.; GHEMAWAT, S. Mapreduce: simplified data processing on large clusters.

Communications of the ACM, ACM, v. 51, n. 1, p. 107–113, 2008.

74

Page 92: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

DEMCHENKO, Y.; LAAT, C. D.; MEMBREY, P. Defining architecture components of

the big data ecosystem. In: IEEE. Collaboration Technologies and Systems (CTS), 2014

International Conference on. [S.l.], 2014. p. 104–112.

DENATRAN. Denatran gov DENATRAN. 2017. Disponıvel em: <http://www.denatran-

.gov.br/index.php/estatistica/261-frota-2016>.

FAN, W.; BIFET, A. Mining big data: current status, and forecast to the future. ACM

sIGKDD Explorations Newsletter, ACM, v. 14, n. 2, p. 1–5, 2013.

FANG, H. et al. A survey of big data research. IEEE Network, v. 29, n. 5, p. 6–9,

September 2015. ISSN 0890-8044.

FERNANDEZ, R. C. et al. Liquid: Unifying nearline and offline big data integration. In:

CIDR. [S.l.: s.n.], 2015.

FORGEAT, J. Data processing architectures - Lambda and Kappa. 2015. 2015. Online.

Disponıvel em: <https://www.ericsson.com/research-blog/data-knowledge/data-

processing-architectures-lambda-and-kappa/>. Acesso em: 2017-03-06.

GALLIDABINO, A. et al. On the architecture of liquid software: Technology alternatives

and design space. In: 2016 13th Working IEEE/IFIP Conference on Software

Architecture (WICSA). [S.l.: s.n.], 2016. p. 122–127.

GANZ, F. et al. A practical evaluation of information processing and abstraction

techniques for the internet of things. IEEE Internet of Things Journal, v. 2, n. 4, p.

340–354, Aug 2015. ISSN 2327-4662.

GAO, J.; LEI, L.; YU, S. Big data sensing and service: A tutorial. In: Big Data

Computing Service and Applications (BigDataService), 2015 IEEE First International

Conference on. [S.l.: s.n.], 2015. p. 79–88.

GOLDSCHMIDT, R.; PASSOS, E. Data Mining. [S.l.]: Elsevier Brasil, 2015.

HAJOUI, O. et al. A comparative analysis of different approaches for big data

interoperability. In: 2016 Third International Conference on Systems of Collaboration

(SysCo). [S.l.: s.n.], 2016. p. 1–4.

75

Page 93: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

HAND, D. J.; MANNILA, H.; SMYTH, P. Principles of data mining. [S.l.]: MIT press,

2001.

IEEE Guide for Developing User Organization Open System Environment (OSE)

Profiles. IEEE Std 1003.23-1998, p. i–, 1999.

IEEE Standard for Information Technology–System and Software Life Cycle Processes–

Reuse Processes. IEEE Std 1517-2010 (Revision of IEEE Std 1517-1999), p. 1–51, Aug

2010.

ISO, I. Iec 12207 systems and software engineering-software life cycle processes.

International Organization for Standardization, Geneva, Switzerland, 2008.

ISO, I. Iec 42010:2011 systems and software engineering- architecture description.

International Organization for Standardization, 2011.

ITU. the Internet of Things. 2005 ITU. 2005. Disponıvel em: <http://www.itu.int/osg-

/spu/publications/internetofthings/>.

ITU. Internet of Things 2009 ITU. 2009. Disponıvel em: <http://www.itu.int/osg/spu-

/publications/>.

JAIN, A. K.; , M. N. ; FLYNN, P. J. Data clustering: a review. ACM computing surveys

(CSUR), Acm, v. 31, n. 3, p. 264–323, 1999.

JASPERSOFT. Business Intelligence Software Editions. 2017. Disponıvel em:

<http://www.jaspersoft.com/editions>. Acesso em: 2017-03-12.

JIN, J. et al. An information framework for creating a smart city through internet

of things. IEEE Internet of Things Journal, v. 1, n. 2, p. 112–121, April 2014. ISSN

2327-4662.

KAMBATLA, K. et al. Trends in big data analytics. Journal of Parallel and Distributed

Computing, Elsevier, v. 74, n. 7, p. 2561–2573, 2014.

KANTARDZIC, M. Data mining: concepts, models, methods, and algorithms. [S.l.]:

John Wiley & Sons, 2011.

76

Page 94: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

KELAIDONIS, D. et al. Virtualization and cognitive management of real world objects

in the internet of things. In: 2012 IEEE International Conference on Green Computing

and Communications. [S.l.: s.n.], 2012. p. 187–194.

KOLLIA, I.; SIOLAS, G. Using the ibm watson cognitive system in educational contexts.

In: 2016 IEEE Symposium Series on Computational Intelligence (SSCI). [S.l.: s.n.],

2016. p. 1–8.

LEACH, P. J. et al. Hypertext Transfer Protocol–HTTP/1.1. [S.l.]: Draft Standard, 1999.

MADDEN, S. From databases to big data. IEEE Internet Computing, IEEE Educational

Activities Department, Piscataway, NJ, USA, v. 16, n. 3, p. 4–6, maio 2012. ISSN

1089-7801. Disponıvel em: <http://dx.doi.org/10.1109/MIC.2012.50>.

MASSE, M. REST API Design Rulebook: Designing Consistent RESTful Web Service

Interfaces. [S.l.]: ”O’Reilly Media, Inc.”, 2011.

MATTERN F.; ZURICH, E. Ubiquitous computing: scenarios for an informatized

world,communication and the media economy of the future. [S.l.]: Springer-Verlag, 2005.

MAYER-SCHONB V. CUKIER, K. Big Data: A Revolution That Will Transform How

We Live, Work, and Think. 2014. ed. [S.l.]. [S.l.]: Mariner Books, 2014.

MENDES, R. d. v. Aplicacao da arquitetura lambda na construcao de um ambiente big

data educacional para analise de dados. Dissertacao Mestrado em Engenharia Eletrica e

Computacao. Universidade Presbiteriana Mackenzie, Sao Paulo. [S.l.]: -, 2017.

MICROSOFT. Microsoft Research. 2016. Disponıvel em: <http://research.microsoft-

.com/en-us/projects/dryad>. Acesso em: 2017-03-12.

NASIR, M. A. U. Fault tolerance for stream processing engines. arXiv preprint

arXiv:1605.00928, 2016.

NATHAN N.; WARREN, J. Big Data: Principles and best practices of scalable realtime

data systems. 1. ed. [S.l.]. [S.l.]: Manning Publications, 2015.

OMS. WHO Air quality guidelines for particulate matter, ozone, nitrogen dioxide and

sulfur dioxide. 2017. Online. Disponıvel em: <http://www.who.int/phe/health topics-

/outdoorair/outdoorair aqg/en/>. Acesso em: 2017-03-10.

77

Page 95: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

ORGANIZATION, W. H. Air quality guidelines: global update 2005: particulate matter,

ozone, nitrogen dioxide, and sulfur dioxide. [S.l.]: World Health Organization, 2006.

PATEL, T.; UDAYAKUMAR, P.; VYAS, R. Analyzing data mining techniques for

wireless sensor network protocols. In: 2015 2nd International Conference on Computing

for Sustainable Global Development (INDIACom). [S.l.: s.n.], 2015. p. 1673–1678.

PENTAHO. Data Sources for Business Analytics. 2017. Disponıvel em: <http://www-

.pentaho.com/data-sources-for-business-analytics>. Acesso em: 2017-03-12.

PORTAL. Portal do Meio Ambiente Cetesb. 2017. Disponıvel em: <http://portal.rebia-

.org.br/cidadania/2095-emissao-dos-escapamentos-dos-veiculos>.

PROVOST, F.; FAWCETT, T. Data Science for Business: What you need to know about

data mining and data-analytic thinking. [S.l.]: ”O’Reilly Media, Inc.”, 2013.

RICHERT, W. Building machine learning systems with python. [S.l.]: Packt Publishing

Ltd, 2013.

RSTUDIO, S. by. Gallery. 2017. Disponıvel em: <https://shiny.rstudio.com/gallery/>.

Acesso em: 2017-04-10.

SAVAGLIO, C.; FORTINO, G.; ZHOU, M. Towards interoperable, cognitive and

autonomic iot systems: An agent-based approach. In: 2016 IEEE 3rd World Forum on

Internet of Things (WF-IoT). [S.l.: s.n.], 2016. p. 58–63.

SHVACHKO, K. et al. The hadoop distributed file system. In: IEEE. Mass storage

systems and technologies (MSST), 2010 IEEE 26th symposium on. [S.l.], 2010. p. 1–10.

SILVA, L. A. da; PERES, S. M.; BOSCARIOLI, C. Introducao a Mineracao de Dados

Com aplicacoes em R. first. [S.l.]: Elsevier Editora Ltda, 2016.

SINGH, D.; REDDY, C. K. A survey on platforms for big data analytics. Journal of Big

Data, Springer, v. 2, n. 1, p. 8, 2015.

SKARMETA, A. Ieee aina 2013 keynote talk ii: The impact of internet of things

in big data approach and future internet. In: Advanced Information Networking and

Applications (AINA), 2013 IEEE 27th International Conference on. [S.l.: s.n.], 2013. p.

xlvii–xlvii. ISSN 1550-445X.

78

Page 96: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

SOUZA, A. M. C.; AMAZONAS, J. R. A. A novel smart home application using

an internet of things middleware. In: Smart Objects, Systems and Technologies

(SmartSysTech), Proceedings of 2013 European Conference on. [S.l.: s.n.], 2013. p. 1–7.

SPLUNK. Splunk: Machine Data. 2017. Disponıvel em: <https://www.splunk.com-

/en us/resources/machine-data.html>. Acesso em: 2017-03-12.

SQLSTREAM. SQLStream - What is Machine Data ? 2017. Disponıvel em:

<http://www.sqlstream.com/products/what-is-machine-data>. Acesso em: 2017-03-12.

STANDARD, E.-. T. J. D. I. IntroduA§A£o ao JSON. 2017. Disponıvel em:

<http://www.json.org/json-pt.html>. Acesso em: 2017-04-10.

THAKER, T. Esp8266 based implementation of wireless sensor network with linux based

web-server. In: 2016 Symposium on Colossal Data Analysis and Networking (CDAN).

[S.l.: s.n.], 2016. p. 1–5.

TIGANI, J.; NAIDU, S. Google BigQuery Analytics. [S.l.]: John Wiley & Sons, 2014.

VENNER, J. Pro hadoop. [S.l.]: Apress, 2009.

WHITE, T. Hadoop: The Definitive Guide. 4. ed. [S.l]. [S.l.]: Hadoop, 2015.

WINGERATH, W. et al. Real-time stream processing for big data. it-Information

Technology, v. 58, n. 4, p. 186–194, 2016.

WU, Q. et al. Cognitive internet of things: A new paradigm beyond connection. IEEE

Internet of Things Journal, v. 1, n. 2, p. 129–143, April 2014. ISSN 2327-4662.

79

Page 97: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

6 ARTIGO PUBLICADO

80

Page 98: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

An Architecture for the Internet of Things and theUse of Big Data Techniques in the Analysis of

Carbon Monoxide

Marco Aurelio Borges, Gabriel Melo F. Correia, Massaki de O. Igarashi, Paulo Batista Lopes, Leandro A. SilvaUniversidade Presbiteriana Mackenzie

Sao Paulo, Sao Paulo, BrasilEmail: [email protected], [email protected], massaki.igarashi,paulo.lopes,[email protected]

Abstract—The use of sensors for the monitoring of a givenenvironment allied with the Internet as a means of commu-nication is popularly known as Internet of Things (IoT). Theamount of information generated in this environment has led toan unprecedented increase in data collection. One of the majorchallenges for its development lies in the storage and the process-ing of this huge volume of data into acceptable measurementsand analysis parameters. This research takes up this challengeby storing and compiling data from different sensors, and bycarrying out an exploratory analysis of the information gathered.In this research, sensors that collect data from a specific SaoPaulo’s Metropolitan Area (SMA) have been analysed. Thesesensors are capable of measuring carbon monoxide (CO) levels.This research aims to analyse the main architectures for bothbatch and stream sensor processing and to use one of themfor the construction of a Big Data environment. Big Datatools were used for IoT storage, processing and visualizationdata. During the experiments, carbon monoxide sensors (MQ7),were analysed. They were connected through a microcontrollerunit that supports the Transmission Control Protocol/InternetProtocol (TCP/IP). This project highlights the necessary tools toexecute and analyse the data in a dynamic manner. The datacollected by the sensors show that the avarage levels of carbonmonoxide are well above the international standards set by theWorld Health Organization (WHO).

Keywords—Internet of Things; Sensor Data Mining; HadoopArchitecture; Smart Cities.

I. INTRODUCTION

Atmospheric pollution is resultant of a sum of geographicand climatic factors; the harmful effects are noticed by thepeople through illnesses. The gas inhalation, in a chronicroutine (for an extended time) and in harmful dosage, mightstimulate respiratory diseases, from inflammations (chronictracheitis and bronchitis) to pulmonary emphysema as well aschemical and infectious bronchopneumonia. Once launched tothe atmosphere, the nitrogen oxide (NO2) keeps the abilityof transforming into a secondary composite. Due to thechemical oxidation lights there is a transformation into ozone(O3), which is considered the most hazardous photochemicaloxidant. Its toxic action occurs mainly due to the ability ofoxidating proteins, lipids and other substances that integratecells, damaging or even killing them depending on the con-centrations and exposure duration. Thus, the photochemicaloxidants increase the irritant action from other pollutants,

intensifying respiratory system’s inflammations and infections[1], [2].

The most evident way of worsening air pollution in hugeurban centres, Sao Paulo’s metropolitan area for example, isthe debris production from diesel combustion which movestrucks and bus fleets; and the debris are launched into the airpeople breath. The black smoke that is released from vehiclesmoved by diesel exhaust is originated by the mixture of gasesand particles of pollutants that are harmful to human health[1].

The World Health Organization establishes that a city mayonly consider a clean air if it presents the mean equal to 10micrograms of parts per million (ppm) in the maximum. Anyamount over this index represents risks to human health. Theair pollution index in Sao Paulo is more than twice the limitestablished by WHO. The current measurement is equal to 19micrograms of ppm. The Sao Paulo capital’s fleet has over 7million vehicles, the last official data from the department isthe balance from December 2016, when the city’s fleet was7.98 million vehicles [3].

The air quality monitoring has been considered of highimportance level for politics definition about reducing at-mospheric pollution. It is through the monitoring networkthat is possible to determine the rate evolution for pollutantsconcentrations, such as carbon monoxide.

In the current context, Internet of Things emerges, theconcept is based on the creation of infrastructure for intercon-nected sensors in order to monitor, analyse and virtually actabout the real world. The definition of Internet of Things, wasinitially proposed by Auto-ID centre of Massachusetts Instituteof Technology (MIT) [4] and reported on the research writtenby the International Telecommunication Union (ITU) [5], [6].

Some devices such as sensors, managers, cameras andmicrophones, conected home appliances or augmented realitydevices, which can be categorized by the term Internet ofThings, generate not treatable data by systems developed toprocess structured data. Data with characteristiscs like these,large (volume), fast (speed) and difficult to be treated by thecurrent systems (variety) define the term Big Data [7].

With the maturation of this technology towards the improve-ment of the sensors, the data collection and their empirical

2017 IEEE International Conference on Information Reuse and Integration

978-0-7695-6243-8/17 $31.00 © 2017 IEEE

DOI 10.1109/IRI.2017.76

184

Page 99: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

storage with analytical capacity caused a great interest aboutthis technology in several knowledge areas. The most signif-icant and impressive interest has been called Smart Citieswhich purpose is to obtain an intelligent environment toprovide people with comfort, convenience, safety and smarterenvironments [8].

The Hadoop Distributed File System (HDFS) project iscurrently one of the best-known tools and solutions for BigData. Its purpose is to offer an infrastructure for storage andprocessing of large data volume, providing linear scability andfault tolerance. According to [9], in April 2008 the Hadoopbroke the world record and became the fastest system toordinate 1 terabyte, using 910 machines this mark was reachedin 209 seconds. In 2009, this amount was reduced to 62seconds.

In [10] by presenting some essencial principles for the BigData analytics system design, mention that many architecturesare proposed for parallel processing, both for batch process-ing and stream processing. However, the architectures varyaccording to the type of problem to be solved.

Through the Big Data tools it was possible to collect, store,analyze and present the results obtained from carbon monoxideindex, and use them to indicate the risk to people exposed atthe receiving sites, such as schools, hospitals, neighborhoodswith high incidence of respiratory diseases, valleys, placesaround transportation corridors, regions with low ventilationetc. Another advantage of these tools was the possibility ofanalyzing, through variations in the emission rates, what wouldbe the future impacts of air pollution prevention policies [2].

The implementation of applications for Sensor Data Mining(SDM) and Data Analytics (DA) involves the definition ofthe solution architecture, the definition of the computationalsolutions of hardware and software, the selection of languagesand algorithms for data mining [11].

One of the reasons to justify is the concept of intelligentcities, where some sensors (MQ7) were made available inmodule ESP8266 12F with a built-in WiFi card, which werespread across in the Metropolitan Region of Sao Paulo andanalyze these data in batch (batch processing) or stream(continuous flow processing).

In addition to the above, aiming to provide the services ca-pable of processing and analyzing the massive volume of datagenerated by the communication between the various devices,using open interfaces that allow simple integration betweenseveral applications, the handling of the data obtained fromvarious sensors or measuring stations of carbon monoxidewere performed in the tools available in Big Data throughsensors and IoT modules.

On IoT environment, there are various challenges that havenot been overcome yet, such as the necessity of data interoper-ability, the diversification of information that is transmitted andreceived, safety and privacy on contextualized information andservices acting on the environment accesses [12]. About thestorage aspect, the most appropriate solution is the utilizationof Big Data technologies, which assist the storage and offerresources for data processing and visualization.

A literature research about applications involving Internetof Things and Big Data revealed a deficiency of objectiveorientations related to the systems’ architecture definitionand application, to the tools choices and to presentationdecisions, cloud, hosting or even about their structure [13],[14], [15]. The gap found became the research motivation,which proposes the enforcement on Big Data architecturefor Internet of Things, involving the real time collectionprocess, distributed storage manner, analytic data processingand analyses visualization [16]. As a specific objective, thearchitecture validation through the CO monitoring in someareas inside Sao Paulo’s Metropolitan Area is proposed.

II. PROPOSED ARCHITECTURE

This research is characterised as exploratory in terms of itsobjective and applied in terms of its nature, once studyingBig Data tools, requirements and processing architectures issuggested and also combining them into an IoT sensors’ dataprocessing application and analysis.

About the procedure, the research is characterised as biblio-graphic, once the theoretical referencing conducted to the topicunderstanding and to the methodological procedure definition.

The proposed research’s method is structured over thefollowing steps, illustrated in Figure 1:

• Measure: IoT ESP8266 sensors for collection of carbonmonoxide data are disposed in different regions of SaoPaulo’s metropolitan area.

• Collect: This step consists in obtaining IoT ESP8266sensors’ data.

• Storage: In this step, the storage was executed in aNoSQL (Not Only Structured Query Language) database,part of the obtainment process, which sends Hadoop andHDFS architecture, applying the MapReduce function.

• Analysis: Exploratory analysis on how the distributedprocessing is.

• Present: This methodology phase, implements the datavisualization.

A. Description of Architecture Implementation Project

The ESP8266 sensors were installed in a Sao Paulo’smetropolitan area (SMA) environment with the objective ofcollecting data on carbon monoxide.

The ESP8266 sensor with Arduino module captures carbonmonoxide data, transmits through WiFi, access the collectorserver to storage using an API (Application ProgrammingInterface), allowing the simple integration of different typesof sensors that would store the collected data in a NoSQLdatabase as shown in Figure 1. The data may be accessed viaAPI for analysis and processing.

B. Sensors’ Configuration

The programming language applied was R, with R Studioframework, used to develop statistic and data analysis soft-ware, data miners collection, which has made it possible tocompile the data of the sensors [11].

185

Page 100: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figure 1. Proposed architecture applied to this study.

The IoT sensors’ topology capture measures on carbonmonoxide sent data, which were spread around the SMA. Thepower consumption of each sensor is approximately 560 mw.

The ESP8266 sensor is similar to an Arduino; it has theadvantage of communicating through a wireless network,because of the TCP/IP protocol. The single disadvantage isthat is only possible to read an analogical sensor, because itthere is just one analogical access, which requires a multi-plexing or a serial communication with another plaque withmore analogical accesses and that captures information fromdifferent sensors [17].

The sensor’s module communicates with a micro controller,using a serial interface. There are two GPIO (General PurposeInput Output) pins, or access (entrance/exit) for general pur-poses, allowing a direct module programming and the GPIOto be added without a micro controller.

The ESP8266 wireless module’s [18] characteristics are:• Connexion to standardised 802.11 B/G/N networks;• Approximate coverage: 91 metres;• Operation tension: 3.3 Vdc;• Serial communication: TX and RX pins;• Operation modes: Client, Access Point, Client + Access

Point;• Withstand TCP and UDP communication.The signal level used by the module was equal to 3.3V.

Thus, RX (serial reception) pin was not directly connectedto the Arduino. An external power source was used for themodule due to the possible dependence on a 300 mA current,and the Arduino’s limit is equal to 50 mA.

The data record on memory is represented in Figure 2according to the Arduino’s sketch. The representation showsa sensor, known as IoTm001, which requests an IoT Serverauthentication to begin the data record.

Figure 3 illustrates a layout referent to the IoT circuitsthat were used on this research. In this layout there is a 5Vpower source, LM317 integrated circuit, a positive tensionregulator for currents of 1 Ampere maximum with a maximumdissipation equal to 2 Watts, so the exit tension was equalto 3Vcc. All the other electronic components, such as: theESP8266 module and the MQ7 sensors to measure carbonmonoxide gas are represented in the circuit layout. The layouthas also a red plate (ESP8266-12E) with ESP8266 on it, lowcost, WiFi transmission, and connexion: 802.11 b/g/n, has all

Figure 2. Sensor programming sketch.

the components integrated to the plate (even the antenna),and extremely low power consumption. This plate (ESP8266-12E) assists on the Arduino’s sketch programming interface,utilizing a USB (Universal Serial Bus) micro controller. Toestablish the sensors’ connection and record were used ajunction plate from the Arduino module with physical Tx-Rxand GND connections from each of the sensors to close thecircuit jumper.

The configuration enables each sensor to read the CO andsend the data through the network every 300,000 (millisec-onds) or 5 minutes.

Figure 3. IoT sensors’ layout.

C. Data Storage and Analysis

The data transmission to the storage on server was accordingto the Hypertext Transfer Protocol (HTTP). The collected data

186

Page 101: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

are sent to the server using an API, with this the serverkeeps the data json (java script object notation) format, seean example of this structure in Figure 4.

Figure 4. json stored data exhibited on the browser.

Therefore, the sensors transmit the data to the server bystream. The data batch requisition with their values is doneby the same API through R Studio.

R Studio is an environment of free development and inte-grated to the R programming language. Through R Studio,it was possible to use the command lines and to directthe collected data from the ESP8266 sensors to the ApacheHadoop and HDFS tools, using MapReduce, which processedand analysed the data.

The data visualization was done using Shiny, a frameworkthat applies web, using R language, which allows presentingconfigurative values to the user in dialog boxes.

D. Server IoT

The data obtained from the carbon monoxide sensors werestored in json format, which has allowed compiling andinputing them directly to the IoT Server (NoSQL), representedin the Figure 5 [19].

The url http://201.6.243.44:3000/dump has represented thedump data collection of sensors in json format, as shown inFigure 4 and in the server architecture of Figure 1.

Processing(CPU)

MemoryRAM

Storage at Disk Operating Sys-tem

2 quad-corede 2 a 2,25GHz

4 GB 1 disco SATA de500 GIGABYTE

Ubuntu server16.04.2 LTS

Table IIOT SERVER CLUSTER SETTINGS

Table I presents the IoT Server NoSQL configuration data,regarding the CPU, Memory, Disk Space and Operating Sys-tem.

According to Figure 5, batch or stream processing of thislarge data volume, which a map function has processed a key,value pair generating as product intermidiate sets of key,value pairs, and also defines a reduce function, responsable

Figure 5. Dashboard data of the IoT server.

for joining all the intermidiate values associated with a singlesensor key.

The IoT server’s dashboard visualizes at each instant of300,000 ms (milliseconds) the input with the IoTm001,IoTm002, IoTm003, or IoTm004 sensors randomly.

III. EXPERIMENTAL RESULTS

The Figures 6 and 7 show the results of carbon monoxideindexes incidence along an analysis period for two differentregions in Sao Paulo.

Sensor’s 2 referent data, shown in Figure 6, allow veri-fying the hours with higher carbon monoxide incidence andconcentration, with an approximate measurement of 30 to 35micrograms of carbon. The sensor’s 4 data, presented in Figure7, on the other hand, showed for the same hours a higherconcentration of this harmful gas, from 45 to 55 microgramsof particles.

For comparative effects, Figure 8 shows the data from bothsensors, where it is possible to clearly notice the differencebetween the measurements at the same hours, suggesting thatfor the sensor’s 4 region the carbon monoxide pollution ishigher.

Although a deep results analysis is not a part of thestudy scope, it is interesting to highlight that by these valuesis possible to see that they are extremely over the valuesproposed by the World Health Organisation that establishes amaximum of 10 micrograms of ppm. The results were between30 and 55 of ppm.

Figure 6. Sensor’s 2 collected data.

187

Page 102: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figure 7. Sensor’s 4 collected data.

Figure 8. Sensors’ 2 and 4 collected data.

Based on the stored data, some other analytical approachesmay be held. The following results will show the constructionof an analyses panel (dashboards) allowing a better explorationof the results and assists a possible manager on the analysisand definition of public policies for reducing air pollution.

The dashboards are built, as previously explained, usingan R language library, called Shiny. This library allows theconstruction of a web based application, in which the data arepresented on a web interface and the analyses are done accord-ing to programming scripts developed in R [20]. Differentlyfrom other languages and programming libraries, in which theanalyses are kept and the results must be temporally saved andonly then another visualization tool is used, the big motivationand advantage of Shiny is the maintenance of the integrationbetween these two components in the same application.

The interface, as it is possible to observe in Figure 9,allows real-time analyses of sensors with analytic explorationsas mean, density, quartiles, box plot and histogram. Someother measures might be incorporated to this interface, as wellas many other sensors. Especially in this figure, the meanvalue is presented. As the data are being collected every 5minutes, and the data exhibition is every hour (x-axis), then thecarbon monoxide presented data (y-axis) are the mean for themeasurements every hour. The interface might have anothercomponent, allowing, in the future, choosing the time intervalto calculate the mean, in other words, day, month and evenyear.

Figure 9. Mean values per day for sensor’s 2 data measurements.

For a density analysis example, sensor 2 will be usedagain for reference. The density analysis illustrated in Figure10 shows a non-linear distribution for the carbon monoxideindexes. This means that there is a concentration between 20and 25 micrograms of carbon monoxide in a 0.03 densityvariation, however in other period of the day, it is shown anaccumulation of 30 to 35 micrograms of carbon monoxideparticles in a higher density variation, close to 0.10.

Figure 10. Sensors’ density.

For a better understanding about the measurements, animportant analysis is the calculation of summary values. Theanalysis in Figure 11 presents measurements such as mean,median, quartile and even the minimum, maximum and miss-ing values. It is also possible to determine a time interval topresent the analysis.

Figure 11. Sensor’s 2 collected summary measurements.

The summary measurements might be also presented usingBox plot, which graphically consolidates the measurements inobtained minimum, mean, median and maximum values forcarbon monoxide. Figure 12 illustrates the result of this plotfor sensor’s 2 measurements as a histogram.

It is important to reinforce that the values presented previ-ously, although in an illustrative level, are real measurements

188

Page 103: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figure 12. Sensor’s 2 histogram.

and were analysed considering full execution of the architec-ture implemented in this study. In this moment, the project isstill running, and it is not possible to carry further analysis onthe results, since they are still being collected. Therefore, itis maintained the project proposed scope and implementationof the architecture that is capable of collecting data fromCO sensors; and the data storage an analysis using Big Dataconcepts.

A. HDFS and MapReduce Results

Table II shows the commands, some libraries, vectors andfunctions used to implement the HDFS and to apply theMapReduce, until the recovery of the data entered in from.dfscontrol [21].

The IoT Server sensors are represented by the variablesx1, x2, x3 e x4 (sensors: IoTm001, IoTm002, IoTm003 eIoTm004), the range regarding the sensors was establishedas follows: x1: 0 to 500, x2: 500 to 1000, x3: 1000 to 1500and x4: 1500 to 2000, concerning the positions of the carbonmonoxide reading, in the sequence in which the data werecapturated, this variation could have another defined range,such as from 0 to 1000, from 2000 to 10,000, or from the firstto the last data collection. This selection criterion was random,as regards the carbon monoxide reading, this measurement canbe performed at any time, as long as the sensors are sendingthe signal via WiFi to the IoT Server.

After the programming performed in the Table II, the Figure13 presents a summary of the results obtained from theHadoop, the management panel and some applications, howthe distributed processing is, cluster metrics, virtual colors, fullcolors, reserved, and active nodes. In this case, there is onlyone configured machine, the Cloudera manager, and it canbe expanded to a larger cluster of machines. Increasing thenumber of machines and consequently the amount of data, theactive nodes will change from 1 to 50 or even how much thestorage capacity can endure. The total memory can increasefrom 8 GB to 50 GB or over.

Still in the Figure 13 each time that the MapReduce isexecuted, it organizes the information, where the stream andjobs are structured for an easy understanding such as: filessubmitted, pending files on hold and executed files, appssubmitted, apps pending, apps running; each time you run theMapReduce function.

library(jsonlite) library(curl) library(rmr2)url = url(’http://201.6.243.44:3000/dump’)

x=fromJSON(txt=url)x1= x[[1]][c(0:500),]

x2= x[[2]][c(500:1000),]x3= x[[3]][c(1000:1500),]x4= x[[4]][c(1500:2000),]

simu1 = to.dfs(x1)simu2 = to.dfs(x2)simu3 = to.dfs(x3)simu4 = to.dfs(x4)

mapper= function(k,v)date = as.numeric(v$date)

data = rbind(as.numeric(v$data))return(keyval(1,data))reduce =function(k, v)

total = (mean(v)) return(keyval(1,sum))calc1 = mapreduce( input=simu1, map= mapper, reduce = reduce )calc2 = mapreduce( input=simu2, map= mapper, reduce = reduce )calc3 = mapreduce( input=simu3, map= mapper, reduce = reduce )calc4 = mapreduce( input=simu4, map= mapper, reduce = reduce )

viewer1 =from.dfs(simu1) #output as a dataframe viewer1viewer2 =from.dfs(simu2) #output as a dataframe viewer2viewer3 =from.dfs(simu3) #output as a dataframe viewer3viewer4 =from.dfs(simu4) #output as a dataframe viewer4

Table IIHDFS AND MAPREDUCE.

Figure 13. HDFS managed applications.

The expected results are recorded in an output file withsome of the main routines performed referring to Figure 13such as:

• ID - displays the addressing of each IoT sensor routine,the position 0001 of sensor 1, successively up to position0004 of sensor 4.

• User - the name established as the user of a VM Cloudera.• Name - regarding the job stream executed by the MapRe-

duce function.• States e Final Status - consider the jobs executed and the

status, whether or not they were successful, and what theerror would be if it happened.

The Figure 14 complements the Figure 13 with the HadoopUser Experience (HUE).

This dashboard displays the processing in each step of theHadoop and the MapReduce application. The highlights are:the analysis status with the parameters: successful, running,failed, or deleted. The processing of each IoT sensor, thesensor 1 lasted 1.16 min in relation to the sensor 4, which

189

Page 104: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

Figure 14. HUE execution.

was executed in 43 seconds, a performance 15% higher ofsensor 4 comparing to sensor 1, however, sensors 3 and 4were very close regarding their processing time.

The Figure 15 illustrates the stream job of sensor 4, whichhas achieved the shortest processing time compared to theothers, as follows:

• Attempts: shows the number of processing executionattempts, along with the 1500755734357000101000001.

• Tasks: in the functions map, task and reduce twologs tasks are generated: 15007557343570001m000000and 15007557343570001m000001 and one reduce:15007557343570001r000000, being m= map and r= re-duce of the executed logs.

• Metadata: presents: the id, user, the number of MapRe-duce executions, the time of the performance cycle, thedfs function, the sensors’ threshold, the latency, the time-out of 300,000 ms (dfs.client.mmap.retry.timeout.ms),basically it’s presenting the result with a summary of theHDFS routines.

• Counter: the general consolidations of maps and reduces,how many files were written and read in bytes, and thetotal sum of both.

• MR2: It’s a distributed app that runs MapReduce on topof the YARN (Yet Another Resource Negociator).

Figure 15. Logs and id job.

Although it presents similarities with existing distributedfile systems, the HDFS distinguishes itself because of its highfault tolerance, low latency and low hardware costs, as wellas the execution of MapReduce jobs, which perform reading,processing and writing of extremely large files as can be seenin Figure 15.

IV. CONCLUSIONS AND FUTURE WORK

The current research proposed is to analyse and implementarchitectures for the Internet of Things, using Big Data tools.The purpose of developing a network architecture of sensors,

spread across Sao Paulo’s metropolitan area, via WiFi, and itsvalidation as obtained in this study. This allowing thoughts ona broader city monitoring of carbon monoxide measurements,which data may be analysed and used to support pollutionreduction policies and campaigns. Therefore, it is possible toconclude that the desired objective of this study was achieved.

One of the relevant factors to achieve the research objectiveswas the IoT sensors use, with the ESP8266 module, that isable to collect information and send the data through WiFinetworks and Internet to a server. From these measurements,Big Data tools were used to store, process and analyse thedata. The processing and analysis used R language. In otherwords, the processing is done in a distributed manner throughthe scripts construction in R language and visualization usinga library, also in R, called Shiny. The usage of the samelanguage allowed an easier integration between data analysisand visualization. For the visualization, the library allows usto build a Web application that facilitates the data access and,consequently, the analyses.

It is already possible to notice that the carbon monoxidevalues in SMA exceed the mean values established by theWHO of a maximum equals to 10 micrograms of ppm. In theregions where the sensors were spread out, the measurementsoscillated between 30 and 40 micrograms of CO. This meansthat on average, it’s twice the recommended values. Thus,the results obtained in this study so far allow governmentalauthorities to have better control over this pollution indicatorand be motivated to disperse new sensors in other regionsacross the city.

For further studies, the development of other types ofsensors and the attempt to distribute them across any countrymight be highlighted. A better interface might also be a futuredevelopment, allowing the user to choose a granularity atthe analysis time, hour, month or year. Finally, as the mostimportant prospect, with all the collected and stored data, topromote deeper analysis with the attempt of finding the majorcontributors to these carbon monoxide indexes measured incities.

V. ACKNOWLEDGMENTS

To Instituto Presbiteriano Mackenzie for partially financingthis project with scholarships, MackPesquisa and CAPES.To BigMAAp, Electric and Electronic Engineering and JAS3laboratories at Universidade Presbiteriana Mackenzie.

REFERENCES

[1] Portal do Meio Ambiente Cetesb. 2017. Available: http://portal.rebia-.org.br/cidadania/2095-emissao-dos-escapamentos-dos-veiculos.

[2] CETESB. Companhia Ambiental do Estado de Sao Paulo Cetesb. 2017.Available: http://www.cetesb.sp.gov.br/.

[3] Denatran gov DENATRAN. 2017. Available :http://www.denatran-.gov.br/index.php/estatistica/261-frota-2016.

[4] MATTERN F.; ZURICH, E. Ubiquitous computing: scenarios for aninformatized world,communication and the media economy of the future.[S.l.]: Springer-Verlag, 2005.

[5] The Internet of Things. 2005 ITU. 2005. Available: http://www.itu.int/osg-/spu/publications/internetofthings/.

[6] Internet of Things 2009 ITU. 2009. Available: http://www.itu.int/osg/spu-/publications/.

190

Page 105: UNIVERSIDADE PRESBITERIANA MACKENZIE PROGRAMA DE …tede.mackenzie.br/jspui/bitstream/tede/3461/5/MARCO... · 2018. 3. 9. · PROGRAMA DE POS-GRADUAC˘ AO EM~ ENGENHARIA ELETRICA

[7] MADDEN, S. From databases to big data. IEEE Internet Com-puting, IEEE Educational Activities Department, Piscataway, NJ,USA, v. 16, n. 3, p. 4-6, maio 2012. ISSN 1089-7801. Available:¡http://dx.doi.org/10.1109/MIC.2012.50.

[8] JIN, J. et al. An information framework for creating a smart city throughinternet of things. IEEE Internet of Things Journal, v. 1, n. 2, p. 112-121,April 2014. ISSN 2327-4662.

[9] WHITE, T. Hadoop: The Defnitive Guide. 4. ed. [S.l]. [S.l.]: Hadoop,2015.

[10] CHEN, C. P.; ZHANG, C.-Y. Data-intensive applications, chal-lenges, techniques and technologies: A survey on big data. Informa-tion Sciences, v. 275, p. 314-347, 2014. ISSN 0020-0255. Available:http://www.sciencedirect.com/science/article/pii-/S0020025514000346.

[11] SILVA, L. A. da; PERES, S. M.; BOSCARIOLI, C. Introducao aMineracao de Dados com aplicacoes em R. First. [S.l.]: Elsevier EditoraLtda, 2016.

[12] GAO, J.; LEI, L.; YU, S. Big data sensing and service: A tutorial. In:Big Data Computing Service and Applications (BigDataService), 2015IEEE First International Conference on. [S.l.: s.n.], 2015. p. 79-88.

[13] CASAGRAS. Casagras final report: rfid and the inclusive model for theinternet of things,John Murray, 2009.

[14] THAKER, T. Esp8266 based implementation of wireless sensor networkwith linux based web-server. In: 2016 Symposium on Colossal DataAnalysis and Networking (CDAN). [S.l.: s.n.], 2016. p. 1-5.

[15] MAYER-SCHONB V. CUKIER, K. Big Data: A Revolution That WillTransform How We Live, Work, and Think. 2014. ed. [S.l.]. [S.l.]: MarinerBooks, 2014.

[16] TIGANI, J.; NAIDU, S. Google Big Query Analytics. [S.l. John Wileyand Sons, 2014.

[17] SCHWARTZ, M. Internet of Things with ESP8266. [S.l.]: Packt Pub-lishing Ltd, 2016.

[18] BR-ARDUINO.ORG. Servidor web WiFi com Arduino e ESP8266.Available: http://br-arduino.org/2015/07/arduino-servidor-web-wifi-esp8266.html.

[19] STANDARD, E.-. T. J. D. I. Introduction to JSON. 2017. Available:http://www.json.org/json-pt.html.

[20] RSTUDIO,S. by. Gallery. 2017. Available:https://shiny.rstudio.com/gallery/.

[21] SHVACHKO, K. et al. The hadoop distributed file system. In: IEEE.Mass storage systems and technologies (MSST), 2010 IEEE 26th sym-posium on. [S.l.], 2010. p. 1-10.

191