Mündəricat:

ESP8266 istifadə edərək İnternetdən vaxt əldə etmək - ESP8266 Nodemcu ilə NTP Saat Layihəsi: 5 addım
ESP8266 istifadə edərək İnternetdən vaxt əldə etmək - ESP8266 Nodemcu ilə NTP Saat Layihəsi: 5 addım

Video: ESP8266 istifadə edərək İnternetdən vaxt əldə etmək - ESP8266 Nodemcu ilə NTP Saat Layihəsi: 5 addım

Video: ESP8266 istifadə edərək İnternetdən vaxt əldə etmək - ESP8266 Nodemcu ilə NTP Saat Layihəsi: 5 addım
Video: NodeMCU ESP8266 WiFi İnkişaf lövhəsinə HTTP Müştəri nümunəsi ilə giriş 2024, Noyabr
Anonim
ESP8266 istifadə edərək İnternetdən vaxt əldə etmək | ESP8266 Nodemcu ilə NTP Saat Layihəsi
ESP8266 istifadə edərək İnternetdən vaxt əldə etmək | ESP8266 Nodemcu ilə NTP Saat Layihəsi

Bu təlimatda Arduino IDE ilə ESP8266/nodemcu istifadə edərək necə vaxt qazanacağımızı görəcəyik. Vaxt əldə etmək, oxunuşlarınızı zaman damgası ilə qeyd etmək üçün məlumatların daxil edilməsində xüsusilə faydalıdır. ESP8266 layihənizin İnternetə çıxışı varsa, Şəbəkə Zaman Protokolundan (NTP) istifadə edərək vaxt əldə edə bilərsiniz - heç bir əlavə avadanlığa ehtiyacınız yoxdur. ESP8266 -nı wifi şəbəkənizə qoşa bilərsiniz və bu, sinxronizasiya ediləcək Şəbəkə ilə, buna görə də kodu yüklədikdən sonra İnternetdən vaxt alacaq, buna görə də həmişə düzgün vaxtı göstərəcək.

Addım 1: Lazım olan şeylər

Ehtiyacınız olan şeylər
Ehtiyacınız olan şeylər

Bu layihə üçün çox az şeyə ehtiyacınız olacaq: proqramlaşdırmaq üçün ESP8266/NODEMCUA USB kabeli.

Addım 2: NTP nədir və necə işləyəcək?

NTP nədir və necə işləyəcək?
NTP nədir və necə işləyəcək?
NTP nədir və necə işləyəcək?
NTP nədir və necə işləyəcək?

NTP nədir: Bir NTP Şəbəkə Zaman Protokolu deməkdir. Kompüter saatlarını bir şəbəkə üzərindən bəzi məlumatlara sinxronizasiya etmək üçün standart bir İnternet Protokolu (IP). Protokol bütün şəbəkə qurğularını Əlaqələndirilmiş Universal Saat (UTC) ilə sinxronizasiya etmək üçün istifadə edilə bilər. müştəri tərəfindən zona ofseti və ya gün işığına qənaət vaxtı ofset tətbiq olunur. Bu şəkildə müştərilər, məkan və vaxt qurşağı fərqlərindən asılı olmayaraq serverlərə sinxronizasiya edə bilərlər: Bizim üçün necə işləyəcək: ESP8266 kimi müştəri cihazı 123. A portunda İstifadəçi Datagram Protokolu (UDP) istifadə edərək serverə qoşulur. NTP serverinə sorğu paketi göndərin. Bu istəyə cavab olaraq NTP serveri vaxt möhürü göndərir. Zaman möhürü paketi UNIX zaman damgası, dəqiqlik, gecikmə və ya zaman zonası kimi bir çox məlumatı ehtiva edir. Müştəri daha sonra cari tarix və vaxt dəyərlərini təhlil edə bilər.

Addım 3: Arduino IDE -də Kitabxana quraşdırın

Arduino IDE -də Kitabxana quraşdırılır
Arduino IDE -də Kitabxana quraşdırılır

Arduino IDE -də Kitabxanalar menecerinə gedin və NTP axtarın və yüklədiyim kimi NTP müştəri kitabxanasını yükləyin, əlavə kömək üçün görüntüyə baxın.

Addım 4: Kodlaşdırma Bölməsi

Kodlaşdırma Bölməsi
Kodlaşdırma Bölməsi
Kodlaşdırma Bölməsi
Kodlaşdırma Bölməsi

Zəhmət olmasa aşağıdakı kodu kopyalayın və şəbəkə etimadnamənizi kodunuza daxil edin, sonra mənim üçün ofset vaxtını təyin etməlisiniz 19800 Çünki mənim vaxt qurşağım utc+5: 30 olduğundan UTC +5: 30 = 5.5*60*60 = 19800UTC+1 = 1*60*60 = 3600 Saat diliminizi hesablayın və redaktə edin və sonra kodu yükləyin.#"NTPClient.h" daxil edin#"ESP8266WiFi.h" daxil edin#"WiFiUdp.h" const char*ssid = "***** daxil edin ****** "; const char*parol =" *********** "; const uzun utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" Bazar "," Bazar ertəsi ", "Çərşənbə axşamı", "Çərşənbə", "Cümə axşamı", "Cümə", "Şənbə"}; // timeWiFiUDP ntpUDP almaq üçün NTP Müştəri təyin edin; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); boş quraşdırma () {Serial.begin (115200); WiFi.begin (ssid, parol); while (WiFi.status ()! = WL_CONNECTED) {gecikmə (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 ()); gecikmə (1000);}

Addım 5: ZAMAN əldə edin

TIME əldə edilir
TIME əldə edilir

Kodu Esp8266 -ya yüklədikdən sonra serial monitoru aça bilərsiniz və əgər hər şey yaxşıdırsa, serial monitorumda vaxt əldə edə bildiyim kimi serial monitorunda da vaxt əldə edə bilərsiniz. göstərin və uyğun bir şəbəkə saatı edin. Beləliklə, şəbəkə saatınızı düzəltməkdən zövq alın.

Tövsiyə: