Acionamento do motor de acordo com a hora.

Deixarei o repositório do projeto aberto para que vocês possam utilizar também.

Bibliotecas adicionadas:

#include <NTPClient.h>

O NTP(Protocolo de Tempo para Redes), é o padrão que permite a sincronização dos relógios dos dis…


This content originally appeared on DEV Community and was authored by Henrique Machado Broseghini

Deixarei o repositório do projeto aberto para que vocês possam utilizar também.

Bibliotecas adicionadas:

#include <NTPClient.h>

O NTP(Protocolo de Tempo para Redes), é o padrão que permite a sincronização dos relógios dos dispositivos de uma rede. Além do protocolo de comunicação em si, o NTP define uma série de algoritmos utilizados para consultar os servidores, calcular a diferença de tempo e estimar um erro, escolher as melhores referências e ajustar o relógio local.

Associações entre dispositivos:

Permanentes: são criadas por uma configuração ou comando e mantidas sempre. Este é o tipo de associação recomendável para se trabalhar em aplicações do dia a dia.

Priorizáveis: são específicas da versão 4 do NTP e criadas por uma configuração ou comando, podem ser desfeitas no caso de haver um servidor melhor, ou depois de um certo tempo.

Efêmeras ou transitórias: são criadas por solicitação de outro dispositivo NTP e podem ser desfeitas em caso de erro ou depois de um certo tempo.

Estou utilizando a permanente.

Resolvi utilizar esse método pois, ao tentar fazer usando a biblioteca ctime, que gera uma struct com os dados de dias e horas não estava funcionando.

Ao ser utilizado junto ao esp32 ele não recebia a hora, pois essa estrutura recebe a hora do computador em que esta sendo executado.

Por esse motivo decidi receber as informações direto via internet.

Pelo site NTP.br, e usando o link dentro da função timeClient.

Código para acionamento do motor:

void ligaHora(void) {
    WiFiUDP ntpUDP;
    NTPClient timeClient(ntpUDP, "a.st1.ntp.br", -3 * 3600, 6000);
    int horas = timeClient.getHours();
    int minutos = timeClient.getMinutes()+ 10;

    Serial.printf("\nHora: %i ", horas);
    Serial.printf("\nMinutos: %i ", minutos);

    if ((horas == 7 && minutos == 0)) {
        digitalWrite(PIN_LED, HIGH);
        Serial.println("\nAcendeu");
        delay(9000);
        digitalWrite(PIN_LED, LOW);
        delay(60000);
    };
}

Dentro da função timeClient, é passado como parâmetro, o, o site em será pego as informações, a mudança de fuso horário.

Logo em seguida é criado as variáveis inteiras horas e minutos recebendo respectivamente seus valores pela função getHours e getMinute. Somei mais 10 (dez) nos minutos, para diminuir a diferença entra a hora adquirida com a hora local. Pode ter está diferença de acordo com o servidor.

Imprimo os mesmos para ter uma noção de como estão.

Logo em seguida faço o código que ira acionar o motor. Quando o horario for igual a 7 horas e 0 minutos, ele ligará e desligara depois de 9 segundos. Ficará em espera por 1 (um) minuto para que não se acione novamente.

Chamo a função ligaHora dentro da função loop:

void loop() {
    VerificaConexoesWiFIEMQTT();

    MQTT.loop();
    ligaHora();

    delay(2000);
}

Essa função loop chama as outras funçãos de verificação, mqtt e ligar o motor a cada 2 (dois) segundos.


This content originally appeared on DEV Community and was authored by Henrique Machado Broseghini


Print Share Comment Cite Upload Translate Updates
APA

Henrique Machado Broseghini | Sciencx (2022-04-25T22:05:07+00:00) Acionamento do motor de acordo com a hora.. Retrieved from https://www.scien.cx/2022/04/25/acionamento-do-motor-de-acordo-com-a-hora/

MLA
" » Acionamento do motor de acordo com a hora.." Henrique Machado Broseghini | Sciencx - Monday April 25, 2022, https://www.scien.cx/2022/04/25/acionamento-do-motor-de-acordo-com-a-hora/
HARVARD
Henrique Machado Broseghini | Sciencx Monday April 25, 2022 » Acionamento do motor de acordo com a hora.., viewed ,<https://www.scien.cx/2022/04/25/acionamento-do-motor-de-acordo-com-a-hora/>
VANCOUVER
Henrique Machado Broseghini | Sciencx - » Acionamento do motor de acordo com a hora.. [Internet]. [Accessed ]. Available from: https://www.scien.cx/2022/04/25/acionamento-do-motor-de-acordo-com-a-hora/
CHICAGO
" » Acionamento do motor de acordo com a hora.." Henrique Machado Broseghini | Sciencx - Accessed . https://www.scien.cx/2022/04/25/acionamento-do-motor-de-acordo-com-a-hora/
IEEE
" » Acionamento do motor de acordo com a hora.." Henrique Machado Broseghini | Sciencx [Online]. Available: https://www.scien.cx/2022/04/25/acionamento-do-motor-de-acordo-com-a-hora/. [Accessed: ]
rf:citation
» Acionamento do motor de acordo com a hora. | Henrique Machado Broseghini | Sciencx | https://www.scien.cx/2022/04/25/acionamento-do-motor-de-acordo-com-a-hora/ |

Please log in to upload a file.




There are no updates yet.
Click the Upload button above to add an update.

You must be logged in to translate posts. Please log in or register.