Monitoramento de água com IoT – aliando tecnologia à sustentabilidade

por Pedro Bertoleti

                Água é e será o mais precioso recurso que podemos ter, afinal não há vida sem ela. Logo, o uso consciente de água não é somente desejado, mas sim fundamental. Sendo assim, monitorar este consumo para garantir um bom uso de água é uma necessidade. É exatamente neste ponto que este projeto entra: monitorar, de forma inteligente e via Internet, o consumo de água.

                Este projeto se caracteriza por sua multidisciplinaridade, reunindo conceitos de leitura de sensores, processamento de dados, programação em diversas linguagens, utilização de sistema operacional Linux e comunicação de sistemas embarcados com a Internet. Por este motivo, este é um projeto completo para aprendizado de eletrônica e sistemas embarcados.

Em termos de funcionalidades, este projeto compreende:

  • Monitoramento de consumo de água acumulado (em litros)
  • Monitoramento de vazão instantânea (em litros / hora)
  • Estabelecer uma meta de consumo / período e um e-mail de contato. Desta forma, quando o consumo acumulado de água superar a meta informada, um aviso é enviado via e-mail para o e-mail de contato fornecido. Além disso, na página web de utilização do sistema é mostrado um aviso de que a meta de consumo foi atingida.
  • Totalmente acessível ao usuário pela Internet, por qualquer navegador em qualquer sistema operacional.

 

 

Organização do sistema

                O projeto é composto de partes distintas, as quais interagem e funcionam conforme mostra a Figura 1.

IoT Figura 1

Figura 1 – diagrama do projeto completo

Onde:

1) Sistema embarcado bare-metal

Sistema dedicado a ler os pulsos de um sensor de fluxo d´água e medir vazão instantânea e contabilizar o consumo acumulado. Este sistema pode ser calibrado, o que permite sua aplicação em quaisquer condições de fluxo de água e, ainda, possibilita o uso com qualquer sensor do mercado que seja compatível eletricamente e que opere com pulsos proporcionais ao fluxo de água passante.

2) Sistema embarcado Linux

Sistema responsável por se comunicar com o sistema medidor / bare-metal e a Internet. Este é a parte responsável por fazer a interface com a Internet (controle e monitoramento do usuário). Em termos de conectividade com a Internet, este sistema utiliza WiFi, o que permite maior liberdade de posicionamento do mesmo em uma residência, por exemplo.

3) ZigBEE

A comunicação entre o sistema embarcado bare metal e sistema embarcado Linux é feito sem fio, utilizando para isto ZIgBEE (um em cada sistema, ambos com antena chip).

4) Dispositivos finais

Quaisquer dispositivos com navegador web e conectividade com Internet (smartphones, tablets, computadores, etc.). É importante ressaltar que não há restrição quanto a sistemas operacionais, desde que suportem um navegador e permita conexão à Internet (algo que a grande maioria dos sistemas operacionais permite).

                Outro ponto interessante é a comunicação entre dispositivos finais e o sistema Linux embarcado. Esta é feita utilizando MQTT (Message Queue Telemetry Transport), um protocolo de comunicação baseado no TCP/IP e especificado com foco em transporte de mensagens curtas para Internet das Coisas. Ou seja, há garantia de entrega de 100% dos pacotes, além da rapidez devido a transmitir apenas mensagens curtas. Neste protocolo, tanto os dispositivos finais quanto o sistema Linux embarcado se comportam como clientes, sendo o servidor online (este servidor chama-se broker).
Logo, mesmo na ausência de um dos elementos (dispositivos finais ou sistema Linux embarcado), nenhum erro / feedback de sistema offline é emitido.

.

.

Recursos utilizados

Neste projeto, foram utilizados os seguintes recursos de hardware e software:

a) Recursos de hardware

                No sistema bare metal, foi utilizado um microcontrolador PIC 18F4520. A escolha foi devido ao grande número de material e ferramentas de desenvolvimento (inclusive ferramentas free de boa qualidade) disponíveis para este microcontrolador, além da facilidade em achá-lo no mercado (principalmente para compras de baixo volume, algo interessante para os “hobbystas”).
Já no sistema Linux embarcado, foi utilizado um Intel Edison em conjunto com uma placa expansora de I/O Arduino Expansion Board. A escolha do Intel Edison foi feita considerando suas reduzidas dimensões físicas, baixo consumo, alta conectividade (como WiFi já embutido, por exemplo) e boas configurações relacionadas a processamento e memória RAM.

b) Recursos de software

                Como recursos de software, no sistema bare metal foi utilizado a IDE MPLAB v8.83 em conjunto com o compilador CCS. O firmware foi escrito totalmente em linguagem C.

                No sistema embarcado Linux, todo o sistema foi feito utilizando a linguagem Python. A escolha foi feita baseado no grande número de tutoriais e manuais existentes para consulta, além de ser uma linguagem com altíssimo nível de abstração e de fácil aprendizado, permitindo desenvolver um sistema complexo com poucas linhas de código (em comparação a uma linguagem mais tradicional, como a linguagem C, por exemplo) e com pouca experiência na linguagem.

.

Veja o sistema funcionando por completo

Para conferir o sistema funcionando pra valer, veja estes vídeos:

O projeto está detalhadamente explicado e disponível na íntegra para livre consulta e uso nos seguintes links:

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair /  Alterar )

Foto do Google

Você está comentando utilizando sua conta Google. Sair /  Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair /  Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair /  Alterar )

Conectando a %s