Obsah:
- Krok 1: Veci, ktoré potrebujete
- Krok 2: Čo je to NTP a ako bude fungovať?
- Krok 3: Inštalácia knižnice na Arduino IDE
- Krok 4: Časť kódovania
- Krok 5: Získanie ČASU
Video: Získanie času z internetu pomocou ESP8266 - Projekt hodín NTP s ESP8266 Nodemcu: 5 krokov
2024 Autor: John Day | [email protected]. Naposledy zmenené: 2024-01-30 11:57
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
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: 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
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
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
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:
Internetové hodiny: Zobrazenie dátumu a času pomocou OLED pomocou ESP8266 NodeMCU s protokolom NTP: 6 krokov
Internetové hodiny: Zobrazenie dátumu a času pomocou OLED pomocou ESP8266 NodeMCU s protokolom NTP: Ahoj chlapci, v tomto návode postavíme internetové hodiny, ktoré získajú čas z internetu, takže tento projekt nebude potrebovať na spustenie žiadne RTC, ale bude potrebovať iba fungujúce internetové pripojenie A na tento projekt potrebujete esp8266, ktorý bude mať
Hodiny založené na Arduine s použitím modulu hodín reálneho času (RTC) DS1307 a 0,96: 5 krokov
Hodiny založené na Arduine pomocou modulu DS1307 Real Time Clock (RTC) & 0,96: Ahoj chlapci, v tomto návode sa pozrieme na to, ako vytvoriť pracovné hodiny pomocou modulu hodín DS1307 v reálnom čase & OLED displeje. Čas teda odčítame z hodinového modulu DS1307. A vytlačte ho na obrazovku OLED
Získanie práce s LoRa (SX1278/XL1278-SMT) pomocou SPI na module základnej dosky WeMos D1 ESP-12F ESP8277 s OLED: 7 krokov
Začíname pracovať s LoRa (SX1278/XL1278 -SMT) cez SPI na module základnej dosky WeMos D1 ESP -12F ESP8277 s OLED: Vypracovanie mi trvalo týždeň - zdá sa, že na to nikto predo mnou neprišiel - tak dúfam, že vás to zachráni nejaký čas! Nešikovne pomenovaný modul základnej dosky „WeMos D1 ESP-12F ESP8266 s 0,96 palcovou obrazovkou OLED“je vývojová doska za 11 dolárov,
Vlastná domáca automatizácia a monitorovanie pomocou hlasu/internetu pomocou ESP8266 a Google Home Mini: 6 krokov
Vlastná domáca automatizácia a monitorovanie pomocou hlasu/internetu pomocou ESP8266 a Google Home Mini: Hej !! Po dlhšej prestávke som tu, pretože všetci musíme urobiť niečo nudné (prácu), aby sme si zarobili. Po všetkých článkoch AUTOMATIZÁCIE DOMOV, ktoré som napísal z BLUETOOTH, IR, Local WIFI, Cloud, tj tých ťažkých, * TERAZ * prichádza najľahšie, ale najefektívnejšie
Vytvorenie hodín z hodín: 11 krokov (s obrázkami)
Vytvorenie hodín z hodín: V tomto návode vezmem existujúce hodiny a vytvorím to, čo považujem za lepšie. Prejdeme z obrázku vľavo na obrázok vpravo. Predtým, ako začnete s vlastnými hodinami, uvedomte si, že opätovné zostavenie môže byť náročné, pretože