
Πίνακας περιεχομένων:
2025 Συγγραφέας: John Day | [email protected]. Τελευταία τροποποίηση: 2025-01-23 14:39

Σε αυτό το σεμινάριο θα δούμε πώς να βρούμε χρόνο χρησιμοποιώντας το ESP8266/nodemcu με το Arduino IDE. Η εύρεση χρόνου είναι ιδιαίτερα χρήσιμη στην καταγραφή δεδομένων για τη χρονική σήμανση των ενδείξεων σας. Εάν το έργο σας ESP8266 έχει πρόσβαση στο Διαδίκτυο, μπορείτε να έχετε χρόνο χρησιμοποιώντας το Πρωτόκολλο ώρας δικτύου (NTP) - δεν χρειάζεστε πρόσθετο υλικό. Μπορείτε να συνδέσετε το ESP8266 στο δίκτυό σας wifi και θα είναι ένα ρολόι που θα συγχρονιστεί με δίκτυο, οπότε αν ανεβάσετε τον κώδικα θα πάρει χρόνο από το διαδίκτυο, ώστε να εμφανίζει πάντα τη σωστή ώρα.
Βήμα 1: Πράγματα που χρειάζεστε

Για αυτό το έργο θα χρειαστείτε πολύ λίγα πράγματα: Καλώδιο USB ESP8266/NODEMCUA για να το προγραμματίσετε.
Βήμα 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 Υπολογίστε τη ζώνη ώρας σας και επεξεργαστείτε την και στη συνέχεια ανεβάστε τον κώδικα.#Include "NTPClient.h" #include "ESP8266WiFi.h" #include "WiFiUdp.h" const char*ssid = "***** ****** "; const char*password =" *********** "; const long utcOffsetInSeconds = 19800; char daysOfTheWeek [7] [12] = {" Κυριακή "," Δευτέρα ", "Τρίτη", "Τετάρτη", "Πέμπτη", "Παρασκευή", "Σάββατο"}; // Ορισμός πελάτη NTP για να πάρει χρόνοWiFiUDP ntpUDP; NTPClient timeClient (ntpUDP, "pool.ntp.org", utcOffsetInSeconds); void setup () {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 OLED - Λήψη ώρας και ημερομηνίας από το Διαδίκτυο: 8 βήματα

ESP8266 OLED - Λάβετε ώρα και ημερομηνία από το Διαδίκτυο: Σε αυτό το σεμινάριο θα μάθουμε πώς να λαμβάνετε την ημερομηνία και την ώρα από τον διακομιστή NIST TIME χρησιμοποιώντας ESP8266 OLED και Visuino, Δείτε ένα βίντεο επίδειξης
Timeηφιακό ρολόι χρόνου δικτύου χρησιμοποιώντας το ESP8266: 4 βήματα (με εικόνες)

Timeηφιακό ρολόι ώρας δικτύου Χρησιμοποιώντας το ESP8266: Μαθαίνουμε πώς να δημιουργούμε ένα χαριτωμένο μικρό ψηφιακό ρολόι που επικοινωνεί με διακομιστές NTP και εμφανίζει χρόνο δικτύου ή διαδικτύου. Χρησιμοποιούμε το WeMos D1 mini για σύνδεση σε δίκτυο WiFi, λήψη του χρόνου NTP και εμφάνιση του σε μονάδα OLED. Το παραπάνω βίντεο t
Internet Clock: Εμφάνιση ημερομηνίας και ώρας με OLED χρησιμοποιώντας ESP8266 NodeMCU με πρωτόκολλο NTP: 6 βήματα

Internet Clock: Εμφάνιση ημερομηνίας και ώρας με OLED με χρήση ESP8266 NodeMCU Με πρωτόκολλο NTP: Γεια σας παιδιά σε αυτά τα εκπαιδευτικά θα δημιουργήσουμε ένα ρολόι διαδικτύου που θα παίρνει χρόνο από το διαδίκτυο, οπότε αυτό το έργο δεν θα χρειαστεί RTC για να τρέξει, θα χρειαστεί μόνο ένα λειτουργική σύνδεση στο Διαδίκτυο Και για αυτό το έργο χρειάζεστε ένα esp8266 το οποίο θα διαθέτει
Χρήση μονάδων ρολογιού πραγματικού χρόνου DS1307 και DS3231 με Arduino: 3 βήματα

Χρήση μονάδων ρολογιού πραγματικού χρόνου DS1307 και DS3231 Με Arduino: Συνεχίζουμε να λαμβάνουμε αιτήματα σχετικά με τον τρόπο χρήσης των μονάδων ρολογιού πραγματικού χρόνου DS1307 και DS3231 με το Arduino από διάφορες πηγές-έτσι αυτό είναι το πρώτο από ένα σεμινάριο δύο μερών για το πώς να τα χρησιμοποιήσετε. Για αυτό το σεμινάριο Arduino έχουμε δύο μονάδες ρολογιού σε πραγματικό χρόνο σε εμάς
Ρολόι βασισμένο σε Arduino χρησιμοποιώντας μονάδα ρολογιού πραγματικού χρόνου DS1307 (RTC) & βήματα 0,96: 5

Ρολόι βασισμένο σε Arduino χρησιμοποιώντας τη μονάδα ρολογιού πραγματικού χρόνου DS1307 (RTC) & 0.96: Γεια σας παιδιά σε αυτό το σεμινάριο θα δούμε πώς να φτιάξετε ένα ρολόι εργασίας χρησιμοποιώντας μια μονάδα ρολογιού πραγματικού χρόνου DS1307 & Οθόνες OLED. Έτσι θα διαβάσουμε την ώρα από τη μονάδα ρολογιού DS1307. Και εκτυπώστε το στην οθόνη OLED