Obtendo tempo na Internet usando o ESP8266 - Projeto NTP Clock com ESP8266 Nodemcu: 5 etapas
Obtendo tempo na Internet usando o ESP8266 - Projeto NTP Clock com ESP8266 Nodemcu: 5 etapas
Anonim
Obtendo tempo na Internet usando o ESP8266 | Projeto NTP Clock com ESP8266 Nodemcu
Obtendo tempo na Internet usando o ESP8266 | Projeto NTP Clock com ESP8266 Nodemcu

Neste tutorial, veremos como obter tempo usando o ESP8266 / nodemcu com Arduino IDE. Obter o tempo é especialmente útil no registro de dados para registrar a data e hora de suas leituras. Se o seu projeto ESP8266 tiver acesso à Internet, você pode obter tempo usando Network Time Protocol (NTP) - você não precisa de nenhum hardware adicional. Você pode conectar seu ESP8266 à sua rede wi-fi e será um relógio que será sincronizado com a rede, portanto, se você fizer upload do código, ele obterá o tempo da Internet, de modo que sempre exibirá a hora correta.

Etapa 1: Coisas que você precisa

Coisas que você precisa
Coisas que você precisa

Para este projeto, você precisará de muito poucas coisas: Cabo USB ESP8266 / NODEMCUA para programá-lo.

Etapa 2: O que é um NTP e como ele funcionará?

O que é um NTP e como ele funcionará?
O que é um NTP e como ele funcionará?
O que é um NTP e como ele funcionará?
O que é um NTP e como ele funcionará?

O que é um NTP: Um NTP significa Network Time Protocol. É um protocolo de Internet (IP) padrão para sincronizar os relógios do computador para alguma referência em uma rede. O protocolo pode ser usado para sincronizar todos os dispositivos em rede para o Tempo Universal Coordenado (UTC). O NTP define os relógios dos computadores para UTC, a qualquer hora local compensação de zona ou compensação de horário de economia de luz do dia é aplicada pelo cliente. Desta forma, os clientes podem sincronizar com os servidores, independentemente da localização e das diferenças de fuso horário. Como funcionará para nós: O dispositivo do cliente, como ESP8266, se conecta ao servidor usando o protocolo de datagrama do usuário (UDP) na porta 123. Um cliente então transmite um pacote de solicitação para um servidor NTP. Em resposta a esta solicitação, o servidor NTP envia um pacote de carimbo de data / hora. Um pacote de carimbo de data / hora contém várias informações como carimbo de data / hora UNIX, precisão, atraso ou fuso horário. Um cliente pode então analisar os valores de data e hora atuais.

Etapa 3: instalando a biblioteca no Arduino IDE

Instalando Biblioteca no Arduino IDE
Instalando Biblioteca no Arduino IDE

Em seu Arduino IDE, vá para o gerenciador de bibliotecas e pesquise NTP e apenas baixe a biblioteca cliente NTP conforme eu baixei, consulte a imagem para obter mais ajuda.

Etapa 4: Parte de codificação

Parte de codificação
Parte de codificação
Parte de codificação
Parte de codificação

Copie o seguinte código e coloque suas credenciais de rede em seu código, então você precisa definir o tempo de deslocamento para mim, é 19800 Porque meu fuso horário é utc + 5: 30, então UTC +5: 30 = 5,5 * 60 * 60 = 19800UTC + 1 = 1 * 60 * 60 = 3600 CALCULAR seu fuso horário, editá-lo e, em seguida, fazer upload do código. # Include "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char * ssid = "***** ****** "; const char * password =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" Sunday "," Monday ", "Terça-feira", "quarta-feira", "quinta-feira", "sexta-feira", "sábado"}; // Definir cliente NTP para obter timeWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); configuração vazia () {Serial.begin (115200); WiFi.begin (ssid, senha); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Serial.print ("."); } timeClient.begin ();} void loop () {timeClient.update (); Serial.print (daysOfTheWeek [timeClient.getDay ()]); Serial.print (","); Serial.print (timeClient.getHours ()); Serial.print (":"); Serial.print (timeClient.getMinutes ()); Serial.print (":"); Serial.println (timeClient.getSeconds ()); //Serial.println (timeClient.getFormattedTime ()); atraso (1000);}

Etapa 5: Obtendo TEMPO

Obtendo TIME
Obtendo TIME

Depois de fazer o upload do código para o Esp8266 você pode abrir o monitor serial e se tudo estiver bem, então você poderá obter a hora no monitor serial, pois eu posso obter a hora no meu monitor serial. Portanto, com este projeto você pode anexar qualquer exibir e torná-lo um relógio de rede adequado. Portanto, divirta-se fazendo seu relógio de rede.