Innehållsförteckning:

Få tid från Internet med ESP8266 - NTP -klockprojekt med ESP8266 Nodemcu: 5 steg
Få tid från Internet med ESP8266 - NTP -klockprojekt med ESP8266 Nodemcu: 5 steg

Video: Få tid från Internet med ESP8266 - NTP -klockprojekt med ESP8266 Nodemcu: 5 steg

Video: Få tid från Internet med ESP8266 - NTP -klockprojekt med ESP8266 Nodemcu: 5 steg
Video: Using HT16K33 4 digit seven segment display with ESP8266 NodeMCU and D1 Mini 2024, Juli
Anonim
Få tid från internet med ESP8266 | NTP -klockprojekt med ESP8266 Nodemcu
Få tid från internet med ESP8266 | NTP -klockprojekt med ESP8266 Nodemcu

I denna handledning ser vi hur du får tid med ESP8266/nodemcu med Arduino IDE. Att få tid är särskilt användbart vid dataloggning för att tidsstämpla dina avläsningar. Om ditt ESP8266 -projekt har tillgång till Internet kan du få tid med Network Time Protocol (NTP) - du behöver ingen extra hårdvara. Du kan ansluta din ESP8266 till ditt wifi -nätverk och det kommer att vara en klocka som synkroniseras med nätverk, så om du en gång laddade upp koden kommer det att få tid från internet så att den alltid kommer att visa rätt tid.

Steg 1: Saker du behöver

Saker du behöver
Saker du behöver

För detta projekt behöver du väldigt få saker: ESP8266/NODEMCUA USB -kabel för att programmera den.

Steg 2: Vad är en NTP och hur fungerar den?

Vad är en NTP och hur fungerar det?
Vad är en NTP och hur fungerar det?
Vad är en NTP och hur fungerar det?
Vad är en NTP och hur fungerar det?

Vad är en NTP: En NTP står för Network Time Protocol. Det är ett vanligt Internetprotokoll (IP) för att synkronisera datorklockorna till en viss referens över ett nätverk. Protokollet kan användas för att synkronisera alla nätverksenheter till Coordinated Universal Time (UTC). NTP ställer datorklockorna till UTC, vilken lokal tid som helst zonförskjutning eller sommartidsförskjutning tillämpas av klienten. På detta sätt kan klienter synkronisera till servrar oavsett plats- och tidszonskillnader. Hur det kommer att fungera för oss: Klientenheten som ESP8266 ansluter till servern med User Datagram Protocol (UDP) på port 123. En klient överför sedan en begära paket till en NTP -server. Som svar på denna begäran skickar NTP -servern ett tidsstämpelpaket. Ett tidsstämpelpaket innehåller flera uppgifter som UNIX -tidsstämpel, noggrannhet, fördröjning eller tidszon. En klient kan sedan analysera aktuella datum- och tidsvärden.

Steg 3: Installera bibliotek på Arduino IDE

Installera bibliotek på Arduino IDE
Installera bibliotek på Arduino IDE

I din Arduino IDE går du till Libraries manager och söker efter NTP och laddar bara ner NTP -klientbiblioteket när jag laddade ner, se bilden för ytterligare hjälp.

Steg 4: Kodningsdel

Kodningsdel
Kodningsdel
Kodningsdel
Kodningsdel

Vänligen kopiera följande kod och lägg in dina nätverksuppgifter i din kod då Du måste ställa in offsettime för mig, det är 19800 Eftersom min tidszon är utc+5: 30 så UTC +5: 30 = 5.5*60*60 = 19800UTC+1 = 1*60*60 = 3600BERÄKTA din tidszon och redigera den och ladda sedan upp koden.#Inkludera "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char*ssid = "***** ****** "; const char*password =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" söndag "," måndag ", "Tisdag", "onsdag", "torsdag", "fredag", "lördag"}; // Definiera NTP -klient för att få timeWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); ogiltig installation () {Serial.begin (115200); WiFi.begin (ssid, lösenord); medan (WiFi.status ()! = WL_CONNECTED) {fördröjning (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 ()); fördröjning (1000);}

Steg 5: Få tid

Får tid
Får tid

Efter att du har laddat upp koden till Esp8266 kan du öppna seriell bildskärm och om allt är bra kan du få tiden på den seriella bildskärmen eftersom jag kan få tiden i min seriella bildskärm. Så med det här projektet kan du bifoga valfri visa och göra det till en riktig nätverksklocka. Så ha kul att göra din nätverksklocka.

Rekommenderad: