Inhaltsverzeichnis:

Abrufen von Zeit aus dem Internet mit ESP8266 - NTP-Taktprojekt mit ESP8266 Nodemcu - Gunook
Abrufen von Zeit aus dem Internet mit ESP8266 - NTP-Taktprojekt mit ESP8266 Nodemcu - Gunook

Video: Abrufen von Zeit aus dem Internet mit ESP8266 - NTP-Taktprojekt mit ESP8266 Nodemcu - Gunook

Video: Abrufen von Zeit aus dem Internet mit ESP8266 - NTP-Taktprojekt mit ESP8266 Nodemcu - Gunook
Video: Heute Regen, morgen Sonne - Wetterstation mit einem ESP8266 und einem Mini OLED Display (Banggood) 2024, November
Anonim
Abrufen von Zeit aus dem Internet mit ESP8266 | NTP Clock Project mit ESP8266 Nodemcu
Abrufen von Zeit aus dem Internet mit ESP8266 | NTP Clock Project mit ESP8266 Nodemcu

In diesem Tutorial sehen wir, wie Sie mit dem ESP8266/nodemcu mit Arduino IDE Zeit gewinnen. Die Zeiterfassung ist besonders nützlich bei der Datenprotokollierung, um Ihre Messwerte mit einem Zeitstempel zu versehen. Wenn Ihr ESP8266-Projekt Zugang zum Internet hat, können Sie die Zeit mit dem Network Time Protocol (NTP) abrufen – Sie benötigen keine zusätzliche Hardware. Sie können Ihren ESP8266 mit Ihrem WLAN-Netzwerk verbinden und es wird eine Uhr synchronisiert, die synchronisiert wird mit Netzwerk, also wenn Sie den Code, sobald Sie ihn hochgeladen haben, die Zeit aus dem Internet erhalten, so dass immer die richtige Zeit angezeigt wird.

Schritt 1: Dinge, die Sie brauchen

Dinge, die du brauchst
Dinge, die du brauchst

Für dieses Projekt benötigen Sie nur sehr wenige Dinge: ESP8266/NODEMCUA USB-Kabel, um es zu programmieren.

Schritt 2: Was ist ein NTP und wie wird es funktionieren?

Was ist ein NTP und wie wird es funktionieren?
Was ist ein NTP und wie wird es funktionieren?
Was ist ein NTP und wie wird es funktionieren?
Was ist ein NTP und wie wird es funktionieren?

Was ist ein NTP: Ein NTP steht für Network Time Protocol. Es ist ein Standard-Internetprotokoll (IP) zum Synchronisieren der Computeruhren mit einer Referenz über ein Netzwerk. Das Protokoll kann verwendet werden, um alle vernetzten Geräte auf die koordinierte Weltzeit (UTC) zu synchronisieren. NTP stellt die Uhren von Computern auf UTC, eine beliebige lokale Zeit Zonen-Offset oder Sommerzeit-Offset wird vom Kunden angewendet. Auf diese Weise können sich Clients unabhängig von Standort- und Zeitzonenunterschieden mit Servern synchronisieren. So funktioniert es für uns: Das Client-Gerät wie ESP8266 verbindet sich mit dem Server über das User Datagram Protocol (UDP) auf Port 123. Ein Client überträgt dann ein Anforderungspaket an einen NTP-Server. Als Antwort auf diese Anforderung sendet der NTP-Server ein Zeitstempelpaket. Ein Zeitstempelpaket enthält mehrere Informationen wie UNIX-Zeitstempel, Genauigkeit, Verzögerung oder Zeitzone. Ein Client kann dann aktuelle Datums- und Zeitwerte analysieren.

Schritt 3: Bibliothek auf Arduino IDE installieren

Installieren der Bibliothek auf der Arduino IDE
Installieren der Bibliothek auf der Arduino IDE

Gehen Sie in Ihrer Arduino-IDE zum Bibliotheksmanager und suchen Sie nach NTP und laden Sie einfach die NTP-Clientbibliothek herunter, wie ich sie heruntergeladen habe. Weitere Hilfe finden Sie im Bild.

Schritt 4: Codierungsteil

Kodierungsteil
Kodierungsteil
Kodierungsteil
Kodierungsteil

Bitte kopieren Sie den folgenden Code und geben Sie Ihre Netzwerkanmeldeinformationen in Ihren Code ein 1*60*60=3600BERECHNEN Sie Ihre Zeitzone und bearbeiten Sie sie und laden Sie dann den Code hoch.#include "NTPClient.h"#include "ESP8266WiFi.h"#include "WiFiUdp.h"const char *ssid = "***** ******";const char *password = "***********";const long utcOffsetInSeconds = 19800;char daysOfTheWeek[7][12] = {"Sonntag", "Montag", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};// Definiere NTP Client um timeWiFiUDP zu erhalten ntpUDP;NTPClient timeClient(ntpUDP, "pool.ntp.org", utcOffsetInSeconds);void setup () {Serial.begin(115200); WiFi.begin(ssid, Passwort); while (WiFi.status() != WL_CONNECTED) { Verzögerung (500); Seriendruck ("."); } 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()); //Seriell.println(timeClient.getFormattedTime()); Verzögerung(1000);}

Schritt 5: ZEIT holen

ZEIT holen
ZEIT holen

Nach dem Hochladen des Codes auf Esp8266 können Sie den seriellen Monitor öffnen und wenn alles in Ordnung ist, können Sie die Zeit auf dem seriellen Monitor abrufen, da ich die Zeit in meinem seriellen Monitor abrufen kann. Mit diesem Projekt können Sie also beliebige anhängen anzeigen und zu einer richtigen Netzwerkuhr machen. Also viel Spaß beim Gestalten Ihrer Netzwerkuhr.

Empfohlen: