INHOUDSOPGAWE:

Kry tyd vanaf die internet met behulp van ESP8266 - NTP -klokprojek met ESP8266 Nodemcu: 5 stappe
Kry tyd vanaf die internet met behulp van ESP8266 - NTP -klokprojek met ESP8266 Nodemcu: 5 stappe

Video: Kry tyd vanaf die internet met behulp van ESP8266 - NTP -klokprojek met ESP8266 Nodemcu: 5 stappe

Video: Kry tyd vanaf die internet met behulp van ESP8266 - NTP -klokprojek met ESP8266 Nodemcu: 5 stappe
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, Julie
Anonim
Kry tyd vanaf die internet met behulp van ESP8266 | NTP -klokprojek met ESP8266 Nodemcu
Kry tyd vanaf die internet met behulp van ESP8266 | NTP -klokprojek met ESP8266 Nodemcu

In hierdie handleiding sal ons sien hoe u tyd kry met die ESP8266/nodemcu met Arduino IDE. Dit is veral handig om tyd te kry om u lesings te tydstempel. As u ESP8266 -projek toegang tot die internet het, kan u tyd kry met Network Time Protocol (NTP) - u benodig geen ekstra hardeware nie. U kan u ESP8266 aan u wifi -netwerk koppel en dit sal 'n horlosie wees wat gesinkroniseer word met netwerk, so as u die kode opgelaai het, kry dit tyd van die internet af, sodat dit altyd die regte tyd sal vertoon.

Stap 1: Dinge wat u nodig het

Dinge wat jy nodig het
Dinge wat jy nodig het

Vir hierdie projek benodig u baie min dinge: ESP8266/NODEMCUA USB -kabel om dit te programmeer.

Stap 2: Wat is 'n NTP en hoe werk dit?

Wat is 'n NTP en hoe werk dit?
Wat is 'n NTP en hoe werk dit?
Wat is 'n NTP en hoe werk dit?
Wat is 'n NTP en hoe werk dit?

Wat is 'n NTP: 'n NTP staan vir Network Time Protocol. Dit is 'n standaard internetprotokol (IP) vir die sinchronisasie van die rekenaarhorlosies met 'n verwysing oor 'n netwerk. Die protokol kan gebruik word om alle netwerktoestelle te sinchroniseer met Coordinated Universal Time (UTC). NTP stel die horlosies van rekenaars op UTC, enige plaaslike tyd soneverrekening of dagvermindering word deur die kliënt toegepas. Op hierdie manier kan kliënte met bedieners gesinchroniseer, ongeag die ligging en tydsoneverskille. Hoe dit vir ons sal werk: Die kliëntapparaat, soos ESP8266, kan met die bediener verbind word met behulp van die User Datagram Protocol (UDP) op poort 123. 'n Kliënt stuur dan 'n versoek pakkie na 'n NTP -bediener. In reaksie op hierdie versoek stuur die NTP -bediener 'n tydstempelpakket. 'n Tydstempelpakket bevat veelvuldige inligting, soos UNIX -tydstempel, akkuraatheid, vertraging of tydsone. 'n Kliënt kan dan die huidige datum- en tydwaardes ontleed.

Stap 3: Installeer biblioteek op Arduino IDE

Installeer biblioteek op Arduino IDE
Installeer biblioteek op Arduino IDE

Gaan na u Arduino IDE na die biblioteekbestuurder en soek na NTP en laai die NTP -kliëntbiblioteek af terwyl ek dit afgelaai het, verwys na die prent vir verdere hulp.

Stap 4: Koderingsdeel

Kodering Deel
Kodering Deel
Kodering Deel
Kodering Deel

Kopieer asseblief die volgende kode en plaas u netwerkbewyse in u kode, dan moet u 'n aftyd vir my stel: dit is 19800, omdat my tydsone utc+5: 30 is, sodat UTC +5: 30 = 5.5*60*60 = 19800UTC+1 = 1*60*60 = 3600 BEREKEN u tydsone en wysig dit en laai dan die kode op.#Sluit "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char*ssid = "***** in ****** "; const char*password =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" Sondag "," Maandag ", "Dinsdag", "Woensdag", "Donderdag", "Vrydag", "Saterdag"}; // Definieer NTP -kliënt om timeWiFiUDP ntpUDP te kry; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); ongeldige opstelling () {Serial.begin (115200); WiFi.begin (ssid, wagwoord); terwyl (WiFi.status ()! = WL_CONNECTED) {vertraging (500); Serial.print ("."); } timeClient.begin ();} void lus () {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 ()); vertraging (1000);}

Stap 5: Kry tyd

Kry tyd
Kry tyd

Nadat u die kode na Esp8266 opgelaai het, kan u die seriële monitor oopmaak, en as alles goed is, kan u die tyd op die seriële monitor kry, aangesien ek die tyd in my seriële monitor kan kry. Met hierdie projek kan u enige vertoon en maak dit 'n behoorlike netwerkklok. Geniet dus u netwerkklok.

Aanbeveel: