Neste artigo, controlaremos nosso gêiser doméstico de qualquer lugar do mundo. A vida é rápida e agitada, e todos nós queremos aproveitar os benefícios da tecnologia em nossa vida cotidiana, automatizando onde e quando pudermos.
Neste experimento, automatizaremos nosso gêiser em integração com nosso aplicativo de alarme para que, sempre que acordarmos, possamos obter água quente instantânea. Conseguiremos isso usando o protocolo MQTT IoT. MQTT é um protocolo de transmissão de dados de baixo peso e baixa largura de banda. Para mais detalhes, você pode consultar nossos artigos anteriores.
Informações Técnicas
Usando IoT, é possível controlar qualquer objeto físico conectado à internet. Ao conectar sua casa com sensores e, em seguida, conectá-los à Internet, você pode controlá-los do seu celular a partir do seu laptop.
Um gêiser de água baseado em IoT oferece controle a partir de seu dispositivo móvel e usa o protocolo MQTT como protocolo de comunicação. Você pode controlar o gêiser a partir de um aplicativo, que pode ser instalado em seu celular ou laptop.
Rede básica do sistema de controle do nosso gêiser
O gêiser é conectado a uma unidade com um módulo ESP programado com um programa cliente MQTT para se conectar a um corretor MQTT. O módulo ESP se conecta a um roteador Wi-Fi para conectividade com a Internet. A corretora está hospedada na nuvem, portanto não haverá necessidade de abrir nenhuma porta no roteador interno.
A anatomia do projeto completo
Nota: Para entender o básico sobre MQTT e IoT, consulte artigos anteriores.
O ESP8266 está conectado à corretora e recebe instruções por meio do aplicativo móvel.
Vamos discutir em detalhes sobre as funções principais:
- Para controlar o gêiser existe um aplicativo móvel que é basicamente um aplicativo de alarme diário, você pode definir um alarme para qualquer horário adequado.
- O aplicativo calcula horas e minutos até o alarme tocar e envia os minutos para a corretora seguido do comando “on”, no tópico “ToESP”, o módulo ESP está inscrito no tópico.
- Quando o módulo ESP recebe o comando “on” ele armazena os minutos em um número inteiro.
- O valor convertido passa então para uma função que calcula o tempo em segundos e outros formatos e retorna o segundo.
- Para medir o tempo no ESP, existe um bloco de código contendo um loop for que atualiza o valor de uma variável de contagem a cada segundo. É assim que o tempo é comparado com o tempo recebido.
- A variável “time _in_switch_on” agora é modificada a partir do tempo que o gêiser leva para aquecer a água. Quando você define um alarme para 5h, o gêiser começará às 4h50 e a água será aquecida em 10 minutos.
- A variável “time_in_switch_on” armazena o valor em segundos e é comparada com uma variável “tick_seconds” em uma função “function_to_trigger_gyeser_on ”.
- Depois que o gêiser é ligado, ele começa a contar até 15 minutos exatos, e quando passam 15 minutos, o gêiser desliga e a mensagem é enviada para o App.
Há também uma funcionalidade onde você pode desligar ou ligar o gêiser a qualquer momento no aplicativo móvel. Então é assim que o gêiser pode ser controlado pela internet.
Observação: estamos usando uma biblioteca de código aberto para publicação e assinatura por meio do cliente ESP. Não estamos mudando nada nessas bibliotecas públicas.
Código Soure: