Innholdsfortegnelse:

Få tid fra internett ved hjelp av ESP8266 - NTP -klokkeprosjekt med ESP8266 Nodemcu: 5 trinn
Få tid fra internett ved hjelp av ESP8266 - NTP -klokkeprosjekt med ESP8266 Nodemcu: 5 trinn

Video: Få tid fra internett ved hjelp av ESP8266 - NTP -klokkeprosjekt med ESP8266 Nodemcu: 5 trinn

Video: Få tid fra internett ved hjelp av ESP8266 - NTP -klokkeprosjekt med ESP8266 Nodemcu: 5 trinn
Video: Введение в плату разработки NodeMCU ESP8266 WiFi с примером HTTP-клиента 2024, November
Anonim
Få tid fra internett ved hjelp av ESP8266 | NTP -klokkeprosjekt med ESP8266 Nodemcu
Få tid fra internett ved hjelp av ESP8266 | NTP -klokkeprosjekt med ESP8266 Nodemcu

I denne opplæringen ser vi hvordan du får tid til å bruke ESP8266/nodemcu med Arduino IDE. Å få tid er spesielt nyttig i datalogging for å stemple avlesningene dine. Hvis ESP8266 -prosjektet ditt har tilgang til Internett, kan du få tid ved å bruke Network Time Protocol (NTP) - du trenger ikke ekstra maskinvare. Du kan koble ESP8266 til wifi -nettverket, og det vil være en klokke som blir synkronisert med nettverk, så hvis en gang du lastet opp koden, vil den få tid fra internett, så den vil alltid vise riktig tid.

Trinn 1: Ting du trenger

Ting du trenger
Ting du trenger

For dette prosjektet trenger du svært få ting: ESP8266/NODEMCUA USB -kabel for å programmere den.

Trinn 2: Hva er en NTP og hvordan vil den fungere?

Hva er en NTP og hvordan vil den fungere?
Hva er en NTP og hvordan vil den fungere?
Hva er en NTP og hvordan vil den fungere?
Hva er en NTP og hvordan vil den fungere?

Hva er en NTP: En NTP står for Network Time Protocol. Det er en standard Internett -protokoll (IP) for å synkronisere datamaskinens klokker til en referanse over et nettverk. Protokollen kan brukes til å synkronisere alle nettverksenheter til Coordinated Universal Time (UTC). NTP setter datamaskinens klokker til UTC, hvilken som helst lokal tid soneforskyvning eller sommertid -tidsforskyvning brukes av klienten. På denne måten kan klienter synkronisere med servere uavhengig av plassering og tidssoneforskjeller. Hvordan det vil fungere for oss: Klientenheten som ESP8266 kobler seg til serveren ved hjelp av User Datagram Protocol (UDP) på port 123. En klient sender deretter en be om pakke til en NTP -server. Som svar på denne forespørselen sender NTP -serveren en tidsstempelpakke. En tidsstempelpakke inneholder flere opplysninger som UNIX -tidsstempel, nøyaktighet, forsinkelse eller tidssone. En klient kan deretter analysere gjeldende dato- og klokkeslettverdier.

Trinn 3: Installere bibliotek på Arduino IDE

Installere bibliotek på Arduino IDE
Installere bibliotek på Arduino IDE

I din Arduino IDE går du til Libraries manager og søker etter NTP og laster bare ned NTP -klientbiblioteket mens jeg lastet ned, se bildet for ytterligere hjelp.

Trinn 4: Kodingsdel

Kodingsdel
Kodingsdel
Kodingsdel
Kodingsdel

Vennligst kopier følgende kode og legg til nettverksopplysningene dine i koden din. Du må angi offsettime for meg, det er 19800 Fordi tidssonen min er utc+5: 30, så UTC +5: 30 = 5.5*60*60 = 19800UTC+1 = 1*60*60 = 3600BEREGN tidssonen din og rediger den, og last deretter opp 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 å få timeWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); ugyldig oppsett () {Serial.begin (115200); WiFi.begin (ssid, passord); 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);}

Trinn 5: Få tid

Får TID
Får TID

Etter å ha lastet opp koden til Esp8266 kan du åpne den serielle skjermen, og hvis alt er bra, vil du kunne få tiden på den serielle skjermen, da jeg kan få tiden til min serielle skjerm. Så med dette prosjektet kan du legge ved hvilken som helst vise og gjøre det til en skikkelig nettverksklokke. Så ha det gøy med å lage nettverksklokken din.

Anbefalt: