MONITORAMENTO REMOTO DO CONSUMO DE ÁGUA UTILIZANDO SOFTWARE DE INTERFACE HOMEM-MÁQUINA - HIDROAER Alex Lage de Morais1; Wilson Cabral de Sousa Jr.2;Elaine Nolasco Ribeiro3 RESUMO - Uma parte do projeto HIDROAER consiste no desenvolvimento de um software de interface homem-máquina (IHM) responsável em apresentar o consumo de água para o Aeroporto Internacional de São Paulo. Este trabalho apresenta os elementos que constituem a estrutura do sistema responsável pelo interfaceamento entre o sistema de aquisição do consumo de águas do Aeroporto de Guarulhos baseado em uma rede ZigBee, e a interface gráfica capaz de demonstrar este consumo em tempo-real, entre outras funções que serão apresentadas neste artigo. As estruturas e modelos aqui apresentadas baseiam-se em normas de Orientação à Objeto e em manuais de funcionalidades dos Framewroks, IDE’s e plataformas utilizadas. ABSTRACT – A part of HIDROAER project is the development of software for human-machine interface (HMI) to show the flow of water for the Sao Paulo International Airport. This paper presents the elements that form the structure of the system responsible for interface between the aquisition system of the water consumption from Guarulhos Airport based on a ZigBee network, and GUI able to show that consumption in real-time, among other functions that will be presented in this article. The structures and models here are based on standards of the Object Orientation and manuals of functions of Framewroks, IDE'se platforms used. Palavras chave: Gráficos de Vazão de tempo-real - Interface gráfica-Swing - Aplicações Java. II Simpósio de Recursos Hídricos do Sul-Sudeste 1. INTRODUÇÃO O presente documento demonstra os conceitos envolvidos no desenvolvimento de um software capaz de gerenciar o IHM entre os dados recebidos de uma rede sem fios baseada na tecnologia ZigBee e o real comportamento do consumo de águas demonstrado em modo gráfico, caracterizando o consumo em tempo-real, o histórico de vazões, e as posições diárias e mensais deste consumo. Serão notórios os modelos e padrões de ferramentas utilizadas neste projeto, sendo assim, também serão demonstrados os conceitos para definição dos frameworks utilizados. Por fim, será apresentada uma versão visual baseada em ferramentas para geração de gráficos, acessos a banco de dados, geração de relatórios, controle de fluxo, acesso a arquivos e log de usuário. O documento é descrito como segue. Na seção 2 será descrito a definição dos requisitos propostos para o funcionamento do software. Na seção 3 será descrito a metodologia definida para o desenvolvimento do projeto e o desenvolvimento atual do projeto com as telas do software. Por fim, será realizada uma conclusão parcial do desenvolvimento até o presente momento para análise e projeções. 2. DEFINIÇÃO DOS REQUISITOS FUNCIONAIS Segue abaixo os requisitos funcionais para o projeto do software residente da central que será responsável pela IHM. Do armazenamento: O sistema basicamente será capaz de realizar a captura e armazenamento dos dados enviados por um modelo previamente desenvolvido utilizando a tecnologia de rede sem fio Zigbee e demonstrar os valores de consumo, como segue: a) O sistema será capaz de armazenar os dados enviados seguindo um protocolo definido entre as partes, obedecendo e seguindo as seqüências de bytes enviados e armazenando-as em uma base de dados relacional. Em anexo segue o protocolo de comunicação definidos entre os subsistemas do projeto. b) O sistema será capaz de atualizar, configurar e buscar informações em sua base de dados; c) O sistema será capaz de gerar um log de usuário, verificando as chaves de permissões para os usuários entre os tipos de operações; d) Como requisito da INFRAERO: O sistema deverá armazenar de forma a ter o id do hidrômetro como chave primária de identificação, todas as informações referente ao proprietário do hidrômetro, ou seja, dados sobre período de contrato, metas estipuladas, dados sobre II Simpósio de Recursos Hídricos do Sul-Sudeste concessionário, etc., informações que serão aprimoradas durante a próxima reunião a ser realizada durante a visita ao AISP, levantando os requisitos diretamente com o depto. de TI. Do consumo: O sistema será capaz de mostrar por meios de gráficos e relatório os consumos diversos, como segue: a) O sistema será capaz de demonstrar o consumo em tempo real de cada hidrômetro, realizando a leitura do protocolo, onde os campos 9 e 10 representam este consumo; a.1) Como requisito proposto pela INFRAERO, o sistema deverá manter uma valor médio de consumo estipulado pelo operador, para que a curva de consumo de tempo-real fique oscilando sobre a média estipulada (metas de consumo). b) O sistema será capaz de demonstrar o consumo em tempo real em um relógio tipo “hidrômetro” e em gráficos de tempo real, bem como, ao se passar o mouse sobre os hidrômetros desenhados no mapa de disposições de hidrômetros. c) O sistema será capaz de demonstrar o consumo acumulado de cada hidrômetro, realizando a leitura do protocolo, onde os campos 11, 12, 13 e 14 representam este consumo; d) O sistema será capaz de demonstrar o consumo acumulado em um relógio tipo “hidrômetro” e em gráficos de tempo real, bem como, ao se passar o mouse sobre os hidrômetros desenhados no mapa de disposições dos hidrômetros. Dos relatórios: O sistema poderá realizar buscar na base de dados, alternando entre códigos de hidrômetros, intervalos de dias, intervalos de consumos e outros objetos de busca a serem definidos pelo cliente, bem como demonstrá-los graficamente. a) O sistema será capaz de fornecer uma busca na base de dados, sendo que o usuário terá que fornecer o objeto de busca, identificando códigos de hidrômetros, datas, valores de consumos e outros objetos que poderão ser definidos. b) Os relatórios serão gerados utilizando frameworks existentes no auxílio desta tarefa. c) Os relatórios serão gerados entre diversos tipos de consultas e ligações de pesquisas. Dos Gráficos: O sistema, analogamente aos relatórios, utilizará a base de dados dos dados enviados pelo módulo de aquisição e transmissão para mostrar os consumos de cada hidrômetro. a) O sistema será capaz de gerar os gráficos de consumo em tempo real para cada hidrômetro tendo como objetos de pesquisa os mesmos requisitos definidos para os relatórios de consumo. Item único: O relógio de consumo que permanecerá sendo atualizado com os dados de consumo em tempo real e acumulado dos hidrômetros seguirá as mesmas normas de operação definidas para os gráficos e relatórios. Dos requisitos adicionais: II Simpósio de Recursos Hídricos do Sul-Sudeste a) O sistema poderá ter a capacidade de gerar alerta de aumento de vazão e alertas de “vazamento”, no b) caso de registro de vazão de horários tradicionalmente sem uso. O sistema poderá ter a capacidade de criar log de usuários para determinadas atividades e pesquisas. c) O sistema será capaz de mostrar os estados dos hidrômetros através de cores, por exemplo: - Vermelho ----- Msg de erro, consumo OUTOFRANGE ou defeito. - Preto ----------- Consumo zero. - Magenta ------- Consumo esperado. - Azul ------------ Manutenção ou algo do tipo. D) Requisito proposto pela INFRAERO: O sistema deverá ter a capacidade de alternância entre gráficos e a capacidade de mostrar em um mesmo gráfico diversos valores de consumo referentes a diversos hidrômetros. 3. DESENVOLVIMENTO A escolha da linguagem de programação apropriada para o desenvolvimento deste trabalho foi baseada em dois aspectos: multiplataforma e bibliotecas específicas para desenvolvimento gráfico. De acordo com Deitel (2007) o uso de Java em aplicações gráfica gera uma grande facilidade para novos padrões e layout de aplicação. A facilidade de interação entre o sistema desenvolvido em Java e os diversos sistemas operacionais existentes nos permite a não depender de uma específica tecnologia para as atualizações de versão durante o desenvolvimento do sistema, segundo Java (2007). Como ambiente de interface de desenvolvimento (IDE) utilizamos o Netbeans (2007) que até o presente momento se encontra em sua versão 6.0.1. Juntamente com o IDE utilizamos frameworks para gerar relatórios, definido como o iReport-2.0.4 (2007) , para gerar gráficos e animação como o JFreeChart-1.0.9 (2007) e como fonte de dados utilizamos o Database MySQL (2007). 3.1. Criando banco de dados Structured Query Language, ou Linguagem de Consulta Estruturada ou SQL, é uma linguagem de pesquisa declarativa para banco de dados relacional(base de dados relacional). Utilizando o tutorial fornecido pelo distribuidor Data Base MySQL (2007), criamos uma base de dados utilizando os requisitos para melhor adaptação à ferramenta. Este passo consiste em II Simpósio de Recursos Hídricos do Sul-Sudeste analisar os itens básicos de uma base de dados para criar, gerenciar e percorrer esta base de dados com instruções SQL. Desta forma temos uma base de dados conforme a Figura 1. Figura 1 - Tabela de dados do Banco de Dados MySQL. Neste passo foram utilizados conceitos de relacionamento entre tabelas, gerando associação entre entidades para o acesso de dados entre tabelas, podendo assim gerar os históricos de consumo pré-definidos. Após criarmos este primeiro modelo de base de dados, vamos mostrá-los em um relatório de consumo utilizando o framework iReport. 3.2 Criando o layout do relatório Em passos simples, demonstraremos como criar o layout para a visualização dos dados armazenados na base de dados MEDICAO. Para tanto, utilizaremos nossa tabela Hidroaer como demonstração de exemplo. Primeiramente configuramos uma conexão ativa com o database MySQL. Após a configuração da comunicação com a base de dados, definidos o layout e geramos o seguinte relatório conforme a Figura 2. Figura 2 - Listagem de consumo acumulado II Simpósio de Recursos Hídricos do Sul-Sudeste 3.3 Criando classes em Java Utilizando o IDE Netbeans será criado as classes para gerenciamento dos relatórios utilizando os arquivos gerados pelo iReport relatório.jasper e assim, automatizando as inserções de dados e as visualizações dos relatórios. Tela principal – Opções de mapas à escolha Figura 3 - Tela Software Hidroaer. Figura 4 - Tela Software Hidroaer. Foram adicionadas algumas funcionalidades como inclusão, consulta e relatórios no sistema, que podem ser visualizadas abaixo. II Simpósio de Recursos Hídricos do Sul-Sudeste Figura 5. Tela Cadastro Concessionária. Figura 6 - Tela Cadastro Hidrômetro. 3.4 Criando os gráficos de consumo Utilizando a framework JFreeChart disponível gratuitamente para operação, começamos a desenvolver as telas de consumo dos hidrômetros. Como estabelecido nos requisitos funcionais, cada hidrômetro terá uma representação por meio de gráficos, relatórios e relógio de consumo dos valores de consumo de água registrados por eles. Abaixo é demonstrado as telas de consumo e relógio de consumo de tempo-real e acumulado para maior familiarização ao sistema. II Simpósio de Recursos Hídricos do Sul-Sudeste Figura 7 - Gráficos e Relógio de Consumo. 4. CONCLUSÃO O desenvolvimento de todas as etapas apresentadas neste relatório foi seguido pelos modelos apresentados e aplicados nas aplicações necessárias. Alguns passos como a definição do sistema, a definição do banco de dados, a modelagem do banco de dados, criação de telas de inclusão, telas de consumo já foram executadas e estão totalmente operacionais. No atual desenvolvimento estamos melhorando a interface gráfica para geração dos relatórios necessários e iniciando o desenvolvimento das classes responsáveis pela geração dos relógios de consumo, visto que são de importância fundamental para as análises de consumo. BIBLIOGRAFIA Data Base MySQL – Tutorial – Disponível em: www.mysql.com. Acesso à partir de 15/10/2007. Deitel, H. M. (2007). Java How To Program. Prentice Hall. Framework IReport – Tutorial – Disponível em: http://jasperforge.org. Acesso à partir de 15/10/2007. Framework JFreeChart – Tutorial – Disponível em: http://www.jfree.org/jfreechart/. Accesso à partir de 15/10/2007. Java – Tutorial – Disponível em: www.java.sun. Acesso à partir de 15/10/2007 Netbeans – Tutorial – Disponível em: www.netbeans.com. Acesso à partir de 15/10/2007. II Simpósio de Recursos Hídricos do Sul-Sudeste