Obsah:

Získanie času z internetu pomocou ESP8266 - Projekt hodín NTP s ESP8266 Nodemcu: 5 krokov
Získanie času z internetu pomocou ESP8266 - Projekt hodín NTP s ESP8266 Nodemcu: 5 krokov

Video: Získanie času z internetu pomocou ESP8266 - Projekt hodín NTP s ESP8266 Nodemcu: 5 krokov

Video: Získanie času z internetu pomocou ESP8266 - Projekt hodín NTP s ESP8266 Nodemcu: 5 krokov
Video: Как запрограммировать модуль реле Wi-Fi ESP8266 ESP-01 2024, November
Anonim
Získanie času z internetu pomocou ESP8266 | Projekt hodín NTP s ESP8266 Nodemcu
Získanie času z internetu pomocou ESP8266 | Projekt hodín NTP s ESP8266 Nodemcu

V tomto návode uvidíme, ako získať čas pomocou ESP8266/nodemcu s Arduino IDE. Získanie času je obzvlášť užitočné v protokolovaní údajov na časovú pečiatku vašich hodnôt. Ak má váš projekt ESP8266 prístup na internet, môžete získať čas pomocou protokolu NTP (Network Time Protocol) - nepotrebujete žiadny ďalší hardvér. ESP8266 môžete pripojiť k sieti Wi -Fi a budú to hodiny, ktoré sa budú synchronizovať so sieťou, takže keď kód nahráte, bude mať čas z internetu, takže sa vždy zobrazí správny čas.

Krok 1: Veci, ktoré potrebujete

Veci, ktoré potrebujete
Veci, ktoré potrebujete

Na tento projekt budete potrebovať veľmi málo vecí: USB kábel ESP8266/NODEMCUA na jeho naprogramovanie.

Krok 2: Čo je to NTP a ako bude fungovať?

Čo je to NTP a ako bude fungovať?
Čo je to NTP a ako bude fungovať?
Čo je to NTP a ako bude fungovať?
Čo je to NTP a ako bude fungovať?

Čo je to NTP: NTP znamená Network Time Protocol. Je to štandardný internetový protokol (IP) na synchronizáciu hodín počítača s nejakým odkazom prostredníctvom siete. Protokol je možné použiť na synchronizáciu všetkých zariadení v sieti na koordinovaný svetový čas (UTC). Protokol NTP nastavuje hodiny počítačov na UTC v ľubovoľnom miestnom čase. ofsetový posun alebo časový posun letného času uplatňuje klient. Týmto spôsobom sa klienti môžu synchronizovať so servermi bez ohľadu na rozdiely v umiestnení a časovom pásme. Ako to bude fungovať pre nás: Klientske zariadenie, ako napríklad ESP8266, sa k serveru pripája pomocou protokolu User Datagram Protocol (UDP) na porte 123. Klient potom prenesie vyžiadajte paket na server NTP. V odpovedi na túto požiadavku server NTP odošle paket s časovou pečiatkou. Paket s časovou pečiatkou obsahuje viacero informácií, ako je časová pečiatka, presnosť, oneskorenie alebo časové pásmo systému UNIX. Klient potom môže analyzovať aktuálne hodnoty dátumu a času.

Krok 3: Inštalácia knižnice na Arduino IDE

Inštalácia knižnice na Arduino IDE
Inštalácia knižnice na Arduino IDE

Vo svojom Arduino IDE choďte do Správcu knižníc a vyhľadajte NTP a pri sťahovaní stačí stiahnuť klientsku knižnicu NTP, ďalšiu pomoc nájdete na obrázku.

Krok 4: Časť kódovania

Kódovacia časť
Kódovacia časť
Kódovacia časť
Kódovacia časť

Skopírujte nasledujúci kód a zadajte svoje sieťové prihlasovacie údaje do kódu. Potom pre mňa musíte nastaviť časový posun - je to 19800, pretože moje časové pásmo je utc+5: 30, takže UTC +5: 30 = 5,5*60*60 = 19800UTC+1 = 1*60*60 = 3600 VYČÍTAJTE časové pásmo, upravte ho a potom nahrajte kód.#Include "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char*ssid = "***** ****** "; const char*heslo =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" nedeľa "," pondelok ", „Utorok“, „streda“, „štvrtok“, „piatok“, „sobota“}; // definovanie klienta NTP na získanie časuWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, „pool.ntp.org“, utcOffsetInSeconds); neplatné nastavenie () {Serial.begin (115200); WiFi.begin (ssid, heslo); while (WiFi.status ()! = WL_CONNECTED) {oneskorenie (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 ()); oneskorenie (1 000);}

Krok 5: Získanie ČASU

Získanie ČASU
Získanie ČASU

Po nahraní kódu do Esp8266 môžete otvoriť sériový monitor a ak je všetko v poriadku, budete môcť získať čas na sériovom monitore, pretože ja môžem získať čas na svojom sériovom monitore. K tomuto projektu teda môžete pripojiť akékoľvek displej a urobte z neho správne sieťové hodiny. Bavte sa teda s výrobou sieťových hodín.

Odporúča: