Tartalomjegyzék:

Idő megszerzése az Internetről az ESP8266 használatával - NTP Clock Project ESP8266 Nodemcu segítségével: 5 lépés
Idő megszerzése az Internetről az ESP8266 használatával - NTP Clock Project ESP8266 Nodemcu segítségével: 5 lépés

Videó: Idő megszerzése az Internetről az ESP8266 használatával - NTP Clock Project ESP8266 Nodemcu segítségével: 5 lépés

Videó: Idő megszerzése az Internetről az ESP8266 használatával - NTP Clock Project ESP8266 Nodemcu segítségével: 5 lépés
Videó: Introduction to Heltec LoRa CubeCell Development Board HTCC-AB01 2024, November
Anonim
Idő megszerzése az Internetről az ESP8266 használatával | NTP óra projekt ESP8266 Nodemcu segítségével
Idő megszerzése az Internetről az ESP8266 használatával | NTP óra projekt ESP8266 Nodemcu segítségével

Ebben az oktatóanyagban látni fogjuk, hogyan juthat időhöz az ESP8266/nodemcu használatával az Arduino IDE használatával. Az idő megszerzése különösen hasznos az adatok naplózásában, hogy időbélyegezze a mért értékeket. Ha az ESP8266 projektje rendelkezik internet -hozzáféréssel, időt kaphat a hálózati időprotokoll (NTP) használatával - nincs szüksége további hardverre. Az ESP8266 -ot csatlakoztathatja a wifi -hálózathoz, és ez egy óra lesz szinkronizálva a hálózattal, tehát ha egyszer feltöltötte a kódot, időt kap az internetről, így mindig a megfelelő időt jeleníti meg.

1. lépés: A szükséges dolgok

A szükséges dolgok
A szükséges dolgok

Ehhez a projekthez nagyon kevés dologra lesz szüksége: ESP8266/NODEMCUA USB kábel a programozáshoz.

2. lépés: Mi az NTP és hogyan működik?

Mi az NTP és hogyan fog működni?
Mi az NTP és hogyan fog működni?
Mi az NTP és hogyan fog működni?
Mi az NTP és hogyan fog működni?

Mi az NTP: Az NTP jelentése Network Time Protocol. Ez egy szabványos internetprotokoll (IP), amely szinkronizálja a számítógép óráit valamilyen hivatkozással egy hálózaton keresztül. A protokoll segítségével az összes hálózati eszköz szinkronizálható a koordinált világidővel (UTC). Az NTP a számítógépek óráit UTC -re állítja, helyi idő szerint zóna eltolás vagy nappali fénytakarékos időeltolást alkalmazza az ügyfél. Ily módon az ügyfelek szinkronizálhatnak a kiszolgálókkal a hely- és időzóna -különbségektől függetlenül. Hogyan fog ez működni nálunk: Az ügyfél -eszköz, például az ESP8266, a 123 -as porton található User Datagram Protocol (UDP) használatával csatlakozik a szerverhez. Az ügyfél ezután továbbít egy kérjen csomagot egy NTP -kiszolgálóhoz. Erre a kérésre az NTP -kiszolgáló időbélyeg -csomagot küld. Az időbélyegző -csomag több információt tartalmaz, például UNIX -időbélyeget, pontosságot, késleltetést vagy időzónát. Az ügyfél ezután elemezheti az aktuális dátum- és időértékeket.

3. lépés: Könyvtár telepítése az Arduino IDE -re

Könyvtár telepítése az Arduino IDE -re
Könyvtár telepítése az Arduino IDE -re

Az Arduino IDE -ben lépjen a Könyvtárkezelőbe, és keresse meg az NTP -t, és csak töltse le az NTP -ügyfélkönyvtárat, amint letöltöttem, további segítségért tekintse meg a képet.

4. lépés: kódoló rész

Kódoló rész
Kódoló rész
Kódoló rész
Kódoló rész

Kérjük, másolja ki a következő kódot, és írja be a hálózati hitelesítő adatait a kódjába, majd be kell állítania számítási időt 19800 -ra, mert az időzónám utc+5: 30, tehát UTC +5: 30 = 5,5*60*60 = 19800UTC+1 = 1*60*60 = 3600SZÁMÍTSA az időzónáját, szerkessze, majd töltse fel a kódot.#Include "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char*ssid = "***** ****** "; const char*password =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" Sunday "," Monday ", "Kedd", "szerda", "csütörtök", "péntek", "szombat"}; // Határozza meg az NTP -ügyfelet, hogy kapjon időtWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); void setup () {Serial.begin (115200); WiFi.begin (ssid, jelszó); while (WiFi.status ()! = WL_CONNECTED) {delay (500); Soros.nyomtatás ("."); } 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 ()); késleltetés (1000);}

5. lépés: IDŐ beszerzése

IDŐ megszerzése
IDŐ megszerzése

Miután feltöltötte a kódot az Esp8266 -ra, megnyithatja a soros monitort, és ha minden rendben van, akkor megkaphatja az időt a soros monitoron, mivel képes vagyok elérni az időt a soros monitoron. Tehát ezzel a projekttel csatolhat bármilyen megjeleníteni és megfelelő hálózati órává tenni. Szóval jó szórakozást a hálózati óra elkészítéséhez.

Ajánlott: