Indholdsfortegnelse:

Få tid fra internettet ved hjælp af ESP8266 - NTP -urprojekt med ESP8266 Nodemcu: 5 trin
Få tid fra internettet ved hjælp af ESP8266 - NTP -urprojekt med ESP8266 Nodemcu: 5 trin

Video: Få tid fra internettet ved hjælp af ESP8266 - NTP -urprojekt med ESP8266 Nodemcu: 5 trin

Video: Få tid fra internettet ved hjælp af ESP8266 - NTP -urprojekt med ESP8266 Nodemcu: 5 trin
Video: IoT: скорость управления двигателем постоянного тока с NodeMCU ESP8266 и модулем L298N 2024, November
Anonim
Få tid fra internettet ved hjælp af ESP8266 | NTP -urprojekt med ESP8266 Nodemcu
Få tid fra internettet ved hjælp af ESP8266 | NTP -urprojekt med ESP8266 Nodemcu

I denne vejledning ser vi, hvordan du får tid ved hjælp af ESP8266/nodemcu med Arduino IDE. At få tid er især nyttigt i datalogning til at stemple dine aflæsninger. Hvis dit ESP8266 -projekt har adgang til internettet, kan du få tid ved hjælp af Network Time Protocol (NTP) - du har ikke brug for yderligere hardware. Du kan tilslutte dit ESP8266 til dit wifi -netværk, og det vil være et ur, der vil blive synkroniseret med netværk, så hvis du først har uploadet koden, får den tid fra internettet, så den altid vil vise det korrekte tidspunkt.

Trin 1: Ting du har brug for

Ting du har brug for
Ting du har brug for

Til dette projekt har du brug for meget få ting: ESP8266/NODEMCUA USB -kabel til at programmere det.

Trin 2: Hvad er en NTP, og hvordan fungerer den?

Hvad er en NTP, og hvordan fungerer den?
Hvad er en NTP, og hvordan fungerer den?
Hvad er en NTP, og hvordan fungerer den?
Hvad er en NTP, og hvordan fungerer den?

Hvad er en NTP: En NTP står for Network Time Protocol. Det er en standard Internet Protocol (IP) til at synkronisere computerens ure til en vis reference over et netværk. Protokollen kan bruges til at synkronisere alle netværksenheder til Coordinated Universal Time (UTC). NTP indstiller computernes ure til UTC, enhver lokal tid zone forskydning eller sommertid tidsforskydning anvendes af klienten. På denne måde kan klienter synkronisere med servere uanset placerings- og tidszoneforskelle. Sådan fungerer det for os: Klientenheden såsom ESP8266 opretter forbindelse til serveren ved hjælp af User Datagram Protocol (UDP) på port 123. En klient sender derefter en anmodningspakke til en NTP -server. Som svar på denne anmodning sender NTP -serveren en tidsstempelpakke. En tidsstempelpakke indeholder flere oplysninger som UNIX -tidsstempel, nøjagtighed, forsinkelse eller tidszone. En klient kan derefter analysere aktuelle dato- og tidsværdier.

Trin 3: Installation af bibliotek på Arduino IDE

Installation af bibliotek på Arduino IDE
Installation af bibliotek på Arduino IDE

I din Arduino IDE skal du gå til Libraries manager og søge efter NTP og bare downloade NTP -klientbiblioteket som jeg downloadede, se billedet for yderligere hjælp.

Trin 4: Kodningsdel

Kodningsdel
Kodningsdel
Kodningsdel
Kodningsdel

Kopier venligst følgende kode og sæt dine netværksoplysninger i din kode, så skal du indstille offsettime for mig, det er 19800 Fordi min tidszone er utc+5: 30, så UTC +5: 30 = 5.5*60*60 = 19800UTC+1 = 1*60*60 = 3600BEREGN din tidszone og rediger den, og upload derefter koden.#Inkluderer "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char*ssid = "***** ****** "; const char*password =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" søndag "," mandag ", "Tirsdag", "onsdag", "torsdag", "fredag", "lørdag"}; // Definer NTP -klient for at få timeWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); ugyldig opsætning () {Serial.begin (115200); WiFi.begin (ssid, adgangskode); mens (WiFi.status ()! = WL_CONNECTED) {forsinkelse (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 ()); forsinkelse (1000);}

Trin 5: Få tid

Får TID
Får TID

Efter upload af koden til Esp8266 kan du åbne den serielle skærm, og hvis alt er godt, vil du kunne få tiden på den serielle skærm, da jeg kan få tiden i min serielle skærm. Så med dette projekt kan du vedhæfte enhver vise og gøre det til et ordentligt netværksur. Så hav det sjovt med at lave dit netværksur.

Anbefalede: