45
UNIVERSIDADE FEDERAL DO PARANÁ SETOR DE TECNOLOGIA DEIVID RIBEIRO SERVIDOR DE DADOS METEOROLÓGICOS LOCAIS USANDO LABVIEW Curitiba 2006

Labview webserver

Embed Size (px)

Citation preview

Page 1: Labview webserver

UNIVERSIDADE FEDERAL DO PARANÁ

SETOR DE TECNOLOGIA

DEIVID RIBEIRO

SERVIDOR DE DADOS METEOROLÓGICOS LOCAIS USANDO LABVIEW

Curitiba

2006

Page 2: Labview webserver

DEIVID RIBEIRO

SERVIDOR DE DADOS METEOROLÓGICOS LOCAIS USANDO LABVIEW

Trabalho de Conclusão de Curso apresentado ao Curso de Graduação em Engenharia Elétrica, Setor de Tecnologia, Universidade Federal do Paraná, por Deivid Ribeiro, GRR20024294, como requisito parcial à obtenção do título de Bacharel em Engenharia Elétrica.

Orientador: Prof. Dr. Eduardo Parente Ribeiro

Curitiba

2006

Page 3: Labview webserver

ii

AGRADECIMENTOS

Agradeço a minha família pelo apoio e torcida.

Ao Prof. Dr. Eduardo Parente Ribeiro, sempre presente na orientação do

trabalho com dicas e estímulo.

Meus agradecimentos especiais a todos os professores do Departamento

de Engenharia Elétrica pela dedicação, e aos colegas da turma de 2002 pelos

ótimos momentos de convivência.

Por fim, agradeço a todas as pessoas que sempre me incentivaram a

realizar este sonho.

Page 4: Labview webserver

iii

SUMÁRIO

LISTA DE ILUSTRAÇÕES .......................................................................................... V

LISTA DE TABELAS .................................................................................................. VI

LISTA DE ABREVIATURAS E SIGLAS.................................................................... VII

RESUMO ................................................................................................................... VIII

ABSTRACT ................................................................................................................. IX

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

1.1. Objetivos e Motivação ....................................................................................... 2

1.2. Estrutura ............................................................................................................ 2

2. REVISÃO........................................................................................................... 3

2.1. LabVIEW............................................................................................................ 3

2.2. Institutos Meteorológicos................................................................................... 4

2.2.1. Canal do Tempo............................................................................................. 4

2.2.2. Climatempo .................................................................................................... 4

2.2.3. CPTEC/INPE.................................................................................................. 5

2.2.4. INMET ............................................................................................................ 5

2.2.5. Simepar.......................................................................................................... 6

2.2.6. Tempo Agora ................................................................................................. 7

2.3. Código HTML..................................................................................................... 7

2.4. Protocolo TCP/IP ............................................................................................... 8

3. METODOLOGIA................................................................................................ 9

3.1. Descrição do Trabalho....................................................................................... 9

3.1.1. A Página da Internet .................................................................................... 10

3.1.2. O Painel Frontal Remoto ............................................................................. 11

3.2. O Programa Servidor Lab................................................................................ 12

3.2.1. Monitoramento do Botão TRAÇAR ............................................................ 13

3.2.2. Monitoramento das Temperaturas Atuais.................................................... 14

3.2.3. Monitoramento das Previsões de Temperatura .......................................... 14

3.3. Bloco Escrever ............................................................................................... 14

3.4. Bloco Ler HTML ............................................................................................. 16

3.4.1. Leitura do Código-Fonte .............................................................................. 17

3.4.2. Encontrando a Temperatura ........................................................................ 17

Page 5: Labview webserver

iv

3.4.3. Ocorrência de Erros..................................................................................... 18

3.5. Sensor de Temperatura - LM335 .................................................................... 18

3.6. Bloco Temp CIEL ........................................................................................... 19

3.7. Bloco Banco de Dados ................................................................................... 20

3.8. Bloco Hist Prev ............................................................................................... 21

3.8.1. Busca das Máximas e Mínimas ................................................................... 22

3.8.2. Formação do Banco de Dados das Previsões ............................................ 23

3.8.3. Histórico Simplificado................................................................................... 24

3.9. Bloco Gráfico .................................................................................................. 25

3.9.1. Buscando o Índice Inicial ............................................................................. 26

3.10. Bloco Graf HTML ........................................................................................... 27

3.11. Habilitando o Servidor Web ............................................................................. 28

4. RESULTADOS ................................................................................................ 30

4.1. Índices de Erro................................................................................................. 30

4.2. Variação ao Longo do Dia ............................................................................... 31

5. CONCLUSÃO.................................................................................................. 33

REFERÊNCIAS BIBLIOGRÁFICAS.......................................................................... 34

ANEXO 1 .................................................................................................................... 35

Page 6: Labview webserver

v

LISTA DE ILUSTRAÇÕES

FIGURA 1 - HIERARQUIA SIMPLIFICADA DO SISTEMA.......................................... 9

FIGURA 2 - PÁGINA DA INTERNET PARA A VISUALIZAÇÃO DAS CONDIÇÕES

METEOROLÓGICAS E OUTROS RECURSOS................................................. 10

FIGURA 3 - PAINEL FRONTAL REMOTO DO SERVIDOR LAB.............................. 11

FIGURA 4 - DIAGRAMA DE BLOCOS DO SERVIDOR LAB .................................... 13

FIGURA 5 - DESCRIÇÃO DA SUB-ROTINA 'ESCREVER' ...................................... 15

FIGURA 6 - DIAGRAMA DE BLOCOS DE 'ESCREVER' .......................................... 15

FIGURA 7 - DESCRIÇÃO DA SUB-ROTINA 'LER HTML'......................................... 16

FIGURA 8 - DIAGRAMA DE BLOCOS DE 'LER HTML' ............................................ 16

FIGURA 9 - BUSCA O VALOR DA TEMPERATURA NO CÓDIGO-FONTE LIDO... 17

FIGURA 10 - ESQUEMÁTICO DO CIRCUITO SENSOR DE TEMPERATURA

MONTADO NO DELT ......................................................................................... 19

FIGURA 11 - DIAGRAMA DE BLOCOS DA ROTINA DE AQUISIÇÃO DE

TEMPERATURA ................................................................................................. 19

FIGURA 12 - VARIÁVEIS, DESCRIÇÃO E DIAGRAMA DE BLOCOS ..................... 20

FIGURA 13 - DESCRIÇÃO E VARIÁVEIS DE ENTRADA DO BLOCO .................... 21

FIGURA 14 - CÓDIGO DE BUSCA DAS TEMPERATURAS MÁXIMAS E MÍNIMAS

OBSERVADAS NO DIA ANTERIOR .................................................................. 22

FIGURA 15 - CODIFICAÇÃO PARA ESCRITA NO ARQUIVO HISTÓRICO............ 23

FIGURA 16 - PÁGINA HISTÓRICO ........................................................................... 24

FIGURA 17 - GERAÇÃO DA PÁGINA HISTÓRICO.................................................. 25

FIGURA 18 DIAGRAMA DE BLOCOS DA SUB-ROTINA 'GRÁFICO' ................... 26

FIGURA 19 - DIAGRAMA DE BLOCOS RESPONSÁVEL PELA GERAÇÃO DA

PÁGINA COM O GRÁFICO EM ANEXO............................................................ 27

FIGURA 20 - PÁGINA DELT...................................................................................... 28

FIGURA 21 - TELA DO 'WEB PUBLISHING TOOL' .................................................. 28

FIGURA 22 - HABILITANDO O SERVIDOR WEB DO LABVIEW............................. 29

FIGURA 23 - VARIAÇÃO DE TEMPERATURA DURANTE UM DIA ........................ 31

FIGURA 24 - VARIAÇÃO DE TEMPERATURA DO SENSOR MONTADO E DA

MÉDIA DE TEMPERATURA DOS INSTITUTOS DENTRO DE DUAS HORAS 32

Page 7: Labview webserver

vi

LISTA DE TABELAS

TABELA 1 - FORMATO DO BANCO DE DADOS DE TEMPERATURAS ................ 20

TABELA 2 - FORMATO DO BANCO DE DADOS DAS PREVISÕES....................... 21

TABELA 3 - ERROS RMS DAS PREVISÕES MÁXIMAS E MÍNIMAS DOS

INSTITUTOS ....................................................................................................... 30

TABELA 4 - ERRO RMS GERAL DE CADA INSTITUTO EM GRAUS CELSIUS..... 31

Page 8: Labview webserver

vii

LISTA DE ABREVIATURAS E SIGLAS

CPTEC Centro de Previsão de Tempo e Estudos Climáticos

DELT Departamento de Engenharia Elétrica

HTML Hypertext Markup Language (Linguagem de formatação de Hipertexto)

HTTP Hyper Text Transfer Protocol (Protocolo de Transferência de

Hipertexto)

INMET Instituto Nacional de Meteorologia

INPE Instituto Nacional de Pesquisas Espaciais

IP Internet Protocol (Protocolo Internet)

NaN Not a number (Não é um Número)

ND Não Disponível

SIMEPAR Sistema Meteorológico do Paraná

TCP Transmission Control Protocol (Protocolo de Controle de Transmissão)

URL Uniform Resource Locator (Localizador Uniforme de Recursos)

VI Virtual Instrument (Instrumento Virtual)

WEB WWW

WWW World Wide Web (Teia de Alcance Mundial)

Page 9: Labview webserver

viii

RESUMO

Este trabalho apresenta o desenvolvimento de um sistema de divulgação

de dados meteorológicos através da rede mundial de computadores utilizando o

aplicativo LabVIEW. Esse sistema visa informar as condições climáticas para uma

dada região a determinado grupo de interesse tal como estudantes de um campus

universitário ou funcionários de uma empresa. Além disso, todos os dados obtidos

são arquivados em um arquivo de texto e ficam disponíveis para uma série de

análises possíveis como, por exemplo, a verificação do índice de acerto dos

institutos e sua confiabilidade. Foi criado um programa em LabVIEW contendo

algumas rotinas que executam todas as tarefas necessárias ao funcionamento do

projeto e ainda tem o seu painel frontal disponível para acesso e controle através da

Internet. Também foi desenvolvida uma página web para a apresentação dos dados

climáticos e montado um circuito para a aquisição de temperatura no próprio local.

Page 10: Labview webserver

ix

ABSTRACT

This work presents the development of a meteorological data divulgation

system through the World Wide Web by using the LabVIEW software. This system

intends to inform the climatic conditions of a given region to a specific group of

interest such as students on a campus or employees in a company. Furthermore, all

data is archived in a text file and available, for example, for verifying the correct

forecast of the institute and its reliability. A LabVIEW program was created including

some routines that execute all the tasks the project needs and a view of its front

panel, available for access and control through the Internet. A web page for

presenting the weather data and a temperature acquisition circuit at the local area

were also developed.

Page 11: Labview webserver

1

1. INTRODUÇÃO

A meteorologia é a ciência que estuda os fenômenos da atmosfera

terrestre e a atmosfera de outros planetas. A palavra meteorologia vem de meteoro

que significa aquilo que flutua no ar. A meteorologia é propriamente a ciência

atmosférica ou ciência da atmosfera (WIKIPEDIA, Meteorologia, 2006).

Já segundo IBGE TEEN (2006), a meteorologia é o estudo científico da

atmosfera em escala global, dentro de regiões e em localidades específicas, e a

formulação de conclusões que permitem o conhecimento sobre os fenômenos

atmosféricos e as previsões sobre o tempo.

Em todas as atividades que fazem parte do cotidiano existe a influência

das condições do tempo. É só pensar nas viagens (terrestres, aéreas e marítimas),

no plantio e na colheita, em todas as atividades ao ar livre e na previsão de

nevascas e tornados, salvando muitas vidas.

O termo meteorologia surgiu quando o filósofo grego Aristóteles, em torno

de 340 a.C., à sua maneira filosófica e especulativa, escreveu um livro sobre filosofia

natural denominado Meteorológica, falando sobre o tempo, o clima, sobre

astronomia, geografia e química. Falava de nuvens, chuva, neve, vento, granizo,

trovões e furacões. Naqueles dias, tudo o que caia do céu e qualquer coisa vista no

ar era chamada de meteoro, daí o nome meteorologia (IBGE TEEN, 2006).

As idéias de Aristóteles se mantiveram aceitas por quase dois mil anos.

De fato, o nascimento da meteorologia como uma ciência natural genuína não

aconteceu até a invenção dos instrumentos meteorológicos (os termômetros, no fim

do século XIV, o barômetro, para medir pressão atmosférica, em 1643, e o

higrômetro, para medidas de umidade, no final do século XVIII).

A invenção do telégrafo, em 1843, permitiu a transmissão das

observações rotineiras do tempo.

Depois, cartas sinóticas simples (cartas de tempo) foram traçadas.

Em torno de 1920, os conceitos de massa de ar e frentes foram

formulados na Noruega.

Na década de 40, as observações diárias de temperatura, umidade e

pressão, feitas com radiossondas (balões de ar superior), deram uma visão

Page 12: Labview webserver

2

tridimensional da atmosfera. Com os computadores, na década de 50, a

Meteorologia deu outro salto, e passou a resolver equações que descrevem o

comportamento da atmosfera. Em 1960, o Tiros I, o primeiro satélite meteorológico

lançado, colocou a Meteorologia na era espacial.

Os satélites estão capacitados a suprir os computadores com uma série

de dados sobre todo o globo com previsões cada vez mais confiáveis (IBGE TEEN,

2006).

1.1. Objetivos e Motivação

Este trabalho visa desenvolver um sistema de divulgação das condições

meteorológicas locais na web em tempo real baseado tanto em dados de próprios

instrumentos quanto em outras fontes como institutos meteorológicos. Todas essas

informações são arquivadas em um banco de dados para serem processadas e

utilizadas posteriormente, por exemplo, na geração de gráficos.

A principal motivação foi o desejo de informar à comunidade do curso de

Engenharia Elétrica da Universidade Federal do Paraná as condições climáticas da

micro-região. O público-alvo deste trabalho são empresas, indústrias ou

universidades.

Outras motivações do trabalho são: a comparação da previsão de vários

institutos; medição de temperatura atual nos vários locais e teste do desempenho do

servidor web do LabVIEW quanto a disponibilização dos dados, em comparação

com os outros servidores existentes.

1.2. Estrutura

O capítulo 2 faz uma revisão de conceitos importantes para um melhor

entendimento acerca do desenvolvimento do projeto. O capítulo 3 apresenta uma

descrição do sistema, abordando de modo geral os recursos e funcionalidades, além

da metodologia empregada durante a execução das atividades, explicando cada

etapa do desenvolvimento. O capítulo 4 apresenta alguns resultados e, finalmente, o

capítulo 5 encerra o trabalho trazendo as conclusões do autor sobre o mesmo.

Page 13: Labview webserver

3

2. REVISÃO

Para uma melhor compreensão do trabalho faz-se necessária uma

revisão de tópicos pertinentes à implementação do sistema.

2.1. LabVIEW

O software LabVIEW da National Instruments é uma plataforma gráfica

para desenvolvimento de projetos, controle e teste. Possui uma linguagem de

programação gráfica intuitiva desenvolvida para engenheiros e cientistas;

ferramentas e bibliotecas interativas para desenvolvimento de aplicações

específicas; centenas de funções incorporadas para E/S, controle, análise e

apresentação de dados e aplicações compatíveis com arquiteturas desktop, PDA s,

computadores industriais e sistemas embarcados. Com tecnologia interativa Express

como geração automática de código, assistentes de medição, modelos de aplicação

e VI s Express configuráveis, LabVIEW torna o desenvolvimento mais rápido e fácil

para todos os usuários, independente da experiência de programação.

O bloco básico de construção de uma aplicação é um virtual instrument

(VI), instrumento virtual, que consiste de um painel frontal onde se faz a interface de

usuário, e o diagrama de blocos onde se cria o código gráfico.

As rotinas do LabVIEW são modulares, portanto é possível rodá-los por si

mesmos ou como sub-rotinas. Deste modo, pode-se desenvolver programas tão

sofisticados quanto as necessidades do projeto.

O LabVIEW usa um modelo de programação por fluxo de dados que

isenta o programador da arquitetura seqüencial das linguagens de programação

baseadas em texto. Devido à ordem de execução no LabVIEW ser determinada pelo

fluxo de dados entre os nós e não por linhas seqüenciais de texto, é possível criar

diagramas de blocos que executam múltiplas operações em paralelo. Embora num

computador com um processador as instruções sejam sempre executadas

seqüencialmente esta abordagem permite que o programador se abstraia da

seqüência dos eventos. Isto pode ser bem aproveitado em sistemas

multiprocessados.

Page 14: Labview webserver

4

LabVIEW é um ambiente aberto que fornece fácil conectividade para

software de terceiros além de se conectar com aplicações existentes através de

protocolos de rede como .NET, ActiveX e DLL s.

2.2. Institutos Meteorológicos

Foram pesquisados vários institutos meteorológicos analisando-se a

facilidade de interpretação do código-fonte para leitura dos valores desejados.

2.2.1. Canal do Tempo

O canaldotempo.com (http://br.weather.com/) permite aos seus usuários o

acesso às informações meteorológicas para 10.500 localidades ao redor do mundo,

através da procura pelo nome da cidade ou país. O canaldotempo.com difunde

informações meteorológicas pontuais e confiáveis do site weather.com. Ele é o site

do The Weather Channel para a América Latina. O site oferece condições

meteorológicas atuais (em tempo real) e previsão para 3.500 localidades no Brasil e

7.000 maiores cidades ao redor do mundo. O site fornece também a previsão de

tempo para 10 dias, além de previsão para todas as horas do dia, dados históricos

mensais e mapas meteorológicos, como imagens de satélite, de altíssima qualidade

para o Brasil e todas as regiões do mundo. Os visitantes do site vão encontrar

vídeos com previsões regionais e uma enciclopédia meteorológica. O

canaldotempo.com tem um forte relacionamento com o INMET e Sistema

Meteorológico do Paraná - SIMEPAR, além de acordos informais com outros

serviços meteorológicos nacionais e estaduais no Brasil.

Por razões de facilidade de leitura, somente temperaturas atuais estão

sendo lidas do canaldotempo.com.

2.2.2. Climatempo

A Climatempo Meteorologia (www.climatempo.com.br) presta serviços de

consultoria para diferentes segmentos do mercado como agricultura, moda,

eletrodomésticos, turismo e têxtil, entre outros. O portal Climatempo foi criado em

2001 e hoje é uma referência nacional para quem quer informações ágeis e precisas

sobre meteorologia. Está entre os 100 mais visitados em língua portuguesa.

Page 15: Labview webserver

5

Nesse site é possível visualizar a previsão de temperaturas máximas e

mínimas para cinco dias dentre várias cidades do Brasil, porém não foi utilizado no

projeto devido seu código-fonte não estar acessível facilmente para captura de

dados pelo LabVIEW.

2.2.3. CPTEC/INPE

O Centro de Previsão de Tempo e Estudos Climáticos

CPTEC

(www.cptec.inpe.br), do Instituto Nacional de Pesquisas Espaciais (INPE) é o

passaporte do Brasil para o primeiro mundo das previsões meteorológicas. Os

supercomputadores SX-3/12R e SX-4/8A fabricados pela Nec Corporation do Japão,

possuem capacidade de processar até 3,2 bilhões e 16 bilhões de operações

aritméticas em ponto flutuante por segundo, respectivamente. Isso significa

possibilidade de utilizar modelos numéricos para simulação de tempo e clima,

integrando informações atmosféricas e oceânicas. O resultado disso são previsões

de tempo confiáveis, para todo o país.

O sistema de computação é alimentado por informações derivadas dos

satélites Meteosat e Goes, da rede de dados da Organização Meteorológica Mundial

(WMO) e das redes nacionais sob a responsabilidade do INMET (Ministério da

Agricultura). Outras informações vêm do DEPV (Ministério da Aeronáutica), DHN

(Ministério da Marinha), centros estaduais de meteorologia e de outros centros

internacionais. O satélite brasileiro (SCD-1), que coleta dados ambientais, também

desempenha papel importante no levantamento de informações necessárias à

pesquisa meteorológica no INPE.

No site desse instituto podem ser observadas as condições climáticas

atuais e as previsões para os próximos quatro dias. Ele foi utilizado no projeto tanto

com previsões quanto com temperaturas atuais.

2.2.4. INMET

A previsão do tempo está baseada, entre outros, em dados observados

de hora em hora nas estações meteorológicas de superfície, convencionais ou

automáticas, espalhadas por todo o território nacional. No Brasil, o INMET

(www.inmet.gov.br) administra mais de 400 estações. Possui 10 Distritos Regionais

Page 16: Labview webserver

6

que recebem, processam e enviam estes dados para a Sede, localizada em Brasília-

DF. A sede, por sua vez, processa estes dados e os enviam por satélite para todo o

mundo.

Após esta coleta de dados (precipitação, ventos, umidade relativa do ar,

pressão, etc) com o auxílio de supercomputadores faz-se uma simulação, através de

modelos numéricos, de como se comportará o tempo num intervalo de 24, 48, 72 e

96h à frente. Porém, só as informações do modelo numérico não são suficientes

para a realização da previsão do tempo, conta-se também com o auxílio das

imagens de satélites para elaborar a previsão em curto prazo. Estas imagens podem

ser geradas a cada 30 minutos, de hora em hora ou a cada 3h.

Também existe o radar meteorológico que fornece as condições

meteorológicas reinantes num espaço de tempo menor e também para uma área

menor.

No INMET, há uma seção própria para a recepção e tratamento destas

imagens de satélites. Então, os meteorologistas mapeiam e analisam estas

informações e, só depois de feitas todas estas análises (cartas de superfície,

modelos numéricos, imagens de satélites, etc) tem-se maior segurança em elaborar

a previsão do tempo para todo o Brasil.

No site do INMET estão disponíveis previsões para os próximos dias e as

condições registradas nas últimas 12 hora, entretanto, devido a alguns erros

constantes de leitura não foram utilizados os seus dados diretamente.

2.2.5. Simepar

O Instituto Tecnológico SIMEPAR (www.simepar.br), entidade de direito

privado e interesse público, unidade complementar do Serviço Social Autônomo

Paraná Tecnologia, vinculado a Secretaria de Ciência, Tecnologia e Ensino Superior

do Estado do Paraná, vem suceder o Sistema Meteorológico do Paraná, o qual foi

instituído através do Decreto Estadual n.º 2152, de 17 de março de 1993, na forma

de um convênio entre o Instituto Agronômico do Paraná - IAPAR e a Companhia

Paranaense de Energia - COPEL.

Em 25 de maio de 2000, através do Decreto Estadual n.º 2047, as

atividades do Sistema Meteorológico do Paraná foram transferidas para o Instituto

Page 17: Labview webserver

7

Tecnológico SIMEPAR, empreendimento tecnológico que tem por finalidade

consolidar uma infra-estrutura física e humana para o provimento de informações

(dados e previsões) de natureza meteorológica, hidrológica e ambiental bem como

conceber, desenvolver e executar atividades ligadas à pesquisa científica e

tecnológica e formação e capacitação de pessoal, tendo em vista a promoção da

competitividade empresarial e o desenvolvimento sócio-econômico e tecnológico do

Paraná e do país.

No site do instituto podem ser visualizadas as previsões para os próximos

cinco dias, além de várias outras informações como um mapa de descargas

atmosféricas.

2.2.6. Tempo Agora

O Tempo Agora (www.tempoagora.com.br) é um site desenvolvido pela

SOMAR Meteorologia, uma geradora de informações climáticas do país. Ela possui

previsão para até 15 dias para todas as cidades do Brasil.

A fonte básica das informações da SOMAR é proveniente dos principais

centros de meteorologia do Brasil e do exterior. Todos estes dados e modelagens

numéricas são mapeados e analisados por meteorologistas que reúnem o maior

número possível de informações sobre o estado da atmosfera. Sem a análise de um

meteorologista devidamente treinado, as informações do tempo tornam-se subjetivas

e com amplas margens de erro.

Além das condições atuais o site também informa a previsão para os

próximos cinco dias.

2.3. Código HTML

De acordo com a W3C (2006) o código HTML (HyperText Markup

Language) é utilizado para construir páginas de Internet. Os sites de Internet são

construídos através de marcas que especificam como devem ser exibidos os

diversos itens das páginas (como textos e figuras).

O HTML é escrito em arquivos de texto com comandos entre as marcas

menor que (<) e maior que (>) que geralmente aparecem aos pares com a

segunda marcação sinalizada com uma barra / para sinalizar o fim desta marca,

Page 18: Labview webserver

8

como, por exemplo, a marca de formatação negrito <b> e </b>. Estas marcas

informam ao navegador do usuário como os textos e figuras devem aparecer.

O código html será utilizado no projeto de forma a realizar a diagramação

da visualização das informações, com o intuito de melhorar o entendimento dos

dados e a aparência da página, assim como para interpretar os dados provenientes

dos institutos de previsão.

2.4. Protocolo TCP/IP

O modelo TCP/IP - como muitos outros modelos de protocolos - pode ser

visto como um grupo de camadas, em que cada uma resolve um grupo de

problemas da transmissão de dados, fornecendo um serviço bem definido para os

protocolos da camada superior. Estas camadas mais altas estão mais perto do

usuário (camada de aplicação), lidam com dados mais abstratos e confiam nos

protocolos das camadas mais baixas para traduzir dados em um formato que pode

eventualmente ser transmitido fisicamente (WIKIPEDIA, TCP/IP, 2006).

Os protocolos para Internet formam o grupo de protocolos de

comunicação que implementam a pilha de protocolos sobre a qual a Internet e a

maioria das redes comerciais funciona. Eles são algumas vezes chamados de

"protocolos TCP/IP", já que os dois protocolos mais importantes desse modelo são:

o protocolo TCP - Transmission Control Protocol (Protocolo de Controle de

Transmissão) - e o IP - Internet Protocol (Protocolo Internet). Esses dois protocolos

foram os primeiros a serem definidos.

Page 19: Labview webserver

9

3. METODOLOGIA

Neste capítulo será descrito o sistema e o passo-a-passo do

desenvolvimento do projeto, desde o código de programação até as configurações

necessárias para o correto funcionamento.

3.1. Descrição do Trabalho

O sistema desenvolvido neste trabalho é semelhante ao sistema

implementado por Garzillo e Raia (2006) no sentido de se coletar dados

meteorológicos e disponibilizar os resultados via web. As diferenças são quanto à

origem dos dados meteorológicos, que, naquele caso são oriundos de uma estação

meteorológica comercial própria e neste projeto além de coletar dados de sensores

locais visa-se a comparação com dados meteorológicos disponibilizados nas

páginas web de outros institutos.

A figura 1 a seguir apresenta uma hierarquia simplificada do projeto.

FIGURA 1 - HIERARQUIA SIMPLIFICADA DO SISTEMA

No topo do organograma está o Servidor Lab, um programa desenvolvido

em linguagem LabVIEW, responsável por todo o gerenciamento do sistema. Dentre

as tarefas gerenciadas citam-se: a busca nos sites dos institutos pelos valores de

temperatura desejados, a aquisição de temperatura de um sensor montado no local,

a atualização da página da Internet para visualização das temperaturas, a gravação

dos bancos de dados e a geração de gráficos.

Já no nível hierárquico mais inferior estão os links presentes na página da

Internet.

Page 20: Labview webserver

10

3.1.1. A Página da Internet

A primeira interação do usuário com o sistema é através de uma página

html na Internet (fig. 2). Esta página tem como principal objetivo informar a

temperatura atual e a previsão para o dia utilizando-se de dados de alguns institutos

meteorológicos e de um sensor de temperatura localizado no Departamento de

Engenharia Elétrica da UFPR - DELT. As temperaturas atuais, do departamento e a

média, são atualizadas a cada n minutos, tempo que pode ser alterado pelo próprio

usuário quando este toma o controle da aplicação através do navegador, valendo-se

do recurso de servidor web do LabVIEW, explicado na próxima seção. As previsões

dos institutos são atualizadas sempre às 0h.

FIGURA 2 - PÁGINA DA INTERNET PARA A VISUALIZAÇÃO DAS CONDIÇÕES METEOROLÓGICAS E OUTROS RECURSOS

Esta página foi desenvolvida com o auxílio de uma ferramenta de criação

de sites, o Microsoft FrontPage, e contém além do link para o painel frontal remoto

do LabVIEW, os seguintes recursos:

a) link para a visualização do histórico das previsões comparado com os

valores de temperatura realmente observados durante o dia. Este

Page 21: Labview webserver

11

histórico é uma página html que o programa em LabVIEW gera uma

vez por dia, anexando uma tabela com os valores relevantes de um

banco de dados geral;

b) link para o acompanhamento, em um gráfico, da variação de

temperatura do sensor localizado no DELT durante o último dia. Esta

também é uma página html gerada pelo programa às 0h de cada dia;

c) os links para os institutos meteorológicos utilizados como fonte de

dados.

3.1.2. O Painel Frontal Remoto

O programa Servidor Lab, em LabVIEW, ver figura 3, executado

continuamente é responsável pelo gerenciamento de todo o sistema, desde a coleta

da temperatura do sensor conectado à placa de aquisição de dados, geração de

banco de dados, histórico e gráficos, até a atualização da página da Internet.

FIGURA 3 - PAINEL FRONTAL REMOTO DO SERVIDOR LAB

Quando esse programa é acessado através do link presente na página

principal, o usuário observa o seu painel frontal na tela do navegador, como na

figura 3. Nesse instante, ele passa a ter o controle da aplicação que está sendo

executada em um computador do departamento. Assim, pode-se observar as últimas

Page 22: Labview webserver

12

temperaturas medidas, a data e hora da medição, além de alterar o tempo de

atualização da página entre uma medida e outra. É possível também que se gere

gráficos com a variação de temperatura, bastando escolher o instituto e o período

(últimas horas, dias) ao qual se deseja conferir.

Não é necessário que o usuário tenha o software LabVIEW instalado para

ter acesso ao painel frontal, basta que se instale um plug-in disponível gratuitamente

no site da National Instruments (www.ni.com), o LabVIEW Run-Time Engine .

Por padrão, se mais de um usuário acessar este painel frontal remoto, o

servidor web do LabVIEW restringe o controle para apenas um usuário por vez. Os

outros visitantes têm somente a visualização do painel frontal e devem aguardar por

um período até que o tempo de quem está no controle (geralmente cinco minutos)

acabe ou este libere o controle, voltando ao modo de visualização.

Portanto, tem-se uma forma mista de acesso às informações. A primeira é

através de um servidor web tradicional (apache) e a outra é através do servidor web

do LabVIEW. A vantagem desse segundo método é a grande integração com o

programa desenvolvido, permitindo funções como geração de gráficos que de outra

maneira seria bastante complicada. Já a desvantagem seria a necessidade de o

usuário instalar o plug-in para poder visualizar a página, não bastando apenas ter o

navegador web.

3.2. O Programa Servidor Lab

O programa Servidor Lab é a base do projeto (vide 3.1.2). Nele são

executadas as principais ações como chamada de sub-rotinas, disponibilização do

painel frontal no navegador e temporização. A figura 4 abaixo mostra o diagrama de

blocos do programa:

Page 23: Labview webserver

13

FIGURA 4 - DIAGRAMA DE BLOCOS DO SERVIDOR LAB

Pode-se ver que o diagrama de blocos é formado basicamente por duas

estruturas while com temporizações diferentes, duas estruturas case e algumas sub-

rotinas que executam certas operações.

3.2.1. Monitoramento do Botão TRAÇAR

O monitoramento do botão TRAÇAR é feito através do laço while da

direita, cuja temporização é de 500 ms. Isso significa que a cada meio segundo o

programa confere a condição do botão TRAÇAR . Se o resultado for falso nada será

executado pela instrução e a função aguarda o tempo de espera para uma nova

iteração. Se o resultado for verdadeiro, a aba correspondente ao caso verdadeiro

será executada. Nesse caso, as informações sobre o instituto e o período serão

enviadas para uma sub-rotina chamada Gráfico que procurará no banco de dados

os valores de temperatura correspondentes à pesquisa e retornará os dados para o

gráfico localizado no painel frontal do Servidor Lab. Detalhes sobre Gráfico serão

dados adiante.

Page 24: Labview webserver

14

3.2.2. Monitoramento das Temperaturas Atuais

O outro laço while é responsável basicamente pela verificação das

temperaturas atuais apontadas pelos institutos meteorológicos e pelo sensor

localizado no DELT.

É possível identificar, destaque em vermelho, a parte referente à

temporização que leva em conta o valor do controle Atualização em Minutos .

Assim, por exemplo, a cada cinco minutos os valores de temperatura nos sites e no

sensor de temperatura próprio são lidos e enviados junto com a média para os

indicadores no painel frontal do Servidor Lab, para a Página da Internet e para o

banco de dados das temperaturas.

3.2.3. Monitoramento das Previsões de Temperatura

O monitoramento das previsões deve ser feito a cada 24 horas, por isso

foi escolhido o horário de meia-noite para a execução dessa tarefa. Para não ter

outra estrutura while com um tempo muito longo de espera, o que acarreta

problemas se houver a necessidade de parar o programa instantaneamente,

preferiu-se o uso de um bloco comparador de limites, o In Range and Coerce , ver

quadro em vermelho. Este bloco compara o horário que a atualização deve ser feita

com o horário atual da execução. Enquanto este não estiver contido naquele,

levando-se em conta os limites inferiores e superiores, o resultado é false e nada

será executado. Mas se a hora da execução estiver dentro do período estipulado, a

aba correspondente ao caso true será executada. Logo, os valores das previsões

para o dia serão lidos dos sites dos institutos e enviados para a Página da Internet e

para o banco de dados das previsões. Também a sub-rotina Graf HTML será

executada, gerando uma página html com a variação da temperatura no DELT do

último dia.

3.3. Bloco Escrever

A partir dos recursos proporcionados pelo Servidor Lab foi desenvolvida

uma página html (ver fig. 2) para que os dados pudessem ser visualizados

facilmente pela Internet em um navegador padrão. A sub-rotina Escrever é

Page 25: Labview webserver

15

responsável por escrever os dados de temperatura atual, previsão de temperatura e

o tempo de atualização da página. A figura 5 mostra a descrição e as variáveis

envolvidas por esse bloco.

FIGURA 5 - DESCRIÇÃO DA SUB-ROTINA 'ESCREVER'

A variável Temperatura é o valor a ser atualizado e Posição é o

deslocamento a ser dado, em número de caracteres, até que se chegue na posição

correta da escrita. A figura 6 apresenta o diagrama de blocos dessa sub-rotina.

FIGURA 6 - DIAGRAMA DE BLOCOS DE 'ESCREVER'

Na caixa verde pode-se ver o caminho do arquivo a ser aberto, atualizado

com o valor desejado na posição correta e encerrado. Esse código ainda verifica se

o valor de temperatura está entre 0 e 10 para incluir um zero antes do número que

vai para a página e verifica também se o valor lido é NaN, substituindo-o por ND.

Page 26: Labview webserver

16

3.4. Bloco Ler HTML

Essa sub-rotina foi desenvolvida para adquirir as informações necessárias

sobre as temperaturas registradas no momento e as previsões para o dia. Ela foi

baseada num exemplo disponível em (NATIONAL INSTRUMENTS, 2006). Abaixo se

vê um esquema das variáveis de entrada e saída dessa rotina (fig. 7).

FIGURA 7 - DESCRIÇÃO DA SUB-ROTINA 'LER HTML'

Assim, deve-se enviar na entrada desse bloco o instituto e o tipo de

temperatura (atual ou previsão) e tem-se na saída o valor lido da fonte. A figura 8

mostra o diagrama de blocos da rotina.

FIGURA 8 - DIAGRAMA DE BLOCOS DE 'LER HTML'

Page 27: Labview webserver

17

Conforme o valor de Instituto

Temperatura a aba correspondente é

executada. No exemplo da figura acima a temperatura atual do CPTEC/INPE será

lida. Cada dado de temperatura a ser lida tem a sua respectiva aba.

3.4.1. Leitura do Código-Fonte

Na parte superior da figura 8 está a codificação para a extração do valor

de temperatura desejado. Primeiramente é aberta a comunicação via protocolo TCP

com o host na porta 80, padrão para o acesso à Internet. Em seguida deve-se enviar

o comando para a obtenção do código html da página. Isso é feito através do bloco

TCP Write enviando-se a seguinte mensagem:

GET arquivo http/1.1

HOST: url do host

Deixando duas linhas em branco ao final do comando.

Em seguida vem o bloco de leitura, que deve receber o número de

caracteres a serem lidos, no exemplo acima é de 20000. Deve-se certificar que o

valor procurado esteja nesse limite. E, finalmente, a comunicação é encerrada.

3.4.2. Encontrando a Temperatura

A saída do bloco TCP Read contém os caracteres lidos do código-fonte.

Então, é necessária a busca do valor desejado nesse conjunto de caracteres. A

figura a seguir contém o código implementado para a captura do dado.

FIGURA 9 - BUSCA O VALOR DA TEMPERATURA NO CÓDIGO-FONTE LIDO

O conjunto de caracteres chega no bloco Pick Line e este retorna

somente a linha selecionada, no caso acima 81. Nessa linha é necessária a leitura

de dois caracteres levando em consideração um certo deslocamento. Isso foi obtido

com o bloco String Subset . Por fim, transforma-se os caracteres lidos em um

Page 28: Labview webserver

18

numeral. Em caso de os caracteres lidos não forem números, o valor padrão

retornado será NaN, ou seja, 2147483647, definido pelo LabVIEW.

3.4.3. Ocorrência de Erros

A etapa de leitura de dados dos sites dos institutos meteorológicos é a

mais crítica, podendo ocorrer vários erros como, por exemplo, falha na comunicação,

servidor fora do ar, ou mudança no layout da página que acarreta na mudança de

posição do dado desejado. Com isso o valor lido não será um número.

Por isso, foi utilizado o valor NaN para quando ocorresse algum erro,

assim pode-se saber que o dado não estava disponível no momento. Além do mais,

na geração dos gráficos esse ponto não será traçado, evitando desconfortos como

um número totalmente fora da escala normal.

A ocorrência de erro pode ser temporária ou definitiva. Por exemplo: se

em um dado momento a conexão local com a rede apresentar lentidão exatamente

na hora da execução da leitura das páginas, poderá ocorrer um erro do tipo timeout,

extrapolando-se o tempo de espera da comunicação. Essa situação é passageira e

assim que superada não mais ocorrerá erro e o valor correto de temperatura será

lido. Agora, no caso de uma mudança na página do instituto, as posições se

alterarão não tendo como se encontrar as novas posições automaticamente,

precisando da intervenção de um supervisor.

Por se tratar de uma etapa crítica, mais esforços devem ser concentrados

no desenvolvimento de um sistema mais inteligente de busca que rearranje as

posições sempre que estas forem alteradas pelo servidor.

3.5. Sensor de Temperatura - LM335

O LM335 é um circuito integrado sensor de temperatura preciso e de fácil

calibração. Ele opera como um zener de dois terminais e tem uma variação de

tensão diretamente proporcional à temperatura absoluta de 10mV/K, operando em

uma faixa de -40ºC a 100ºC (NATIONAL SEMICONDUCTOR, 2000).

O LM335 já vem calibrado para 25ºC e 1mA de corrente, tendo uma

precisão nesse ponto de ±1%. A figura 10 mostra o esquemático do circuito

montado.

Page 29: Labview webserver

19

FIGURA 10 - ESQUEMÁTICO DO CIRCUITO SENSOR DE TEMPERATURA MONTADO NO DELT

O resistor R1 foi dimensionado levando-se em conta que a corrente que

circula no circuito integrado deve ser de aproximadamente 1mA. Como a própria

placa de aquisição de dados possui um pino para alimentação no valor de 5V, a

resistência utilizada foi de 5k .

3.6. Bloco Temp CIEL

Essa sub-rotina é a responsável pela leitura do valor de temperatura

registrada pelo sensor LM335 (ver seção 3.5)

Veja na figura 11 o diagrama de blocos dessa rotina.

FIGURA 11 - DIAGRAMA DE BLOCOS DA ROTINA DE AQUISIÇÃO DE TEMPERATURA

Uma das principais características do LabVIEW é a aquisição de dados de

forma muito simplificada. Uma vez o circuito montado e conectado à placa de

aquisição, bastam poucos minutos de programação para se obter a medição da

grandeza física, utilizando-se de rotinas já prontas para a tarefa. Conforme a figura

anterior, foi necessário apenas informar em qual aparelho o sensor estava

Page 30: Labview webserver

20

conectado e qual o tipo de configuração. Informar também que se deseja medir

tensão na entrada analógica e ler uma amostra por vez.

3.7. Bloco Banco de Dados

Esse bloco é o responsável por guardar os valores de temperatura atuais

num arquivo de texto. A forma com que eles devem ser arquivados pode ser vista na

tabela 1.

TABELA 1 - FORMATO DO BANCO DE DADOS DE TEMPERATURAS

Data Hora CPTEC/INPE TEMPOAGORA CANAL DO TEMPO MÉDIA DELT9/11/2006 18:10 18 18 16 17 209/11/2006 18:16 18 18 NaN NaN 209/11/2006 18:20 18 18 16 17 229/11/2006 18:25 18 18 16 17 199/11/2006 18:30 16 16 16 16 19

HISTÓRICO DAS TEMPERATURAS LIDAS E MEDIDAS.

Portanto, a cada atualização essa sub-rotina tem que escrever a data e a

hora atual, além dos valores lidos nos sites, a média e a temperatura adquirida do

sensor. Veja na figura 12 a descrição e o diagrama de blocos da rotina.

FIGURA 12 - VARIÁVEIS, DESCRIÇÃO E DIAGRAMA DE BLOCOS

Nessa sub-rotina, os valores de temperatura a serem gravados,

provenientes dos blocos alaranjados são convertidos para caracteres e mandados

para as suas respectivas posições no bloco Concatenate Strings . Este bloco

amarelo forma a linha a ser escrita, note que entre os dados existem comandos tab

Page 31: Labview webserver

21

para a separação dos números e no final um comando de fim de linha. O bloco

branco mais a direita anexa essa linha formada de caracteres ao arquivo referente

ao banco de dados.

3.8. Bloco Hist Prev

Essa sub-rotina executa várias tarefas. Seu diagrama de blocos ficou bem

espalhado e uma compactação para mostrar em uma figura não seria interessante,

por isso ele será dividido em três partes. Antes, uma pequena descrição e

apresentação de variáveis (fig. 13).

FIGURA 13 - DESCRIÇÃO E VARIÁVEIS DE ENTRADA DO BLOCO

A tabela 2 a seguir exemplifica a disposição dos dados no arquivo de

banco de dados.

TABELA 2 - FORMATO DO BANCO DE DADOS DAS PREVISÕES

DataCPTEC/IN

PE-MáxCPTEC/IN

PE-MínTEMPOAGORA-

MáxTEMPOAGORA-

MínSIMEPAR-

MáxSIMEPAR-

MínMÉDIA-

MáxMÉDIA-

MínMEDIDA-

MáxMEDIDA-

Mín5/11/2006 24 15 20 17 22 15 22 16 23 166/11/2006 24 15 27 18 25 16 25 16 26 157/11/2006 24 15 24 13 23 17 24 15 20 158/11/2006 18 13 16 11 20 11 18 12 20 129/11/2006 18 12 19 9 22 11 20 11

HISTÓRICO DAS PREVISÕES E DOS VALORES MÉDIOS MEDIDOS NO DIA.

Pode-se notar que a cada atualização deve-se escrever primeiro os

valores máximos e mínimos medidos durante o dia anterior para depois escrever a

linha com as previsões e médias para o dia.

Page 32: Labview webserver

22

3.8.1. Busca das Máximas e Mínimas

Como essa rotina é executada sempre à meia-noite, tem-se que procurar

no banco de dados das temperaturas registradas durante o dia os valores máximos

e mínimos de temperatura, na coluna das médias. Isso foi feito com o código de

programação da figura 14 a seguir.

FIGURA 14 - CÓDIGO DE BUSCA DAS TEMPERATURAS MÁXIMAS E MÍNIMAS OBSERVADAS NO DIA ANTERIOR

Passo-a-passo: Após ler todo o banco de dados o primeiro bloco Index

Array extrai somente a coluna correspondente às médias. Todo esse vetor vai para

o bloco Delete From Array que a partir do índice zero apagará os dados dentro do

comprimento a ser apagado. Esse índice do comprimento vem da parte destacada

em vermelho. Essa parte recebe todos os dados lidos e separa só a coluna das

datas. Daí, o bloco Search 1D Array recebe a coluna das datas e procura a data do

dia anterior retornando o seu índice. Esse índice é o comprimento a ser apagado do

Page 33: Labview webserver

23

Delete From Array , já comentado acima. Nesse ponto tem-se todas as

temperaturas registradas do dia anterior, que, após uma transformação de tipo

caracter para numérico alcança o bloco Array Max & Min que encontra os valores

desejados.

3.8.2. Formação do Banco de Dados das Previsões

Funciona de forma semelhante à rotina que grava o banco de dados das

temperaturas, devendo-se formar o conjunto de caracteres para escrever no arquivo

(fig. 15).

FIGURA 15 - CODIFICAÇÃO PARA ESCRITA NO ARQUIVO HISTÓRICO

Primeiramente, os valores máximos e mínimos obtidos na seção anterior

são escritos nos lugares vagos. Em seguida executa-se a escrita de mais uma linha,

a das previsões e médias.

Page 34: Labview webserver

24

3.8.3. Histórico Simplificado

Para facilitar a visualização do banco de dados das previsões foi

aproveitado um recurso do LabVIEW de geração de páginas html anexando uma

tabela simplificada, com apenas os valores das médias das previsões e os reais

valores obtidos durante o dia. Essa página é aquela acessada através do link

HISTÓRICO na Página da Internet (fig. 16).

FIGURA 16 - PÁGINA HISTÓRICO

O código implementado para esse recurso pode ser visto na figura 17

abaixo.

Page 35: Labview webserver

25

FIGURA 17 - GERAÇÃO DA PÁGINA HISTÓRICO

Passo-a-passo: Essa parte da sub-rotina lê todo o banco de dados gerado

com as previsões e deve separar somente as colunas de interesse, ou seja, as

quatro últimas, conforme tabela 2. Assim, todo o arquivo lido chega no bloco Delete

From Array que apagará as sete primeiras colunas, mantendo o resto. O cabeçalho

das linhas entra separadamente, no detalhe em vermelho, que é a parte responsável

pela criação da página. Após a inicialização de um relatório tipo html, uma tabela é

anexada a ele, além do link para o histórico completo (com as previsões de todos os

institutos). Em seguida esse relatório é salvo no arquivo do tipo página html e o

relatório é encerrado.

3.9. Bloco Gráfico

Essa sub-rotina responde pela geração de gráficos da variação da

temperatura conforme instituto e período especificado pelo usuário. Veja abaixo o

seu diagrama de blocos (fig. 18).

Page 36: Labview webserver

26

FIGURA 18 DIAGRAMA DE BLOCOS DA SUB-ROTINA 'GRÁFICO'

Iniciando pela parte destacada em vermelho, essa rotina busca todos os

valores arquivados e retorna somente a coluna do instituto desejado para o bloco da

direita, destacado em preto. Esse quadro monta o gráfico segundo os componentes

ligados no bloco Build Waveform . Onde: t0 é o instante inicial do gráfico, dt é o

intervalo de tempo entre os pontos e Y o vetor de pontos. Para se conseguir esse

vetor é necessário saber o índice do primeiro ponto a aparecer no gráfico, com isso

é possível apagar todos os valores até esse índice.

3.9.1. Buscando o Índice Inicial

A estrutura case na parte inferior do diagrama de blocos tem como função

encontrar o índice do primeiro ponto a figurar no gráfico, conforme desejo do

usuário. As suas duas abas (Dias, Horas) têm estruturas semelhantes.

Passo-a-passo

no caso de que seja efetuada uma pesquisa dos

registros da última hora (ver fig. 18), tem-se o seguinte: o arquivo inteiro entra no

laço case e é separado em coluna das horas (que vai para o laço while) e das datas;

faz-se uma busca na coluna das datas pelo dia em que o primeiro ponto foi

guardado, encontrando-se o seu índice; esse índice entra no laço while pois será o

início da busca da hora de registro do primeiro ponto; esse laço while refina um

Page 37: Labview webserver

27

pouco mais a busca inicial retornando o índice correspondente ao período solicitado

pelo usuário; esse índice então vai em direção ao bloco Delete From Array no

quadro destacado em preto que apaga os registros desnecessários e remete o vetor

de interesse para o gráfico.

3.10. Bloco Graf HTML

Essa sub-rotina foi criada para testar um outro recurso interessante do

LabVIEW de anexar elementos do painel frontal em páginas no formato html. Para

isso, pensou-se em disponibilizar a variação do sensor de temperatura do DELT no

dia anterior para acesso através da Página da Internet. O procedimento para a

busca dos valores que comporão o gráfico é o mesmo descrito na seção anterior.

Portanto resta acompanhar como se dá a criação da página com o gráfico do painel

frontal anexado a ela. A figura 19 apresenta a codificação dessa tarefa.

FIGURA 19 - DIAGRAMA DE BLOCOS RESPONSÁVEL PELA GERAÇÃO DA PÁGINA COM O GRÁFICO EM ANEXO

Uma vez obtido o gráfico com os valores desejados (vide seção 3.9) a

estrutura case estará apta a executar o seu código que conta com vários blocos

referentes à criação de relatórios. Primeiramente é aberto um novo documento html.

Em seguida o bloco Append Control Image to report gera um arquivo tipo .png ou

.jpg do controle escolhido, nesse caso Gráfico . Logo após é anexado um link do

Page 38: Labview webserver

28

banco de dados das temperaturas caso o usuário queira ver mais detalhes, inclusive

dos outros institutos. E por fim esse arquivo do tipo .htm é salvo e o relatório é

fechado. A figura 20 apresenta o resultado.

FIGURA 20 - PÁGINA DELT

3.11. Habilitando o Servidor Web

Para que se disponibilize o painel frontal para acesso e controle através

da Internet é necessário que se salve uma página html no computador em que a

aplicação está rodando. Isso é feito pelo menu Tools > Web Publishing Tool. A

seguir tem-se a tela que aparece (fig. 21).

FIGURA 21 - TELA DO 'WEB PUBLISHING TOOL'

Page 39: Labview webserver

29

Nela é possível colocar um título, cabeçalho e rodapé. Há três modos de

visualização (embarcado, instantâneo e monitoramento). No modo embarcado é

possível habilitar a caixa Request Control , assim além da visualização o usuário

tem o controle do painel frontal. Depois de tudo configurado basta salvar a página

em disco na pasta padrão e anotar a url fornecida pelo LabVIEW que será o link de

acesso à página.

Finalmente, para que o painel frontal remoto funcione é necessário

habilitar o servidor web do LabVIEW que por padrão inicia-se desabilitado.

Acessando o menu Tools > Options > Web Server: Configuration a seguinte tela da

figura 22 aparece.

FIGURA 22 - HABILITANDO O SERVIDOR WEB DO LABVIEW

Após marcar a caixa Enable Web Server pode-se modificar a porta http

ou manter a porta padrão. O endereço que aparece no campo Root Directory é o

caminho da pasta padrão do LabVIEW onde são salvas as páginas criadas no Web

Publishing Tool .

Page 40: Labview webserver

30

4. RESULTADOS

O sistema apresentado está operando com todos os recursos desde o dia

28/10/2006 e tem funcionado satisfatoriamente, necessitando pouca intervenção de

um administrador. Basicamente, o site Tempo Agora apresentou mudanças de

layout dentro de um período de aproximadamente duas semanas, o que acarretou

em erro na leitura das temperaturas devido à mudança de posicionamento das

mesmas. Esse erro é igualmente simples de se perceber e corrigir pois o banco de

dados acusará erro na leitura e uma verificação no site do instituto confirma o

problema. A solução é alterar as constantes de posicionamento na sub-rotina Ler

HTML .

4.1. Índices de Erro

O banco de dados completo das previsões está disponível no anexo 1.

Embora o número de amostras ainda não seja suficiente para definir um universo

representativo (apenas 36 dias), pôde-se fazer uma estimativa do grau de erro dos

institutos, comparando suas previsões com as reais temperaturas ocorridas,

segundo registros dos próprios divulgadores (tab. 3).

TABELA 3 - ERROS RMS DAS PREVISÕES MÁXIMAS E MÍNIMAS DOS INSTITUTOS

CPTEC/INPE TEMPOAGORA SIMEPARMáximas 0,43 ºC 0,43 ºC 0,54 ºCMínimas 0,25 ºC 0,36 ºC 0,32 ºC

Para esse cálculo foi verificado se as temperaturas registradas durante o

dia estavam entre as máximas e mínimas previstas, observando se os limites foram

cumpridos ou quantos graus, pra cima ou pra baixo, cada instituto aferiu

erroneamente. A equação utilizada para o erro rms das máximas pode ser vista na

equação 1:

Page 41: Labview webserver

31

N

RP

ERRO imáxmáx

RMSmáx

2

(1)

onde: Pmáx é a previsão do valor de máxima temperatura dada pelo instituto; Rmáx a

máxima real medida durante o dia; e N o número de dias.

O erro rms para as previsões mínimas é calculado como na equação

acima, apenas substituindo-se os valores de P e R pelos valores mínimos.

Também foi calculado um erro geral em graus Celsius para cada instituto

que leva em conta as previsões máximas e mínimas juntas, conforme a equação

abaixo:

N

RPRP

ERRO imínmínmáxmáx

2

22

(2)

Os resultados podem ser conferidos na tabela 4, a seguir:

TABELA 4 - ERRO RMS GERAL DE CADA INSTITUTO EM GRAUS CELSIUS CPTEC/INPE TEMPOAGORA SIMEPAR

0,25 ºC 0,28 ºC 0,32 ºC

4.2. Variação ao Longo do Dia

Com o auxílio dos gráficos é possível observar, por exemplo, como se

comporta a temperatura medida no decorrer do dia. A figura 23 foi obtida da variação

do sensor de temperatura localizado no DELT.

FIGURA 23 - VARIAÇÃO DE TEMPERATURA DURANTE UM DIA

Page 42: Labview webserver

32

Os valores lidos do sensor estão sendo arredondados para o número

inteiro mais próximo, explicando a variação de um em um grau Celsius.

Comparando-se os gráficos de vários dias pode-se observar um

comportamento parecido da variação ao longo do dia, com as temperaturas mínimas

sendo registradas no meio da madrugada. Por volta das oito horas, com o nascer do

sol, as temperaturas sobem até atingirem o pico no meio da tarde quando voltam a

diminuir.

Uma observação importante percebida da análise dos gráficos foi que a

variação de temperatura do sensor tem um aspecto bastante oscilatório mesmo em

períodos curtos de tempo, em comparação com os dados obtidos dos sites dos

institutos (fig.24).

FIGURA 24 - VARIAÇÃO DE TEMPERATURA DO SENSOR MONTADO E DA MÉDIA DE TEMPERATURA DOS INSTITUTOS DENTRO DE DUAS HORAS

O gráfico superior é a variação de temperatura de duas horas do sensor

do DELT e o inferior é a média de temperatura dada pelos institutos no mesmo

período.

O fato de o sensor de temperatura estar montado junto à janela do CIEL

explica as principais diferenças entre os gráficos, como o pequeno deslocamento

para cima das temperaturas do sensor (haja visto que o mesmo não se encontra

num ambiente totalmente externo) e uma oscilação maior em um curto espaço de

tempo (devido possivelmente, a interferência de ventos ou fluxos de calor do

laboratório para o exterior).

Page 43: Labview webserver

33

5. CONCLUSÃO

Os objetivos iniciais do projeto foram atingidos pois foi desenvolvido e

está em funcionamento nos servidores do Centro de Instrumentação Eletrônica da

Universidade Federal do Paraná um sistema que disponibiliza informações

climáticas aos estudantes do curso através da rede mundial de computadores,

disponível no seguinte endereço: http://www.eletrica.ufpr.br/climadelt. Todos os

dados são arquivados e futuramente podem ser utilizados estatisticamente.

Pôde-se obter resultados extremamente satisfatórios ao longo do projeto,

como interface amigável ao usuário, interatividade e tempo de programação

reduzido. O diferencial do uso do LabVIEW é que a implementação da

instrumentação virtual se torna um processo bastante simples pois já são disponíveis

rotinas prontas desde a aquisição até a apresentação dos dados, assim como um

servidor web que facilita a disponibilização dos dados e o eventual controle da

aplicação. Ambas as formas de servidores web funcionaram bem, tanto a geração

de código html (com imagens/gráficos) pelas rotinas de relatório para um servidor

web tradicional quanto o próprio servidor web do LabVIEW.

Quanto aos futuros avanços e melhorias do projeto podem ser listados: o

aprimoramento da rotina de leitura no sentido de uma melhor interpretação do

código html, por exemplo localizando os comandos padrões (tags) mais próximos do

valor procurado, evitando erros devido a mudanças na página; o aumento no

número de sensores (temperatura, pressão, umidade), aproveitando os canais

analógicos restantes da placa de aquisição, distribuindo-os interna e externamente

no departamento, com o intuito de informar também a temperatura dentro das salas

e corredores do departamento.

Page 44: Labview webserver

34

REFERÊNCIAS BIBLIOGRÁFICAS

GARZILLO, L.R., RAIA, F.; 2006. Céu de brigadeiro para servidor de dados

meteorológicos graças ao LabVIEW. Disponível em:

<http://digital.ni.com/worldwide/brazil.nsf/web/all/F8BFFD0905B25753862570920072

1999>. Acesso em: 12/11/2006.

IBGE TEEN; 2006. Dia do Meteorologista. Disponível em:

<http://www.ibge.gov.br/ibgeteen/datas/meteorologista/home.html>. Acesso em:

12/11/2006.

NATIONAL INSTRUMENTS; 2006. Connecting to an http Server using the LabVIEW

TCP functions. Disponível em: <http://zone.ni.com/devzone/cda/epd/p/id/1582>.

Acesso em: 12/11/2006.

NATIONAL INSTRUMENTS; 2003. User Manual LabVIEW 7 Express. National

Instruments Corporate Headquarters. Austin, Texas-USA.

NATIONAL SEMICONDUCTOR; 2000. LM335 Precision Temperature Sensor

Datasheet. Disponível em: <http://www.national.com/ds.cgi/LM/LM135.pdf>. Acesso

em: 12/11/2006.

PORTLAND STATE UNIVERSITY; 2006. LabVIEW Web Server. Disponível em:

<http://software.oit.pdx.edu/math/labview/www/index.htm>. Acesso em 12/11/2006.

W3C. HyperText Markup Language (HTML) Home Page; 2006. Disponível em:

<http://www.w3.org/MarkUp/>. Acesso em: 12/11/2006.

WIKIPEDIA; 2006. Meteorologia. Disponível em:

<http://pt.wikipedia.org/wiki/Meteorologia>. Acesso em: 12/11/2006.

WIKIPEDIA; 2006. TCP/IP. Disponível em: <http://pt.wikipedia.org/wiki/TCPIP>.

Acesso em: 12/11/2006.

Page 45: Labview webserver

35

ANEXO 1

Data CPTEC/INPE-Máx

CPTEC/INPE-Mín

TEMPOAGORA-

Máx

TEMPOAGORA-

Mín

SIMEPAR-

Máx

SIMEPAR-

Mín

MÉDIA-

Máx

MÉDIA-

Mín

MEDIDA-

Máx

MEDIDA-

Mín28/10/2006 24 15 23 13 28 14 25 14 26 1329/10/2006 26 11 31 12 28 13 28 12 27 1330/10/2006 29 15 29 14 30 13 29 14 28 1531/10/2006 28 16 33 15 29 15 30 15 30 161/11/2006 22 16 26 18 27 15 25 16 22 182/11/2006 24 17 24 20 22 17 23 18 28 183/11/2006 28 17 25 19 26 17 26 18 27 174/11/2006 24 17 23 17 28 15 25 16 19 175/11/2006 24 15 20 17 22 15 22 16 23 166/11/2006 24 15 27 18 25 16 25 16 26 157/11/2006 24 15 24 13 23 17 24 15 20 158/11/2006 18 13 16 11 20 11 18 12 20 129/11/2006 18 12 19 9 22 11 20 11 22 1010/11/2006 20 11 22 7 25 13 22 10 21 1011/11/2006 23 8 22 8 26 13 24 10 20 712/11/2006 20 10 20 10 20 11 20 10 17 1013/11/2006 20 12 18 13 21 12 20 12 18 1314/11/2006 21 11 22 13 21 14 21 13 19 1315/11/2006 26 13 28 11 23 15 26 13 27 1516/11/2006 30 17 31 18 26 15 29 17 31 1717/11/2006 33 19 29 19 30 16 31 18 31 1918/11/2006 33 19 29 18 28 18 30 18 28 1819/11/2006 25 17 26 16 23 15 25 16 23 1620/11/2006 22 16 17 13 21 15 20 15 18 1421/11/2006 25 12 22 12 21 13 23 12 24 1422/11/2006 26 12 27 9 25 15 26 12 28 1623/11/2006 29 15 28 17 29 16 29 16 28 1624/11/2006 28 15 32 16 29 15 30 15 29 1325/11/2006 26 19 28 15 27 18 27 17 26 1726/11/2006 28 19 24 16 25 18 26 18 25 1827/11/2006 24 17 21 16 24 16 23 16 24 1928/11/2006 24 16 24 19 NaN NaN NaN NaN 24 1829/11/2006 24 17 23 17 24 15 24 16 26 1930/11/2006 23 15 24 18 24 16 24 16 21 151/12/2006 24 14 22 16 24 14 23 15 19 152/12/2006 26 14 24 16 27 15 26 15 22 123/12/2006 29 16 27 13 28 15 28 15

HISTÓRICO DAS PREVISÕES E DOS VALORES MÉDIOS MEDIDOS NO DIA.