Marrja e kohës nga interneti duke përdorur ESP8266 - Projekti i orës NTP Me ESP8266 Nodemcu: 5 hapa
Marrja e kohës nga interneti duke përdorur ESP8266 - Projekti i orës NTP Me ESP8266 Nodemcu: 5 hapa
Anonim
Marrja e kohës nga interneti duke përdorur ESP8266 | Projekti i orës NTP Me ESP8266 Nodemcu
Marrja e kohës nga interneti duke përdorur ESP8266 | Projekti i orës NTP Me ESP8266 Nodemcu

Në këtë tutorial do të shohim se si të gjejmë kohë duke përdorur ESP8266/nodemcu me Arduino IDE. Marrja e kohës është veçanërisht e dobishme në regjistrimin e të dhënave për të vulosur kohën e leximeve tuaja. Nëse projekti juaj ESP8266 ka qasje në internet, mund të merrni kohë duke përdorur Network Time Protocol (NTP) - nuk keni nevojë për ndonjë pajisje shtesë. Mund ta lidhni ESP8266 tuaj me rrjetin tuaj wifi dhe do të jetë një orë e cila do të sinkronizohet me rrjet, kështu që nëse një herë e keni ngarkuar kodin do të marrë kohë nga interneti kështu që gjithmonë do të shfaqë kohën e saktë.

Hapi 1: Gjërat që ju nevojiten

Gjërat që ju nevojiten
Gjërat që ju nevojiten

Për këtë projekt do t'ju duhet shumë pak gjëra: ESP8266/NODEMCUA USB kabllo për ta programuar atë.

Hapi 2: Çfarë është një NTP dhe si do të funksionojë?

Çfarë është një NTP dhe si do të funksionojë?
Çfarë është një NTP dhe si do të funksionojë?
Çfarë është një NTP dhe si do të funksionojë?
Çfarë është një NTP dhe si do të funksionojë?

Çfarë është një NTP: Një NTP nënkupton Protokollin e Kohes së Rrjetit. Ashtë një Protokoll standard i Internetit (IP) për sinkronizimin e orëve të kompjuterit në ndonjë referencë mbi një rrjet. Protokolli mund të përdoret për të sinkronizuar të gjitha pajisjet e rrjetit me Koha e Koordinuar Universale (UTC). NTP i vendos orët e kompjuterëve në UTC, në çdo kohë lokale kompensimi i zonës ose kompensimi i kohës së kursimit të dritës së ditës zbatohet nga klienti. Në këtë mënyrë klientët mund të sinkronizohen me serverët pavarësisht nga vendndodhja dhe dallimet në zonën kohore. Si do të funksionojë për ne: Pajisja e klientit si ESP8266 lidhet me serverin duke përdorur Protokollin e të dhënave të përdoruesit (UDP) në portën 123. Një klient pastaj transmeton një Kërkoni paketën në një server NTP. Në përgjigje të kësaj kërkese, serveri NTP dërgon një paketë me vulë kohore. Një paketë me pullë kohore përmban informacione të shumta si vonesa kohore UNIX, saktësia, vonesa ose zona kohore. Një klient pastaj mund të analizojë vlerat aktuale të datës dhe kohës.

Hapi 3: Instalimi i Bibliotekës në Arduino IDE

Instalimi i Bibliotekës në Arduino IDE
Instalimi i Bibliotekës në Arduino IDE

Në Arduino IDE tuaj shkoni te menaxheri i Bibliotekave dhe kërkoni për NTP dhe thjesht shkarkoni bibliotekën e klientit NTP siç kam shkarkuar, referojuni imazhit për ndihmë të mëtejshme.

Hapi 4: Pjesa e kodimit

Pjesa e kodimit
Pjesa e kodimit
Pjesa e kodimit
Pjesa e kodimit

Ju lutemi kopjoni kodin e mëposhtëm dhe vendosni kredencialet e rrjetit tuaj në kodin tuaj atëherë ju duhet të vendosni offsettime për mua është 19800 sepse zona ime e kohës është utc+5: 30 kështu që UTC +5: 30 = 5.5*60*60 = 19800UTC+1 = 1*60*60 = 3600 Llogaritni zonën tuaj kohore dhe modifikoni atë dhe pastaj ngarkoni kodin.#Përfshini "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char*ssid = "***** ****** "; const char*fjalëkalim =" *********** "; const i gjatë utcOffsetInSeconds = 19800; ditë ditore të javës [7] [12] = {" e diel "," e hënë ", "E Martë", "E Mërkurë", "E Enjte", "E Premte", "E Shtunë"}; // Përcaktoni Klientin NTP për të marrë kohëWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); konfigurim i pavlefshëm () {Serial.fillo (115200); WiFi.filloni (ssid, fjalëkalim); ndërsa (WiFi.status ()! = WL_CONNECTED) {vonesë (500); Serial.print ("."); } timeClient.begin ();} lak void () {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 ()); vonesë (1000);}

Hapi 5: Marrja e KOHS

Duke marrë KOHA
Duke marrë KOHA

Pas Ngarkimit të kodit në Esp8266 mund të hapni monitorin serik dhe nëse gjithçka është mirë atëherë do të keni mundësi të merrni kohën në monitorin serik pasi unë jam në gjendje të marr kohën në monitorin tim serik. Pra, me këtë projekt mund të bashkëngjitni ndonjë shfaqni dhe bëni atë një orë të përshtatshme të rrjetit. Kështu që argëtohuni duke bërë orën e rrjetit tuaj.