Tabla de contenido:

Obtener tiempo de Internet con ESP8266 - Proyecto de reloj NTP con ESP8266 Nodemcu: 5 pasos
Obtener tiempo de Internet con ESP8266 - Proyecto de reloj NTP con ESP8266 Nodemcu: 5 pasos

Video: Obtener tiempo de Internet con ESP8266 - Proyecto de reloj NTP con ESP8266 Nodemcu: 5 pasos

Video: Obtener tiempo de Internet con ESP8266 - Proyecto de reloj NTP con ESP8266 Nodemcu: 5 pasos
Video: Esp8266 NodeMCU - Solicitud HTTP del estado del Tiempo - Respuesta JSON, Matriz de led MAX7219 2024, Noviembre
Anonim
Obtener tiempo de Internet con ESP8266 | Proyecto de reloj NTP con ESP8266 Nodemcu
Obtener tiempo de Internet con ESP8266 | Proyecto de reloj NTP con ESP8266 Nodemcu

En este tutorial veremos cómo obtener tiempo usando el ESP8266 / nodemcu con Arduino IDE. Obtener tiempo es especialmente útil en el registro de datos para marcar la hora de sus lecturas. Si su proyecto ESP8266 tiene acceso a Internet, puede obtener tiempo usando Network Time Protocol (NTP); no necesita ningún hardware adicional. Puede conectar su ESP8266 a su red wifi y será un reloj que se sincronizará con la red, por lo que si una vez que cargó el código, obtendrá la hora de Internet, por lo que siempre mostrará la hora correcta.

Paso 1: Cosas que necesita

Cosas que necesitas
Cosas que necesitas

Para este proyecto necesitarás muy pocas cosas: cable USB ESP8266 / NODEMCUA para programarlo.

Paso 2: ¿Qué es un NTP y cómo funcionará?

¿Qué es un NTP y cómo funcionará?
¿Qué es un NTP y cómo funcionará?
¿Qué es un NTP y cómo funcionará?
¿Qué es un NTP y cómo funcionará?

¿Qué es un NTP? Un NTP significa Protocolo de tiempo de red. Es un protocolo de Internet (IP) estándar para sincronizar los relojes de las computadoras con alguna referencia a través de una red. El protocolo se puede usar para sincronizar todos los dispositivos en red a la hora universal coordinada (UTC). NTP establece los relojes de las computadoras en UTC, en cualquier hora local. El cliente aplica el desplazamiento de zona o el horario de ahorro de luz diurna. De esta manera, los clientes pueden sincronizarse con los servidores independientemente de la ubicación y las diferencias de zona horaria. Solicitar paquete a un servidor NTP. En respuesta a esta solicitud, el servidor NTP envía un paquete de marca de tiempo. Un paquete de marca de tiempo contiene información múltiple como marca de tiempo UNIX, precisión, retraso o zona horaria. Luego, un cliente puede analizar los valores de fecha y hora actuales.

Paso 3: Instalación de la biblioteca en Arduino IDE

Instalación de la biblioteca en Arduino IDE
Instalación de la biblioteca en Arduino IDE

En su IDE de Arduino, vaya al administrador de Bibliotecas y busque NTP y simplemente descargue la biblioteca del cliente NTP como la descargué, consulte la imagen para obtener más ayuda.

Paso 4: Parte de codificación

Parte de codificación
Parte de codificación
Parte de codificación
Parte de codificación

Copie el siguiente código y coloque sus credenciales de red en su código, luego debe configurar el tiempo de compensación para mí, es 19800 porque mi zona horaria es utc + 5:30, por lo que UTC +5: 30 = 5.5 * 60 * 60 = 19800UTC + 1 = 1 * 60 * 60 = 3600 CALCULA tu zona horaria y edítala y luego sube el código. # Incluye "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char * ssid = "***** ****** "; const char * password =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" Domingo "," Lunes ", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; // Definir el cliente NTP para obtener timeWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); configuración vacía () {Serial.begin (115200); WiFi.begin (ssid, contraseña); while (WiFi.status ()! = WL_CONNECTED) {retraso (500); Serial.print ("."); } timeClient.begin ();} bucle vacío () {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 ()); retraso (1000);}

Paso 5: Obtener TIEMPO

Conseguir TIEMPO
Conseguir TIEMPO

Después de cargar el código a Esp8266, puede abrir el monitor en serie y si todo está bien, podrá obtener la hora en el monitor en serie, ya que puedo obtener la hora en mi monitor en serie. mostrar y convertirlo en un reloj de red adecuado. Así que diviértete haciendo tu reloj de red.

Recomendado: