Სარჩევი:
- ნაბიჯი 1: ის, რაც გჭირდებათ
- ნაბიჯი 2: რა არის NTP და როგორ იმუშავებს იგი?
- ნაბიჯი 3: ბიბლიოთეკის დაყენება Arduino IDE– ზე
- ნაბიჯი 4: კოდირების ნაწილი
- ნაბიჯი 5: დროის დადგენა
ვიდეო: დრო ინტერნეტისგან ESP8266 გამოყენებით NTP საათის პროექტი ESP8266 Nodemcu– ით: 5 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:17
ამ გაკვეთილში ჩვენ ვნახავთ, თუ როგორ უნდა ვიშოვოთ დრო ESP8266/nodemcu– ს გამოყენებით Arduino IDE– ით. დროის მოპოვება განსაკუთრებით სასარგებლოა მონაცემთა აღრიცხვისას, რათა დროულად მონიშნოს თქვენი კითხვა. თუ თქვენს ESP8266 პროექტს აქვს ინტერნეტი, შეგიძლიათ მიიღოთ დრო ქსელის დროის პროტოკოლის (NTP) გამოყენებით - თქვენ არ გჭირდებათ რაიმე დამატებითი ტექნიკა. თქვენ შეგიძლიათ დაუკავშიროთ თქვენი ESP8266 თქვენს wifi ქსელს და ეს იქნება საათი, რომელიც იქნება სინქრონიზებული ქსელთან ერთად, ასე რომ, თუ ერთხელ ატვირთავთ კოდს, ის მიიღებს დროს ინტერნეტიდან, ასე რომ ის ყოველთვის აჩვენებს სწორ დროს.
ნაბიჯი 1: ის, რაც გჭირდებათ
ამ პროექტისთვის დაგჭირდებათ ძალიან ცოტა რამ: ESP8266/NODEMCUA USB კაბელი მისი დასაპროგრამებლად.
ნაბიჯი 2: რა არის NTP და როგორ იმუშავებს იგი?
რა არის NTP: NTP ნიშნავს ქსელის დროის პროტოკოლს. ეს არის სტანდარტული ინტერნეტ პროტოკოლი (IP) კომპიუტერის საათების სინქრონიზაციისათვის ქსელში რაიმე მითითებაზე. პროტოკოლი შეიძლება გამოყენებულ იქნას ყველა ქსელური მოწყობილობის სინქრონიზაციისათვის კოორდინირებულ უნივერსალურ დროზე (UTC). NTP ადგენს კომპიუტერების საათებს UTC– ზე, ნებისმიერ ადგილობრივ დროს კლიენტის მიერ გამოიყენება ზონის ოფსეტური ან დღის სინათლის დაზოგვის დროის კომპენსირება. ამგვარად კლიენტებს შეუძლიათ სინქრონიზაცია გაუწიონ სერვერებს განურჩევლად მდებარეობისა და დროის ზონის განსხვავებისა. როგორ იმუშავებს ჩვენთვის: კლიენტის მოწყობილობა, როგორიცაა ESP8266, უკავშირდება სერვერს მომხმარებელთა მონაცემების პროტოკოლის (UDP) გამოყენებით პორტში 123. კლიენტი შემდეგ გადასცემს მოითხოვეთ პაკეტი NTP სერვერზე. ამ მოთხოვნის საპასუხოდ NTP სერვერი აგზავნის დროის ბეჭდის პაკეტს. დროის ბეჭდის პაკეტი შეიცავს მრავალ ინფორმაციას, როგორიცაა UNIX- ის დროის ნიშნული, სიზუსტე, დაგვიანება ან დროის ზონა. კლიენტს შეუძლია გაანალიზოს მიმდინარე თარიღისა და დროის მნიშვნელობები.
ნაბიჯი 3: ბიბლიოთეკის დაყენება Arduino IDE– ზე
თქვენს Arduino IDE- ში გადადით ბიბლიოთეკების მენეჯერში და მოძებნეთ NTP და გადმოწერეთ NTP კლიენტის ბიბლიოთეკა გადმოწერილი სახით, მიმართეთ სურათს შემდგომი დახმარებისთვის.
ნაბიჯი 4: კოდირების ნაწილი
გთხოვთ, დააკოპიროთ შემდეგი კოდი და ჩაწეროთ თქვენი ქსელის რწმუნებათა სიგელები თქვენს კოდში, შემდეგ თქვენ უნდა დააყენოთ offsettime ჩემთვის ეს არის 19800 რადგან ჩემი დროის ზონა არის utc+5: 30 ასე რომ UTC +5: 30 = 5.5*60*60 = 19800UTC+1 = 1*60*60 = 3600 გამოთვალეთ თქვენი დროის ზონა და შეცვალეთ და შემდეგ ატვირთეთ კოდი.#მოიცავს "NTPClient.h"#მოიცავს "ESP8266WiFi.h"#მოიცავს "WiFiUdp.h" const char*ssid = "***** ****** "; const char*პაროლი =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" კვირა "," ორშაბათი ", "სამშაბათი", "ოთხშაბათი", "ხუთშაბათი", "პარასკევი", "შაბათი"}; // განსაზღვრეთ NTP კლიენტი დროის მისაღებადWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); ბათილად დაყენება () {Serial.begin (115200); WiFi.begin (ssid, პაროლი); while (WiFi.status ()! = WL_CONNECTED) {დაგვიანებით (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 ()); დაგვიანება (1000);}
ნაბიჯი 5: დროის დადგენა
კოდის Esp8266– ზე ატვირთვის შემდეგ თქვენ შეგიძლიათ გახსნათ სერიული მონიტორი და თუ ყველაფერი კარგადაა მაშინ შეძლებთ დრო მიიღოთ სერიულ მონიტორზე, რადგან მე შემიძლია დრო მივიღო ჩემს სერიულ მონიტორზე. ასე რომ ამ პროექტთან ერთად შეგიძლიათ დაურთოთ ნებისმიერი აჩვენეთ და გახადეთ შესაბამისი ქსელის საათი. ასე რომ გაერთეთ თქვენი ქსელის საათის დამზადებით.
გირჩევთ:
ქსელის დრო ციფრული საათი ESP8266 გამოყენებით: 4 ნაბიჯი (სურათებით)
ქსელის დრო ციფრული საათი ESP8266– ის გამოყენებით: ჩვენ ვისწავლით თუ როგორ უნდა ავაშენოთ მიმზიდველი პატარა ციფრული საათი, რომელიც ურთიერთობს NTP სერვერებთან და აჩვენებს ქსელის ან ინტერნეტის დროს. ჩვენ ვიყენებთ WeMos D1 mini- ს WiFi ქსელთან დასაკავშირებლად, NTP დროის მისაღებად და OLED მოდულზე ჩვენებისთვის. ვიდეო ზემოთ t
556 დრო უზრუნველყოფს საათის შეყვანას 2 ათწლეულის მრიცხველზე, რომელიც ამოძრავებს 20 LEDS: 6 ნაბიჯი
556 დრო უზრუნველყოფს საათის შეყვანას 2 ათწლეულის მრიცხველზე, რომელიც ამოძრავებს 20 LEDS- ს: ეს ინსტრუქცია აჩვენებს, თუ როგორ უზრუნველყოფს 556 ქრონომეტრი საათის შეყვანას 2 ათწლეულის მრიცხველზე. ათწლეულის მრიცხველები მართავს 20 LED- ს. LED- ები აციმციმდება 10 თანმიმდევრობით
ინტერნეტ საათი: ჩვენება თარიღი და დრო OLED გამოყენებით ESP8266 NodeMCU NTP პროტოკოლით: 6 ნაბიჯი
ინტერნეტ საათი: ჩვენება თარიღი და დრო OLED გამოყენებით ESP8266 NodeMCU NTP პროტოკოლით: გამარჯობა ბიჭებო ამ ინსტრუქციებში ჩვენ ავაშენებთ ინტერნეტ საათს, რომელიც მიიღებს დროს ინტერნეტიდან, ასე რომ ამ პროექტს არ დასჭირდება რაიმე RTC გაშვება, მას მხოლოდ დასჭირდება მუშაობს ინტერნეტ კავშირი და ამ პროექტისთვის გჭირდებათ esp8266 რომელსაც ექნება
Visuino - მიიღეთ ზუსტი დრო ინტერნეტ NIST სერვერიდან NodeMCU გამოყენებით: 8 ნაბიჯი
Visuino - მიიღეთ ზუსტი დრო ინტერნეტ NIST სერვერიდან NodeMCU– ს გამოყენებით: ამ გაკვეთილში ჩვენ გამოვიყენებთ NodeMCU Mini, OLED Lcd და Visuino– ს, რათა გამოვავლინოთ ინტერნეტის პირდაპირი დრო NIST სერვერიდან Lcd– ზე. უყურეთ სადემონსტრაციო ვიდეოს. შთაგონების დამსახურებაა youtube– ის მომხმარებელი " Ciprian Balalau "
ESP8266 ქსელის საათი ყოველგვარი RTC - Nodemcu NTP საათი არა RTC - პროექტი ინტერნეტ საათზე: 4 ნაბიჯი
ESP8266 ქსელის საათი ყოველგვარი RTC | Nodemcu NTP საათი არ არის RTC | ინტერნეტის საათის პროექტი: პროექტში იქნება საათის პროექტი RTC– ის გარეშე, ის მიიღებს დროს ინტერნეტიდან wifi– ს გამოყენებით და ის გამოჩნდება st7735 ეკრანზე