Gerenciador de ambientes virtual (GAV)

Participantes:

Mairon Igor Dobicz
Gabriel Mellem
Igor Wapenik

Resumo do projeto:

Sistema para laboratórios tecnológicos com grande fluxo de pessoas, monitorando gastos com energia e as condições do ambiente (Temperatura, umidade, fumaça e lâmpadas). Assim como o bloquei e desbloqueio desses laboratórios por acesso remoto WebApp.

Descrição do projeto:

Assista nossa apresentação:

Equipe GAV


Atualmente na maioria das instituições de ensino, desde escolas a universidades não tem-se um monitoramento de entrada e saída de pessoas, alunos e professores que utilizam salas de aulas e laboratórios, além de que não se sabe ao certo os gastos que uma instituição tem, com isso foi iniciado a ideia de controlar estes gastos e situar os seus proprietários para uma melhoria na economia e conscientização com o meio ambiente, até porque em geral ainda não é habitual existir tecnologias eficientes e de custo acessível para fazer tal façanha

Este projeto foi criado tendo como pilares a eco responsabilidade, economia de recursos, tecnologia e mobilidade, e segurança. Queremos proporcionar à laboratórios, escolas,  universidades, escritórios e instituições no geral (podendo ser aplicado em ambientes residenciais perante demanda). A proposta do projeto é automatizar os sistemas elétricos destes ambientes permitindo que o proprietário do local tenha total controle sobre os gastos, usos e usuários do mesmo. Isso será feito através da instalação de fechaduras eletromagnéticas com a liberação do acesso por RFID, NFC e outros dispositivos que operem em rádio frequência, além de monitoramento de temperatura, umidade e alerta de incêndio (por meio detectores de fumaça). Nosso projeto conta com telemetria de consumo de energia, medindo corrente e tensão, registrando a potência consumida em KW, gerando uma estimativa de gasto em energia elétrica em KWh de cada sala ou até de conjuntos de salas. Tudo isso podendo ser monitorado e controlado via Web e até mesmo via aplicativo para dispositivos móveis, permitindo, além do monitoramento e controle da sala, o controle on/off das luzes, ventiladores, projetores, computadores e etc. remotamente. Em suma, nosso projeto é um programa online de controle e monitoramento dos sistemas elétricos de ambientes onde há diversos dispositivos elétricos sendo utilizados por várias pessoas durante todo o dia. O objetivo é a economia de energia e recursos financeiros, que muitas vezes são desperdiçados em energia sem necessidade, de forma simples, online e conveniente para incentivar uma vida sem desperdícios, com mais qualidade e sustentável.


Histórico do desenvolvimento:

Diagrama de blocos inicial do sistema a ser desenvolvido

fluxograma

Atualmente, estamos trabalhando diretamente no protótipo, junto com o site, aplicativo e a validação. Felizmente, já temos um cliente em potencial nos esperando pelo nosso protótipo para os primeiros testes, que será implantado na Universidade onde estudamos.

Essa validação ocorreu com professores e “laboratoristas” dentro da instituição, onde os mesmo já tiveram problemas com horários, reservas, danos aos laboratórios e até mesmo equipamentos extraviados, tendo um maior controle de acesso. Sabendo-se assim quais profissionais entraram e saíram desses laboratórios. Fazendo uma gestão de controle, como iluminação, acesso remoto da porta, sensoriamento da temperatura e umidade, sensoriamento de fumaça e corrente, e assim garantindo uma sustentabilidade na economia de energia, melhorando a própria instituição, deixando-a moderna e com um ar de futuro em tecnologia. Esse sistema proporciona a reserva de laboratórios em uma plataforma on-line, simples de ser acessada e com maior comodidade e modernidade, podendo assim executar outras tarefas enquanto fazem esse processo via web.

1° Passo:

Começamos o projeto aprendendo a usar e programar as plataformas da NXP, fazendo assim o acionamento de relés e léds. Após esses estudos continuamos o aprendizado, pois tem muito trabalho pela frente.

2° Passo:

Partimos para o planejamento do hardware, onde estamos aprendendo o funcionamentos dos demais módulos a serem implantados. Os estudos começaram pelo protocolo MRC-522 (leitor RFID), sensores de fumaça e de corrente.

Após isso já começamos a trabalhar com os sensores que estão embarcados na placa NXP e shield. Montamos a parte de acionamento das lâmpadas para teste na shiled de relés, onde pretendemos controlar climatizadores e no momento o projetor.

3° Passo:

Começamos o planejamento das placas, assim confeccionado-as no Proteus, e vendo o melhor layout para uma melhor adequação ao projeto.

4° Passo:

Nessa etapa, já estamos trabalhando no nosso Software, pensando no nosso servidor juntamente com o aplicativo que será bem útil na aplicação do nosso sistema.

5° Passo:

Compra dos materiais que estavam faltando;
Iniciar desenvolvimento das placas e chicotes elétricos para o projeto;
Iniciar a comunicação wireless;
Atualizar informações do blog.

6° Passo:

Trabalhando no desenvolvimento e montagem dos equipamentos, para enfim começar a realização dos testes. Os hardwares estão se comunicando via wirelees juntamente com as Placas NXP, acessando assim nossa nuvem e possibilitando os testes necessários para essa etapa. Ainda estamos com dificuldade com o acesso a internet a essa plataforma NXP, estamos acessando um servidor fixo e se comunicando com as placas via bluetooth.

7° Passo:

Estamos desenvolvendo uma shield para as placas OM13082: LPC General Purpose Shield e a OM13070: LPCXpresso4337, para podermos usar as duas placas da NXP juntas e acoplando-as em outros hardwares, tanto os que desenvolvemos, quanto aos que usaremos na implantação do projeto;

8° Passo:

Esquemático do Driver de potência

Esse drive de potência recebe um sinal digital em nível lógico alto ( 5 Volts) cortando a alimentação da bobina da fechadura, liberando o acesso ao laboratório.

 

capturar

9° Passo:

Shield de Alimentação e Acionamento: Esse Shield fica entre as placas OM13070: LPCXpresso4337 Development Board e OM13082: LPC General Purpose Shield para LPCXpresso boards.

Alimentação: A alimentação da placa é feita através do borne  “12V”, é  aplicada uma tensão de 12V essa tensão é reduzida para 5V e 3.3V as outras duas tensões  que são utilizadas nas placas NXP.

Bluetooth e Wi-Fi: O comando do ambiente virtual pode ser feito de duas formas por Wi-Fi ou pelo Bluetooth, esse Shield foi desenvolvido para poder trabalhar com os dois meios de comunicação. Porém nosso módulo Wi-Fi trabalha com 3.3Volts e há a possibilidade do módulo Bluetooth trabalhar também com o 3.3V, por isso a tensão de trabalho adotada foi 3.3V, porém o sinal de comunicação (RX,TX) enviado pela LPCXpresso 4337 é em 5Volts, isto queimaria o nosso módulo Wi-fi, assim desenvolvemos um divisor de tensão (R17,R18 para RX e R15,R16 para TX) para a comunicação acontecer em 3.3V

Sensor de corrente: Utilizamos um transdutor de corrente de saída 0 a 50mA, com isso utilizamos um arranjo de resistores (R6,R4 e R5 junto com C1) para esse sinal de corrente ser convertido em um sinal de tensão e assim entrar na entrada analógica (A0)

Acionamento da porta: A bobina para o travamento da porta é de 12V, para isso foi construído um drive de acionamento e potência que recebe o sinal da saída digital P3_4 e faz o chaveamento dos transistores liberando a porta.

Comunicação com a porta de fora (RFID e Display LCD): toda a comunicação é feita por um conector RJ-45, os pinos utilizados para a comunicação são: SPI MOSI – P1_4, SPI MISO – P1_3, SPI SCK – PF_4, SPI CS – P1_7, MF RESET – P2_6 e LCD CS – P3_5 além da alimentação (Vcc e Gnd).

Teclado: Teclado matricial onde seu sinal é analógico e está ligado a entrada analógica (A1).

DIN / ANALOG: Conector para fazer a interface entre os periféricos recebendo sinais de sensores e fazendo o acionamento das cargas (relés e bobinas).

NXP: Conectada as placas LPCXpresso4337 e LPC General Purpose Shield, que farão o controle do ambiente virtual.


Placa do display com sensor de leitura RFID-MRC522

Essa já é o modelo final da placa do leitor dos cartões junto com o display, que ficará do lado de fora dos laboratórios, informando os dados do laboratório, como exemplo (LAB-208-Projetos). Assim facilitando para o usuário as devidas informações sobre aquele laboratório.

display

 

display2


Sensor de corrente instalado no quadro de luz;

Com esse sensor, pode-se fazer medições de corrente podendo calcular a potência fornecida. Com isso tem-se valores gastos por laboratórios.

sensordecorrente


Desenvolvimento do nosso software;

Nessa etapa começamos o desenvolvimento do nosso software, pensando em ferramentas para acesso e discussão entre a equipe para uma melhor plataforma e com uma forma mais fácil para o entendimento de qualquer pessoa que tenha acesso a esse sistema.

 

1° Passo:

Criação das primeiras funções;

 

codigo1

 


2° Passo:

Código para a leitura dos cartões RFID. O cartão é lido e enviado para a analise no servidor.

 

leiturarfid

 


3° Passo:

Essa parte desenvolvida no código cuida das estatísticas, como consumo de energia e quantidade de pessoas entraram na sala;

 

luz

 

Esse código possibilita a criação de gráficos para o painel de controle web;
Essa etapa do painel de controle web, nos informa estatísticas de consumo de energia e acesso a sala;

 

energia


4° Passo:

Dentro do nosso servidor, criamos um painel web, assim criamos um código de gestão web;
htto

 


Página de controle do painel via Web;

Acesso ao painel web. Como nosso painel esta na nuvem, criamos um sistema de credenciais além de um controle de acesso para usuários, como gestores e usuários, definindo assim o nível de controle.

 

login1

 


Nesse tópico já conseguimos controlar a gestão desses laboratórios, via painel web;

 

painel

 


Nosso sistema consegue controlar múltiplas salas que podem ser adicionadas “on the run”;

 

salas


Principais Desafios técnicos que foram enfrentados

Os principais desafios encontrados pela equipe durante o desenvolvimento do SISGAV, foram os seguintes;

  • Integrações dos hardwares nas plataformas NXP. Houve dificuldade de utilizar os pinos das placas, pois os diagramas haviam pinos duplicados e confusos, alguns pinos conectados faziam com que o código não funcionasse;
  • Comunicação das plataformas via Ethernet, pois as bibliotecas fornecidas pela mbed não são compatíveis. A solução seria migrar para a IDE da própria NXP, mas o que demandaria muito mais tempo para a correção de todo o resto do código;
  • Documentação do projeto;

Hardware:

Esse é um passo a passo dos hardware’s que estamos montando, sempre visando o objetivo de alcançar a melhor eficiência, diminuindo consumo de energia, e mantendo um monitoramento dos laboratórios a todo instante.

 

Os hardware’s seguem com base na plataforma NXP que no caso será utilizada a placa OM13070: LPCXpresso4337 Development Board da NXP:

LPCXpresso_central

Placa OM13082: LPC General Purpose Shield da NXP:

acelerometro


Módulo WIFI ESP8266 ESP-01

O módulo WIFI ESP8266 ESP-01 ele é o responsável para a nossa comunicação internet com os Hardwares que temos para a gestão desses laboratórios.

850xn


Sensor de Fumaça;

O sensor de fumaça é instalado dentro dos laboratórios, para assim fazer um monitoramento se caso de algum incêndio ou fumaça similar.

14804884_1363266293684012_1626605763_n


Sensor De Corrente Ac 100A Não Invasivo Sct-013-000

O sensor de corrente é instalado no quadro de distribuição desses laboratórios, para assim fazer uma gestão de gastos energéticos do mesmo.

sensor-de-corrente-ac-100a-no-invasiva-sct-013-000-arduino-13254-mlb20074919434_042014-f


Fechadura eletromagnética, para travamento da porta.

Há fechadura eletromagnética ela é a responsável em manter o laboratório fechado, fazendo assim o travamento do mesmo fixado na porta de acesso.

fechadura


Módulo Leitor Rfid Rc522 13.56mhz Mfrc522

Sensor de leitura das tags RFID, faz a leitura dos cartões cadastrados em nosso servidor e assim identificado faz a liberação de acesso ao laboratório.

rfid


Modulo Relé 8 Canais 5v Shield Uno R3 Mega Pic Relay

Acionamento das lâmpadas, ventiladores, Retroprojetor no nosso caso, é feita pela shield de relés .

reles


Display LCD 20×2

Identificação dos Laboratórios e alguns informativos.

4dd3e63cb7ac83b146b959bde4f5f0d5-image-447x354


TECLADO MATRICIAL 4×4

O teclado matricial faz parte do nosso projeto por fazer o acionamento dos equipamentos desejados e também fazendo a liberação de saide desses laboratórios a serem implantados esse sistema de gestão.

teclado_matricial_membrana


Buzzer

Usado para identificação sonora do acesso ao laboratório.

buzzer


Esquemático do Driver de potência.

O drive de potência recebe um sinal analógico nível lógico 1 (5v), e abre o contato da bobina da porta, assim liberando o acesso.

capturar


 

Placa do Leitor RFID MRC 522 junto com o Display, usando protocólo SPI

Essa placa foi desenvolvida para utilizarmos o leitor das tags RFID, o Display para identificação desses laboratórios, junto com um buzzer de identificação sonora para liberação do acesso ao laboratório. Usamos protocolo SPI para poder dimensionar uma placa melhor e diminuindo assim a fiação ser utilizada, deixando o projeto mais adequado e limpo.

fora_nxp


Shield de Alimentação e Acionamento;

Esse Shield fica entre as placas OM13070: LPCXpresso4337 Development Board OM13082: LPC General Purpose Shield para LPCXpresso boards.

porta_nxp


Nosso esquemático das placas (shield’s) em PDF

Fizemos um breve descritivo, mas segue nossas placas que utilizaremos em nosso projeto.

Visualize em PDF → placasparanxp


Software/Firmware:

Introdução:

Criar o software foi outro desafio para o nosso projeto. Tínhamos que aprender a criar um sistema escalável que atendesse a todas as nossas demandas. Para a criação do nosso primeiro programa desenvolvemos o seguinte fluxograma, que nos ajudou a pensar como o sistema deve ser estruturado:

info

Com um mundo tecnológico de hoje, necessitamos ter acesso a qualquer informação a disponível em todo lugar, por isso planejamos do início programar nosso sistema para trabalhar em nuvem.


Primeiros passos:

Servidor:

Primeiramente tivemos a tarefa de escolher uma linguagem, algo que tenha a capacidade de ser flexível e confiável, nossa escolha foi Java. Já que é uma linguagem estável e tinha a capacidade por si só de realizar todas as nossas ideias.

Assim foi decidido as tecnologias utilizadas:

  • Java (Para ser o cérebro de tudo)
  • MySQL (Nossa escolha para o banco de dados)
  • HTML/CSS/JavaScript (Para o desenvolvimento Web)

E com isso algumas bibliotecas principais para nos ajudar a manter tudo isso:

  • Spark (Para criar uma interface dinamica web)
  • Socket.io (Para comunicação via socket web em tempo real)
  • netty (Para conseguirmos criar protocolos e gerir http request em nível baixo)

Micro-controlador:

Para a nossa placa NXP foi mais simples a implementação da nossa ideia, já que ela é programada em CPP, que é uma linguagem simples de se programar. Para nossa placa, programamos com a  finalidade de ser independente na parte da gestão e nuvem. Caso o servidor nuvem não estiver disponível por algum motivo, um sistema dentro da placa da NXP pode continuar trabalhando e gerindo o laboratório sem nenhum problema, tentando sempre restabelecer a conexão normal mas sem parar de funcionar caso haja algum erro.

Tivemos que criar também as bibliotecas para o display LCD, otimizando a utilização de cabos para conexão de módulos externos, cortando pela metade a demanda de fios para a conexão dos módulos LCD e RFID, utilizando apenas 8 cabos e o protocolo SPI.

A nova biblioteca pode ser encontrada em nosso repositório.


Desenvolvimento:

Para o desenvolvimento utilizamos o NetBeans como nossa IDE para a programação de todas as linguagens.

1º Passo:

Nosso primeiro passo foi o desenvolvimento do sistema de gerenciamento de dados, coletando, guardando e organizando-os. Utilizamos o MySQL como nossa escolha de banco de dados. Criamos assim toda uma infraestrutura para a gestão desses dados, para ser de fácil acesso e manipulação no futuro.

dbdb2


2º Passo:

Começamos o desenvolvimento para a criação dos servidores dentro da nossa nuvem.

Iriamos precisar dos seguintes:

  • Servidor HTTP para a gestão WEB (Porta 80)
  • Servidor Socket para a comunicação com as placas NXP (Porta 8989)
  • Servidor Socket Serial, um backup utilizado para testes (Portas COM)
  • Servidor WebSocket, utilizado para a comunicação com os clientes web, para a propagação de informações e comandos em tempo real (Utiliza também a porta 80)

A nossa maior dificuldade foi fazer todos esses sistemas funcionarem em conjunto e se comunicarem entre si de forma organizada, virando um só. E com muito esforço conseguimos.


3º Passo:

Implementação do controle do painel remotamente e comunicação entre Cliente Web -> Nuvem -> Módulo NXP e vice-versa.

Nessa etapa construímos os protocolos para a comunicação entre os serviços. Os servidores estão funcionando, agora o desafio é configurar e programar quais dados seriam transmitidos e como eles serão geridos.

Com isso criamos todos os painéis web.

painelenergia


4º Passo:

Com todos os sistemas rodando, chegamos a etapa de teste, instalamos em uma sala e estamos fazendo testes de esforços, para controle e detecção de bugs.


Diagrama de Blocos demonstrando o funcionamento do nosso sistema:

Visualize em PDF

diagramaemblocos

Visualize em PDF


Repositorio e afins:

Nosso repositorio: https://bitbucket.org/mellemhere/gavsystem2.0

Nosso site: http://sisgav.com

https://bitbucket.org/mellemhere/gavsystem2.0

Referências:

http://www.nxp.com/about/about-nxp/worldwide-locations/nxp-no-brasil:BRAZIL

www.embarcados.com.br

http://www.filipeflop.com/