Obsah:
- Krok 1: Věci, které potřebujete
- Krok 2: Co je to NTP a jak bude fungovat?
- Krok 3: Instalace knihovny na Arduino IDE
- Krok 4: Část kódování
- Krok 5: Získání ČASU
Video: Získání času z internetu pomocí ESP8266 - Projekt hodin NTP s ESP8266 Nodemcu: 5 kroků
2024 Autor: John Day | [email protected]. Naposledy změněno: 2024-01-30 08:21
V tomto tutoriálu uvidíme, jak získat čas pomocí ESP8266/nodemcu s Arduino IDE. Získání času je užitečné zejména v protokolování dat k časovému razítku vašich naměřených hodnot. Pokud má váš projekt ESP8266 přístup k internetu, můžete získat čas pomocí protokolu NTP (Network Time Protocol) - nepotřebujete žádný další hardware. Svůj ESP8266 můžete připojit k síti Wi -Fi a budou to hodiny, které budou synchronizovány se sítí, takže pokud jednou nahrajete kód, získá čas z internetu, takže bude vždy zobrazovat správný čas.
Krok 1: Věci, které potřebujete
Pro tento projekt budete potřebovat velmi málo věcí: USB kabel ESP8266/NODEMCUA k jeho naprogramování.
Krok 2: Co je to NTP a jak bude fungovat?
Co je to NTP: NTP znamená Network Time Protocol. Je to standardní internetový protokol (IP) pro synchronizaci hodin počítače s nějakou referencí v síti. Protokol lze použít k synchronizaci všech síťových zařízení do koordinovaného světového času (UTC). Protokol NTP nastavuje hodiny počítačů na UTC v libovolném místním čase offset zóny nebo časový posun letního času uplatňuje klient. Tímto způsobem se mohou klienti synchronizovat se servery bez ohledu na rozdíly v umístění a časovém pásmu. Jak to bude fungovat pro nás: Klientské zařízení, jako je ESP8266, se připojí k serveru pomocí protokolu User Datagram Protocol (UDP) na portu 123. Klient poté přenese paket požadavku na server NTP. V reakci na tento požadavek server NTP odešle paket časového razítka. Paket časového razítka obsahuje více informací, jako je časové razítko UNIX, přesnost, zpoždění nebo časové pásmo. Klient pak může analyzovat aktuální hodnoty data a času.
Krok 3: Instalace knihovny na Arduino IDE
Ve vašem Arduino IDE přejděte do Správce knihoven a vyhledejte NTP a stáhněte si klientskou knihovnu NTP, jak jsem stáhl, další pomoc naleznete na obrázku.
Krok 4: Část kódování
Zkopírujte prosím následující kód a vložte své síťové údaje do kódu. Poté pro mě musíte nastavit časový posun - je to 1 800, protože moje časové pásmo je utc+5: 30, takže UTC +5: 30 = 5,5*60*60 = 19800UTC+1 = 1*60*60 = 3600VÝPOČTUJTE své časové pásmo a upravte jej a poté nahrajte kód.#Include "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char*ssid = "***** ****** "; const char*heslo =" *********** "; konst long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" neděle "," pondělí ", "Úterý", "Středa", "Čtvrtek", "Pátek", "Sobota"}; // Definování klienta NTP pro získání časuWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); neplatné nastavení () {Serial.begin (115200); WiFi.begin (ssid, heslo); while (WiFi.status ()! = WL_CONNECTED) {zpoždění (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 ()); zpoždění (1000);}
Krok 5: Získání ČASU
Po nahrání kódu do Esp8266 můžete otevřít sériový monitor a pokud je vše v pořádku, budete moci získat čas na sériovém monitoru, protože jsem schopen získat čas na svém sériovém monitoru. Takže k tomuto projektu můžete připojit libovolný zobrazit a udělat z něj správné síťové hodiny. Bavte se tedy při vytváření síťových hodin.
Doporučuje:
Internetové hodiny: Zobrazení data a času pomocí OLED pomocí ESP8266 NodeMCU s protokolem NTP: 6 kroků
Internetové hodiny: Zobrazení data a času pomocí OLED pomocí ESP8266 NodeMCU s protokolem NTP: Ahoj kluci v tomto návodu, postavíme internetové hodiny, které získají čas z internetu, takže tento projekt ke spuštění nebude potřebovat žádný RTC, bude k tomu potřebovat pouze funkční připojení k internetu A pro tento projekt potřebujete esp8266, který bude mít
Hodiny založené na Arduinu využívající modul hodin reálného času DS1307 (RTC) a 0,96: 5 kroků
Hodiny založené na Arduinu využívající modul hodin reálného času DS1307 (RTC) & 0,96: Ahoj, v tomto tutoriálu uvidíme, jak vytvořit pracovní hodiny pomocí modulu hodin reálného času DS1307 & OLED displeje. Takže budeme číst čas z hodinového modulu DS1307. A vytiskněte si jej na OLED obrazovce
Navázání připojení WiFi pomocí ESP8266 a získání místní IP adresy: 3 kroky
Navázání WiFi připojení pomocí ESP8266 a získání místní IP adresy: V tomto tutoriálu se podíváme na to, jak navázat WiFi připojení s WiFi deskou ESP8266. Připojíme to s místní WiFi sítí
Vytvoření hodin z hodin: 11 kroků (s obrázky)
Vytvoření hodin z hodin: V tomto Instructable vezmu stávající hodiny a vytvořím to, co považuji za lepší hodiny. Přejdeme z obrázku vlevo na obrázek vpravo. Než začnete s vlastními hodinami, vězte, že opětovné sestavení může být náročné, protože
Získání hudby z iPodu pomocí systému Mac OS X!: 5 kroků
Získání hudby z iPodu pomocí systému Mac OS X !: Existuje spousta instrukcí, jak dostat hudbu z iPodu pomocí " možností zobrazení " trik v Průzkumníkovi Windows. jako je tento! Jak získat hudbu zpět z iPodu ZDARMA! Bohužel pro ty z nás, kteří používají počítače Mac, Finder