modelo de tese - campus avançado...

93
INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA CATARINENSE CAMPUS SOMBRIO. JADSON DA SILVA DE OLIVEIRA JHONATAN MATOS DE SOUZA SMART FARM MONITORAMENTO DE TEMPERATURA E UMIDADE DE UMA PEQUENA LAVOURA DE MARACUJÁ Sombrio (SC) 2013

Upload: trankhanh

Post on 01-Dec-2018

219 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

INSTITUTO FEDERAL DE EDUCAÇÃO, CIÊNCIA E TECNOLOGIA

CATARINENSE – CAMPUS SOMBRIO.

JADSON DA SILVA DE OLIVEIRA

JHONATAN MATOS DE SOUZA

SMART FARM – MONITORAMENTO DE TEMPERATURA E UMIDADE DE UMA

PEQUENA LAVOURA DE MARACUJÁ

Sombrio (SC)

2013

Page 2: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

JADSON DA SILVA DE OLIVEIRA

JHONATAN MATOS DE SOUZA

SMART FARM MONITORAMENTO DE TEMPERATURA E UMIDADE DE UMA

PEQUENA LAVOURA

Trabalho apresentado como requisito parcial para

obtenção do título de Tecnólogo em Redes de

Computadores, do Instituto Federal de Educação

Ciência e Tecnologia Catarinense – Campus

Sombrio.

Orientador: Prof. Daniel Fernando Anderle

Coorientador: Prof Marco Antonio Silveira de Souza

Sombrio (SC)

2013

Page 3: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

JADSON DA SILVA DE OLIVEIRA

JHONATAN MATOS DE SOUZA

SMART FARM MONITORAMENTO DE TEMPERATURA E UMIDADE DE UMA

PEQUENA LAVOURA

Esta produção Técnico-científica foi julgada

adequada para obtenção do título de Tecnólogo

em Redes de Computadores e aprovada pelo

Curso de Tecnologia em Redes de Computadores

do Instituto Federal de Educação, Ciência e

Tecnologia Catarinense – Campus Sombrio

Área de Concentração: Redes de Sensores

Sombrio, 07 de Dezembro de 2013.

Prof. Daniel Fernando Anderle

Instituto Federal Catarinense – Campus Sombrio

Orientador

Prof. Ms. Jéferson Mendonça de Limas

Instituto Federal Catarinense – Campus Sombrio

Membro da banca

Prof. Ms. Gerson Luis da Luz

Instituto Federal Catarinense – Campus Sombrio

Membro da banca

Page 4: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

DEDICATÓRIA

JADSON DA SILVA DE OLIVEIRA

Dedico a minha família e em especial aos meus

pais Jailson e Oneide; minha irmã Jadna;

minha namorada Géssica.

Page 5: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

DEDICATÓRIA

JHONATAN MATOS DE SOUZA

Dedico a minha família e em especial aos meus

pais e minha esposa Lidiane que me apoiou

integralmente em todos os momentos.

Page 6: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

AGRADECIMENTOS

JADSON DA SILVA DE OLIVEIRA

Primeiramente agradeço a Deus por ter me proporcionado estar aqui,

completando mais esta etapa em minha vida.

Agradeço a minha família por sempre me incentivar nos estudos, estando

sempre ao meu lado me ajudando e apoiando.

Agradeço a minha namorada Géssica Bitencourt, pela compreensão e por me

apoiar em todos os momentos.

Agradeço ao meu amigo Jhonatan Matos, pela parceria na elaboração deste

trabalho.

Agradeço ao orientador Daniel Anderle e o Coorientador Marco Antônio, por

contribuir com seus conhecimentos para a conclusão deste.

Page 7: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

AGRADECIMENTOS

JHONATAN MATOS DE SOUZA

Agradeço a Deus por ter me dado à oportunidade e força. Aos familiares, em

especial minha esposa Lidiane, pela compreensão nas horas de ausência. Aos pro-

fessores, em especial ao orientador Daniel Fernando Anderle e ao coorientador Mar-

co Antônio Silveira de Souza pela dedicação em nos ensinar e por contribuir com

seus conhecimentos para a conclusão deste. Ao meu amigo e colega Jadson de Oli-

veira pela parceria na elaboração do trabalho. Ao amigo André Olive pela contribui-

ção dada ao projeto.

Page 8: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

RESUMO

A tecnologia da informação vem sendo aplicada nas mais diversas áreas. A

tecnologia de redes de sensores sem fio vem crescendo nos últimos anos, com

possibilidade de monitorar e gerenciar alguns objetos e situações presentes no

cotidiano. O presente trabalho objetiva criar um protótipo baseado no conceito de

Smart Farms, ou seja, fazendas inteligentes. O protótipo apresentado neste trabalho

tem como foco utilizar a tecnologia da informação a favor da agricultura de pequenas

propriedades, visto que hoje se perde grande parte das safras por não se ter um

controle relacionado a informações climáticas. Este protótipo irá monitorar a

temperatura e a umidade de uma pequena propriedade que possui o cultivo de

maracujá. As informações colhidas desta plantação serão disponibilizadas em uma

página Web para que o agricultor possa ter acesso de maneira simples a estes

dados durante 24 horas. Este mecanismo foi desenvolvido com auxilio de algumas

tecnologias como: microcontrolador Arduino, padrão de rede Zigbee e módulos Xbee

que implementam o padrão Zigbee. Serão utilizadas também algumas linguagens de

programação como: C/C++, Java, HTML, PHP e Java Script.

Palavras-chave: Sensores; Arduino; Zigbee; Monitoramento; Maracujá.

Page 9: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

ABSTRACT

Information technology has been applied in several areas . The technology of

wireless sensor networks has been growing in recent years , with the possibility to

monitor and manage some objects and situations in the everyday . This paper aims

to create a prototype based on the concept of Smart Farms , ie smart farms . The

prototype presented in this paper focuses on using information technology in support

of smallholder agriculture, since most of the harvest is lost today because they did

not have an information related to climate control. This prototype will monitor the

temperature and humidity of a small property that has the cultivation of passion fruit .

The information gathered from this planting will be made available on a Web page so

that the farmer can simply access to these data for 24 hours. This mechanism was

developed with the help of some technologies such as Arduino microcontroller ,

standard Zigbee network and XBee modules that implement the Zigbee standard .

Will be also used some programming languages such as C / C + + , Java , HTML ,

PHP and JavaScript .

Key words: Sensors; Arduino; Zigbee; Monitoring; Passion Fruit.

Page 10: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

LISTA DE TABELAS

Tabela 1 - Tecnologias Wi-fi ...................................................................................... 26

Tabela 2 - Faixa frequência do padrão Zigbee no mundo ......................................... 29

Tabela 3 - Diagrama de pinos dos módulos Xbee ..................................................... 36

Page 11: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

11

LISTA DE FIGURAS

Figura 1 - Oscilação da área colhida com maracujá no Brasil................................... 21

Figura 2 - Arquitetura do padrão Zigbee em camadas .............................................. 28

Figura 3 - Posicionamento das tecnologias wirelles .................................................. 29

Figura 4 - Topologias de rede Zigbee ....................................................................... 32

Figura 5 - Módulos XBee da Digi International com diferentes antenas .................... 35

Figura 6 - Distribuição de pinos no dispositivo XBee. ............................................... 36

Figura 7 - Xbee Explorer ........................................................................................... 40

Figura 8 - Interface gráfica do Arduino 1.0.5 ............................................................. 42

Figura 9 - Modelo Arduino ......................................................................................... 43

Figura 10 - Pinos de alimentação do Arduino Uno .................................................... 44

Figura 11 - Sensor DHT22 ........................................................................................ 47

Figura 12 - Tags ........................................................................................................ 51

Figura 13 - Conversor de nível lógico ........................................................................ 54

Figura 14 - Breadboard ............................................................................................. 55

Figura 15 - Principais diferenças entre os dois sensores .......................................... 55

Figura 16 - Esquema Elétrico do protótipo ................................................................ 56

Figura 17 - Prótotipo .................................................................................................. 57

Figura 18 - Código fonte ............................................................................................ 59

Figura 19 - Interface XCTU ....................................................................................... 60

Figura 20 - Ide Eclipse .............................................................................................. 62

Figura 21 - Interface Mysql Work Bench ................................................................... 63

Figura 22 - Plantação e nós da rede ......................................................................... 65

Figura 23 - Primeiro dia de teste ............................................................................... 66

Figura 24 - Interface Web .......................................................................................... 67

Figura 25 - Interface Web 2 ....................................................................................... 67

Page 12: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

LISTA DE SIGLAS

ACK - Acknolegment

AODV - Abstract the Ad Hoc On-Demand Distance Vector

APS - Application Support Sublayer

API - Application Programming Interface

dBm - Decibel Miliwatt

DCL - Data Control Language

DDL - Data Definition Language

DML - Data Manipulation Language

DQL - Data Query Language

EEPROM - Eletrically Erasable Programmable Read-Only Memory

EMBRAPA - Empresa Brasileira de Pesquisa Agropecuária

FAO - Food and Agriculture Organization of the United Nations

FFD - Full Function Devices

GHZ - Giga Hertz

GND - Ground

HZ - Hertz

IBGE - Instituto Brasileiro de Geografia e Estatística

IDE - Integrated Development Environment

IEEE - Institute Of Electric And Electronic Engineers

IP - Internet Protocol

ISO - International Organization for Standardization

KB - Kilobyte

KBPS - Kilobytes Per Second

LED - Light Emitting Diode

OSI - Open System Interconnection

M - Metros

MA - Miliampère

Page 13: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

MAC - Media Access Control

MY – Endereço Fonte

MW - Miliwatt

NWR - Zigbee Network Layer

OSI - Open Systems Interconnection

RDF - Reduced Function Device

RX - Receiver

SGBD - Sistema de Gerenciamento de Banco de Dados

SQL - Structured Query Language

SRAM - Static Random Access Memomy

TCP/IP - Transmission Control Protocol/Internet Protocol

TX - Transmitter

USB - Universal Serial Bus

V - Volts

WPAN - Wireless Personal Area Networks

ZDO - Zigbee Device Object

Page 14: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

SUMÁRIO

1 INTRODUÇÃO ..................................................................................................... 16

2 OBJETIVOS ......................................................................................................... 18

2.1 Objetivo Geral .................................................................................................... 18

2.2 Objetivos Específicos ........................................................................................ 18

3 REFERENCIAL TEÓRICO .................................................................................. 19

3.1 Smart Farm ........................................................................................................ 19

3.2 O Cultivo do Maracujá ....................................................................................... 20

3.2.1 Importância econômica ................................................................................ 22

3.2.2 As condições climáticas e o desenvolvimento de doenças no cultivo do

maracujá................................................................................................................... 22

3.3 Redes Sem Fio .................................................................................................. 24

3.3.1 Padrões de comunicação sem fio................................................................ 25

3.4 O padrão Zigbee ................................................................................................ 26

3.4.1 Surgimento do Zigbee .................................................................................. 26

3.4.2 Arquitetura e funcionamento do Zigbee ..................................................... 27

3.4.3 Endereçamento e envio de dados ............................................................... 33

3.5 Dispositivo Xbee ................................................................................................ 34

3.5.1 Principais Características ............................................................................ 34

3.5.2 Modos de Operação do Xbee ....................................................................... 37

3.5.3 Xbee Explorer USB ........................................................................................ 39

3.6 Arduino .............................................................................................................. 40

3.6.1 Software ......................................................................................................... 41

3.6.2 Hardware ........................................................................................................ 42

3.6.3 Alimentação ................................................................................................... 43

3.6.4 Memória ......................................................................................................... 45

3.6.5 Entrada e Saída ............................................................................................. 45

3.6.6 Comunicação ................................................................................................. 45

3.7 Sensores ........................................................................................................... 46

3.8 Sensor DHT22 ................................................................................................... 46

3.9 Banco de Dados ................................................................................................ 47

Page 15: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

15

3.9.1 Mysql .............................................................................................................. 48

3.10 Java ................................................................................................................... 49

3.10.1 Biblioteca RXTX............................................................................................. 49

3.11 Php .................................................................................................................... 50

3.12 Html ...................................................................... Erro! Indicador não definido.

3.13 JavaScript .......................................................................................................... 52

4 MATERIAL E MÉTODOS .................................................................................... 53

4.1 Hardware ........................................................................................................... 53

4.2 Software ............................................................................................................ 57

4.2.1 Código fonte Arduino ................................................................................... 58

4.2.2 Configuração dos módulos Xbee ................................................................ 59

4.2.3 Receptor dos dados ...................................................................................... 61

4.2.4 Banco de dados............................................................................................. 62

4.2.5 Página Web .................................................................................................... 64

5 RESULTADOS E DISCUSSÕES ......................................................................... 65

6 CONSIDERAÇÕES FINAIS ................................................................................. 69

REFERÊNCIAS ......................................................................................................... 70

APÊNDICES ............................................................................................................. 74

Page 16: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

16

1 INTRODUÇÃO

Segundo dados da Food and Agriculture Organization of the United Nations

(FAO) (2013) 870 milhões de pessoas no mundo sofrem de subnutrição, em 2050,

quando o numero de 7 bilhões de pessoas que habitam a terra aumentarem para 9

bilhões, será preciso duplicar a produção alimentar. Com toda a escassez de

alimentos no mundo e com a necessidade de se duplicar a produção em 37 anos,

FAO (2013) afirma ainda que nos países da África, chega-se a perder 20% da

colheita por falta de infra-estrutura. Para Shashwathi et all (2012) o monitoramento

das plantações, que podem incluir diversos fatores como, temperatura, umidade

relativa do ar, umidade do solo entre outros, é muito importante para que se possam

tomar ações preventivas a fim de evitar perdas nas plantações, bem como aumentar

a qualidade do alimento.

Muitas vezes o agricultor é incapaz de monitorar alguns destes fatores

climáticos, para saber em que momento e em que quantidades utilizar agrotóxicos

que combatam algumas pragas e doenças, desenvolvidas pelas variações destes

fatores.

Sciro (2013) fala sobre o conceito de Smart Farm, que traduzido para o

português quer dizer: Fazendas Inteligentes. Este conceito diz que, através da

tecnologia da informação, os agricultores podem implantar recursos de forma mais

eficiente e monitorar toda sua plantação. É possível através da aplicação de

sistemas que adotem o conceito de Smart Farm, utilizar com maior eficiência todos

os recursos que a agricultura dispõe, através do monitoramento e gerenciamento

destes recursos.

No Brasil, segundo Maletti (2011) uma cultura que vem ganhando destaque é

a do maracujá. Segundo a Embrapa (2013) o Brasil é o maior produtor e consumidor

de maracujá do mundo. Esta cultura vem se tornando cada vez mais importante para

o país, por possuir um grande potencial de gerar renda. Esta fruta é na maioria das

vezes cultivada em pequenas propriedades, se tornando assim uma alternativa de

produção e de fonte de renda para pequenos e médios produtores.

Page 17: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

17

Os agricultores que cultivam esta fruta precisam estar informados no que diz

respeito a variações climáticas. As variações climáticas são as principais causas do

desenvolvimento de pragas e doenças que afetam o cultivo do maracujá. Ao

perceber alguma destas variações, o agricultor poderá entrar com ações preventivas

ou de combate ao desenvolvimento destas doenças e pragas. Geralmente estas

ações preventivas ou de combate se dão, pelo uso de agrotóxicos específicos.

Partindo deste contexto, qual a necessidade de se desenvolver sistemas que

adotem o conceito de Smart Farms.

Diante deste problema, nasce a necessidade da criação de sistemas que

possuam a capacidade de capturar e gerenciar dados referentes a estes fatores

climáticos. Sistemas que sejam de fácil uso e que possibilitam ao agricultor

monitorar remotamente suas plantações em tempo real. Este trabalho surge com o

objetivo de desenvolver um protótipo, que partindo do conceito de Smart Farm, irá

possibilitar ao agricultor monitorar com eficiência sua plantação.

Este trabalho está organizado da seguinte forma: no capítulo 2 encontram-se

os objetivos a serem alcançados, no capítulo 3 encontra-se a fundamentação

teórica, que dará um embasamento cientifico para nosso trabalho. No capitulo 4

serão descritos os materiais e métodos que foram utilizados para a elaboração do

trabalho. Já no capitulo 5 encontram-se os resultados e as discussões do trabalho,

no capitulo 6 as considerações finais, e por fim, no capítulo 7 o referencial teórico

que subsidiou a elaboração do presente trabalho.

Page 18: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

18

2 OBJETIVOS

Neste tópico encontram-se os objetivos a serem atingidos ao final deste

trabalho.

2.1 Objetivo Geral

Aplicar os conceitos de Smart Farm através do monitoramento da umidade

relativa do ar e a temperatura de uma lavoura de maracujá.

2.2 Objetivos Específicos

Estudar o conceito de Smart Farm buscando compreender como o mesmo poderia

ser aplicado em redes de dados;

Pesquisar a cultura do maracujá para compreender as necessidades as quais a

tecnologia de redes e informação poderia contribuir;

Estudar as tecnologias necessárias para o desenvolvimento do projeto;

Desenvolver um protótipo;

Realizar testes em campo.

Page 19: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

19

3 REFERENCIAL TEÓRICO

3.1 Smart Farm

Segundo Shashwathi, et all (2012) a agricultura é a ciência, a arte e a prática

de cultivar o solo, importante para comercialização de produtos. A principal

atividade econômica da Índia é agricultura, sendo que dois terços da população

dependem dela para sobreviver. Na Índia bem como em todo o mundo, vários

agricultores estão com grandes problemas quanto ao uso de fertilizantes. Outro

grande problema é a chuva, que muitas vezes é insuficiente ou muito irregular.

Ainda segundo Shashwathi et all (2012) com todos esses problemas, surgiu

à idéia de apresentar uma proposta para a necessidade dos agricultores, com o

objetivo de gerar informações que sejam importantes para eles. Idealiza-se uma

prestação de serviço que colha informação de localização do plantio, o tipo de solo,

o tipo de plantio e quais valores investidos em produtos, podendo assim apresentar

previsões quanto ao rendimento da safra bem como a produção nos últimos anos.

Para Shashwathi et all (2012) a utilização de serviços de monitoramento

ajuda a corrigir várias doenças nas lavouras e também em quais proporções utilizar

fertilizantes e inseticidas na terra cultivada.

Conforme Sciro (2013) o conceito de Smart Farm (Fazenda Inteligente),

consiste em que, a tecnologia da informação permita aos agricultores implantarem

recursos de forma mais eficiente, monitorar remotamente toda sua fazenda, desde

os níveis de umidade do solo, temperatura, umidade e até mesmo a segurança da

fazenda, entre outros.

Entre outras culturas, o cultivo do maracujá tem se tornado importante para a

agricultura e para a economia do país, sendo que conforme Embrapa (2013) o Brasil

é o maior produtor da fruta no mundo.

Segundo Lima e Borges (2007), a temperatura e a umidade estão entre os

principais fatores climáticos, que influenciam de forma direta, no cultivo do maracujá.

A literatura também mostra que estes dois fatores são os principais causadores de

Page 20: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

20

doenças como, verrugose, antracnose e bacteriose, doenças que se não controladas

de forma correta, através do uso de produtos específicos, prejudicam de maneira

severa a plantação.

Segundo a Embrapa (2013), é vital para uma plantação que se possua

controle de informações referentes a estes fatores climáticos. Quando se possui um

sistema de Smart Farm nestas plantações, o agricultor passa a ter um maior controle

sobre elas. Através destes recursos, o agricultor poderá tomar ações preventivas,

sabendo em que quantidades e quando aplicar inseticidas ou fertilizantes na lavoura,

tendo assim uma safra mais produtiva e de qualidade (SCIRO, 2013).

3.2 O Cultivo do Maracujá

Segundo Embrapa (2013) o maracujá é uma planta de clima tropical com

ampla distribuição geográfica. A cultura do maracujá está em franca expansão tanto

para a produção de frutas para consumo in natura como para a produção de suco.

Os países considerados como os maiores produtores e exportadores mundiais da

polpa e do suco concentrado de maracujá são: Brasil, Colômbia, Peru e Equador, e

como maiores importadores, destacam-se Alemanha e Holanda. No entanto quando

se fala no mercado de fruto in natura, os países africanos são os maiores produtores

do fruto da cor roxo e os sul-americanos, os maiores produtores do fruto da cor

amarela. Os principais países importadores deste mercado in natura são Reino

Unido, França e Bélgica.

Ainda segundo a Embrapa (2013) o Brasil é o maior produtor e consumidor

mundial de maracujá. Como afirma Silva (2004), o cultivo do maracujá ganhou

destaque no Brasil a partir do início da década de 70, embora nos anos 50 já

existissem indústrias processadoras e envasadoras de suco de maracujá.

Conforme IBGE (2009) apud Maletti (2011) a área colhida de maracujá no

Brasil cresceu de forma acentuada a partir do ano de 1990 até 1996, decrescendo

ligeiramente até o ano de 1998 e voltando ao mesmo patamar em 2006. Em 2006 a

área colhida era de 44.363 hectares subindo para 50.795 em 2009, o que é

Page 21: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

21

equivalente a 713.000 toneladas da fruta. Pode-se observar melhor esta oscilação

na figura 1:

Figura 1 - Oscilação da área colhida com maracujá no Brasil

Fonte: Maletti (2011)

Segundo Maletti (2011) O gênero Passiflora, planta responsável por gerar o

maracujá, possui um grande número de espécies, mais de 400, sendo cerca de 120

nativas do Brasil. Apesar disso, conforme Maletti (2011) os cultivos comerciais do

país baseiam-se numa única espécie, o maracujá-amarelo ou azedo (Passiflora

edulis), que representa mais de 95% dos pomares, isto devido à qualidade dos seus

frutos, vigor, produtividade e rendimento em suco.

Ainda conforme Maletti (2011) a região Nordeste tem liderado a produção

brasileira nos últimos anos, sendo responsável por metade da produção nacional,

em 1996, seguida pelas regiões Sudeste, Norte, Centro-Oeste e Sul. Uma alteração

significativa na distribuição geográfica dos pomares tem sido apontada por

Gonçalves e Souza (2006) apud Maletti (2011), o Pará, que se destacou como

principal produtor por alguns anos cedeu espaço para os pomares da Bahia, Ceará e

Espírito Santo, os três maiores produtores em 2006. O mesmo ocorre em São Paulo,

grande produtor do início da década de 90, com área de produção reduzida

significativamente, em função da elevada incidência de viroses.

Conforme afirma Embrapa (2013) o estado de Santa Catarina começou a

constar no levantamento de produção nacional do IBGE como produtor de maracujá,

apenas a partir de 1992, apresentando uma evolução significativa até 1996. Em

2012 conforme Embrapa (2013) Santa Catarina já estava entre os 14 maiores

produtores do Brasil com uma área de 340.000 hectares colhidos.

Page 22: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

22

3.2.1 Importância econômica

Como pode ser visto anteriormente, as estatísticas mostram um crescimento

acentuado da área plantada e da produção de maracujá no Brasil, a partir de 1990.

Conforme Maletti (2011) até o início da década de 70, o Brasil nem constava

entre os principais países produtores, e hoje é o maior produtor mundial de

maracujá. O seu cultivo adquiriu expressão econômica a partir de 1986, quando a

ampliação significativa na área cultivada e na produção, conduziu à

profissionalização da atividade.

Segundo Embrapa (2013) o maracujá amarelo é uma fruteira tropical nativa, e

seu cultivo tem evoluído rapidamente no País.

Conforme Hafle; et all (2010) o cultivo do maracujá tem se tornado muito

importante para pequenas e médias propriedades, tornando-se assim uma

alternativa de produção e de fonte de renda para pequenos e médios produtores. A

importância social está no fato de que a atividade propicia em torno de seis

empregos por hectare, sendo dois diretos e quatro indiretos, estando diretamente

associado à produção de base familiar.

3.2.2 As condições climáticas e o desenvolvimento de doenças no cultivo do

maracujá

Segundo Lima e Borges (2007) o maracujazeiro, cultura de clima quente e

úmido, desenvolve-se bem nas regiões tropicais e subtropicais. A temperatura e a

umidade estão entre os fatores climáticos mais importantes para o cultivo da planta,

influenciando diretamente a longevidade e a produtividade da cultura, bem como na

incidência de pragas e doenças.

Conforme Embrapa (2013) a faixa de temperatura entre 21 e 23ºC é

considerada como a mais favorável ao crescimento do maracujá, situando-se o

ótimo entre 23 e 25ºC.

Page 23: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

23

Conforme Lima e Borges (2007) temperaturas baixas retardam o crescimento

da planta e reduzem a produção. Além disso, temperaturas muito elevadas ou muito

baixas afetam o crescimento dos frutos. No verão, em que a temperatura é mais

elevada, o período de germinação das sementes é menor do que nos meses mais

frios, além de favorecer o aparecimento de doenças como a bacteriose.

Como nos afirma Embrapa (2013) a umidade relativa do ar em torno de 60%

é a mais favorável ao cultivo do maracujazeiro. Deste modo, locais com umidade

relativa do ar acima de 60% quando associados às chuvas favorecem o

aparecimento de doenças, ou seja, verrugose, antracnose e bacteriose.

A baixa umidade relativa, associada à temperatura elevada e a ventos

constantes, causa dessecação dos tecidos pela transpiração excessiva, impedindo o

desenvolvimento do maracujazeiro.

Todas estas doenças podem ser controladas com base nas variações

climáticas, através do uso de produtos específicos para cada uma delas. A seguir

serão descritas algumas características das principais doenças encontradas no

cultivo do maracujá.

a) Verrugose: Segundo Embrapa (2013) também conhecida por sarna da

mangueira, a verrugose é causada pelo fungo Elsinoe mangiferae. Esta

doença usualmente não é de muita importância nos pomares, porém pode

causar danos em frutificações no período úmido do ano. Embora a doença

somente se desenvolva na epiderme dos frutos, eles perdem valor comercial

graças a sua aparência.

b) Antracnose: Conforme Embrapa (2013) esta é uma doença que incide

principalmente nas brotações jovens, ápices, folhas e ramos jovens,

impedindo seu crescimento. A umidade excessiva é uma das principais

condições para o desenvolvimento desta doença.

c) Bacteriose: Como nos afirma ainda Embrapa (2013) esta é considerada uma

das principais doenças da cultura e se desenvolve nos períodos mais quentes

Page 24: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

24

e úmidos do ano. Ela produz pequenas lesões encharcadas e translucidas, as

quais necrosam, assumindo tonalidade marrom-avermelhada, com o

desenvolvimento da doença, ocorre à seca das folhas e, posteriormente, a

desfolha, reduzindo consideravelmente a produtividade. Nos frutos, as

manchas são grandes e bem delimitadas. Essas manchas são superficiais,

entretanto, em condições favoráveis, podem penetrar na polpa, contaminando

as sementes e promovendo a sua fermentação.

3.3 Redes Sem Fio

Segundo Torres (2001) as redes de computadores apareceram através da

necessidade de troca de dados, não importando de onde qualquer pessoa estivesse

localizada. As redes de computadores já existem há muito tempo, desde época dos

primeiros computadores. Com o tempo a tecnologia teve uma grande evolução com

isso os computadores melhoraram a sua comunicação, tendo um custo cada vez

menor.

Segundo Pereira (2008) as redes sem fio, são baseadas no conjunto de

padrões IEEE 802.11, elas vem expandindo rapidamente nos últimos anos, no meio

empresarial e no uso doméstico.

Para Torres (2001) rede sem fio é um modo de transmissão de dados, feito

através de ondas de rádio, ao invés da utilização de cabos, um exemplo está em um

computador conectado a um receptor de rádio, que ira receber as informações de

um transmissor. A conexão sem fio não tem como objetivo substituir a conexão

cabeada, mas sim oferecer mais mobilidade para os usuários e também reduzir

custos.

Segundo Moraes (2011), as redes sem fio são hoje largamente utilizadas,

devido principalmente à facilidade do uso e de instalação. A tecnologia wireless vai

ao encontro das necessidades que os usuários possuem.

Conforme Vieira (2004) As redes sem fio estão cada vez mais sendo

utilizadas por dispositivos de comunicação, tendo vários tipos e tamanhos (celulares,

Page 25: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

25

computadores, impressoras, sensores, maquinas e outros), estes são utilizados em

vários ambientes como residências, indústrias, edifícios e outros, permitindo

mobilidade para a utilização dos usuários. Com o tempo surgiram vários padrões de

tecnologias sem fio, cada uma com propósitos específicos, para serem utilizadas em

varias aplicações. A seguir discutiremos os padrões comerciais mais utilizados

atualmente.

3.3.1 Padrões de comunicação sem fio

Neste tópico serão abordadas as principais características dos padrões:

IEEE 802.11 e IEEE 802.15.

Afirma Farias (2013) que, como WLANs usam o mesmo método de

transmissão de ondas de radio AM/FM, as leis que as regem são as mesmas. O

Federal Comunications Comission (FCC) regula o uso dos dispositivos WLAN.

Sendo que no Brasil que regula uso do dispositivo é a Anatel. O Institute of Eletrical

and Eletronic Engineers (IEEE) é responsável pela criação e adoção dos padrões

operacionais. Os padrões mais conhecidos são:

a) IEEE 802.11

De acordo com Vieira (2004) o padrão IEEE 802.11 vem sendo utilizado em

varias circunstancias, o padrão esta em desenvolvimento com vários grupos de

trabalho, com o grande objetivo de melhorar o desempenho das aplicações. .

Conforme Wi-fi.org (2013) existem várias tecnologias hoje em funcionamento,

como podemos ver na tabela 1, os principais padrões 802.11 e suas principais

características.

Page 26: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

26

Tabela 1 - Tecnologias Wi-fi

Wi-Fi Tecnologias

Banda de frequência Largura de banda ou taxa máxima de dados

802.11ª 5 GHz 54 Mbps

802.11b 2.4 GHz 11 Mbps

802.11g 2.4 GHz 54 Mbps

802.11n 2.4 GHz, 5 GHz 2,4 ou 5 GHz (selecionável), ou

de 2,4 de 5 GHz (simultâneos)

450 Mbps

802.11ac 5 GHz 1,3 Gbps Fonte: Autores (2013)

b) IEEE 802.15/WPANS

Segundo Barros e Oliveira (2005) as WPANs consistem em uma tecnologia

de redes sem fio que possui pequeno alcance, podendo alcançar até dezenas de

metros. O alcance do sinal pode variar de acordo com o dispositivo utilizado. De

acordo com Lugli (2012) a WPAN possui um alcance médio que pode variar de 10 a

100 metros, com uma baixa taxa de transmissão. Com esse padrão podem ser feitas

ligações de dispositivos ou redes de sensores sem fio, definido pelo IEEE 802.15.

Entre esses padrões, destaca-se o padrão IEEE 802.15.4/Zigbee, padrão de rede

que será utilizado neste trabalho, conforme será discutido a seguir.

3.4 O padrão Zigbee

Neste tópico serão abordadas, as características mais importantes, bem como

o funcionamento do padrão Zigbee.

3.4.1 Surgimento do Zigbee

Segundo Moraes (2011), as redes sem fio são amplamente utilizadas nos dias

de hoje, em razão principalmente da sua simplicidade de uso e de instalação.

Moraes (2011) certifica ainda que as tecnologias de redes sem fio atendem a muitas

necessidades que os usuários possuem.

Page 27: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

27

Contudo de acordo com Maes (2007), durante muitos anos, não houve um

padrão de tecnologia sem fio que atendesse as necessidades específicas de

monitoramento remoto e controle de sensores, aplicações que exigem muitas vezes

uma base ampla de redes sem fio, com baixo custo, baixas taxas de transmissão e

com baixo consumo de energia.

Neste cenário surgiu a Zigbee Alliance, fundada em 2002 em parceria com a

IEEE, ela surgiu com o objetivo de desenvolver padrões que finalmente oferecessem

maior liberdade e flexibilidade para um mundo mais inteligente e mais sustentável

(ZIGBEE.ORG, 2013).

Neste momento, segundo Evangelista (2010) surge o padrão zigbee, com a

finalidade de definir um conjunto de protocolos de comunicação para redes sem-fio

de curto alcance e baixa taxa de tráfego de dados.

A Zigbee Alliance é formada por um conjunto de organizações de todos os

tipos e de todo o mundo. Seus membros incluem empresas multinacionais, grupos

reguladores governamentais, universidades e empreendedores. Ela permite que

seus membros colaborem e promovam a adoção do padrão Zigbee. Identifica-se

como uma associação sem fins lucrativos e qualquer pessoa pode juntar-se a

associação (ZIGBEE.ORG, 2013).

3.4.2 Arquitetura e funcionamento do Zigbee

O padrão Zigbee pode ser entendido a partir do modelo OSI. Faludi (2011)

nos diz que as camadas de aplicação e de rede, que ficam com a missão de

construir circuitos lógicos e de roteamento entre dois pontos, e pela gerência da

interface das aplicações específicas, ficam a cargo do padrão Zigbee que, além

disto, ainda determina os recursos de segurança do protocolo. As camadas de mais

baixo nível, a camada física e de enlace, que são responsáveis por transmitir os

dados por meio de um sinal eletromagnético e de controlar a ordem de acessos ao

meio, ficam a cargo do padrão 802.15.4, definido pela IEEE. Pode ser visto com

maior clareza estas funcionalidades na figura 2:

Page 28: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

28

Figura 2 - Arquitetura do padrão Zigbee em camadas

Fonte: Evangelista (2010)

De acordo com Evangelista (2010) o protocolo Zigbee gerencia o

funcionamento das camadas mais elevadas do modelo OSI e ainda adiciona

algumas outras camadas que serão descritas a seguir.

Evangelista (2010) nos mostra de uma forma resumida que, a camada de

rede (NWR) é responsável por fazer a comunicação entre dois nós da rede, mesmo

que estes nós não possam se comunicar diretamente. A camada de aplicação (APS)

é responsável por gerenciar alguns processos entre a aplicação e a camada de

rede, enquanto a camada ZDO é responsável por definições gerais do padrão

Zigbee. Como foi dito, o Zigbee também implementa um processo de segurança

próprio, representado pela camada de Security Service Provider (SSP). A camada

mais alta é a Application Framework (AP), que é definida pela aplicação utilizada.

Conforme Lopes, Nascimento e Lima (2012), a faixa de frequência em que

atua e o número de canais que suporta são determinados de acordo com a

localidade, na Europa é de 868 MHz em um canal único, 915 MHz nos Estados

Unidos com 10 canais, e no resto do mundo de 2.4 MHz, com 16 canais, como

podemos ver na tabela 2:

Page 29: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

29

Tabela 2 - Faixa frequência do padrão Zigbee no mundo

Banda Frequência (MHz)

Local Disponível

Largura de Banda

Quantidade de Canais

2,4 GHz (ISM)

2400 – 2483,5 Todo o mundo 250 Kbps 16

915 MHz (ISM)

902 – 928 EUA 40 Kbps 10

868 MHz 868 – 868,6 Europa 20 Kbps 1 Fonte 1: Autores (2013)

Segundo Brito e Silva (2009), as redes ZigBee oferecem uma certa imunidade

a interferências, além de possibilitar a integração de até 254 nós em uma única

rede, sendo que através do possível agrupamento das redes é capaz de conectar

mais de 65.000 módulos, havendo a possibilidade de se conectar varias topologias

de rede, com taxas de transferência variando de 20Kbps e 250Kbps.

Todas as características que foram citadas até agora, representam

fisicamente a rede, contudo pode-se observar a partir das afirmações de Faludi

(2011) que o padrão Zigbee também se diferencia de algumas tecnologias de rede

sem fio, como o wifi e o bluetooth, no aspecto lógico, estas tecnologias não possuem

alguns recursos disponibilizados por ele, a figura 3, nos proporciona uma idéia do

posicionamento da tecnologia Zigbee em relação a outras tecnologias wireless.

Figura 3 - Posicionamento das tecnologias wirelles

Fonte: Teleco.com (2013)

Conforme afirma Faludi (2011) o método implantado pelo padrão Zigbee

permite a criação de uma rede onde a transmissão de dados pode ser feita por

Page 30: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

30

roteamento de dados, ou seja, os dispositivos que desejam se comunicar não

necessitam estar ligados diretamente.

Rodruigues (2012) assegura ainda, que existem duas categorias em que

podem ser classificados os dispositivos Zigbee. A primeira maneira em que

podemos classificar é com relação à função que ele esta desempenhando na rede,

sendo que esta maneira de classificação tem por base as características lógicas dos

dispositivos.

Esta classificação ocorre da seguinte maneira:

a) Router/Roteador: Como nos descreve Faludi (2011), um dispositivo roteador é

um nó Zigbee completo. Ele pode incorporar-se a redes existentes, enviar

informações, receber as informações de rota. Ele age como um mensageiro

para as comunicações entre outros dispositivos que estão muito longe de

transmitir as informações por conta própria. Na prática, são utilizados para

aumentar o alcance das redes.

b) Coordinator/Coodenador: Como afirmam Brito e Silva (2009), o dispositivo

coordenador é responsável por iniciar a rede, distribuir os endereços, fazer

manutenção da rede e o reconhecimento dos nós, podendo servir até como

gateway entre várias outras redes ou estrutura de redes Zigbee. Faludi (2011)

nos afirma ainda que as redes Zigbee possuem sempre um único

coordenador.

c) End Device/Dispositivo Final: Os dispositivos finais, conforme Faludi (2011)

podem participar das redes, enviar e receber informações, porém informações

que pertencem a ele, propriamente dito, eles não agem como mensageiros

entre qualquer outro dispositivo. Isto serve para que alguns dispositivos que

não irão desempenhar uma função mais complexa possam utilizar um

hardware mais barato e que possa ter um menor consumo de energia,

permanecendo a maior parte do tempo em modo sleep, ou seja, dormindo. Os

dispositivos end devices sempre precisam de um roteador ou um coordenador

para ser o seu dispositivo mestre, o mestre ajuda os dispositivos finais a

Page 31: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

31

aderirem à rede, e também armazena as mensagens, enquanto os

dispositivos finais estão em modo sleep.

A segunda maneira em que se pode classificar um dispositivo é quanto às

funções que podem ser habilitadas por ele, esta classificação leva em conta, as

características físicas do dispositivo. Esta classificação ocorre da seguinte maneira:

a) FFD - Full Function Devices: Como nos mostra Brito e Silva (2009) os

dispositivos FFD, são aqueles mais complexos que podem funcionar como

coordenadores roteadores ou até mesmo como dispositivos finais. Esses

dispositivos podem se comunicar com qualquer nó da rede. Segundo

Rodrigues (2012) estes dispositivos possuem um hardware mais completo,

que se faz necessário para a implementação da pilha completa de

comunicação e de processamento, Rodrigues (2012) afirma que os

módulos Digi Xbee estão dentro desta categoria de dispositivos.

b) RDF - Reduced Function Device: Os dispositivos RDF conforme nos diz

Rodrigues (2012), são dispositivos mais simples, que por sua vez não

permitem a implementação completa da pilha de comunicação e de

processamento. Brito e Silva (2009) esclarece que estes dispositivos

funcionam apenas como dispositivos finais.

Levando em consideração as funções desempenhadas pelos dispositivos nas

redes Zigbee, pode-se ver a imensa possibilidade na formação de topologias de

rede utilizando este padrão, a seguir serão vistas as possíveis topologias de rede,

configuradas a partir do padrão Zigbee, estas topologias indicam como os

dispositivos estão conectados uns aos outros logicamente, e não a disposição física

necessariamente.

A três principais possíveis topologias de rede Zigbee são, ponto-a-ponto

(peer-to-peer), estrela e malha (mesh), conforme se observa na figura 4:

Page 32: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

32

Figura 4 - Topologias de rede Zigbee

Fonte: Faludi (2011)

a) Ponto-a-ponto (peer-to-peer): Segundo Faludi (2011), uma rede ponto-a-

ponto, consiste na topologia de rede mais simples que se pode implementar,

elas possui apenas dois nós. Faludi (2011) nos deixa claro que, uma rede que

não necessite de mais do que dois nós, não ira desfrutar das vantagens que o

padrão Zigbee dispõe.

b) Estrela: Silva (2011) nos aconselha uma topologia estrela quando a área de

cobertura da rede for pequena. Como nos descreve Faludi (2011), em uma

topologia em estrela, tem-se um coordenador no centro da rede e todos os

outros nós estão conectados a ele. Neste caso todas as mensagens passam

pelo ponto central da rede, e os dispositivos finais não podem se comunicar

diretamente entre si.

c) Malha (mesh): Conforme Rodrigues (2012) nesta topologia o ajuste de

roteamento de dados acontece automaticamente, bem como o monitoramento

de nós. As mensagens percorrem caminhos diferentes de acordo com a

necessidade, este trabalho fica a cargo dos coordenadores e dos roteadores.

Rodrigues (2012) nos deixa claro que esta topologia empregar todas as

características diferenciais do Zigbee.

Page 33: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

33

3.4.3 Endereçamento e envio de dados

Segundo Rodrigues (2012) o endereçamento na rede Zigbee ocorre em dois

níveis, conforme o modelo ISO/OSI. O primeiro é o endereçamento de dispositivos,

que pode ser na camada de rede ou física e o segundo, o endereçamento na

camada de aplicação.

O endereçamento de dispositivo é feito em duas camadas separadas,

conforme Faludi (2011), a primeira forma é através de um endereço de 64 bits que é

inalterável, ele é dado pelo fabricante para cada módulo Zigbee. Pode-se comparar

esta forma de endereçamento ao endereço MAC em dispositivos de rede Ethernet. A

outra forma de endereçamento de dispositivos se dá por um endereço de 16 bits que

pode ser configurado conforme a necessidade da rede na qual o dispositivo se

encontra.

Quanto ao endereçamento na camada de aplicação, conforme diz Rodrigues

(2012), é considerado o dispositivo de destino e a identificação da informação

enviada, o Frame ID, que se assemelha ao socket TCP.

Os pacotes de dados das redes Zigbee podem ser transmitidos por unicast,

de um ponto a outro diretamente, ou broadcast, de um para todos ao mesmo tempo.

Caso não exista uma conexão direta entre o dispositivo transmissor e o receptor, a

transmissão é feita através de outros dispositivos da rede. Para que tudo isto possa

acontecer o dispositivo precisa encontrar o destino na rede e isto ocorre da seguinte

maneira:

a) Descoberta de endereço: Compreende em associar um endereço de 64 bits

imutável, a um endereço de 16 bits mutável. Conforme Rodrigues (2012), o

emissor envia uma mensagem em forma de broadcast informando ao destino

o endereço de 64 bits, quando recebida a mensagem, o receptor faz uma

comparação para saber se os endereços de 64 bits são idênticos, se forem, o

mesmo retorna a mensagem confirmando o seu endereço de 16 bits, assim o

emissor inicia a transmissão de dados.

Page 34: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

34

b) Descoberta de rota: Segundo Rodrigues (2012) as redes Zigbee determinam

sua rota através do protocolo de roteamento Ad Hoc on-Demand Distance

Vector Routing (AODV). Conforme Puttini (2004) AODV é um protocolo de

roteamento reativo que utiliza um algoritimo de roteamento do tipo vetor de

distância. Esta rota é determinada relacionando-se a distância de acordo com

a utilização dos nós da rede. Conforme Rodrigues (2012) a transmissão de

dados nas redes do tipo Zigbee possui uma confirmação de sucesso de

transmissão, esta confirmação é conhecida como ACK, que se refere ao

termo inglês acknowledge, que significa reconhecimento ou confirmação. A

cada salto entre dispositivos é enviado um ACK ao transmissor, a fim de

informar se houve sucesso na transmissão. Se houver uma falha na

transmissão o módulo Zigbee tenta retransmitir o pacote, sendo que por

padrão é feito no máximo duas tentativas e se houver erro na retransmissão a

rede é capaz de perceber o erro, permitindo ações de controle.

3.5 Dispositivo Xbee

Existem vários dispositivos de hardware no mercado que se baseiam no

padrão zigbee, entre eles está um modelo bastante conhecido no mercado e que

será utilizado neste trabalho, o Xbee fabricado pela Digi International. Nestes tópicos

serão abordadas as principais características destes dispositivos.

3.5.1 Principais Características

Segundo Soares (2012) os dispositivos Xbee são compostos basicamente por

um microcontrolador e um transceptor. O microcontrolador contém o firmware1 com

a implementação do protocolo Zigbee e a especificação do comportamento do

dispositivo (Coordenador, Roteador ou Dispositivo Final).

1 Firmware: firmware é o conjunto de instruções operacionais programadas diretamente no hardware

de um equipamento eletrônico.

Page 35: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

35

Conforme Digi International (2009) cada dispositivo Xbee possui um endereço

de rede (MY) de 16 bits que pode ser comparado ao endereço IP nas redes TCP/IP

e possui também o numero serial que é comparado ao endereço MAC das placas de

rede Ethernet.

Conforme Soares (2012) um rede composta por dispositivos Xbee possui

apenas um coordenador, com um endereço de rede (MY) igual a zero. Os

roteadores e os dispositivos finais podem ser usados em qualquer quantidade, de

acordo com a necessidade. Qualquer dispositivo Xbee que implemente o padrão

Zigbee pode comunicar-se com outro, mesmo este sendo de fabricantes diferentes.

Segundo Soares (2012) os módulos XBee são fabricados em diversas

versões, que variam de acordo com o modelo da antena, encapsulamento,

frequência de operação e protocolo utilizado. Podem-se ver os principais modelos na

figura 5:

Figura 5 - Módulos XBee da Digi International com diferentes antenas

Fonte: Rogercom.com (2013)

Conforme Digi International (2009) verifica-se a seguir as principais

características com relação ao seu desempenho:

a) Alcance Indoor: até 30m;

b) Alcance Outdoor: até 100m;

c) Potência Máxima de Transmissão: 1mW (0 dBm);

d) Taxa de Dados Interface Serial: até 115,2 Kbps;

e) Taxa de Dados de RF: 250 Kbps;

Page 36: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

36

f) Sensibilidade do Receptor: -92 dBm;

g) Tensão de Alimentação: 2,8 - 3,4 V;

h) Corrente de Transmissão: 45mA (@ 3,3V);

Os módulos Xbee possuem vários periféricos já implementados, tais como,

saídas e entradas digitais, conversores analógico-digitais, canal de comunicação

Universal Asynchronous Receiver/Transmitter (UART). Assim é possível

implementar soluções de maneira rápida e eficiente, com hardware já validado. Na

figura 6 está apresentado à distribuição dos pinos no dispositivo Xbee e na tabela 3

o diagrama de pinos.

Figura 6 - Distribuição de pinos no dispositivo XBee.

Fonte: Adaptado de: Digi International (2009)

Tabela 3 - Diagrama de pinos dos módulos Xbee

Pino Nome Direction Default State Description

1 VCC - - Power supply

2 DOUT Output Output UART Data Out

3 DIN – CONFIG Input Input UART Data in

4 DIO 12 Both Disabled Digital I/O 12

5 RESET Both Open-Connector

with full-up

Modulo Reset (reset pulse

must be at least 200 ns)

6 RSSI PWM / DIO 10 Both Output RX Signal Strenght indicador/

Digital IO

7 DIO 11 Both Input Digital I/O 011

8 [reserved] - Disabled Do not connect

9 DTR / SLEEP_RQ / DIO 8 Both Input Pin sleep Control Line or

Digital IO8

10 GND - - Ground

Page 37: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

37

11 DIO4 Both Disabled Digital I/O 4

12 CTS / DIO7 Both Output Clear-to-Send Flow Controlo or

digital I/O 7, CTS, if enablem is

an output

13 ON / SLEEP Output Output Module Status Indicator or

Digital I/O 9

14 VREF Input - Not used for EM250, Used for

programmable secondary

processor. For compatibility

with other pin voltage reference

if analog sampling is desired.

Otherwise, connect to GND

15 Associate / DIO5 Both Output Assocated indicator, Digital I/O

5

16 RTS / DIO6 Both Input Request-to-Send Flow Control,

Digital I/O 6. RTS, if enable, is

an input

17 AD3 / DIO3 Both Disabled Analog input 3 or Digital I/O 3

18 AD2 / DIO2 Both Disabled Analog input 2 or Digital I/O 2

19 AD1 / DIO1 Both Disabled Analog input 2 or Digital I/O 1

20 AD0 / DIO0 / Commsing

Button

Both Disabled Analog input 0, Digital I/O 0, or

commissioning Button

Fonte: Autores (2013)

3.5.2 Modos de Operação do Xbee

Segundo Rodrigues (2012) pode-se realizar a comunicação entre dispositivos

Xbee de duas maneiras: de modo transparente, que é utilizada entre dois

dispositivos específicos, e modo API (Application Programming Interface), que

oferece uma interface para outras aplicações em relação à rede Zigbee. A seguir

serão vistas as principais características destes dois modos de operação. De acordo

com Digi International (2009), estão implementados os seguintes modos de

operação:

Page 38: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

38

a) Modo Transparente: o modo padrão de operação do módulo, neste modo o

dispositivo trabalha simplesmente como transmissor de dados seriais. Todo o

dado inserido no pino de entrada serial será transmitido pela antena, e todo o

dado recebido pela antena é enviado pelo pino de saída da serial.

b) Modo API: Neste modo existe uma estrutura (quadros) que são categorizados

entre quadros de requisito e de resposta. Este modo permite que se utilize ao

máximo os recursos da rede Zigbee, como transmissão multiponto,

configuração remota entre outras aplicações.

Segundo Rodrigues (2012) durante um processo de comunicação, o

dispositivo Xbee possui uma série de estados em relação ao processo de

comunicação. Estes estados são independentes do modo de operação utilizado, são

eles os seguintes: sleep, repouso (idle), de transmissão, de recepção e de

comandos AT, a seguir será descrito melhor cada um dos estados.

a) Estado sleep: este modo permite aos dispositivos que possuem função de

dispositivos finais, ficar a maior parte do tempo com o mínimo de consumo de

energia, ou com o mínimo de clock2 da máquina e com a grande maioria dos

periféricos desligados. O módulo pode ser acordado via hardware, por meio

do pino 9, ou via configuração prévia pelo modo de comando. Até mesmo ser

subordinado a outro módulo Xbee coordenador de sleep, que lhe enviará os

dados a ele endereçados quando sair do modo de dormência.

b) Estado de repouso (idle): este estado é usado pelos dispositivos

coordenadores e roteadores da rede, já que eles não podem entrar em sleep

(desativação completa da rede). Sendo assim eles podem estar em repouso

quando não estão transmitindo ou recebendo dados, neste estado ocorre uma

diminuição da capacidade de processamento, havendo assim uma economia

2 Clock: é um pulso alternado de sinais de tensão.

Page 39: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

39

no consumo de energia, embora não seja tão radicalmente como na função

sleep.

c) Estado de transmissão: quando um dado é recebido por um pino de entrada

de dados, o dispositivo Xbee entra em um modo de transmissão. O dispositivo

valida o endereçamento e a rota da mensagem, caso os endereços ou rotas

não sejam conhecidos é iniciado um processo de descobrimento de endereço

ou rota.

d) Estado de recepção: o dispositivo entra em estado de recepção quando existe

um sinal no canal utilizado, verificando se o mesmo é o endereço de destino

da informação. Caso seja, o destino envia um sinal de ACK para o dispositivo

de origem, e guarda o dado recebido em um buffer3. Este processo é análogo

porém invertido em relação a transmissão.

e) Estado de comandos AT: permite acesso às variáveis de configuração do

módulo. Inserindo a sequência de caracteres ("+++") no terminal, o dispositivo

entra neste modo, onde seus parâmetros podem ser monitorados ou

reconfigurados. Para encerrar este modo existe um timeout ou pode der

inserido um comando especifico.

3.5.3 Xbee Explorer USB

Conforme Digi International (2009) para que seja feita a configuração dos

módulos é necessário o uso de um hardware de interfaceamento entre o computador

e o módulo Xbee. O Xbee Explorer USB é uma interface USB para o módulo Xbee,

fabricado pela empresa Sparkfun, ele cria uma porta serial virtual, responsável pela

comunicação entre o computador e o Xbee. Este dispositivo facilita a configuração

3 Buffer: é uma região de armazenamento de memória física utilizada para armazenar

temporariamente os dados enquanto eles estão sendo movidos de um lugar para outro.

Page 40: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

40

dos módulos Xbee além de poder ser usado pelo computador para receber os dados

da rede. Na figura 7 pode ser visto o Xbee Explorer.

Figura 7 - Xbee Explorer

Fonte: Sparkfun.com (2013)

3.6 Arduino

Segundo Silveira (2011) o Arduino foi criado em janeiro 2005, no Instituto de

Interatividade e Design, no curso de Arte e Design, na cidade de Ivrea, Itália, ele

surgiu da ideia de dois professores David Cuartielles e Massimo Banzi. Sendo que o

principal objetivo era criar uma ferramenta de hardware fácil de programar, para

pessoas que não tivesse um grande conhecimento com computadores, tendo um

baixo custo.

Conforme Silveira (2011) os professores se juntaram com outros membros

que eram especialistas em programação para criarem um ambiente de

desenvolvimento integrado e uma ferramenta de software que traduz uma linguagem

de alto nível como C.

Segundo McRoberts (2011) o Arduino pode ser utilizado para desenvolver

vários projetos, podendo ser conectado em computadores, em redes e até mesmo

na Internet, podendo assim disponibilizar os dados coletados em uma página de

internet, sendo exibidos em forma de texto, gráficos e tabelas para os usuários.

Page 41: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

41

Para McRoberts (2011) com o Arduino é possível conectar vários dispositivos:

sensores de temperatura e umidade, sensores de distância, LEDs, interruptores.

Podendo assim coletar dados e emitir dados. Segundo Vasilevic (2013) existem

vários modelos de Arduino, a escolha do modelo dependera da necessidade de

cada usuário, os modelos se diferenciam pelos diferentes formatos e configurações.

Entre os modelos mais populares esta o Uno, o qual será utilizado neste projeto.

Segundo Silveira (2011) o Arduino é composto por duas partes principais:

hardware e software. Nas subseções serão descritas as principais características

que envolvem o software e o hardware do Arduino modelo Uno.

3.6.1 Software

Conforme Arduino CC (2013) o Arduino Uno foi desenvolvido para que seja

conectado no computador, sendo que o software é quem vai fazer essa conexão. O

software do Arduino permite que os dados sejam carregados para ele através do

upload.

Conforme McRoberts (2011) o programa utilizado para programação do

Arduino é o IDE do Arduino, o software é livre, e o código utilizado é baseado na

linguagem C. Sendo que através do código utilizado ele poderá executar a tarefas

pretendidas. O software utilizado, permite que sejam escritos códigos no editor, este

editor da a possibilidade de recortar, copiar, colar e substituir textos. A figura 8

mostra a interface do programa.

Page 42: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

42

Figura 8 - Interface gráfica do Arduino 1.0.5

Fonte: Autores (2013)

3.6.2 Hardware

O hardware inclui um micro controlador e alguns componentes eletrônicos

montados numa placa de circuito impresso, o software residente na memória de

programas do microcontrolador. O hardware do Arduino incluí também shields que

Page 43: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

43

são adaptadores que possibilitam conectar outros dispositivos e módulos. O uso de

shields não é obrigatório, ele pode ser substituído por uma Breadboard4.

De acordo com Gomes e Tavares (2013) o modelo Uno do Arduino tem como

principais características: microcontrolador ATmega328, tensão de operação de 5V,

14 pinos de entrada/saída digital, 6 pinos de entrada/saída analógicos, 32 KB de

memória flash, 2 KB de SRAM, 1 KB de EEPROM e velocidade de clock de 16 MHz.

Na figura 9 podemos ver o modelo Uno do Arduino bem como a sua dimensão.

Figura 9 - Modelo Arduino

Fonte: Arduino cc (2013)

3.6.3 Alimentação

Conforme Arduino CC (2013) a alimentação pode ser feita de duas formas, a

primeira através de conexão USB e a segunda podem ser alimentadas por uma

fonte de externa alimentação. Para a utilização da fonte externa é necessária que a

ela seja de 6 a 20 V. Pois se for menor 7 V , o pino de 5 V acaba fornecendo menos

4 Breadboard: placa com vários furos e conexões condutoras para montagem de circuitos elétricos

experimentais. (LOPES, 2008)

Page 44: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

44

de 5 V deixando a placa vulnerável. Se for ao contrário, utilizar mais que 12 V, pode

superaquecer e danificando a placa. O correto e recomendado é de 7 a 12 V.

A figura 10 nos mostra os pinos de alimentação do Arduino.

Figura 10 - Pinos de alimentação do Arduino Uno

Fonte: Arduino cc (2013)

a) VIN é a tensão de entrada para a placa do Arduino, utilizando uma

fonte externa. Podendo fornecer tensão para o pino ou fornecendo

tensão através da tomada de energia, através do pino.

b) 5 V neste pino concede 5v regulada no regulador da placa.

c) 3.3 V- O pino 3.3 V gerado por um regulador on-board. Corrente

máxima é de 50 mA.

d) GND - Pinos de Aterramento.

e) IOREF Este pino da placa Arduino fornece a referência de tensão com

que o micro controlador opera. Um escudo configurado corretamente

pode ler a tensão pino IOREF e selecionar a fonte de alimentação

Page 45: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

45

adequada ou habilitar tradutores de tensão nas saídas que operam de

5 V ou 3.3 V.

3.6.4 Memória

Conforme Arduino CC (2013) o ATmega328 possui 32 KB (sendo que 0,5 KB

é utilizado para bootloader), o bootloader é um arquivo responsável pela

inicialização da placa. Possui também 2 KB de SRAM, memória na qual ele pode

criar e manipular variáveis quando é executado e 1 KB de EEPROM, utilizada para

armazenar as informações à longo prazo.

3.6.5 Entrada e Saída

Segundo Justen (2013) as portas digitais são utilizadas quando se necessitam

obter valores exatos de tensão. O sistema utilizado é binário, com isso ele trabalha

em apenas duas tensões sendo elas 0V e 5V. Sendo que as portas digitais do

Arduino podem trabalhar com uma dessas tensões.

Ainda segundo Justen (2013) as portas analógicas, são apenas entradas,

como isso pode ter vários valores de tensão, na faixa de 0V a 5v.

Conforme Arduino CC (2013) a quantidade de pinos digitais é 14, sendo que

pode ser utilizado como entrada ou saída, através de funções especificas. Ele opera

em uma tensão de 5 V. Sendo que cada pino pode fornecer ou receber um máximo

de 40mA.

3.6.6 Comunicação

Segundo Arduino CC (2013) o arduino tem uma grande facilidade de

comunicação com computadores e outros microcontroladores. Fornecendo

comunicação de serie, nos pinos digitais, 0 (RX) e (1) TX. A comunicação serial

através do USB aparece como uma porta no software do computador, sendo que

nenhum driver é necessário para instalação.

Page 46: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

46

3.7 Sensores

Segundo Wendling (2010) sensor é um termo usado para designar

dispositivos sensíveis a alguma forma de energia do ambiente, esta energia pode

ser luminosa, térmica, ou cinética, relacionando informações sobre grandeza física,

que precisa ser medida como, temperatura, pressão, velocidade, corrente,

aceleração, posição entre outros.

Ainda segundo Wendling (2010) um sensor nem sempre tem as

características elétricas necessárias para ser utilizado em um sistema de controle.

Normalmente o sinal de saída deve ser manipulado antes da sua leitura no sistema.

Conforme Loureiro (2013) a mais de uma década os investimentos

multimilionários em pesquisa de tecnologia em cima desses dispositivos estão tendo

retorno. Hoje os sensores estão se tornando cada vez menores e mais baratos.

Sendo que o hardware e software são fundamentais para a implantação. A maioria

das pessoas acredita que essa tecnologia tem potencial para se tornar tão

importante quanto à internet. Permitindo compartilhar informações não importando

onde esta esteja armazenada.

Existem diversos tipos de sensores, que podem ser usados nas mais diversas

aplicações, a escolha destes, será feita de acordo com a necessidade que o usuário

possui, a seguir serão descritas algumas características de um tipo de sensor

denominado DHT22, que será utilizado neste trabalho.

3.8 Sensor DHT22

De acordo com o Aosong Electronics (2013) o sensor DHT22 é um sensor de

umidade relativa do ar e temperatura, com saída digital calibrada. Na figura 11 pode

ser visto o sensor DHT22.

Page 47: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

47

Figura 11 - Sensor DHT22

Fonte: Aosong Electronics (2013).

Este é um sensor de alta precisão. Possui uma exclusiva tecnologia para medir a

umidade, garantindo a confiabilidade e estabilidade. Possui internamente um

microcontrolador de 8 bits para tratar o sinal. A seguir pode ser visto as principais

características deste dispositivo.

a) Tensão de alimentação: 3 a 5.5 V;

b) Saída do sinal: digital de um fio;

c) Tipo do sensor: Capacitivo

d) Faixa de medição: Umidade 0% a 99.9%; Temperatura -40 a 80ºC;

e) Precisão: Umidade +-2%RH; Temperatura: +-0.5ºC;

f) Período de medição: 2s

g) Dimensões: 25x15x7mm

3.9 Banco de Dados

Segundo Machado, Abreu (2004) um dado nada mais é do que um registro de

uma informação, uma serie de processos. O banco de dados é um conjunto de

dados. Em um banco de dados é possível criar estruturas, manter os dados e

gerencia-los.

Conforme Date (2003) o sistema de banco de dados é basicamente um

sistema computadorizado, tendo como propósito geral armazenar informações,

permitindo assim que o usuário busque e atualize as informações quando solicitado.

Page 48: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

48

Com a evolução dos bancos de dados surgiram os SGBD Sistemas Gerenciadores

de Banco de Dados, permitindo maior facilidade no gerenciamento de dados.

3.9.1 Mysql

Segundo Machado, Abreu (2004) a linguagem SQL foi desenvolvida pela IBM,

utilizando os conceitos de Codd. Codd foi quem criou uma linguagem padrão

utilizada para manipular informações de banco de dados relacionais.

De acordo Longo (2006) o Mysql é banco de dados relacional eficaz,

aperfeiçoado para aplicações web. O Mysql é utilizado para estabelecer uma

comunicação entre aplicativos e bancos de dados. Ele permite ao usuário carregar

os dados que estão gravados no banco, realizando assim consultas nestes dados.

Conforme Machado e Abreu (2004) a linguagem SQL pode ser dividida em

subconjuntos, são eles: DDL, DML, DQL e DCL, a seguir serão abordadas as

principais características destes subconjuntos e quais os comandos utilizados:

a) DDL: permite a criação elementos do banco de dados, índices e tabelas;

(create,alter, drop);

b) DML: permite alteração dos dados que estão no banco de dados; (Select,

Insert, Uptdate, Delete, Commit e Rollback) ;

c) DQL: permite retirar os dados do banco de dados (Grant e Revoke);

d) DCL: segurança interna do banco de dados .

Segundo Longo (2006) o SGBD é compatível com vários sistemas

operacionais sendo eles: Windows, Linux e outros sistemas. O Mysql é compatível

com varias linguagens de programação, sendo que a seguir serão descritas algumas

características das linguagens utilizadas neste trabalho.

Page 49: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

49

3.10 Java

Conforme Deitel (2003) a linguagem de programação Java, desenvolvida pela

Microsystems, teve sua origem nas pesquisas de um pequeno grupo de

desenvolvimento, denominado Green. O objetivo deste grupo era criar novas

gerações de dispositivos portáteis capazes de se comunicarem de forma diferente,

ampliando sua portabilidade de uso.

Como afirma Possani (2012) a linguagem de programação Java foi

desenvolvida seguindo o conceito de programação orientada a objetos, este tipo de

programação é um paradigma de análise, ou seja, projeto e programação de

sistemas de software baseado na composição e interação entre diversas unidades

de softwares chamadas de objeto.

Segundo Mendes (2009) a linguagem Java é considerada simples porque

permite o desenvolvimento de sistemas em diferentes sistemas operacionais e

arquiteturas de hardware, sem que o programador tenha que se preocupar com

detalhes de infra-estrutura. Desta forma, o programador consegue desempenhar seu

trabalho com mais produtividade e eficiência.

Conforme Possani (2012) a linguagem Java foi projetada para atender as

necessidades do desenvolvimento de aplicações em um ambiente distribuído, em

rede, e heterogêneo, por isso é tão utilizado dentro das empresas. Uma outra

grande vantagem da tecnologia são os ambientes de desenvolvimento gratuitos que

ela dispõe.

A linguagem Java é orientada a objetos, ou seja, se baseia na composição e

interação entre diversas unidades de software, que também pode ser chamada de

classes. Conforme Mendes (2009) existem algumas coleções de classes prontas

conhecidas como bibliotecas ou pacotes. Existe uma serie de bibliotecas que

poderiam ser citadas, contudo serão descritas apenas algumas características da

biblioteca RXTX, utilizada neste trabalho.

3.10.1 Biblioteca RXTX

Page 50: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

50

Conforme rxtx.org (2013) a biblioteca RXTX é utilizada para viabilizar a

comunicação, tanto serial quanto paralela. Ela é baseada na API5 Javacomm que é

distribuída pela própria Sun, uma das empresas envolvidas no desenvolvimento da

linguagem Java.

Ainda conforme rxtx.org (2013) a biblioteca RXTX possui uma grande

vantagem sobre a Javacomm, ela é compatível com Linux, Windows e Mac,

enquanto que a Javacomm em sua atual versão, é compatível apenas com Linux,

trazendo certas limitações para o processo de desenvolvimento para múltiplas

plataformas.

3.11 Php

Segundo Melo e Nascimento (2007) a linguagem PHP surgiu no final de 1994,

quando, Rasmus Lerdorf criou uma série de utilitários para monitorar sua página

pessoal e obter informações sobre seus visitantes. Com o passar do tempo, mais

funcionalidades foram requeridas. Rasmus escreveu então uma implementação na

linguagem C destes utilitários, que deu origem ao núcleo do que ficou conhecido

como PHP/FI. Este pacote foi o início do PHP como o conhecemos hoje.

Conforme Barreto (2000) PHP é uma linguagem que permite criar sites WEB

dinâmicos, possibilitando uma interação com o usuário através de formulários,

parâmetros da URL e links. A diferença entre PHP e linguagens semelhantes como

Javascript, é que o código PHP é executado no servidor, sendo enviado para o

cliente apenas HTML puro. Desta maneira é possível interagir com bancos de dados

e aplicações existentes no servidor, com a vantagem de não expor o código fonte

para o cliente. Isso pode ser útil quando o programa está lidando com senhas ou

qualquer tipo de informação confidencial.

Como nos afirma Melo e Nascimento (2007) o PHP não tem custo de licença

justamente por ser um software livre. Isto significa que ele pode ser instalado em

5 API: Interface de Programação de Aplicativos, é um conjunto de rotinas e padrões estabelecidos por

um software para a utilização das suas funcionalidades por aplicativos que não pretendem envolver-se em detalhes da implementação do software, mas apenas usar seus serviços.

Page 51: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

51

qualquer máquina, para qualquer número de usuários, sem que isto denote a

violação de alguma lei de direito autoral.

3.12 HTML

De acordo com Tanenbaum (2003) o HTML (Hyper text Markup Language) é

uma linguagem de marcação, uma linguagem que descreve como os documentos

devem ser formatados. Com isso permiti ao usuário criar páginas web, podendo

incluir textos, gráficos e ponteiros para outras páginas. Uma vantagem sobre uma

linguagem com marcação e outra sem, é que se pode ter maior facilidade para criar

um navegador destinado à linguagem, basta apenas o navegador entender os

comandos de marcação. Com estes comandos de marcação, cada arquivo é

padronizado, sendo possível qualquer navegador fazer a leitura e formatar

novamente. É possível utilizar editores ou processadores de texto que são

exclusivos de HTML, para fazer boa parte do trabalho.

Conforme Tanenbaum (2003) a página web HTML consiste em tags, estas

são comandos de formatação, o arquivo vai começar e terminar com tags. Podemos

visualizar algumas seções de tags na figura 12.

Figura 12 - Tags

Fonte: Tanenbaum (2003)

Page 52: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

52

Conforme Freemann e Freeman (2008) quando o navegador faz a leitura de

um arquivo HTML, ele traduz todas as tags que envolvem o texto, as tags informam

ao navegador o significado do texto. O navegador tem a função de solicitar uma

página HTML a um servidor web, podendo assim receber e exibir na sua janela.

Portanto é o servidor web é quem vai receber as solicitações, e encaminhar para o

navegador.

3.13 JavaScript

De acordo com Falangan (2004) JavaScript é uma linguagem de criação de

scripts, que tem a função de interpretar recursos de orientação objeto. A linguagem

foi incorporada em vários navegadores sendo eles: Netscape, Internet Explorer e

outros.

Conforme Falangan (2004) existem algumas diferenças da linguagem Java

para JavaScript. O JavaScript consegue controlar um conteúdo no navegador,

porem não consegue desenhar gráficos e desempenhar operações de rede. Já o

Java não tem nenhum controle com o navegador, porem oferece recursos gráficos e

recursos de rede.

De acordo com Tanenbaum (2003) o JavaScript tem como função poder

acompanhar o movimento do mouse sobre objetos na tela. Em algumas páginas da

web que utilizam JavaScript, quando o cursor do mouse é deslocado sobre algum

texto ou imagem.

Page 53: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

53

4 MATERIAL E MÉTODOS

Neste capítulo serão apresentados os métodos utilizados para atingir o

objetivo proposto. A organização deste capítulo apresenta-se em duas seções que

apresentam de forma organizada as sequências das atividades que antecedem a

implementação do projeto.

A primeira seção abordará o desenvolvimento do projeto com base no

hardware que envolverá os componentes utilizados bem como o esquema de

ligação dos mesmos. Na segunda seção será abordado o desenvolvimento do

projeto com base no software, que envolverá configurações de dispositivos bem

como desenvolvimento dos sistemas utilizados.

4.1 Hardware

Os dispositivos utilizados neste projeto, bem como justificativas de uso,

estarão descritas no decorrer deste capítulo. Para que fosse elaborado o protótipo,

buscou-se conhecer todas as características bem como o esquema elétrico de cada

um deles.

Como base para o projeto, optou-se por usar o microcontrolador Arduino Uno,

por se tratar de um microcontrolador robusto e de baixo custo. O Arduino Uno pode

ser alimentado com uma tensão que varia de 6 a 20 V, visto que na fase de

desenvolvimento deste projeto, utilizou-se uma fonte de alimentação de 12 V, ligada

a energia elétrica convencional.

Os módulos, transmissores e receptores sem fio, responsáveis pela

transferência de dados, serão os módulos Xbee da Digi Internaional. Os módulos

Xbee foram escolhidos para o projeto, por possuírem características que atendem as

necessidades deste projeto. Entre elas está o alcance do sinal, que é de 100 metros,

bem como o mínimo de energia que ele necessita para operar.

O Arduino Uno possui uma tensão de funcionamento de 5 V, ou seja os

dados enviados através do pino (tx) ao pino (rx) do Xbee estarão sempre em uma

Page 54: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

54

tensão de 5 V. Visto que segundo Digi International (2013) o Xbee possui uma

tensão rigorosa de 3.3 V, se faz necessário outro dispositivo intermediário para fazer

a conversão de tensão. Existem algumas maneiras de se fazer esta conversão, um

Shield Xbee, pode ser uma das melhores opções, ele é ligado ao Arduino,

recebendo o módulo Xbee e fazendo a conversão. O Shield Xbee é um produto caro

por isso optou-se por não usá-lo neste projeto. Outra maneira de se fazer esta

conversão é utilizando um conversor de nível lógico, que possui um valor muito

inferior ao Shield Xbee. Este conversor de nível lógico passa a tensão de 5 V para

3.3 V para que seja feita uma comunicação segura. Ele também funciona no sentido

inverso, passando de 3.3 V do Xbee para 5 V do Arduino. Com base nestas

informações optou-se por utilizar esta segunda opção no projeto, na figura 13 pode

ser visto a imagem do conversor de nível lógico.

Figura 13 - Conversor de nível lógico

Fonte: Sparkfun.com (2013)

Para que fosse utilizado este conversor, foi necessária a utilização de uma

Breadboard, para montar os circuitos. Na figura 14 está a imagem de uma

Breadboard.

Page 55: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

55

Figura 14 - Breadboard

Fonte: breadboardphilly.org (2013)

O módulo Xbee precisa de apenas 4 ligações para operar, os 3 V de energia

no pino 1, um fio de aterramento (GND) no pino 10, entrada de dados (RX) pino 3 e

saída (TX) pino 2, os módulos Xbee possuem muitos outros pinos que não serão

utilizados neste projeto, a distribuição dos pinos pode ser vista no capitulo 4 deste

trabalho.

Até o momento foram descritas algumas características e como deve ser

montado o esquema elétrico do Arduino Uno, bem como do módulo Xbee, agora

será descrito o funcionamento e o esquema elétrico do sensor DHT22, utilizado

neste projeto para coletar dados de temperatura e umidade.

Optou-se pela utilização do sensor DHT22 por se tratar de um sensor com

baixo custo e alta precisão, principalmente quando comparado ao DHT11, na figura

15 pode ser visto melhor algumas diferenças entre estes dois sensores.

Figura 15 - Principais diferenças entre os dois sensores

Fonte: labdegaragem.com (2013)

Page 56: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

56

O valor de temperatura é verificado através de um termistor NTC6 e a

umidade relativa através de um sensor capacitivo (capacitor de polímero especial).

Há também uma curva de compensação de temperatura que fica salva dentro de

uma memória ROM7 que faz ajustes por toda a faixa de atuação deste sensor.

Para o funcionamento do sensor DHT22 é necessário fazer a ligação do pino

1 que receberá a energia, ele pode receber uma tensão entre 3.3 e 6 V, o pino 2

será responsável pelo recebimento de dados e o pino 4 servira como aterramento.

Será utilizado também um resistor na entrada de 5 V, limitar e estabilizar a corrente

elétrica.

Na figura 16 pode ser vista a ligação de todos os dispositivos utilizados neste

protótipo, exceto o módulo Xbee receptor que será descrito a seguir.

Figura 16 - Esquema Elétrico do protótipo

Fonte: Autores (2013)

Na figura 17 pode ser vista a imagem real do protótipo.

6 NTC: (Negative Temperature Coefficient) - termístores cujo coeficiente de variação de resistência

com a temperatura é negativo: a resistência diminui com o aumento da temperatura. 7 ROM: um tipo de memória que permite apenas a leitura.

Page 57: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

57

Figura 17 - Prótotipo

Fonte: Autores (2013)

O protótipo visto nas imagens 18 e 19, ficou no meio da lavoura e será

responsável pela coleta e envio dos dados. Para receber os dados gerados pelo

protótipo, foi utilizado um adaptador USB para o Xbee receptor, através deste

adaptador, denominado Xbee Explorer, o módulo Xbee receptor foi conectado ao

Computador que recebeu receber os dados coletados.

O Xbee Explorer faz um interfaceamento entre o computador e o módulo

Xbee, ele facilita tanto o recebimento dos dados como também a configuração dos

módulos Xbee.

4.2 Software

Neste tópico serão descritas com detalhamento todas as configurações

realizadas nos dispositivos utilizados, assim como o desenvolvimento de códigos

fontes.

Page 58: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

58

4.2.1 Código fonte Arduino

Depois de concluída a montagem do protótipo, no que diz respeito ao

hardware, iniciou-se um estudo da linguagem de programação utilizada pelo

microcontrolador Arduino, o qual será responsável pela captura e envio dos dados

referentes a temperatura e umidade. No site arduino.cc é possível encontrar muitos

materiais de estudo, assim como exemplos de códigos, que se adaptados, podem

ser usados neste projeto. A linguagem de programação do Arduino é baseada nas

linguagens C/C++.

A partir deste estudo foi desenvolvido o código fonte, para o desenvolvimento

foi necessária a instalação da IDE do Arduino, um ambiente integrado de

desenvolvimento, encontrado no site oficial do projeto.

Para que fosse possível a coleta dos dados, foi necessário inserir a biblioteca

DHT.h, como sugerido pelo site do projeto. Esta biblioteca foi inserida para que fosse

possível a utilização do sensor de temperatura e umidade DHT22.

Depois de inserida a biblioteca, foram feitas algumas adaptações no código

fonte exemplo adquirido do site arduino.cc. Entre estas adaptações esta o intervalo

10 segundos definido para o envio dos dados através da porta serial. Foi definido

também no código, em qual pino digital estava ligado o sensor DHT22. Depois de

realizadas as alterações necessárias para o bom funcionamento do protótipo, foi

carregado o código fonte para dentro do microcontrolador Arduino, o código

funcionou perfeitamente. Na figura 18 pode ser visto o código em desenvolvimento

na IDE do Arduino.

Page 59: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

59

Figura 18 - Código fonte

Fonte: Autores (2013)

4.2.2 Configuração dos módulos Xbee

Depois de concluído o código fonte do Arduino, foi iniciado um estudo para

entender melhor o funcionamento dos módulos Xbee, que iriam enviar as

informações coletadas pelo Arduino até um receptor.

Os módulos Xbee possuem dois modos de operação, modo transparente, que

é utilizado principalmente em redes ponto a ponto e o modo API (Application

Programming Interface), que oferece uma interface para outras aplicações em

relação a rede Zigbee, como por exemplo criar uma rede mesh.

Para este projeto, optou-se pela utilização do modo transparente, por se tratar

que um protótipo que utilizou apenas dois módulos Xbee, o transmissor e o receptor.

Por padrão os módulos Xbee vem configurados em modo transparente. O software

XCTU para Windows, encontrado no site da Digi International, é o mais

recomendado para realizar as configurações dos módulos Xbee. Na figura 19 pode

ser visto a imagem da interface do software.

Page 60: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

60

Figura 19 - Interface XCTU

Fonte: Roger.com (2013)

Através deste software foram verificadas todas as configurações padrão do

Xbee. Todos os dois módulos vieram configurados para operar no canal 12,

operando na rede 3332 por padrão, com uma taxa de transmissão padrão de 9600

bps. No modo transparente esta configuração é suficiente para se estabelecer uma

comunicação ponto a ponto entre dois módulos Xbee. Todo o dado inserido no pino

de entrada serial será transmitido pela antena, e todo o dado recebido pela antena é

enviado pelo pino de saída da serial.

Page 61: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

61

4.2.3 Receptor dos dados

Os dados são recebidos através do módulo Xbee receptor que está

conectado a um computador por meio de um adaptador USB. Estudou-se algumas

maneiras de se receber estes dados de forma que eles pudessem ser manipulados

futuramente. Entre pesquisas e opiniões de profissionais da área, conclui-se que

desenvolver um pequeno sistema baseado na linguagem de programação Java seria

a melhor opção. A partir desta decisão procurou-se conhecer de forma mais

detalhada o funcionamento desta linguagem de programação.

A troca de pacotes entre o nó receptor da rede e o computador é realizada

através de uma interface serial. Para tanto, conclui-se que seria necessário o

desenvolvimento de uma classe JAVA baseada na biblioteca RXTX para obter

acesso ao hardware e realizar o recebimento de dados.

Ainda por meio das pesquisas realizadas, buscou-se exemplos de códigos

que foram desenvolvidos com objetivos semelhantes. Para o desenvolvimento da

aplicação foi utilizado o software Eclipse, que é um IDE gratuito, para

desenvolvimento Java. Na figura 20 pode ser vista a interface do Eclipse com a

classe principal em desenvolvimento.

Page 62: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

62

Figura 20 - Ide Eclipse

Fonte: Autores (2013).

Por fim optou-se por criar 4 classes dentro do código Java, são elas:

principal.java, Server.java, serialcomm.java e banco.java. A classe principal.java

como o próprio nome sugere, é a classe principal, responsável por iniciar o programa

e chamar a segunda classe, server.java. A classe server.java, é apenas uma

interface gráfica, responsável por chamar a classe serialcomm.java. A classe

serialcomm.java identifica as portas que estão disponíveis para conexão e realiza a

comunicação serial. Fica a cargo desta classe também chamar a classe banco.java,

classe responsável por gravar as informações no banco de dados.

Depois de criadas todas as classes, foram feitas ainda várias modificações no

código, surgiram vários erros e desafios durante o desenvolvimento, desafios que

precisaram de bastante dedicação e persistência para que fossem resolvidos.

Por fim chegou-se a uma aplicação que atendeu as necessidades do projeto.

4.2.4 Banco de dados

O protótipo desenvolvido necessitava que suas informações fossem

armazenadas. Portanto, depois de concluído a aplicação em Java que seria

Page 63: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

63

responsável por receber todas as informações, iniciou-se a procura por um banco de

dados na qual fosse possível armazenar a gerenciar os dados posteriormente.

Optou-se por utilizar o banco de dados Mysql, por se tratar de um banco de

dados eficaz e aperfeiçoado para web. A escolha deste considerou também o fato

de ser uma ferramenta fácil de utilizar e possuir uma distribuição gratuita.

O pacote do Mysql encontrado no site oficial, contem uma interface gráfica

chamada de Mysql Workbench, que facilita a manipulação do banco. Por padrão o

Mysql vem com todas as configurações básicas para funcionar localmente, portanto,

foi necessária apenas a escolha de uma senha durante a instalação. Na figura 21

pode ser vista a interface Mysql do Work Bench.

Figura 21 - Interface Mysql Work Bench

Fonte: Autores (2013)

Depois de realizado a instalação, foi iniciada a criação do banco de dados. Foi

criado um banco de dados com o nome de monitoramento e dentro deste banco

uma tabela chamada leituras. Tabelas são objetos de um banco de dados que

Page 64: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

64

contêm todos os dados. Nas tabelas, os dados são organizados de maneira lógica

em um formato de linha e coluna semelhante ao de uma planilha.

Portanto foi criada uma tabela contendo as seguintes colunas: id,

temperatura, umidade e data. Dentro destas colunas estarão armazenadas todas as

informações recebidas pela aplicação Java descrita anteriormente.

4.2.5 Página Web

A página Web permite que o agricultor possa interagir de maneira simples

com as informações coletadas de sua lavoura. Por isso a ultima parte do projeto era

a criação desta página.

Esta página deveria ser o mais simples possível, pois não houve tempo hábil

suficiente durante o projeto, para que se pensasse em algo mais robusto. Esta

página foi desenvolvida utilizando as linguagens de programação: HTML, PHP e

Java Script. Cada uma destas linguagens possui características especificas.

Características estas fundamentais para o desenvolvimento da página Web.

A página desenvolvida possui, além de uma imagem no cabeçalho, um

campo contendo a umidade e a temperatura atual e um campo onde podem ser

buscadas informações referentes a períodos de monitoramento. Estas informações

serão buscadas no banco de dados. O agricultor poderá ver estas informações em

uma tabela que conterá a data e hora em que foram feitas as leituras das

informações desejadas. Esta tabela permitirá ao agricultor analisar de forma mais

clara as variações climáticas ocorridas durante um determinado período de tempo.

Para a realização de testes, esta página Web será hospedada em um servidor

Web local, não necessitando ser hospedada em um servidor remoto, evitando assim

custos.

Page 65: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

65

5 RESULTADOS E DISCUSSÕES

Quando finalizada toda a parte de desenvolvimento do protótipo, iniciou-se a

fase de testes. O teste descrito neste tópico foi realizado em uma plantação de

maracujá, situada na cidade de São João do Sul, (SC).

O protótipo responsável pela coleta e transmissão dos dados que ficou no

meio da lavoura foi alimentado, para fim de testes, com uma bateria alcalina de 9 V.

O teste teve como objetivo verificar a distância máxima possível, entre o nó

transmissor e o nó receptor. Os nós foram colocados a uma distância de 90 metros

um do outro, e pode ser confirmada a eficiência dos módulos Xbee. A área da

plantação onde foi realizado o primeiro teste, possui 5.000 m². Na figura 22 é

possível ter uma idéia da dimensão da plantação bem como da distância entre os

nós, sendo que o nó transmissor esta localizado no local indicado pela seta.

Figura 22 - Plantação e nós da rede

Fonte: Autores (2013).

Page 66: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

66

Os dados recebidos pelo nó receptor foram extremamente consistentes, não

havendo nenhuma perda de dados a esta distância. Na figura 23 é possível ver os

dados recebidos na interface serial da IDE do Arduino, neste primeiro teste.

Figura 23 - Primeiro dia de teste

Fonte: Autores (2013)

Depois de realizado o teste de conexão e distância foi realizado outro teste

para verificar a aplicabilidade do protótipo em geral, este teste envolveu, conexão

com a aplicação Java, conexão com o banco e a página Web. Este teste foi

realizado no mesmo local do primeiro e com a mesma distância entre os nós.

Foi obtido um resultado satisfatório neste segundo teste, onde o protótipo

funcionou perfeitamente. Na figura 24 pode ser vista a imagem da página Web

exibindo a temperatura é a umidade atual, nela podem ser vistos também os campos

onde podem ser inseridos os períodos de tempo para busca no banco de dados.

Page 67: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

67

Figura 24 - Interface Web

Fonte: Autores (2013)

Depois de verificado a aplicabilidade para o monitoramento da temperatura e

umidade atual, foi verificado o desempenho da página quando se necessitou fazer

uma busca por períodos de tempo. A busca foi realizada em períodos de horas, pois

entre dias não haveriam dados suficientes para o teste. Na figura 25 pode ser vista a

busca realiza com sucesso.

Figura 25 - Interface Web 2

Fonte: Autores (2013)

Page 68: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

68

Com os testes realizados na plantação de maracujá, verificou-se a

funcionalidade do protótipo. Levando em conta o tempo hábil para o

desenvolvimento, e tendo visto que o projeto envolveu muitos componentes de

hardware e também o desenvolvimento de aplicações que teriam de trabalhar juntas

de forma síncrona, foi possível concluir que o projeto foi um sucesso.

Pode ser visto ao final dos testes a importância que um sistema de Smart

Farm possui para os agricultores, tendo em vista a importâncias das informações,

bem como a facilidade do agricultor de entender o funcionamento do projeto, sendo

que ele precisará apenas acessar uma página Web, onde estarão disponíveis todas

as informações que ela deseja.

Sabendo do bom resultado final do projeto e que as informações gravadas em

um banco de dados poderiam ser acessadas a qualquer momento de forma rápida e

simples, foi bastante satisfatório para os desenvolvedores.

Page 69: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

69

6 CONSIDERAÇÕES FINAIS

Tendo em vista a necessidade de sistemas de monitoramento para lavouras,

não apenas de maracujá, mas de uma maneira geral, foi possível perceber a

importância que este projeto possui para a cultura do maracujá, bem como para a

agricultura regional.

Visto que uma boa parte da produção de alimentos no Brasil é perdida devido

a falta de monitoramento, tanto no período da safra como no período pós colheita,

sabe-se do potencial que projetos como este. Sabe-se que com a realização de

projetos como este, é possível minimizar sim os impactos causados por fatores

climáticos como a temperatura e a umidade relativa do ar.

Os desenvolvedores deste projeto sentem-se realizados por terem alcançado

o objetivo proposto. Que era de criar um protótipo baseado no conceito de Smart

Farm, que fosse capaz de capturar dados referentes a temperatura e umidade de

uma lavoura de maracujá e disponibilizá-los de forma simples ao agricultor

interessado.

Mesmo com o objetivo inicial do trabalho sendo alcançado, muitos outros

trabalhos podem ser realizados a partir deste. Em um primeiro momento seria

conveniente estudar uma fonte de energia que seja durável e de baixo custo para

alimentar o protótipo que ficará coletando os dados na lavoura, visto que foi utilizada

apenas uma bateria de 9 V para fins de teste. Em um segundo momento pode-se

pensar em um aperfeiçoamento na página web, tornando-a mais intuitiva e de fácil

uso para o agricultor. Isso pode ser feito criando campos separados para que o

agricultor possa inserir a data e a hora da busca, e também gerando gráficos a partir

dos dados coletados.

Contudo conclui-se que através de pesquisas cientificas em busca das

necessidades do mercado e do estudo de tecnologias existentes, muito projetos

podem ser desenvolvidos a partir do conceito de Smart Farm, contribuindo de forma

relevante para a agricultura.

Page 70: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

70

REFERÊNCIAS

AOSONG ELECTRONICS CO.LTD. DATA SHEET: Digital-output relative humidity &

temperature sensor/module DHT22, 2013.

ALL, Hafle; Et. Rentabilidade Econômica do Cultivo do Maracujazeiro Amarelo Sob

Diferentes Podas e Formação. Paraíba: Instituto Federal de Educação Ciência e

Tecnologia da Paraíba, 2010.

ARDUINO. Cc. Arduino. Disponível em: <http://arduino.cc/> Acesso 05 nov. 2013.

BARRETO, Mauricio Vivas de Souza. Curso Linguagem PHP. 2000. BARROS, Héden Sousa,OLIVEIRA, Marcelo. Tecnologia Wireless (Wlans). Instituto de Estudos Superiores da Amazônia Curso de Engenharia da Computação, 2005. BRITO, Marcos Vinicius Toledo; SILVA, Robson Paulo Fernandes. Implementação De Bacnet Sobre Zigbee Para Rede De Automação Predial Wireless. 2009. Smart Farm. Disponível em: <www.csiro.au>. Acesso em: 10 out. 2013. CLARO, Daniela Barreiro; SOBRAL, João Bosco Mangueira. Programando em Java. 2008. DATE, C. J. Introdução a Sistemas de Banco de Dados. 9 Reimpressão. Rio de Janeiro. Elsevier. 2003.

DEITEL, H.M; DEITEL, P.J. Java Como Programar. 2003. DIGI INTERNATIONAL. DATA SHEET: XBee/XBee-PRO RF Modules. Minnetonka: Digi International Inc, 2009. EVANGELISTA, Davi Stoll. Integração De Redes De Sensores Zigbee Para Automação Predial Utilizando Módulos Meshbean. 2010. FARIAS, P.C.B Artigos de Redes Wireless – Parte 1 <http://www.juliobattisti.com.br/artigos/wireless/001.asp> acesso em 19 out 2013 FAO. Alimentos. Disponível em <https://www.fao.org.br/> acesso em 03 out 2013.

FREEMAN, Elisabeth; FREEMAN. Use a Cabeça: O guia amigo sobre HTML e CSS 2ºedição, Editora Alta Books, 2008.

Page 71: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

71

FLANAGAN, David. Javascript: O Guia Definitivo 4º edição, Artmed Editora S.A, 2004. GOMES, E.L.B; TAVARES, L.A. Uma solução com Arduino para controlar e monito-rar processos industriais. 2013 Disponível <http://www.inatel.br/pos/index.php/downloads/doc_download/26-luis-tavares-arduino.>.. JUSTEN, Alvaro. Curso de Arduino. Disponível em: <http://www.cursodearduino.com.br/apostila/apostila-rev4.pdf>. Acesso em: 25 nov. 2013. LIMA, Adelise de Almeida; BORGES, Ana Lúcia. EXIGÊNCIAS CLIMÁTICAS DO MA-RACUJAZEIRO. 2007. Disponível em: <www.todafruta.com.br>. Acesso em: 1 dez. 2013. LONGO, Rafael. Estudo e Avaliação da Utilização de Bancos de Dados para o Ar-mazenamento de Dados MIDI, 2006. Disponível em: <https://repositorio.ufsc.br/bitstream/handle/123456789/85325/233576.pdf?sequence=1> acesso em 25 out 2013

LOPES, Alexandre Pereira; NASCIMENTO, Dalton Barbosa; LIMA, Mayara Moreira. Zigbee na indústria. 2012. LOUREIRO, A.F. Redes de Sensores Sem Fio. 2006. Disponível em : <http://www.ic.unicamp.br/~cmbm/desafios_SBC/loureiroredesensores.pdf> acesso 01 nov. 2013.

LUGLI, Alexandre Baratella; SOBRINHO, Darlan Guilherme. Tecnologias Wireless Para Automação Industrial: Wireless_Hart, Bluetooth, Wisa, Wi-Fi, Zigbee E Sp-100. 2012. Disponível em: <http://www.inatel.br/pos/index.php/component/docman/doc_download/27-darlan-sobrinho-wireless> acesso em 23 nov 2013 MACHADO, Felipe, ABREU, Mauricio. Projeto de banco de dados: Uma visão pratica. Editora Érica Ltda., 2004. MALETTI, Laura Maria Molina. AVANÇOS NA CULTURA DO MARACUJÁ NO BRASIL. Jaboticabal - Sp: Revista Brasileira de Fruticultura, 2011. Mandioca e Fruticultura: Maracujá. Disponível em: <www.cnpmf.embrapa.br> Acesso em: 10 nov. 2013. MCROBERTS, Michael. Arduino básico. 1ed. São Paulo. Novatec Editora, 2011.

MELO, Alexandre Altais; NASCIMENTO, Mauricio G.F..Php Profissional Aprenda A Desenvolver Sistemas Profissionais Orientados A Objetos Com Padrões De Projeto. 2007.

Page 72: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

72

MENDES, Douglas Rocha. Programação Java com Ênfase em Orientação a Objetos. 2009. MORAES, Alexandre Fernandes de. Redes de Computadores: Fundamentos. 7. ed.

São Paulo: Érica, 2011.

O PADRÃO Zigbee. Disponível em: <zigbee.org>. Acesso em: 15 out. 2013. PEREIRA, H.P.: Segurança em redes wireless 802.11 infra estruturadas; Universi-dade Federal de Lavras MG (UFLA)

POSSANI, Rafael Guedes. Re-Engenharia do software SCMS para uma linguagem orientada a objetos (JAVA). 2012. PUTTINI, Ricardo Staciarini. Um Modelo de Segurança para Redes Móveis AD HOC. 2004. 192 f. Tese (Doutorado) - Curso de Engenharia Elétrica, Universidade de Brasília Faculdade de Tecnologia Departamento de Engenharia Elétrica, Brasília, 2004. RODRIGUES, Fausto Perez. Solução de automação remota utilizando gnu/linux embarcado e o protocolo zigbee/802.15.4. 2012. RXTX. Disponível em: <http://rxtx.qbang.org/>. Acesso em: 20 nov. 2013. SILVA, Leandro Honorato de Souza. Desenvolvimento de uma Rede de Sensores Sem Fio Utilizando ZigBee para Aplicações Diversas. 2011. SILVA, José Rafael da. Maracujá: Produção, pós-colheita e mercado. Fortaleza: Instituto Frutal, 2004. SILVEIRA, João Alexandre. Experimentos com o Arduino: Monte seus próprios projetos com o Arduino utilizando as linguagens C e Processing. São Paulo. Editora Ensino Profissional. 2011.

SHASHWATHI, N; BORKOTOKY, P; SUHAS K. Smart Farming: A Step towards Tech-no-Savvy Agriculture. 2012. Disponível em < http://research.ijcaonline.org/volume57/number18/pxc3883773.pdf>. Acesso em: 21 nov. 2013. SOARES, Sergio Aurelio Ferreira. Rede de Sensores Sem Fio Para Localização e Monitoramento de Pequenos Ruminantes. 2012. TANENBAUM, A. S. Redes de Computadores. 4. ed. Tradução Vandenberg D. de Souza; Rio de Janeiro: Elsevier, 2003.

Page 73: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

73

TORRES, Gabriel. Redes de Computadores: curso completo. Axcel Books do Brasil Editora Ltda. 2001 VASILJEVÍC, Gabriel. Apostila de Arduino. Disponível em: <http://escoladeverao.weebly.com/uploads/5/0/3/7/5037808/apostila_v0.5a.pdf>. Acesso em: 23 out 2013. VIEIRA, D.L.F. IEEE 802.11. 2004. Disponível em: <http://www.ravel.ufrj.br/sites/ravel.ufrj.br/files/publicacoes/tutorial_padrao_ieee_802.11_2.pdf>. Acesso em: 03 nov. 2013. WENDLING, Marcelo. Sensores. Guaratinguetá, 2010. WI-FI Org. 802.11. - .

Page 74: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

74

APÊNDICES

APÊNDICE A – Código Arduino

APÊNDICE B- Código Classe Principal.java

APÊNDICE C- Código Classe Server.java

APÊNDICE D- Código Classe SerialComm.java

APÊNDICE E- Código Classe Banco.java

APÊNDICE F- Código Página Web index

APÊNDICE G- Código Página Web buscaleitura

Page 75: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

75

APÊNDICE A: Código Fonte Arduino

#include <DHT.h>

#define DHTPIN 2

#define DHTTYPE DHT22

DHT dht(DHTPIN, DHT22);

void setup() {

Serial.begin(9600);

dht.begin();

}

void loop() {

float h = dht.readHumidity();

float t = dht.readTemperature();

Serial.print("h");

Serial.print(h);

Serial.print("t");

Serial.println(t);

delay(10000);

}

APÊNDICE B- Código Classe Principal.java

Page 76: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

76

package serial;

import serial.SerialComm;

public class Principal {

public static void main(String args[]) {

Server server = new Server();

server.interfaces();

}

}

APÊNDICE C- Código Classe Server.java

package serial;

import java.awt.BorderLayout;

import java.awt.GridLayout;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.awt.event.WindowEvent;

import java.awt.event.WindowListener;

import javax.swing.BorderFactory;

import javax.swing.DefaultListModel;

import javax.swing.JButton;

import javax.swing.JComboBox;

import javax.swing.JFrame;

import javax.swing.JLabel;

Page 77: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

77

import javax.swing.JList;

import javax.swing.JOptionPane;

import javax.swing.JPanel;

import javax.swing.JScrollPane;

import javax.swing.event.ListSelectionEvent;

import javax.swing.event.ListSelectionListener;

public class Server

{

SerialComm serial = new SerialComm(); //chama classe que faz a conecção

serial e identifica portas

protected static final ActionListener ActionListener = null;

public static JFrame frame;

public static JPanel content;

public static JPanel panel1;

public static JPanel panel2;

public static JPanel panel3;

public static JButton btn_disconnect;

public static JList list_clients;

public static DefaultListModel list_clients_model;

public static String porta;

public void interfaces()

Page 78: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

78

{

serial.disponivel();

porta=SerialComm.ports[0];

final JComboBox comList = new JComboBox(SerialComm.ports);

comList.setEditable(true);

comList.addActionListener(new ActionListener()

{

public void actionPerformed(ActionEvent e) {

JComboBox cb = (JComboBox)e.getSource();

String newSelection = (String)cb.getSelectedItem();

porta = newSelection;

}

}

);

btn_disconnect = new JButton();

btn_disconnect.setText("Iniciar");

btn_disconnect.addActionListener(new ActionListener()

{

@Override

public void actionPerformed(ActionEvent e)

{

btn_disconnect.setText("Parar");

comList.setEnabled(false);

btn_disconnect.removeActionListener(this);

serial.execute();

}

});

list_clients_model = new DefaultListModel();

list_clients = new JList(list_clients_model);

list_clients.addListSelectionListener(new ListSelectionListener()

Page 79: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

79

{

@Override

public void valueChanged(ListSelectionEvent e)

{

if (e.getValueIsAdjusting())

{

System.out.println(list_clients.getSelectedIndex());

}

}

});

frame = new JFrame();

frame.setTitle("Server Arduino");

frame.addWindowListener(new WindowListener()

{

public void windowActivated(WindowEvent e) {}

public void windowClosed(WindowEvent e) {}

@Override

public void windowClosing(WindowEvent e)

{

System.exit(0);

}

public void windowDeactivated(WindowEvent e) {}

public void windowDeiconified(WindowEvent e) {}

public void windowIconified(WindowEvent e) {}

public void windowOpened(WindowEvent e) {}

});

Page 80: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

80

panel1 = new JPanel();

panel1.setLayout(new GridLayout(1, 1, 1, 1));

panel1.add(btn_disconnect);

panel1.add(comList);

panel2 = new JPanel();

panel2.add(new JLabel());

panel3 = new JPanel();

panel3.setLayout(new BorderLayout(1, 1));

panel3.add(panel1, BorderLayout.NORTH);

panel3.add(new JScrollPane(list_clients), BorderLayout.CENTER);

panel3.add(panel2, BorderLayout.SOUTH);

content = new JPanel();

content.setLayout(new GridLayout(1, 1, 1, 1));

content.add(panel3);

content.setBorder(BorderFactory.createEmptyBorder(10, 10, 10, 10));

frame.setContentPane(content);

frame.pack();

frame.setSize(350, 400);

frame.setLocationRelativeTo(null);

frame.setVisible(true);

}

}

Page 81: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

81

APÊNDICE D- Código Classe SerialComm.java

package serial;

import gnu.io.CommPortIdentifier;

import gnu.io.PortInUseException;

import gnu.io.SerialPort;

import gnu.io.SerialPortEvent;

import gnu.io.SerialPortEventListener;

import gnu.io.UnsupportedCommOperationException;

import java.awt.event.ActionEvent;

import java.awt.event.ActionListener;

import java.io.IOException;

import java.io.InputStream;

import java.util.ArrayList;

import java.util.Date;

import java.util.Enumeration;

import java.util.TooManyListenersException;

import java.sql.Timestamp;

/**

*

* @author prototipo

*/

public class SerialComm implements SerialPortEventListener {

InputStream inputStream;

Page 82: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

82

protected static final ActionListener ActionListener = null;

public void execute() {

Server.btn_disconnect.addActionListener(new ActionListener()

{

@Override

public void actionPerformed(ActionEvent e) {

System.exit(0);

}

}

);

banco banco = new banco();

String portName = Server.porta;

CommPortIdentifier portId = getPortIdentifier(portName);

if(portId != null) {

try {

SerialPort serialPort = (SerialPort) portId.open(this.getClass().getName(), 2000);

inputStream = serialPort.getInputStream();

serialPort.addEventListener(this);

serialPort.notifyOnDataAvailable(true);

Page 83: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

83

serialPort.setSerialPortParams(9600, SerialPort.DATABITS_8,

SerialPort.STOPBITS_1,

SerialPort.PARITY_NONE);

}

catch (PortInUseException e) {}

catch (IOException e) {}

catch (UnsupportedCommOperationException e) {

e.printStackTrace();

}

catch (TooManyListenersException e) {}

} else {

Server.list_clients_model.addElement(portName+" Porta Serial não

disponível");

}

}

/**

* Get The port name

**/

/**

*Get the Port Identifier

**/

public CommPortIdentifier getPortIdentifier(String portName) {

Enumeration portList = CommPortIdentifier.getPortIdentifiers();

Page 84: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

84

Boolean portFound = false;

while (portList.hasMoreElements()) {

CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();

if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) {

if (portId.getName().equals(portName)) {

Server.list_clients_model.addElement("Conectado na porta

"+portName);

portFound = true;

return portId;

}

}

}

return null;

}

public static ArrayList<String> portas = new ArrayList<String> ();

public static String[] ports;

public void disponivel()

{

Enumeration portList = CommPortIdentifier.getPortIdentifiers();

int i=0;

while (portList.hasMoreElements())

{

CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();

if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)

{

portas.add(portId.getName());

Page 85: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

85

i++;

}

}

int numPorts = portas.size();

ports = new String[numPorts];

for(i=0; i<numPorts; i++)

{

ports[i] = portas.get(i);

}

}

String result2= "";

public void serialEvent(SerialPortEvent event) {

switch (event.getEventType()) {

case SerialPortEvent.BI:

case SerialPortEvent.OE:

case SerialPortEvent.FE:

case SerialPortEvent.PE:

case SerialPortEvent.CD:

case SerialPortEvent.CTS:

case SerialPortEvent.DSR:

case SerialPortEvent.RI:

case SerialPortEvent.OUTPUT_BUFFER_EMPTY:

break;

case SerialPortEvent.DATA_AVAILABLE:

byte[] readBuffer = new byte[16];

try {

int numBytes = 0;

while (inputStream.available() > 0) {

Page 86: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

86

numBytes = inputStream.read(readBuffer);

}

String result = new String(readBuffer);

result = result.substring(0, numBytes);

System.out.println(result.length()+" - "+result);

Timestamp time = new Timestamp(System.currentTimeMillis());

String daata = String.valueOf(time);

String resposta = result;

Date now = new Date();

Long longtime = new Long(now.getTime()/1000);

System.out.println(longtime.intValue());

banco.grava(result, longtime.intValue());//método da classe banco para

gravar na tabela

} catch (IOException e) {}

break;

}

}

}

APÊNDICE E- Código Classe Banco.java

Page 87: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

87

package serial;

import java.security.Timestamp;

import java.sql.Connection;

import java.sql.DriverManager;

import java.sql.ResultSet;

import java.sql.SQLException;

import com.mysql.jdbc.PreparedStatement;

public class banco {

public static void grava(String ler, int time) {

if(ler.length()==14)

{

try {

Class.forName("com.mysql.jdbc.Driver");

Connection con;

int posH = ler.indexOf("h");

int posT = ler.indexOf("t");

String Humidity = ler.substring(posH+1, posT);

String Temperature = ler.substring(posT+1, ler.length());

con = DriverManager.getConnection("jdbc:mysql://localhost",

"root", "1234");

String query ="INSERT INTO

monitoramento.leituras(temperatura, umidade, data) VALUES (?,?,?)";

PreparedStatement str;

str = (PreparedStatement) con.prepareStatement(query);

str.setString(1, Temperature);

Page 88: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

88

str.setString(2, Humidity);

str.setInt(3, time);

str.execute();

str.close();

Server.list_clients_model.addElement(time+" - U: "+Humidity+ " T:

"+Temperature);

System.out.println("Umidade: "+Humidity+ " Temperatura: "+Temperature);

} catch (ClassNotFoundException e) {

System.out.println("Classe nao encontrada");

} catch (SQLException e){

System.out.println("Erro de Conexao!");

}

}

}

}

APÊNDICE F- Código Página Web index

<?php

$conect = mysql_connect("127.0.0.1","root","1234"); // coneccao com o banco

if(!$conect) die ("<h1>Falha na Conecao com o banco</h1>"); // erro caso nao

conecte

Page 89: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

89

$db = mysql_select_db("monitoramento"); // seleciona o banco monitoramento

$query = mysql_query("select * from leituras order by id desc limit 0,1");

?>

<html>

<head>

<script type="text/javascript" src="js/jquery.js" charset="utf-8"></script>

<title>Projeto Arduino</title>

<style>

body{margin:0}

#conteudo{ margin:0 auto; width:1000px; height: 500px; background-color:#ffffff;}

#topo{position:relative; float:left; width:1000px; height:200px; background-image:

url(imagens/topo.png);}

#arduino{position:absolute; width:50px; height:50px; background-image:

url(imagens/arduino_logo.png); top:15px; left:15px;}

#zigbee{position:absolute; width:50px; height:72px; background-image:

url(imagens/Zigbee.png); top:75px; left:15px;}

#ifc{position:absolute; width:280px; height:112px; background-image:

url(imagens/logo_IFC.png); top:5px; right:15px;}

#titulo{position:absolute; width:280px; height:50px; top:142px; right:273px; font-

family:arial; font-weight:bold; color:#ffffff}

#redes{position:absolute; width:80px; height:80px; background-image:

url(imagens/logo_Redes.png); top:5px; right:300px;}

#atual{position:relative; float:left; width:1000px; height:30px; font-family:arial; font-

weight:bold; border-bottom:1px solid #000000;}

#busca{position:relative; float:left; width:1000px; height:200px;}

Page 90: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

90

#graph{position:relative; float:left; width:700px; height:200px;}

#campo{position:relative; float:left; width:200px; height:20px; border:1px solid

#000000; font-family:arial; text-align: center;}

</style>

<script>

function busca()

{

data1=$("#data1").val();

data2=$("#data2").val();

valor1 = new Date(data1).getTime() / 1000;

valor2 = new Date(data2).getTime() / 1000;

$("#graph").html("");

$("#graph2").html("");

$.ajax({

type:"POST",

url:"buscaleitura.php",

dataType:"json",

data:{data1:valor1 , data2:valor2},

success: function(json)

{

qtd = json.qtd;

$("#graph").append("<div id='campo'><strong>Data</strong></div><div

id='campo'><strong>Temperatura</strong></div><div

id='campo'><strong>Umidade</strong></div>");

for(i=0; i<qtd; i++)

{

temp=json[i].temperatura;

umi=json[i].umidade;

dat=json[i].data;

Page 91: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

91

mydate = new Date (dat*1000);

$("#graph").append("<div id='campo'>"+mydate.toLocaleString()+"</div><div

id='campo'>"+temp+"</div><div id='campo'>"+umi+"</div>");

}

}

});

}

</script>

</head>

<body>

<div id="conteudo">

<div id="topo">

<div id="arduino"></div>

<div id="zigbee"></div>

<div id="ifc"></div>

<div id="titulo">Monitoramento de Temperatura e Umidade do Ar</div>

<div id="redes"></div>

</div>

<div id="atual">

<?php

while($dados = @mysql_fetch_array($query)) // cria um array que qnto ele tiver

dados...

{

$temp = $dados['temperatura']; // armazena em $temp os resultados do campo

temperatura

$umi = $dados['umidade']; // armazena em $umi os resultados do campo umidade

echo "Temperatura: $temp Umidade: $umi<br>"; // imprime na tela os resultados

}

?>

Page 92: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

92

</div>

<div id="busca">

data 1<input type="text" id="data1"> data 2<input type="text" id="data2"> <button

type="button" onclick="javascript:busca();">Busca</button>

<div id="graph"></div>

<div id="graph2"></div>

</div>

</div>

</body>

</html>

APÊNDICE G- Código Página Web buscaleitura

<?php

$conect = mysql_connect("127.0.0.1","root","1234"); // coneccao com o banco

if(!$conect) die ("<h1>Falha na Conecao com o banco</h1>"); // erro caso nao

conecte

$db = mysql_select_db("monitoramento"); // seleciona o banco monitoramento

$data1 = $_POST['data1'];

$data2 = $_POST['data2'];

$query = mysql_query("select * from leituras where data>=$data1 and data<= $data2

order by id asc");

$r=0;

while($dados=mysql_fetch_array($query))

{

$temp = $dados['temperatura'];

Page 93: Modelo de Tese - Campus Avançado Sombriosombrio.ifc.edu.br/download/redes/TCC_2013/TCC_Jadson_Jhonatan.pdf · teórica, que dará um embasamento cientifico para nosso trabalho. No

93

$umi = $dados['umidade'];

$data = $dados['data'];

$arr[$r]['umidade'] = $umi;

$arr[$r]['temperatura'] = $temp;

$arr[$r]['data'] = $data;

$arr['qtd'] = $r;

$r++;

}

echo json_encode($arr);

?>