DOMÓTICA CASEIRA – um exemplo prático

AUTOR: Pedro Roque, pedro.roque@ipportalegre.pt |

Existem atualmente TECNOLOGIAS open source e grátis que permitem a qualquer aficionado da informática e da eletrónica desenvolver a sua própria solução de domótica investindo apenas no hardware necessário para a sua implementação. Uma dessas soluções passa pela utilização da plataforma Node-Red para definir através de uma interface web ( Figura 1 ) a interação entre os dispositivos de IoT, recorrendo a blocos de código JavaScript (nodes) já existentes (mais de 5000 e a aumentar), ou implementado os seus próprios nodes. Esta plataforma é extremamente poderosa e simultaneamente leve para poder ser executada num servidor pouco mais poderoso do que os atuais smartphones.

O Node-Red permite a criação de uma página web para o utilizador final poder controlar os seus dispositivos IoT através de um browser, e pode também funcionar como um intermediário entre uma aplicação de smartphone e os dispositivos IoT.
Foi esta segunda opção a escolhida para controlar vários dispositivos IoT que permitem observar e manipular diversos aspetos de uma moradia, nomeadamente:

  • Regar relva de forma automática e de acordo com o estado do tempo;
  • Controlar o nível de água de um depósito;
  • Ligar e desligar a climatização de todas as divisões da habitação;
  • Abrir e fechar estores;
  • Controlar um robot aspirador;
  • Observar os valores instantâneos e históricos da produção/consumo de eletricidade;• Consultar o estado do carregamento de carros elétricos;
  • Ligar/desligar/programar: (a) as horas de atividade do processo de filtragem de uma piscina; (b) a iluminação do aquário; (c) a rega da relva; (d) tomadas inteligentes; e (e) o aquecimento de águas sanitárias.

Alguns destes dispositivos IoT tiveram de ser montados a partir de diversos componentes individuais e depois programados, como por exemplo os que permitem controlar os aparelhos de ar condicionado. Outros tiveram de ser apenas programados, como o que permite intercetar o sinal de uma estação meteorológica. Outros tiveram apenas de ser ligados de acordo com as respetivas especificações e outros bastou configurar a rede wireless.
Para a interface de utilizador foi implementada uma aplicação Android com recurso à linguagem de programação Flutter, que com acessos configurados no router e no respetivo Internet Service Provider (ISP), pode ser utilizada sempre que o smartphone tenha acesso a uma rede wireless.
As figuras 2 a 5 representam algumas das funcionalidades disponíveis na aplicação Android.

Tecnologias utilizadas:

  • Plataforma Node-Red;
  • Sistema operativo Linux;
  • Linguagens de programação:
    • JavaScript;
    • Flutter;
    • SQL;
    • C++.
  • Hardware:
    • Servidor Minisforum;
    • Dispositivos Shelly;
    • Dispositivos ESP32;
    • Dispositivos SONOFF.
  • Ambientes de desenvolvimento:
    • Node-Red;
    • Google Android Studio;
    • Microsoft Visual Studio Code.
    • MySQL Workbench.
  • Protocolos de comunicação:
    • Message Queuing Telemetry Transport (MQTT);
    • HTTP.