תוכן עניינים:

קבלת זמן מהאינטרנט באמצעות ESP8266 - פרויקט שעון NTP עם ESP8266 Nodemcu: 5 שלבים
קבלת זמן מהאינטרנט באמצעות ESP8266 - פרויקט שעון NTP עם ESP8266 Nodemcu: 5 שלבים

וִידֵאוֹ: קבלת זמן מהאינטרנט באמצעות ESP8266 - פרויקט שעון NTP עם ESP8266 Nodemcu: 5 שלבים

וִידֵאוֹ: קבלת זמן מהאינטרנט באמצעות ESP8266 - פרויקט שעון NTP עם ESP8266 Nodemcu: 5 שלבים
וִידֵאוֹ: צעדים ראשונים עם בקר ESP8266 2024, יולי
Anonim
קבלת זמן מהאינטרנט באמצעות ESP8266 | פרויקט שעון NTP עם ESP8266 Nodemcu
קבלת זמן מהאינטרנט באמצעות ESP8266 | פרויקט שעון NTP עם ESP8266 Nodemcu

במדריך זה נראה כיצד להשיג זמן באמצעות ESP8266/nodemcu עם Arduino IDE. קבלת זמן שימושית במיוחד ברישום נתונים כדי לחותם את זמן הקריאות שלך. אם לפרויקט ESP8266 שלך יש גישה לאינטרנט, תוכל לקבל זמן באמצעות פרוטוקול זמן רשת (NTP) - אינך צריך חומרה נוספת. תוכל לחבר את ה- ESP8266 לרשת ה- WiFi שלך וזה יהיה שעון שיסונכרן. עם רשת, כך שאם ברגע שהעלית את הקוד הוא יקבל זמן מהאינטרנט כך שהוא תמיד יציג את הזמן הנכון.

שלב 1: דברים שאתה צריך

דברים שאתה צריך
דברים שאתה צריך

לפרויקט זה תצטרך מעט מאוד דברים: כבל USB ESP8266/NODEMCUA כדי לתכנת אותו.

שלב 2: מהו NTP וכיצד הוא יפעל?

מהו NTP וכיצד הוא יפעל?
מהו NTP וכיצד הוא יפעל?
מהו NTP וכיצד הוא יפעל?
מהו NTP וכיצד הוא יפעל?

מהו NTP: NTP מייצג פרוטוקול זמן רשת. זהו פרוטוקול אינטרנט רגיל (IP) לסנכרן את שעוני המחשב להתייחסות כלשהי ברשת. ניתן להשתמש בפרוטוקול לסנכרן את כל ההתקנים הרשתיים לזמן אוניברסלי מתואם (UTC). NTP מגדיר את שעוני המחשבים ל- UTC, בכל זמן מקומי. קיזוז אזור או קיזוז זמן חיסכון בשעות היום מיושם על ידי הלקוח. באופן זה לקוחות יכולים לסנכרן עם שרתים ללא קשר להבדלי המיקום ואזורי הזמן. כיצד זה יעבוד עבורנו: מכשיר הלקוח כגון ESP8266 מתחבר לשרת באמצעות פרוטוקול User Datagram (UDP) ביציאה 123. לקוח משדר לאחר מכן בתגובה לבקשה זו שרת ה- NTP שולח חבילת חותמת זמן. חבילת חותמת זמן מכילה מידע מרובה כמו חותמת זמן של UNIX, דיוק, עיכוב או אזור זמן. לאחר מכן לקוח יכול לנתח את ערכי התאריך והשעה הנוכחיים.

שלב 3: התקנת ספרייה ב- Arduino IDE

התקנת ספרייה ב- Arduino IDE
התקנת ספרייה ב- Arduino IDE

ב- IDE Arduino שלך עבור למנהל הספריות וחפש NTP ופשוט הורד את ספריית לקוחות NTP כפי שהורדתי, עיין בתמונה לעזרה נוספת.

שלב 4: חלק קידוד

חלק קידוד
חלק קידוד
חלק קידוד
חלק קידוד

אנא העתק את הקוד הבא והכנס את אישורי הרשת שלך לקוד שלך. לאחר מכן עליך להגדיר עבורי השעון שעון הוא 19800 מכיוון שאזור הזמן שלי הוא utc+5: 30 כך ש UTC +5: 30 = 5.5*60*60 = 19800 UTC+1 = 1*60*60 = 3600 חישוב אזור הזמן שלך וערוך אותו ולאחר מכן העלה את הקוד.#כלול "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char*ssid = "***** ****** "; const char*password =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" יום ראשון "," שני ", "שלישי", "רביעי", "חמישי", "שישי", "שבת"}; // הגדר את לקוח NTP כדי לקבל timeWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); הגדרת ריק () {Serial.begin (115200); WiFi.begin (ssid, סיסמא); בעוד (WiFi.status ()! = WL_CONNECTED) {עיכוב (500); Serial.print ("."); } timeClient.begin ();} לולאת void () {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: קבלת זמן

מקבל TIME
מקבל TIME

לאחר העלאת הקוד ל- Esp8266 אתה יכול לפתוח את הצג הטורי ואם הכל טוב אז תוכל לקבל את הזמן על הצג הטורי מכיוון שאני יכול לקבל את הזמן במסך הטורי שלי. אז עם הפרויקט הזה אתה יכול לצרף כל להציג ולהפוך אותו לשעון רשת תקין. אז בכיף להכין את שעון הרשת שלך.

מוּמלָץ: