Taula de continguts:

Obtenir temps des d'Internet mitjançant ESP8266 - Projecte de rellotge NTP amb ESP8266 Nodemcu: 5 passos
Obtenir temps des d'Internet mitjançant ESP8266 - Projecte de rellotge NTP amb ESP8266 Nodemcu: 5 passos

Vídeo: Obtenir temps des d'Internet mitjançant ESP8266 - Projecte de rellotge NTP amb ESP8266 Nodemcu: 5 passos

Vídeo: Obtenir temps des d'Internet mitjançant ESP8266 - Projecte de rellotge NTP amb ESP8266 Nodemcu: 5 passos
Vídeo: ESP8266 Project: How to control 2 AC bulb or load using 2 Relay with NodeMCU and D1 Mini over WiFi 2024, De novembre
Anonim
Obtenir temps des d'Internet mitjançant ESP8266 | Projecte de rellotge NTP amb ESP8266 Nodemcu
Obtenir temps des d'Internet mitjançant ESP8266 | Projecte de rellotge NTP amb ESP8266 Nodemcu

En aquest tutorial veurem com obtenir temps utilitzant l’ESP8266 / nodemcu amb Arduino IDE. Obtenir temps és especialment útil en el registre de dades per marcar temporalment les vostres lectures. Si el vostre projecte ESP8266 té accés a Internet, podeu obtenir temps utilitzant Network Time Protocol (NTP): no necessiteu cap maquinari addicional. Podeu connectar el vostre ESP8266 a la vostra xarxa wifi i serà un rellotge que se sincronitzarà. amb la xarxa, de manera que si un cop penjat el codi obtindrà temps d’Internet, de manera que sempre es mostrarà l’hora correcta.

Pas 1: coses que necessiteu

Coses que necessiteu
Coses que necessiteu

Per a aquest projecte necessitareu molt poques coses: cable USB ESP8266 / NODEMCUA per programar-lo.

Pas 2: què és un NTP i com funcionarà?

Què és un NTP i com funcionarà?
Què és un NTP i com funcionarà?
Què és un NTP i com funcionarà?
Què és un NTP i com funcionarà?

Què és un NTP: un NTP significa Network Time Protocol. Es tracta d’un protocol d’Internet (IP) estàndard per sincronitzar els rellotges de l’ordinador amb alguna referència a través d’una xarxa. El protocol es pot utilitzar per sincronitzar tots els dispositius connectats a l’hora universal coordinada (UTC). el desplaçament de la zona o l’horari d’estalvi de llum del dia l’aplica el client. D’aquesta manera, els clients poden sincronitzar-se amb els servidors independentment de les diferències d’ubicació i de zona horària. Com funcionarà per a nosaltres: el dispositiu client, com ara l’ESP8266, es connecta al servidor mitjançant el protocol UDP (User Datagram Protocol) al port 123. Un client transmet paquet de sol·licituds a un servidor NTP. En resposta a aquesta sol·licitud, el servidor NTP envia un paquet de segell de temps. Un paquet de segell de temps conté informació múltiple com la marca de temps UNIX, la precisió, el retard o la zona horària. Un client pot analitzar els valors de data i hora actuals.

Pas 3: Instal·lació de la biblioteca a Arduino IDE

Instal·lació de la biblioteca a Arduino IDE
Instal·lació de la biblioteca a Arduino IDE

Al vostre IDE Arduino, aneu al gestor de biblioteques i cerqueu NTP i descarregueu la biblioteca client NTP tal com he descarregat. Consulteu la imatge per obtenir més ajuda.

Pas 4: Part de codificació

Part de codificació
Part de codificació
Part de codificació
Part de codificació

Si us plau, copieu el codi següent i poseu les vostres credencials de xarxa al vostre codi. Heu de configurar el temps de compensació per a mi. És 19800, perquè la meva zona horària és utc + 5: 30, així que UTC +5: 30 = 5,5 * 60 * 60 = 19800UTC + 1 = 1 * 60 * 60 = 3600 CALCULA la zona horària i editeu-la i, a continuació, pengeu el codi. # Include "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char * ssid = "***** ****** "; const char * password =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" Diumenge "," Dilluns ", "Dimarts", "Dimecres", "Dijous", "Divendres", "Dissabte"}; // Definiu el client NTP per obtenir timeWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); configuració nul·la () {Serial.begin (115200); WiFi.begin (ssid, contrasenya); while (WiFi.status ()! = WL_CONNECTED) {demora (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 ()); retard (1000);}

Pas 5: Obtenir TEMPS

Obtenint TEMPS
Obtenint TEMPS

Després de penjar el codi a Esp8266, podeu obrir el monitor sèrie i, si tot està bé, podreu obtenir l’hora al monitor sèrie, ja que puc obtenir l’hora al meu monitor sèrie. Així, amb aquest projecte podeu adjuntar qualsevol mostrar-lo i convertir-lo en un rellotge de xarxa adequat. Així que us divertiu fent el vostre rellotge de xarxa.

Recomanat: