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.