Dobijanje vremena s interneta pomoću ESP8266 - Projekat NTP sata sa ESP8266 Nodemcu: 5 koraka
Dobijanje vremena s interneta pomoću ESP8266 - Projekat NTP sata sa ESP8266 Nodemcu: 5 koraka
Anonim
Dobijanje vremena s interneta pomoću ESP8266 | Projekat NTP sata sa ESP8266 Nodemcu
Dobijanje vremena s interneta pomoću ESP8266 | Projekat NTP sata sa ESP8266 Nodemcu

U ovom vodiču ćemo vidjeti kako dobiti vrijeme koristeći ESP8266/nodemcu s Arduino IDE -om. Dobijanje vremena posebno je korisno pri bilježenju podataka radi vremenske oznake vaših očitanja. Ako vaš ESP8266 projekt ima pristup internetu, možete dobiti vrijeme koristeći Network Time Protocol (NTP) - ne treba vam dodatni hardver. Možete povezati svoj ESP8266 sa svojom WiFi mrežom i to će biti sat koji će biti sinhroniziran s mrežom, pa ako jednom učitate kôd, dobit će vrijeme s interneta pa će uvijek prikazivati točno vrijeme.

Korak 1: Stvari koje trebate

Stvari koje trebate
Stvari koje trebate

Za ovaj projekt trebat će vam vrlo malo stvari: ESP8266/NODEMCUA USB kabel za njegovo programiranje.

Korak 2: Šta je NTP i kako će funkcionirati?

Šta je NTP i kako će funkcionirati?
Šta je NTP i kako će funkcionirati?
Šta je NTP i kako će funkcionirati?
Šta je NTP i kako će funkcionirati?

Šta je NTP: NTP označava Network Time Protocol. To je standardni internetski protokol (IP) za sinhronizaciju satova računara na neku referencu preko mreže. Protokol se može koristiti za sinhronizaciju svih umreženih uređaja na univerzalno koordinirano vrijeme (UTC). NTP postavlja satove računara na UTC, bilo koje lokalno vrijeme pomak zone ili pomak zimskog računanja vremena primjenjuje klijent. Na ovaj način klijenti se mogu sinkronizirati s poslužiteljima bez obzira na razlike u lokaciji i vremenskoj zoni. Kako će to funkcionirati za nas: Klijentski uređaj, poput ESP8266, povezuje se s poslužiteljem koristeći User Datagram Protocol (UDP) na portu 123. Klijent tada šalje zatražiti paket na NTP server. Kao odgovor na ovaj zahtjev, NTP server šalje paket vremenske oznake. Paket vremenskih oznaka sadrži više informacija poput UNIX vremenske oznake, tačnosti, kašnjenja ili vremenske zone. Klijent tada može raščlaniti trenutne vrijednosti datuma i vremena.

Korak 3: Instaliranje biblioteke na Arduino IDE

Instaliranje biblioteke na Arduino IDE
Instaliranje biblioteke na Arduino IDE

U svom Arduino IDE idite na Upravitelj biblioteka i potražite NTP i samo preuzmite biblioteku NTP klijenta dok sam je preuzimao, pogledajte sliku za daljnju pomoć.

Korak 4: Kodiranje dijela

Kodiranje
Kodiranje
Kodiranje
Kodiranje

Kopirajte sljedeći kôd i unesite svoje mrežne vjerodajnice u svoj kôd. Morate postaviti offsettime za mene to je 19800 Budući da je moja vremenska zona utc+5: 30 pa UTC +5: 30 = 5,5*60*60 = 19800UTC+1 = 1*60*60 = 3600 IZRAČUNAJTE svoju vremensku zonu i uredite je, a zatim učitajte kôd.#Include "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char*ssid = "***** ****** "; const char*password =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" Nedjelja "," Ponedjeljak ", "Utorak", "srijeda", "četvrtak", "petak", "subota"}; // Definirajte NTP klijenta da biste dobili vrijemeWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); () {Serial.begin (115200); WiFi.begin (ssid, lozinka); while (WiFi.status ()! = WL_CONNECTED) {kašnjenje (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 ()); kašnjenje (1000);}

Korak 5: Dobijte VRIJEME

Dobivanje TIME -a
Dobivanje TIME -a

Nakon što učitate kôd na Esp8266, možete otvoriti serijski monitor i ako je sve u redu, moći ćete dobiti vrijeme na serijskom monitoru, kao što ja mogu dobiti vrijeme na svom serijskom monitoru. Dakle, uz ovaj projekt možete priložiti bilo koji prikazati i učiniti ga odgovarajućim mrežnim satom. Zato se zabavite praveći svoj mrežni sat.