• Nenhum resultado encontrado

UM SISTEMA DE SUPERVISÃO REMOTA DE ELETRODOMÉSTICOS EM REDE SEM FIO IEEE 802.15.4

N/A
N/A
Protected

Academic year: 2019

Share "UM SISTEMA DE SUPERVISÃO REMOTA DE ELETRODOMÉSTICOS EM REDE SEM FIO IEEE 802.15.4"

Copied!
126
0
0

Texto

(1)

UNIVERSIDADE DO ESTADO DE SANTA CATARINA – UDESC CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT

DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA – PPGEEL

!" " "# "

$%&'

UM SISTEMA DE SUPERVISÃO REMOTA

DE ELETRODOMÉSTICOS EM REDE SEM FIO IEEE 802.15.4

(2)

DEPARTAMENTO DE ENGENHARIA ELÉTRICA – DEE

PROGRAMA DE PÓS-GRADUAÇÃO EM ENGENHARIA ELÉTRICA – PPGEEL

RODRIGO CURVÊLLO

UM SISTEMA DE SUPERVISÃO REMOTA

DE ELETRODOMÉSTICOS EM REDE SEM FIO IEEE 802.15.4

DISSERTAÇÃO APRESENTADA PARA OBTENÇÃO DO TÍTULO DE MESTRE EM ENGENHARIA ELÉTRICA DA UNIVERSIDADE DO ESTADO DE SANTA CATARINA, CENTRO DE CIÊNCIAS TECNOLÓGICAS – CCT, ORIENTADA PELO PROF. DR. ANTONIO HERONALDO DE SOUSA.

JOINVILLE - SC

(3)

UM SISTEMA DE SUPERVISÃO REMOTA

DE ELETRODOMÉSTICOS EM REDE SEM FIO IEEE 802.15.4

Essa dissertação foi julgada adequada para a obtenção do título de MESTRE EM ENGENHARIA ELÉTRICA

na área de concentração "Automação de Sistemas", e aprovada em sua forma final pelo CURSO DE MESTRADO EM ENGENHARIA ELÉTRICA

DO CENTRO DE CIÊNCIAS TECNOLÓGICAS DA UNIVERSIDADE DO ESTADO DE SANTA CATARINA

Dr. Antonio Heronaldo de Sousa CCT-UDESC/SC

(presidente) Banca Examinadora:

Dr. André Bittencourt Leal CCT-UDESC/SC

Dr. Mehran Misaghi IST-SOCIESC/SC

_____________________________________ Dr. Claudio César de Sá

CCT-UDESC/SC

(4)

FICHA CATALOGRÁFICA

NOME: CURVÊLLO, Rodrigo DATA DEFESA: 12/12/2008 LOCAL: Joinville, CCT/UDESC

NÍVEL: Mestrado Número de ordem: 10 – CCT/UDESC FORMAÇÃO: Engenharia Elétrica

ÁREA DE CONCENTRAÇÃO: Automação de Sistemas

TÍTULO: Um sistema de supervisão remota de eletrodomésticos em rede sem fio IEEE 802.15.4. PALAVRAS - CHAVE: Supervisório, Rede sem Fio, IEEE 802.15.4, Eletrodoméstico. NÚMERO DE PÁGINAS: v, 123 p.

CENTRO/UNIVERSIDADE: Centro de Ciências Tecnológicas da UDESC PROGRAMA: Pós-graduação em Engenharia Elétrica - PPGEEL

CADASTRO CAPES: 41002016012P0

ORIENTADOR: Dr. Antonio Heronaldo de Sousa

PRESIDENTE DA BANCA: Dr. Antonio Heronaldo de Sousa

(5)
(6)

AGRADECIMENTOS

ƒ A Deus, que fornece a vida, essencial para todas as realizações; ƒ A Família, que sempre colaborou para o meu crescimento;

ƒ Ao Professor Dr. Antonio Heronaldo de Sousa, pela dedicação e crédito depositado

em mim;

ƒ A UDESC, por todo o apoio dado a esta pesquisa;

ƒ A SOCIESC, por mostrar que é possível a mudança do ser pela da educação;

ƒ Aos amigos da SOCIESC que colaboraram nas horas mais difíceis e mostraram que

seria possível transpor este desafio;

ƒ Aos amigos do Mestrado Ana Watanabe e Rafael Prado por todos os momentos

compartilhados;

ƒ Ao bolsista Ernani César dos Santos, por acompanhar e ajudar no início deste

trabalho;

ƒ Ao aluno Gustavo Meyer, por ajudar no planejamento e desenvolvimento de

algumas atividades deste projeto;

ƒ Ao aluno Tiago Antonio Jacobi, por ajudar a desvendar os mistérios do framework

Flex da Adobe;

ƒ Aos alunos Cleder da Silva Costa, Júlio Luiz do Amaral e Renan Augusto da Silva

por ajudar no desenvolvimento das classes de relatório;

ƒ Ao amigo Sebastião Sales Bueno Junior, pela revisão do Abstract;

ƒ A minha esposa Indianara e ao meu filho Gustavo, por suportarem o meu humor

(7)
(8)

RESUMO

A proposta deste trabalho é o desenvolvimento de um sistema de supervisão remota de eletrodomésticos em rede sem fio utilizando o padrão de comunicação IEEE 802.15.4. Como objetivos principais da aplicação estão o controle, monitoramento, parametrização e supervisão dos eletrodomésticos da rede, possibilitando assim o envio de comandos para os eletrodomésticos e o recebimento das informações sobre o estado de operação dos mesmos. Os dados recebidos são armazenados no banco de dados da aplicação para posterior filtragem, gerando os relatórios de utilização para cada um dos eletrodomésticos. Com isto é possível gerar alertas sobre o comportamento dos eletrodomésticos, disparando avisos para os usuários cadastrados na aplicação. Os resultados obtidos mostram que o acesso aos dados do sistema remotamente, através da publicação da aplicação na Web, permite aos usuários domésticos, fabricantes e pessoal responsável pela manutenção dos eletrodomésticos, gerenciarem o sistema, auxiliando no desenvolvimento de novos produtos e agendamento de manutenções preventivas, além de aumentar as possibilidades de novos serviços aos usuários. Para o desenvolvimento da aplicação foram utilizadas a linguagem de programação Java, principalmente suas tecnologias voltadas para Web como JSP e Servlet, banco de dados MySQL e containerWebApacheTomCat.

(9)

ABSTRACT

The objective of this work is the development of a remote supervision of Household appliances within a wireless network using the standard communication IEEE 802.15.4. As main objectives of this system it is important to point the controlling, monitoring, configuration and supervision of the household appliances within the network, creating so the possibility of issue commands to the household appliances and the recivement of the information about their state operation. Every data are stored in the data base of the system to later mining, creating the reports of utilization of each household appliance. With that, it is possible to generate alerts about the performance of the household appliances, going off messages to users of the system. The obtained results show that the access to the system data, by remote way, via the publication of its application on the Web allow the house users, factors and the household appliances maintenance staff, manage the system. It helps so in the development of new products, in the scheduling of preventive maintenance, besides of the increasing of the possibilities of news services to users. To the development of the system it was used the programming language Java, mainly its technologies applied to the Web as JSP and Servlet, data base MySQL and the container Web Apache Tomcat.

(10)

SUMÁRIO

INTRODUÇÃO ... 18

1.1 Motivação ... 18

1.2 Objetivos ... 19

1.2.1 Objetivos Específicos ... 19

1.3 Organização ... 20

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

2.1 Sistema Supervisório ... 22

2.2 Redes de Computadores ... 24

2.2.1 Abrangência das Redes ... 25

2.2.2 Topologias das Redes ... 25

2.3 Comunicação de Dados via Rede Elétrica (Powerline) ... 26

2.4 Redes sem Fio ... 28

2.4.1 IEEE 802.15.4 Camada Física (PHY) ... 33

2.4.2 IEEE 802.15.4 Camada Enlace (MAC) ... 36

2.4.3 ZigBee ... 38

2.5 Funcionamento das Aplicações Web ... 42

2.5.1 Tecnologias Java para Web... 46

2.5.2 Tecnologia para geração de relatórios ... 49

2.6 UML ... 50

2.6.1 Levantamento de Requisitos ... 50

2.6.2 Diagrama de Caso de Uso ... 51

2.6.3 Diagrama de Seqüência ... 52

(11)

3 PROPOSTA DA APLICAÇÃO PONTO-A-PONTO ... 55

3.1 Levantamento de Requisitos da Aplicação Ponto-a-Ponto ... 56

3.2 Diagrama de Caso de Uso da Aplicação Ponto-a-Ponto ... 57

3.2.1 Especificação do Caso de Uso da Aplicação Ponto-a-Ponto ... 59

3.3 Diagrama de Seqüência da Aplicação Ponto-a-Ponto ... 63

3.4 Diagrama de Classe da Aplicação Ponto-a-Ponto ... 65

3.5 Kit de Desenvolvimento ... 68

3.6 Interface RS-232 ... 70

3.7 Interface com o Usuário da Aplicação Ponto-a-Ponto ... 72

3.8 Conclusão da Aplicação Ponto-a-Ponto ... 76

4 PROPOSTA DA APLICAÇÃO EM REDE VIA ACESSO REMOTO ... 78

4.1 Levantamento de Requisitos da Aplicação em Rede via Acesso Remoto ... 80

4.2 Caso de Uso da Aplicação em Rede via Acesso Remoto ... 82

4.2.1 Especificação do Caso de Uso da Aplicação em Rede via Acesso Remoto .. 83

4.3 Diagrama de Seqüência da Aplicação em Rede via Acesso Remoto ... 86

4.4 Diagrama de Classe da Aplicação em Rede via Acesso Remoto ... 88

4.5 Interface com o Usuário da Aplicação em Rede via Acesso Remoto ... 91

4.5.1 Autenticação ... 93

4.5.2 Tipo de Equipamento ... 94

4.5.3 Perfil de Utilização ... 95

4.5.4 Perfil do Usuário ... 96

4.5.5 Marcas ... 96

4.5.6 Modelos ... 97

4.5.7 Usuários ... 98

4.5.8 Equipamentos ... 98

4.5.9 Tarefas ... 99

4.5.10Alertas de Supervisão ... 100

(12)

4.5.12Painel de Controle ... 103

4.5.13Relatórios ... 104

4.6 Conclusão da Aplicação em Rede via Acesso Remoto ... 105

5 RESULTADOS E CONSIDERAÇÕES FINAIS ... 108

5.1 Dados Gerados pela Aplicação ... 108

5.2 Considerações Finais ... 111

5.2.1 Publicações ... 112

5.2.2 Trabalhos Futuros ... 112

REFERÊNCIAS ... 114

ANEXO A - Diagrama de Blocos do MC13213 e HCS-08 ... 120

(13)

LISTADEFIGURAS

Figura 2.1 - Rede sem fio modo infra-estrutura. ... 30

Figura 2.2 - Rede sem fio modo ad hoc. ... 31

Figura 2.3- Faixas para freqüência de operação ISM. ... 33

Figura 2.4 - Modelo de referência da camada física IEEE 802.15.4. ... 35

Figura 2.5 - Modelo de referência da camada de enlace IEEE 802.15.4... 37

Figura 2.6 – Áreas de aplicação do ZigBee ... 39

Figura 2.7 - Enquadramento do padrão ZigBee dentro do IEEE 802. ... 39

Figura 2.8 - Comparação do ZigBee com outras tecnologias sem fio. ... 40

Figura 2.9 - Topologias das redes ZigBee. ... 41

Figura 2.10 - Camadas ZigBee. ... 41

Figura 2.11 – Comunicação entre cliente e servidor Web. ... 42

Figura 2.12- Exemplo de uma URL. ... 46

Figura 2.13 - Ciclo de um aplicativo Java. ... 47

Figura 2.14 - Comunicação entre cliente, servidor e container Web. ... 48

Figura 2.15 – Interação entre cliente e servidor para geração dos relatórios. ... 49

Figura 2.16 – Exemplo de diagrama de caso de uso ... 52

Figura 2.17 - Exemplo de diagrama de seqüência. ... 53

Figura 2.18- Relacionamentos existentes nos diagramas de classe. ... 54

Figura 3.1 - Estrutura de funcionamento da aplicação local. ... 56

Figura 3.2 – Diagrama de caso de uso para o ator usuário. ... 58

Figura 3.3 – Diagrama de caso de uso para o ator lavadora. ... 58

Figura 3.4 – Diagrama de seqüência para iniciar a aplicação ... 64

(14)

Figura 3.6 - Diagrama de classe da aplicação local. ... 66

Figura 3.7 – Estrutura do datagrama da aplicação ponto-a-ponto. ... 67

Figura 3.8 – Diagrama de bloco do módulo de desenvolvimento. ... 70

Figura 3.9 - Pinagem do conector DB9 ... 71

Figura 3.10 - Tela principal da aplicação local. ... 73

Figura 3.11 - Painel de configuração dos tempos. ... 74

Figura 3.12 - Menu para alterar o idioma da aplicação. ... 75

Figura 3.13 - Aplicação traduzida para o inglês. ... 75

Figura 4.1 - Modelo de funcionamento da aplicação em rede via acesso remoto. ... 78

Figura 4.2 – Diagrama de caso de uso da aplicação em rede via acesso remoto ... 83

Figura 4.3 – Diagrama de seqüência para incluir tarefa ... 87

Figura 4.4 – Diagrama de seqüência para incluir alerta ... 88

Figura 4.5 – Diagrama de classe da comunicação da aplicação. ... 88

Figura 4.6 - Estrutura do datagrama da aplicação em rede via acesso remoto. ... 89

Figura 4.7 – Diagrama de classe dos cadastros da aplicação. ... 91

Figura 4.8 – Estrutura em camadas utilizando MVC ... 93

Figura 4.9 – Seqüência para autenticação do usuário. ... 94

Figura 4.10 – Cadastro de tipos de equipamentos. ... 95

Figura 4.11 – Cadastro perfil de utilização. ... 96

Figura 4.12 – Cadastro perfil de usuário. ... 96

Figura 4.13 – Cadastro de marcas. ... 97

Figura 4.14 – Cadastro de modelos. ... 97

Figura 4.15 – Cadastro de usuários. ... 98

Figura 4.16 – Cadastro de equipamentos. ... 99

Figura 4.17 – Cadastro de tarefas. ... 100

(15)

Figura 4.19 – Exemplo do e-mail enviado para aviso do alerta. ... 102

Figura 4.20 – Equipamentos cadastrados. ... 103

Figura 4.21 – Painel de controle. ... 104

Figura 4.22 – Relatório de tempo de utilização. ... 104

Figura 5.1 – Gráfico de utilização diária do eletrodoméstico... 109

Figura 5.2 - Gráfico de utilização mensal do eletrodoméstico. ... 110

(16)

LISTADETABELAS

Tabela 2.1 – Comparação dos padrões 802.11 ... 32

Tabela 3.1 – Levantamento de requisitos da aplicação local ... 57

Tabela 3.2 – Especificação para visualizar estado de operação da lavadora (Usuário) . 59 Tabela 3.3 - Especificação para selecionar recursos da lavadora (Usuário) ... 60

Tabela 3.4 - Especificação para receber solicitação de estado (Lavadora) ... 61

Tabela 3.5 - Especificação para enviar resposta informando seu estado (Lavadora) ... 62

Tabela 3.6 - Especificação para receber comandos da aplicação (Lavadora) ... 63

Tabela 3.7 – Especificação das informações contidas em DADOS H ... 68

Tabela 4.1 - Levantamento de requisitos da aplicação em rede via acesso remoto ... 81

Tabela 4.2 – Especificação para realizar a manutenção das tarefas (Usuário) ... 84

Tabela 4.3 – Especificação para definir os relatórios (Usuário)... 85

(17)

LISTADEQUADROS

(18)

LISTA DE SIGLAS

A/D Analogic/Digital

API Application Program Interface BDM Background Debug Module

BO Business Object

CMD Comand Comando

CRC Cyclical Redundancy Check – Verificação de Redundância Cíclica

CSMA/CA Carrier Sense Multiple Access / Collision Avoidance – Detecção de Portadora a Acesso Múltiplo / Prevenção de Colisão

D/A Digital/Analogic DAO Data Acess Object

DSSS Direct-SequenceSpreadSpectrum DTO Data Transfer Object

ED Energy Detection

EIA Eletric Industries Association

FFD Full Function Device – Dispositivo de Função Completa

GPIO General Purpose Input Output – Entrada e Saída de Propósito Geral HTML HyperTextMarkupLanguage

(19)

IEEE Institute of Electrical and Eletronics Engineers – Instituto de Engenharia Elétrica e Eletrônica

IP InternetProtocol

IrDA InfraRed Data Organization – Organização de Dados Infra Vermelho J2SDK Java 2 Standard Development Kit

JSP Java Server Pages JVM Java Virtual Machine

LAN Local Area Network

LED Light-Emiting Diodes

LQI Link Quality Indicator – Indicação de Qualidade de Enlace MAC Media Access Control – Controle de Acesso ao Meio MAN Metropolitan Area Network

MCPS MACCommomPartSub-Layer MD5 Message-Digestalgorithm5 MLME MACLayerManagementEntity MPDU MACProtocolDataUnit MTU Master Terminal Units MVC Model, View and Control PAN Personal Area Network

PC Computador Pessoal – Personal Computer

PD PHYData

(20)

RF RadioFrequency

RFD Reduced Function Device RTU Remote Terminal Units

SCADA Supervisory Control and Data Acquisition TCP TransmissionControlProtocol

UML UnifiedModelingLanguage

URL Uniform Resource Locator - Localizador Uniforme de Recursos USB Universal Serial Bus

VO Value Object

WAN Wide Area Network

WI-FI Wireless Fidelity – Fidelidade sem fio WLAN Wireless Local Area Network

(21)

INTRODUÇÃO

1.1 MOTIVAÇÃO

A automação ampliou seu foco além da área industrial e está cada vez mais inserida na vida cotidiana e nos últimos tempos vem sendo aplicada também nas residências. Na domótica, como é conhecida a automação de residências, existe um diferencial, pois além de automatizar um determinado processo deve-se pensar em beleza, conforto e praticidade, pois se aplica em um ambiente bem mais descontraído do que os encontrados no chão de fábrica (BOLZANI, 2004).

As casas inteligentes, como são chamadas estas residências que possuem algum tipo de automação, têm um apelo futurista se analisadas pela grande parte da população. Porém, está cada vez maior o uso de recursos para automatizar residências, que pode ser comprovado com o crescente número de residências já existentes que utilizam estes recursos. Tal comportamento é uma sinalização de que o mercado de construção civil está sofrendo alterações em seus conceitos de projetos. Essas alterações são forçadas por vários fatores como segurança, praticidade, comodidade, preservação do meio ambiente e, até mesmo, a questão financeira.

Alguns dos recursos utilizados nestas residências são sistemas de segurança via Internet, controle de temperatura, sistema de irrigação das plantas, sistema para reutilização da água, aproveitamento da água da chuva, sistema automático de controle de iluminação, aproveitamento de energia solar, entre outros. Dentro deste panorama, os eletrodomésticos que serão inseridos neste novo tipo de residência têm que sofrer algumas modificações para poderem se adaptar a uma residência com tantos diferenciais tecnológicos. Todos os esforços neste sentido partem em âmbito individual, assim, cada fabricante em cada equipamento cria funções para melhorar a interface e o controle pelo usuário sobre determinado eletrodoméstico.

(22)

controle, o que em alguns casos pode gerar um trabalho significativo para a realização da instalação destes recursos.

A aplicação de redes sem fio na comunicação dos eletrodomésticos é algo que amplia a capacidade de controlar, monitorar, parametrizar e supervisionar remotamente estes dispositivos, devido à facilidade de instalação, pois não necessita de cabos ou fios adicionais. Para que isto funcione dentro de um sistema com vários eletrodomésticos, surge a necessidade de implantar um sistema que supervisione o funcionamento de uma rede de eletrodomésticos, equiparável com os controles remotos universais utilizados para televisão, aparelhos de DVD, entre outros. Mesmo adicionando este controle central, é necessário pela rotina diária, que este controle esteja disponível também fora do ambiente da residência, permitindo assim o acesso remoto aos elementos controlados. Dessa forma, é interessante que esse sistema seja desenvolvido utilizando a conectividade da Internet, afim de aumentar o acesso aos recursos oferecidos e permitir uma interação mais rica entre os usuários e os dispositivos.

1.2 OBJETIVOS

A partir dos dados apresentados, o objetivo desta dissertação é apresentar um sistema supervisório de eletrodomésticos em rede sem fio, bem como a estruturação de uma rede IEEE 802.15.4 (IEEE 802.15.4 2003). Este sistema supervisório é instalado em um computador padrão IBM-PC que possua portas de comunicação serial que utilizem a conexão tipo DB9 e acesso à Internet para permitir a utilização do software via Web. O software possui uma interface que permite acessar os dispositivos da residência de qualquer local que possua acesso à Internet.

1.2.1 OBJETIVOS ESPECÍFICOS

(23)

a) Estudar o funcionamento das redes sem fio, principalmente a especificação IEEE 802.15.4 (IEEE 802.15.4 2003) e o padrão ZigBee (EADY,2007) ;

b) Estudar o funcionamento do hardware e software do Kit de desenvolvimento MC 13213 EVK do fabricante Freescale (FREESCALE, 2006d);

c) Estudar e comparar as diferentes bibliotecas que permitem a comunicação entre o computador e o Kit de desenvolvimento MC 13213 EVK (GOMES, 2007);

d) Analisar as funcionalidades da aplicação ponto-a-ponto em redes sem fio; e) Estudar uma linguagem de programação para implementação do

software;

f) Desenvolver a aplicação ponto-a-ponto;

g) Estudar as tecnologias Web e padrões de projeto; h) Estudar o sistema gerenciador de banco de dados; i) Analisar as funcionalidades da aplicação Web;

j) Desenvolver o sistema supervisório de eletrodomésticos em uma rede sem fio IEEE 802.15.4.

1.3 ORGANIZAÇÃO

Este trabalho está organizado de forma a apresentar os elementos necessários a sua compreensão na ordem e profundidade que eles foram estudados para sua conclusão, para isto está dividido em cinco capítulos.

(24)

funcionamento das aplicações Web e UML (Linguagem Universal de Modelagem) utilizado para a modelagem do sistema.

O capítulo 3 apresenta a primeira versão da aplicação que utiliza comunicação ponto-a-ponto. São apresentados a modelagem do sistema, o funcionamento do kit de desenvolvimento, o funcionamento da comunicação entre o computador e o Kit ZigBee, a biblioteca utilizada para manipular a interface RS 232, o desenvolvimento e apresentação da interface com o usuário e conclusões alcançadas nesta primeira versão da aplicação.

O capítulo 4 descreve o desenvolvimento de um sistema de supervisão remota de eletrodomésticos em rede sem fio IEEE 802.15.4, apresentando a modelagem do sistema, estrutura de desenvolvimento em camada, o desenvolvimento, apresentação da interface gráfica com o usuário e conclusão da aplicação em rede via acesso remoto.

(25)

2 FUNDAMENTAÇÃOTEÓRICA

2.1 SISTEMA SUPERVISÓRIO

O propósito de um sistema supervisório é proporcionar ao usuário a capacidade de exercer controle sobre um dispositivo específico, confirmando seu funcionamento de acordo com a ação pretendida (ACKERMAN; BLOCK, 1992). A denominação usualmente utilizada para este tipo de aplicação é Aquisição de Dados e Controle Supervisório (Supervisory Control and Data Acquisition - SCADA).

A SCADA é uma tecnologia que permite ao usuário localizado em uma estação mestre coletar dados de uma ou mais instalações remotas e enviar instruções de controle pré-definidas para as instalações remotas (BOYER, 2004). O termo SCADA refere-se à combinação da telemetria, que permite a conexão de equipamentos e sistemas separados por grandes distâncias, da aquisição de dados, da transferência dos dados para uma central, da devolução da análise e controle necessários, além da apresentação das informações em telas para o usuário (BAILEY; WRIGHT, 2003).

Apesar da operação à distância ser um fator inerente a um sistema SCADA, existe alguma generalização do uso do termo. Usualmente, a distância coberta por um sistema SCADA refere-se àquela em que a conexão direta por cabo entre a estação central e as instalações remotas é impraticável, mesmo com esta padronização. Em instalações industriais é comum chamar de sistema SCADA aqueles envolvidos na supervisão de uma máquina ou processo, em que a distância entre a estação mestre e as estações remotas não passa de algumas dezenas de metros (ADAMI JUNIOR, 2006).

2.1.1. Elementos do Sistema SCADA

(26)

2006). Um sistema supervisório engloba todo o controle existente na estação mestre, como por exemplo, sinalizações e elementos envolvidos na telemetria, além de todos os dispositivos complementares existentes em estações remotas (ANSI, 1987).

A RTU é responsável por transmitir todos os dados para a MTU e realizar as ações de controle recebidas da MTU. Normalmente, a MTU fica localizada na central de operação que é responsável pela comunicação com as estações remotas e de seu controle. A MTU é composta por um ou mais computadores dedicados à operação de manipulação de alarmes, armazenamento de dados, que podem ser transformados em relatórios utilizados para a avaliação de tendência de funcionamento e analisar o comportamento de um sistema supervisionado.

Atualmente, para realizar a comunicação entre as unidades que compõem o sistema a ser supervisionada são utilizadas as mais diversas tecnologias como RS-232, RS-442, RS-485, linhas telefônicas (discadas ou dedicadas), rádio freqüência, microondas, satélite e redes padrão Ethernet (ADAMI JUNIOR, 2006).

2.1.2. Softwares para o Sistema SCADA

O sistema SCADA é dividido em dois grupos (BAILEY; WRIGHT, 2003): a) proprietário, que pode levar à dependência de alguns poucos fabricantes,

uma vez que geralmente as empresas desenvolvem software proprietário para se comunicar com o seu hardware;

b) aberto, que vem ganhando popularidade por permitir maior interoperabilidade para o sistema, permitindo supervisionar equipamentos de diferentes fabricantes no mesmo sistema.

Tipicamente, um sistema SCADA é caracterizado por efetuar cinco funções: 1) entrada e saída, responsável pela interface entre os sistemas de

(27)

2) alarme responsável por verificar quais valores são pontos de alarme e comparar estes pontos com os valores lidos dos equipamentos para disparar as sinalizações adequadas;

3) tendência, responsável por armazenar os dados coletados em função do tempo para serem acompanhados;

4) relatório, responsável por produzir os relatórios a partir dos dados dos equipamentos. Estes relatórios podem ser periódicos, acionados de acordo com a ocorrência de um evento ou ativados por um operador; 5) exibição, que é responsável por gerenciar todos os dados que serão

monitorados por um usuário e todas as ações de controle desencadeadas por ele.

Em virtude dessas cinco funções existe a necessidade de armazenar um conjunto de informações e agrupá-las em um banco de dados. Com isto, se mantém uma referência de todos os dados e informações que serão atualizadas, visualizadas e armazenadas pelo sistema SCADA (ADAMI JUNIOR, 2006).

Além dessas funções, também é usado, em alguns casos, um módulo chamado de receita. Este módulo refere-se aos procedimentos que devem ser adotados para alterar o comportamento do funcionamento de um equipamento. Com isto, pode-se fazer com que um equipamento que estava produzindo um produto do tipo A passe a produzir produtos do tipo B, por exemplo. Para que isto seja possível, é necessário que o equipamento adote um conjunto de instruções e configurações diferenciadas em cada um dos momentos (ADAMI JUNIOR, 2006).

2.2 REDES DE COMPUTADORES

(28)

2.2.1 ABRANGÊNCIA DAS REDES

As redes podem ser classificadas segundo a sua abrangência, as quatro principais formas são PAN, LAN, MAN e WAN.

As redes pessoais (Personal Area Network - PAN) são redes privadas, em que o alcance dos dispositivos não passa de metros ou uma dezena de metros.

As redes locais (Local Area NetworkLAN) são redes privadas contidas em um único edifício ou campus universitário. Pessoas que utilizam computadores em um laboratório de informática ou mesmo na rede da empresa estão interagindo com uma LAN (TANENBAUM, 2003). Nas redes locais, há maior controle sobre os dados e comunicações que trafegam pela rede, isso porque o caminho seguido pelos dados é conhecido, visto que, as LANs têm uma estrutura menor se comparada aos outros modelos de rede.

As redes metropolitanas (Metropolitan Area NetworkMAN) abrangem uma cidade. Um exemplo bem comum de rede metropolitana é a rede de televisão a cabo. As MANs podem conectar toda uma cidade e podem conter conexões de vários tipos, como cabos ou sem fio (TANENBAUM, 2003).

As redes de longa distância (Wide Area NetworkWAN) são formadas por grupos de redes geograficamente distribuídas, portanto, abrangem uma grande área geográfica, com freqüência um país ou continente. A Internet é o maior exemplo de rede WAN, pois tem abrangência mundial (KUROSE; ROSS, 2006). De qualquer lugar do mundo, pode-se acessar um recurso via Internet, desde que este esteja disponível na grande rede.

2.2.2 TOPOLOGIAS DAS REDES

(29)

A topologia física define como estes computadores estão interligados fisicamente, ou seja, como é estabelecida a ligação das máquinas com os ativos de redes.

Já a topologia lógica, define a relação de comunicação existente entre os computadores, principalmente no que diz respeito ao fluxo de informações. Este fluxo de informações pode ser alterado, dependendo do tipo de topologia lógica utilizada. Portanto, ela define como serão controladas as comunicações na rede, cuida da lógica e dos caminhos percorridos pelos pacotes que trafegam pela rede.

As principais topologias de redes são:

a) Barramento – Os computadores são ligados em um ramo comum de uma linha de dados;

b) Anel – Os computadores são ligados formando um anel; c) Estrela – Existe um equipamento centralizador das conexões;

d) Ponto-a-ponto – Não existe a presença de um elemento centralizador (servidor).

2.3 COMUNICAÇÃO DE DADOS VIA REDE ELÉTRICA (POWERLINE)

A idéia de utilizar a rede de energia elétrica para transmissão de dados foi concebida devido à vasta abrangência instalada das redes de energia.

A transmissão de dados utilizando rede elétrica foi inicialmente utilizada somente para proteger as áreas de distribuição de energia em casos de falhas, e teve seu início na década de 50 (CARVALHO, 2005).

Algumas alterações foram feitas nos sistemas para transferência de dados em redes de energia, principalmente a partir da década de 80. Com isto foi é possível atingir taxas de transferência maiores.

(30)

Os termos Power Line Communications (PLC), e Power Line Telecommunications (PLT) passaram a ser utilizadas para identificar tecnologias, equipamentos, aplicações e serviços que proporcionam a comunicação entre usuários por meio da rede elétrica.

A superposição de um sinal de informação de baixa energia sobre a onda elétrica transforma a linha de distribuição em uma rede de comunicação. Para evitar interferências entre os dois sistemas, a faixa de freqüência para comunicação de dados (em torno de 3 a 148,5 KHz para banda estreita e 1 a 30 MHz para banda de difusão) é bem superior à freqüência de energia, que é de 50 ou 60 Hz (MAJUMDER; CAFFREY, 2004).

Esta tecnologia distribui áudio, vídeo e dados numa rede doméstica PLC como Internet compartilhada, impressoras, arquivos, controle da casa, jogos, monitoramento remoto e de segurança (CARVALHO, 2005).

A comunicação através de redes de energia tem expandido rapidamente, embora apresente problemas com ruídos, altos níveis de atenuação e impedâncias variantes neste ambiente, já que não foram projetadas para tal finalidade (CARVALHO, 2005).

Algumas vantagens deste tipo de comunicação são:

a) utilização da infra-estrutura de distribuição de energia elétrica já existente;

b) grandes áreas de cobertura; c) instalação relativamente simples.

Porém, esta tecnologia apresenta algumas desvantagens: a) os níveis de ruídos podem ser excessivos;

b) atenuação elevada nas freqüências de comunicação; c) necessidade de repetidores para compensar perdas;

(31)

e) dificuldade para aplicar a mobilidade, principalmente para um controle remoto, pois necessita do acesso a um ponto de energia para receber as informações.

2.4 REDES SEM FIO

As tecnologias de comunicação sem fio, também conhecidas como wireless, estão proporcionando maior mobilidade de acesso e flexibilidade a ambientes de escritórios, residências ou qualquer outro ambiente produtivo. A utilização de redes sem fio vem crescendo devido à diminuição dos custos para a aquisição e a instalação destes equipamentos e também por não necessitar de instalação de fios e cabos adicionais.

Nestas redes a comunicação pode acontecer através de sinais infravermelho, ondas e microondas de rádios, este último, atualmente, é o mais utilizado para tráfego de dados entre computadores (KUROSE; ROSS, 2006).

Em uma rede sem fios pode-se destacar a participação de alguns elementos: a) hospedeiros sem fio, são todos os equipamentos que podem executar

aplicações, tais como computadores de mão, computadores portáteis, computadores de mesa e etc.

b) enlace sem fio, é o canal de comunicação sem fio por onde trafegam os dados.

c) estação base, consiste num conjunto dos equipamentos que fornecem acesso a rede sem fio para os hospedeiros, torres de celular e pontos de acesso são alguns exemplos de estação base.

Como a possibilidade de erros durante a transmissão de dados em redes sem fio é muito maior do que em redes com fio, as redes sem fio precisam de códigos de detecção de erros e também protocolos de nível de enlace. Segundo Kurose e Ross (2006) os erros mais comuns em redes sem fio são ocasionados pelos seguintes itens:

(32)

exemplo, ao passar por uma parede o sinal fica mais fraco. Isto é conhecido como atenuação de percurso;

b) interferência de outras fontes de sinal de rádio, que podem estar transmitindo na mesma banda de freqüência, como telefones sem fio e microondas. Além disto, existem os ruídos eletromagnéticos que podem ser gerados principalmente por motores elétricos;

c) propagação de múltiplas vias em que as ondas eletromagnéticas desviam em objetos e no solo e acabem tomando caminhos de comprimento diferente entre o emissor e o receptor, isso faz o sinal chegar embaralhado, ou seja, fora de sua ordem de envio.

As redes sem fio também podem ser classificadas em com infra-estrutura e sem infra-estrutura (KUROSE; ROSS, 2006). As redes sem fio com infra-estrutura são caracterizadas pela presença de uma estação base. Em virtude disto, quando um hospedeiro ou um grupo de hospedeiros está associado a uma estação base, caracteriza-se como uma rede caracteriza-sem fio configurada em modo de infra-estrutura. A estação bacaracteriza-se tem como responsabilidade realizar a tarefa de fornecer todos os serviços tradicionais de rede, como, endereço e roteamento. Na Figura 2.1 o ponto M representa uma estação base que fornece conectividade para os pontos A, B e C que são hospedeiros. Os hospedeiros conseguem acesso através da estação base, pois estão dentro do seu raio de cobertura, com isto, através de M os hospedeiros conseguem acesso até o equipamento centralizador.

(33)

Figura 2.1 - Rede sem fio modo infra-estrutura.

No caso de redes onde os hospedeiros não dispõem de nenhuma infra-estrutura fornecida pela estação base, é responsabilidade dos próprios hospedeiros disponibilizarem serviços como tradução de endereços, roteamento e endereçamento, estas redes sem fio são conhecidas como redes sem infra-estrutura ou redes ad hoc. Na Figura 2.2 os pontos A, B e C possuem conectividade, o ponto B está dentro do raio de alcance de A e de B, porém A e C estão fora um do raio de alcance do outro. Em virtude disto, o ponto B irá fazer o roteamento dos dados enviados de A para C e de C para A, havendo a formação de uma rede com os pontos A, B e C.

(34)

Figura 2.2 - Rede sem fio modo ad hoc.

Levando em consideração a abrangência, as redes sem fio podem ser classificadas como (KUROSE; ROSS, 2006):

a) rede pessoal sem fio (WirelessPersonalArea NetworkWPAN); b) rede local sem fio (WirelessLocalAreaNetworkWLAN);

c) rede metropolitana sem fio (Wireless Metropolitan Area NetworkWMAN);

d) rede ampla sem fio (WirelessWideAreaNetworkWWAN).

Quanto as tecnologias utilizadas para transmitir as informações em redes sem fio as principais tecnologias que se destacam são, IrDA, Bluetooth, WI-FI e ZigBee.

(35)

Bluetooth é uma especificação para utilização em redes pessoais sem fio, e vem sendo muito utilizado em dispositivos como telefones celulares, computadores de mão, computadores de mesa, impressoras e câmeras digitais. Existem três versões o Bluetooth 1.0, que possui uma taxa de transferência de 1 Mbps, Bluetooth 2.0 com 3 Mbps e Bluetooth 2.1 que tem melhorias na parte de segurança das conexões sem fio (BAKER, 2005).

O Bluetooth em todas as suas versões opera na freqüência de 2.45 GHz e envia sinais de baixa potência (cerca de 1 miliwatt), possuindo então um alcance limitado a cerca de 10 metros.

As redes Bluetooth se caracterizam por formarem uma topologia dinâmica chamada piconet que contem no mínimo dois e no máximo oito dispositivos em rede (KOBAYASHI, 2004). Os dispositivos comunicam-se usando protocolos que são parte da especificação do Bluetooth.

As WLAN’s estão presentes em quase todos os ambientes de trabalho, lazer e residências. O padrão despontou como promissor e é mais popularmente conhecido como WI-FI (KUROSE, 2006). Utiliza a especificação de comunicação IEEE 802.11, na qual existem vários padrões, conforme mostra a Tabela 2.1.

Tabela 2.1 – Comparação dos padrões 802.11

Padrão Faixa de Freqüência Taxa de Dados

802.11 b 2.4 – 2.485 GHz Até 11 Mbps

802.11 a 5.1 – 5.8 GHz Até 54 Mbps

802.11 g 2.4 – 2.485 GHz Até 54 Mbps

Fonte: Kurose; Ross (2006)

(36)

2.4.1 IEEE 802.15.4CAMADA FÍSICA (PHY)

A norma IEEE 802.15.4 (IEEE 802.15.4, 2003) especifica que a comunicação entre os dispositivos da rede deve ocorrer na faixa de freqüência ISM (Industrial, Scientific and Medical) que não requer licença para funcionamento, pois é aberta ao desenvolvimento de aplicações industriais, científicas e na área de medicina. Nelas estão incluídas as faixas de operação apresentadas na Figura 2.3 e detalhadas a seguir (MYERS, 2007):

a) 868 MHz (Europa) com taxa de transferência de 20 Kbps, com um canal disponível;

b) 915 MHz (banda de 902 a 928 MHz - América e Austrália) com taxa de transferência de 40 Kbps, com 10 canais disponíveis;

c) 2,4 GHz (banda de 2400 a 2483,5 MHz - uso global) com taxa de transferência de 250 Kbps, com 16 canais disponíveis.

Figura 2.3- Faixas para freqüência de operação ISM.

Fonte: Myers (2007)

(37)

freqüência muito maior do que a freqüência do sinal de informação, e combinada em um circuito OU exclusivo (XOR) com a seqüência de dados da informação, gerando um sinal de informação de saída em uma banda de transmissão mais larga (EADY, 2007).

A camada PHY é responsável pela transmissão e recepção de mensagens entre a camada MAC e o canal físico (EADY, 2007). As funções que mais se destacam nesta camada são:

a) ativação e desativação do transmissor;

b) detecção de energia (EnergyDetection - ED);

c) indicação da Qualidade do Enlace (LinkQualityIndicationLQI); d) seleção do canal de comunicação.

O alcance do sinal é esperado na faixa de 10 a 75 metros, levando em conta a potência de saída dos equipamentos e fatores ambientais, tais como interferências eletromagnéticas, obstáculos físicos, entre outros.

Existem três elementos associadas à camada PHY: a) Rádio Freqüência (RadioFrequency - RF); b) PD (PHYData);

c) PLME (PHYLayerManagementEntity).

(38)

Figura 2.4 - Modelo de referência da camada física IEEE 802.15.4.

Fonte: IEEE (2003)

O PD realiza o transporte de Unidades de Dados de Protocolo MACMAC ProtocolDataUnit (MPDU) entre as entidades da camada MAC e o PD através do seu respectivo ponto de acesso a serviço (PD-SAP). Os pacotes de dados do IEEE 802.15.4 são de tamanho máximo de 127 bytes.

O PLME permite o transporte de comandos de gerenciamento entre a Entidade de Gerenciamento da Camada MAC (MLME) e o PLME através de primitivas suportadas pelo PLME-SAP. Algumas primitivas suportadas pelo PLME-SAP são:

a) PLME-CCA.request; b) PLME-CCA.confirm; c) PLME-ED.request; d) PLME-ED.confirm; e) PLME-GET.request; f) PLME.SET.request.

O PLME tem também a responsabilidade de manter um banco de dados de objetos gerenciados pelo PHY chamado PHY PIB (PHYPANInformationBase).

(39)

2.4.2 IEEE 802.15.4CAMADA ENLACE (MAC)

A camada MAC utiliza como mecanismo para prevenção de colisão dos dados, o Meio com Detecção de Portadora e com Prevenção de Colisão (CarrierSenseMultiple Access / Collission Avoidance - CSMA/CA). O CSMA/CA é um protocolo que incorpora modificações do CSMA/CD (Carrier Sense Multiple Access/Colision Detection), que é usado para comunicações de redes locais convencionais. O funcionamento do CSMA/CA é o seguinte (IEEE, 1997):

a) quando uma estação deseja transmitir, ela precisa escutar o canal para verificar se o mesmo está livre. Para isso, ela escuta o canal por um determinado tempo, chamado Espaçamento Interquadros Distribuído (DIFSDistributed Inter-Frame Space);

b) se o canal ficar livre durante todo o DIFS, a estação pode transmitir. Caso contrário, ela escolhe um valor aleatório de backoff exponencial e, após esse tempo, a estação tenta transmitir novamente;

c) se o canal está livre, a estação manda uma mensagem de Pedido-Para-Enviar (RTSRequest-to-Send) em broadcast para todos os seus vizinhos, mas endereçado ao destinatário da mensagem de dados;

d) quando uma unidade recebe um RTS endereçado a ela e não houver nenhuma outra estação transmitindo no seu raio de alcance, ela envia uma mensagem de Limpo-Para-Enviar (CTSClear-to-Send) em broadcast para todos os seus vizinhos, mas endereçado ao remetente RTS;

e) quando uma estação recebe um RTS ou um CTS não endereçado a ela, ela sabe que alguém vai efetuar uma transmissão e deve ficar em espera; f) quando uma estação recebe um CTS endereçado a ela, essa estação pode

iniciar a transmissão dos dados.

Quanto à camada MAC, destacam-se como sua responsabilidade, as seguintes tarefas:

(40)

b) permitir a conexão de um grande número de dispositivos sem a necessidade de ficar em estado de espera como ocorre em algumas tecnologias sem fio;

c) transmissão no ar de 250 Kbps em uma freqüência de 2,4 GHz; d) utilizar de 16 canais de comunicação independentes;

e) possibilitar até 65.534 dispositivos na rede; f) EnergyDetection (ED) para seleção de canal;

g) oferecer à aplicação a indicação da qualidade de enlace – Link Quality Indication (LQI).

Estes serviços são fornecidos por intermédio de duas entidades associadas à camada MAC que são: MCPS (MAC Commom Part Sub-Layer) e MLME (MAC Layer ManagementEntity)(FREESCALE, 2006c) e (FREESCALE, 2006d)(Figura 2.5).

Figura 2.5 - Modelo de referência da camada de enlace IEEE 802.15.4.

Fonte: IEEE (2003)

(41)

O MLME permite o transporte de comandos de gerenciamento entre a camada de rede e o MLME através de primitivas suportadas pelo MLME-SAP. Em adição a estas interfaces externas, pode-se observar que existe também uma interface implícita entre MCPS e o MLME, que permite o MLME utilizar os serviços de dados desta camada. O MLME também mantém um armazenamento de objetos gerenciados pelo MAC, conhecido como MACPANIB (MACPANInformationBase).

2.4.3 ZigBee

ZigBee é um padrão de protocolo de rede mantido pela ZigBee Alliance que é um aglomerado de empresas dispostas a investir neste padrão para desenvolver soluções em seus produtos e mercados de atuação. Deve-se ressaltar que os padrões ZigBee é IEEE 802.15.4 não são os mesmos. Um importante fator que colabora para a dúvida entre ZigBee e IEEE 802.15.4 é porque o primeiro utiliza os serviços de transporte da especificação de rede IEEE 802.15.4, dessa forma, a ZigBee Alliance mantém o funcionamento do padrão ZigBee e o IEEE controla a especificação IEEE 802.15.4 (EADY, 2007).

Este conceito é próximo ao utilizado no modelo TCP/IP (Transmission Control Protocol/Internet Protocol, que significa Protocolo de Controle de Transmissão/Protocolo de Interconexão) usando IEEE 802.11 especificação sem fio para transportar datagramas IP e segmentos TCP entre os nós que utilizam dispositivos de rádio freqüência IEEE 802.11. Então ZigBee é uma camada superior que utiliza como base IEEE 802.15.4, justamente como TCP/IP pode ser a camada superior do IEEE 802.11 (EADY, 2007).

(42)

Figura 2.6 – Áreas de aplicação do ZigBee

Na Figura 2.7 é apresentado o enquadramento da tecnologia ZigBee dentro do IEEE. O ZigBee faz parte do grupo 802.15 que mantém as tecnologias de comunicação categorizadas como WPAN. Este grupo 802.15 tem mais quatro divisões chamadas de grupos de tarefas, neste caso, o enquadramento do ZigBee está no quarto grupo, que trata de aplicações WPAN com baixa taxa de transferência.

Figura 2.7 - Enquadramento do padrão ZigBee dentro do IEEE 802.

(43)

Tratando-se da alimentação, os dispositivos ZigBee podem ser alimentados até mesmo por baterias comuns. O tempo de duração da bateria sendo utilizada em um dispositivo ZigBee está diretamente relacionado com a aplicação que é executado pelo dispositivo, além da capacidade de carga da bateria. Nesse aspecto, o protocolo ZigBee foi projetado para suportar aplicações com o mínimo de consumo. A Figura 2.8 apresenta um comparativo do protocolo ZigBee comparado com Redes Proprietárias, Bluetooth e WI-FI. Nela é possível verificar que ZigBee alia um alcance dentro da faixa média das outras tecnologias, porém tendo uma baixa taxa de transferência.

Figura 2.8 - Comparação do ZigBee com outras tecnologias sem fio.

Fonte: Pinheiro (2006a)

Em uma rede ZigBee, pode-se identificar dois dispositivos definidos pelo IEEE (EADY, 2007). O primeiro deles é o FFD - Full Function Device, que desempenha a função de coordenador da rede, e conseqüentemente, tem acesso a todos os outros dispositivos.

O segundo dispositivo envolvido em uma rede ZigBee é o RFD - Reduced Function Device – é umdispositivo de construção mais simples que os FFD e não pode atuar como coordenador da rede, sendo que se comunica somente com um coordenador.

(44)

Quanto à topologia, as redes ZigBee classificam-se em Peer-to-Peer, Estrela, Cluster Tree e Mesh, conforme apresentado naFigura 2.9.

Figura 2.9 - Topologias das redes ZigBee.

Fonte: Adaptado de Pinheiro (2006a)

A topologia Mesh, só pode ser aplicada caso seja implementada a camada de rede (ZigBee NWK), que atualmente é de propriedade da ZigBee Alliance (EADY, 2007).

A Figura 2.10 apresenta a interação da camada ZigBee com o IEEE 802.15.4. Tendo acesso ás camadas física (PHY) e de enlace (MAC Média Acess Control) é possível desenvolver redes com topologia Peer-to-Peer, Estrela e Tree.

Figura 2.10 - Camadas ZigBee.

(45)

A camada de rede, desenvolvida pela ZigBeeAlliance, possibilita o crescimento da rede sem a necessidade de equipamentos de transmissão de potência mais elevada, além da possibilidade de operar grandes quantidades de nós com latências relativamente baixas (ZIGBEE ALLIANCE, 2006b).

A camada de rede, em seus algoritmos busca implementar pilhas de protocolos com o objetivo de balancear custos das unidades e consumo das baterias, produzindo soluções com perfil específico de custo-desempenho para a aplicação.

O padrão ZigBee baseou-se na simplificação do algoritmo de roteamento AODV (Ad-hoc On-demandDistance Vector), e desenvolveu um novo algoritmo de segurança. Esta proposta foi adotada como parte da especificação IEEE 802.15.4 (EADY, 2007).

2.5 FUNCIONAMENTO DAS APLICAÇÕES WEB

Uma aplicação Web funciona com o princípio de cliente / servidor, em que os clientes são os navegadores (por exemplo, Internet Explorer, Mozilla Firefox, entre outros) que acessam recursos disponibilizados por um servidor. Para acessar estes recursos o cliente se conecta através de um endereço, também chamado de URL (Uniform Resource Locator, que significa Localizador Uniforme de Recursos).

Na Figura 2.11 um cliente, através do navegador, envia uma solicitação a um servidor, que ao receber esta solicitação, faz o devido tratamento, verificando qual recurso deve ser utilizado para resolver a solicitação e retorna a resposta ao usuário.

Figura 2.11 – Comunicação entre cliente e servidor Web.

(46)

Tanto o cliente quanto o servidor devem conhecer a linguagem de marcação de hipertexto (HyperText Markup LanguageHTML) e o protocolo de transferência de hipertexto (HyperText TransferProtocolHTTP). A linguagem HTML é utilizada para descrever qual a aparência que o conteúdo fornecido pelo servidor deve ter no navegador do cliente e qual o comportamento deste conteúdo.

No HTML existem várias marcações que são inseridas no texto para definir a aparência e o comportamento. Estas marcações, chamadas de tags, contam com vários atributos que permitem personalizar suas funcionalidades.

O protocolo HTTP é responsável pela transferência de hipertexto entre computadores na Internet. HTTP é um protocolo de camada de aplicação e funciona no topo do TCP/IP. Ele possui diversos métodos, porém existem dois métodos que definem qual é o tipo de solicitação que está sendo feita, são os métodos GET e POST.

O GET é uma simples solicitação enquanto no POST é possível enviar dados do usuário. Com o GET pode-se solicitar recursos ao servidor, tais como páginas HTML, GIF, PDF, entre outros. No Quadro 2.1 é possível verificar a anatomia de uma solicitação HTTPGET, os principais dados nesta solicitação:

a) na linha 1 a indicação do tipo de solicitação (GET) seguida do caminho e recurso com os devidos parâmetros informados;

b) na linha 2 o domínio do servidor para onde a requisição foi enviada.

(47)

Já o POST, é uma solicitação ao servidor bem mais elaborada, pois permite solicitar um recurso e enviar dados de um formulário para o servidor. O Quadro 2.2 apresenta a anatomia de uma solicitação HTTP POST, tendo como principais informações:

a) na linha 1 a indicação do tipo de solicitação (POST) seguida do caminho e recurso;

b) na linha 2 o domínio do servidor para onde a requisição foi enviada; Ao final desta solicitação são enviadas as informações dos dados contidos nos formulários.

Quadro 2.2 – Anatomia de uma solicitação HTTP POST

Também é possível enviar alguns dados através de GET, porém existem algumas razões para usar POST no lugar do GET, a saber (SIERRA; BATES, 2005):

a) o total de caracteres que podem ser enviados em uma solicitação GET é limitado. Este número de caracteres depende do servidor onde está a aplicação Web. Caso o usuário digite um texto muito extenso em um campo de observação, por exemplo, o GET pode não funcionar;

b) os dados enviados através de GET são anexados a URL e ficam expostos no endereço do navegador Web que o cliente estiver utilizando. Isto pode expor algumas falhas de segurança em sua aplicação.

(48)

navegador Web utilizado pelo cliente o protocolo que está sendo usado, se a solicitação foi realizada com sucesso e qual o tipo de conteúdo será enviado no corpo da resposta.

O campo Content-Type define qual o tipo de informação será transmitida. Com isto, o navegador Web saberá como processar os dados que estão sendo enviados, pois dependendo do conteúdo ele deve ter comportamento diferente.

O Quadro 2.3 apresenta a anatomia de uma reposta HTTP, nele pode-se destacar: a) na linha 1 o protocolo e a versão utilizada (HTTP/1.1) e o código de resposta, neste caso, 200 OK, mostrando assim que a requisição foi atendida com sucesso;

b) na linha 3 é apresentado o tipo de dado enviado de resposta pelo servidor para o cliente. Com isto, o cliente saberá como manipular a informação, ou realizar a chamada para outro aplicativo que a manipule.

Ao final deste quadro são enviados os dados para o cliente.

Quadro 2.3 – Anatomia de uma resposta HTTP.

Todo recurso que se encontra disponível na Web tem seu endereço único próprio, que utiliza o padrão URL.

A Figura 2.12 apresenta um exemplo de URL, onde (SIERRA; BATES, 2005): 1. protocolo: informa ao servidor qual o protocolo de comunicação será

utilizado (neste caso HTTP);

(49)

3. porta: esta parte da URL é opcional. Um único servidor suporta várias portas, pois uma aplicação é identificada pela porta que utiliza para se comunicar, por padrão para aplicações Web é utilizada a porta 80.

4. caminho: o caminho para localização no servidor, do recurso que está sendo solicitado.

5. recurso: o nome do conteúdo que está sendo solicitado, pode ser uma página HTML, arquivos de texto, imagens, etc.

Figura 2.12- Exemplo de uma URL.

Uma porta TCP é um número de 16 bits que identifica um programa no servidor. Por padrão vários serviços já utilizam portas conhecidas como HTTP porta 80 e SMTP porta 25, isto é feito para não existir conflitos entre as aplicações. Como estas portas utilizam 16 bits para endereçamento seus valores estão contidos no intervalo de 0 a 65535, porém os números das portas TCP, entre 0 e 1023, estão reservadas para serviços já conhecidos, então não é prudente utilizar estas portas para desenvolver suas próprias aplicações.

2.5.1 TECNOLOGIAS JAVA PARA WEB

(50)

de usuários e desenvolvedores Java espalhada por todo o mundo.

A multiplataforma é conseguida através da utilização de uma máquina virtual (Java Virtual Machine - JVM) e ao contrário da maioria das linguagens de programação que passam ou pela etapa de interpretação ou de compilação, um programa em Java possui as duas etapas (DEITEL; DEITEL, 2003). A Figura 2.13 apresenta o ciclo de um aplicativo Java, o código fonte é nomeado como OlaMundo.java, este é compilado através do aplicativo “javac” gerando um arquivo com a extensão “.class”. Este arquivo é interpretado pela JVM através do aplicativo Java instalada numa plataforma (hardware e software) onde o programa é executado. A JVM é desenvolvida especificamente para cada sistema operacional, por isso, deve-se o crescimento da tecnologia Java está ligado ao número e robustez das máquinas virtuais desenvolvidas para cada sistema operacional. ! ! " #$% $% $% $% &'

Figura 2.13 - Ciclo de um aplicativo Java.

Fonte: Adaptado de JAVA SUN MICROSYSTEM (2007)

(51)

Um Servlet é simplesmente uma classe Java que possui os métodos necessários para a manipulação de pedidos HTTP (resquest) e respostas HTTP (response), conforme ilustra a Figura 2.14.

Figura 2.14 - Comunicação entre cliente, servidor e container Web.

Os principais métodos implementados por um Servlet são (SOUSA et. al, 2007): a) init: responsável por inicializar o Servlet;

b) service: método que é chamado toda vez que uma aplicação Cliente solicita informações a um Servlet;

c) destroy: limpeza de memória, que faz a finalização do Servlet e deve conter também toda a parte de liberação de recursos que tenham sido solicitados pelo Servlet, como arquivos, etc.

A questão de desempenho da aplicação é pensada já na construção do Servlet, pois a cada nova solicitação de clientes é chamado o método service que cria uma thread separada, permitindo uma gerência muito melhor dos processos de solicitações (KURNIAWAN, 2002).

Quanto ao JSP, ele surgiu para eliminar um pouco da complexidade na criação de páginas dinâmicas utilizando Servlet. Enquanto Servlet é uma classe Java que entende solicitação Web, um JSP é um arquivo padrão HTML.

(52)

soluções, entre elas a mais utilizada é a solução desenvolvida pela Fundação Apache chamado de Apache TomCat.

O Apache TomCat é um container Web para JSP e Servlet, ele é o servidor que armazena todas as informações responsáveis pelas aplicações registradas para estas duas tecnologias. Como servidor Web ele deve entender como funcionam requisições utilizando o protocolo HTTP, este é o padrão de comunicação utilizado entre os clientes e o servidor Web.

2.5.2 TECNOLOGIA PARA GERAÇÃO DE RELATÓRIOS

Para apresentar os dados para o usuário foi escolhida a tecnologia Flex da Adobe. Flex é um framework Web que utiliza vários conceitos de aplicação Web 2.0, contribuindo para que o ganho visual dos relatórios seja significativo. Flex é uma estrutura de código aberta e gratuita para a criação e manutenção de aplicativos Web e possui suporte para os principais navegadores, desktops e sistemas operacionais (ADOBE FLEX, 2008).

Para a apresentação dos gráficos utilizando a interface do Flex é necessário que as informações de resposta do servidor estejam no formato XML (EXtensible Markup Language), que é uma linguagem de marcadores extensível. XML está se tornando um formato universal para troca de dados, principalmente para aplicações distribuídas (W3C, 2008).

O cliente envia para o servidor os parâmetros escolhidos, o servidor busca estas informações no banco de dados e monta um arquivo padrão XML contendo todos os dados necessários para a elaboração do relatório através da interface Flex. Conforme Figura 2.15 o servidor envia para o cliente o arquivo “swf” gerado pelo Flex e o XML com os resultados da consulta. No cliente o arquivo “swf” abri o XML e vai montando a representação gráfica do relatório.

(53)

2.6 UML

A Unified Modeling Language (UML) é uma linguagem de modelagem desenvolvida para a elaboração da estrutura de projetos de software. Segundo Booch et. al (2000) “A UML poderá ser empregada para a visualização, a especificação, a construção e a documentação de artefatos que façam uso de sistemas complexos de software”.

Os diagramas da UML são representações gráficas produzidas durante o desenvolvimento de um sistema de software, utilizadas para documentações, agilizando futuras manutenções e criação de novas versões. Conforme Bezerra (2002) “Os artefatos gráficos produzidos durante o desenvolvimento de um sistema de software são definidos através da utilização dos diagramas da UML”.

A UML inclui vários diagramas, entre eles pode-se destacar: diagrama de classe, diagrama de objetos, diagrama de caso de uso, diagrama de seqüências, diagrama de colaborações, diagrama de gráficos de estados, diagrama de atividades, diagrama de componentes e diagrama de implantação.

Neste trabalho são utilizados apenas os diagramas de classes, diagramas de caso de uso e diagramas de seqüência, pois estes apresentam os dados principais para as bases de compreensão da modelagem do sistema proposto.

2.6.1 LEVANTAMENTO DE REQUISITOS

(54)

Algumas técnicas são utilizadas para isso, como entrevistas, observações do ambiente do usuário, leituras de obras de referência. Após a aplicação das técnicas é elaborado um documento de requisitos, que declara os requisitos do sistema, podendo ser requisitos funcionais e requisitos não-funcionais.

Os requisitos funcionais descrevem as funcionalidades do sistema, já os requisitos não-funcionais declaram algumas características de qualidade que o sistema deverá possuir e que estão relacionadas às suas funcionalidades. Os requisitos sofrem modificações no decorrer do desenvolvimento do software, esta é uma característica de volatilidade dos requisitos.

2.6.2 DIAGRAMA DE CASO DE USO

O diagrama de caso de uso captura os requisitos funcionais e as razões pelas quais o sistema está sendo construído, relacionando os processos externos ao sistema (LEE; TEPFENHART, 2001). A Figura 2.16 apresenta um exemplo de diagrama de caso de uso, onde as ligações entre as elipses que utilizam a palavra chave include são encadeamentos de funções obrigatórias no sistema, portanto, a ação anterior obriga o acontecimento da ação seguinte. No exemplo quando um gerente de banco seleciona no sistema a opção de abertura de conta obrigatoriamente deve informar os dados do novo cliente.

(55)

Figura 2.16 – Exemplo de diagrama de caso de uso

Para facilitar o entendimento das funções obrigatórias do sistema deve-se construir a especificação do caso de uso. A especificação do caso de uso é utilizada para apresentar o detalhadamente dos elementos envolvidos. Neste tópico são mostradas somente as especificações mais relevantes para cada um dos atores.

2.6.3 DIAGRAMA DE SEQÜÊNCIA

O diagrama de seqüência juntamente com os diagramas de comunicação compõe o grupo dos diagramas responsáveis por demonstrar a interação de um sistema. O diagrama de seqüência, além de possuir os objetos e seus relacionamentos, também apresenta as mensagens que podem ser trocadas entre estes objetos. Um diagrama de seqüência dá ênfase à ordenação temporal das mensagens e por este motivo, é utilizado para realizar a modelagem dos aspectos dinâmicos de um sistema (BOOCH et. al, 2002).

Representar em diagramas a complexidade envolvida na dinamicidade de um sistema é algo difícil, porém é necessário dar uma imagem geral do funcionamento do sistema. Nesta imagem geral do funcionamento pode-se ressaltar alguns itens relevantes à dinâmica do sistema.

(56)

conta. O ator principal, neste caso, o gerente do banco é agente externo ao sistema que inicia o processo solicitando ao sistema a abertura da conta. Após isto, o sistema solicita ao gerente que informe os dados do cliente. Caso o gerente informe os dados solicitados o sistema poderá criar a conta, armazenando-a no cadastro de contas do banco.

Figura 2.17 - Exemplo de diagrama de seqüência.

Os diagramas de seqüência costumam ter papéis ou objetos, comunicações ou vínculos e mensagens (LEE; TEPFENHART, 2001).

2.6.4 DIAGRAMA DE CLASSE

O diagrama de classe é uma forma gráfica de ilustrar a visão estática de um software, contando com classes, atributos e seus relacionamentos. Cada classe utilizada no diagrama deve ter um nome que a identifique, e diferencie das demais classes. Ela é representada através de um retângulo.

(57)

Os relacionamentos podem ser de Associação, Herança, Dependência, Agregação e Composição. A Figura 2.18 demonstra como cada relacionamento é ilustrado no diagrama de classe.

Figura 2.18- Relacionamentos existentes nos diagramas de classe.

O diagrama de classe é mais utilizado para estruturar sistemas orientados a objetos. Segundo Kay (1996) um dos inventores da linguagem de programação SmallTalk e um dos pais do conceito de orientação a objetos, os princípios básicos do paradigma de programação orientada a objetos são:

a) qualquer coisa é um objeto;

b) objetos realizam tarefas através da requisição de serviços a outros objetos;

c) cada objeto pertence a uma determinada classe; d) uma classe agrupa objetos similares;

(58)

3 PROPOSTADAAPLICAÇÃOPONTO-A-PONTO

Este capítulo apresenta a aplicação ponto-a-ponto, sua modelagem e desenvolvimento. A proposta da aplicação ponto-a-ponto é permitir ao usuário acessar as funcionalidades do eletrodoméstico através de uma interface instalada em um computador. Com isto, o usuário acessa o eletrodoméstico permitindo o seu controle, monitoramento e parametrização.

Na Figura 3.1 é apresentada a estrutura necessária para o funcionamento da aplicação ponto-a-ponto. O detalhamento da estrutura é apresentada a seguir:

a) Uma lavadora já modificada com a instalação do Kit ZigBee para comunicação sem fio. Com isto, existe a possibilidade de acessar a lavadora tanto através do painel de controle local, como também através kit ZigBee instalado, que permite a lavadora receber os comandos através de comunicação sem fio e esta pode enviar informações sobre seu estado de funcionamento;

(59)

()*

#

()*

+

Figura 3.1 - Estrutura de funcionamento da aplicação local.

A conexão entre o computador e o Kit ZigBee foi realizada através da porta serial DB9 utilizando RS232, pois esta adaptação foi realizada nos trabalhos anteriores que realizaram a comunicação do Kit ZigBee com dispositivos móveis, mais precisamente palm tops. Devido a grande utilização da conexão serial nestes equipamentos através de conectores DB9 e também pela facilidade de utilizar a comunicação utilizando o RS232.

3.1 LEVANTAMENTO DE REQUISITOS DA APLICAÇÃO PONTO-A-PONTO

Imagem

Figura 2.1 - Rede sem fio modo infra-estrutura.
Figura 2.4 - Modelo de referência da camada física IEEE 802.15.4.
Figura 2.6 – Áreas de aplicação do ZigBee
Figura 2.17 - Exemplo de diagrama de seqüência.
+7

Referências

Documentos relacionados

Corograpliiu, Col de Estados de Geografia Humana e Regional; Instituto de A lta C ultura; Centro da Estudos Geográficos da Faculdade de Letras de Lisboa.. RODRIGUES,

(grifos nossos). b) Em observância ao princípio da impessoalidade, a Administração não pode atuar com vistas a prejudicar ou beneficiar pessoas determinadas, vez que é

No entanto, para aperfeiçoar uma equipe de trabalho comprometida com a qualidade e produtividade é necessário motivação, e, satisfação, através de incentivos e política de

Este trabalho buscou, através de pesquisa de campo, estudar o efeito de diferentes alternativas de adubações de cobertura, quanto ao tipo de adubo e época de

O valor da reputação dos pseudônimos é igual a 0,8 devido aos fal- sos positivos do mecanismo auxiliar, que acabam por fazer com que a reputação mesmo dos usuários que enviam

servidores, software, equipamento de rede, etc, clientes da IaaS essencialmente alugam estes recursos como um serviço terceirizado completo...

O emprego de um estimador robusto em variável que apresente valores discrepantes produz resultados adequados à avaliação e medição da variabilidade espacial de atributos de uma

a) Oração – Estimule as crianças a falarem com Deus. É importante variar com oração de gratidão, de intercessão, de confissão, de petição e também variar os motivos de