Obținerea timpului de pe Internet utilizând ESP8266 - NTP Clock Project cu ESP8266 Nodemcu: 5 pași
Obținerea timpului de pe Internet utilizând ESP8266 - NTP Clock Project cu ESP8266 Nodemcu: 5 pași
Anonim
Obținerea timpului de pe Internet utilizând ESP8266 | NTP Clock Project With ESP8266 Nodemcu
Obținerea timpului de pe Internet utilizând ESP8266 | NTP Clock Project With ESP8266 Nodemcu

În acest tutorial vom vedea cum să obțineți timp folosind ESP8266 / nodemcu cu Arduino IDE. Obținerea timpului este utilă în special în înregistrarea datelor pentru a vă marca citirile. Dacă proiectul dvs. ESP8266 are acces la Internet, puteți obține timp folosind Network Time Protocol (NTP) - nu aveți nevoie de hardware suplimentar. Puteți conecta ESP8266 la rețeaua dvs. wifi și va fi un ceas care va fi sincronizat. cu rețea, deci dacă odată ce ați încărcat codul, acesta va primi timp de pe internet, astfel încât va afișa întotdeauna ora corectă.

Pasul 1: Lucruri de care aveți nevoie

Lucruri de care ai nevoie
Lucruri de care ai nevoie

Pentru acest proiect veți avea nevoie de foarte puține lucruri: cablu USB ESP8266 / NODEMCUA pentru a-l programa.

Pasul 2: Ce este un NTP și cum va funcționa?

Ce este un NTP și cum va funcționa?
Ce este un NTP și cum va funcționa?
Ce este un NTP și cum va funcționa?
Ce este un NTP și cum va funcționa?

Ce este un NTP: Un NTP înseamnă Network Time Protocol. Este un protocol de internet standard (IP) pentru sincronizarea ceasurilor computerului la unele referințe printr-o rețea. Protocolul poate fi utilizat pentru a sincroniza toate dispozitivele din rețea la ora universală coordonată (UTC). NTP setează ceasurile computerelor la UTC, orice oră locală compensarea zonei sau compensarea timpului de economisire a luminii de zi este aplicată de client. În acest mod, clienții se pot sincroniza cu servere, indiferent de diferențele de locație și fus orar. Cum va funcționa pentru noi: Dispozitivul client, cum ar fi ESP8266, se conectează la server utilizând Protocolul de utilizator Datagram (UDP) de pe portul 123. Un client transmite apoi un solicitați pachetul către un server NTP. Ca răspuns la această cerere, serverul NTP trimite un pachet de timbru de timp. Un pachet de timbru de timp conține mai multe informații, cum ar fi marca de timp UNIX, acuratețea, întârzierea sau fusul orar. Un client poate apoi analiza valorile curente ale datei și orei.

Pasul 3: Instalarea Bibliotecii pe Arduino IDE

Instalarea Bibliotecii pe Arduino IDE
Instalarea Bibliotecii pe Arduino IDE

În IDE-ul dvs. Arduino, accesați Managerul de biblioteci și căutați NTP și descărcați biblioteca client NTP așa cum am descărcat, consultați imaginea pentru ajutor suplimentar.

Pasul 4: Partea de codificare

Partea de codificare
Partea de codificare
Partea de codificare
Partea de codificare

Vă rugăm să copiați următorul cod și să introduceți acreditările de rețea în codul dvs., apoi trebuie să setați ora de compensare pentru mine este 19800 Deoarece fusul meu orar este utc + 5: 30 deci UTC +5: 30 = 5,5 * 60 * 60 = 19800UTC + 1 = 1 * 60 * 60 = 3600 CALCULAȚI fusul orar și editați-l și apoi încărcați codul. # 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 ", „Marți”, „Miercuri”, „Joi”, „Vineri”, „Sâmbătă”}; // Definiți clientul NTP pentru a obține timeWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, „pool.ntp.org”, utcOffsetInSeconds); () {Serial.begin (115200); WiFi.begin (ssid, parolă); while (WiFi.status ()! = WL_CONNECTED) {întârziere (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 ()); întârziere (1000);}

Pasul 5: Obținerea TIMPULUI

Obținerea TIMPULUI
Obținerea TIMPULUI

După ce încărcați codul în Esp8266, puteți deschide monitorul serial și dacă totul este bun, atunci veți putea obține ora pe monitorul serial, deoarece pot obține ora în monitorul meu serial. Deci, cu acest proiect puteți atașa orice afișați și faceți din acesta un ceas de rețea adecvat. Deci, distrează-te făcându-ți ceasul de rețea.