#include <WiFi.h>
#include <WiFiUdp.h>
#include <NTPClient.h>
const char* ssid = "Wokwi-GUEST";
const char* password = "";
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "pool.ntp.org");
unsigned long lastSync = 0;
unsigned long lastSecond = 0;
void setup() {
Serial.begin(115200);
// Connect to Wi-Fi
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(1000);
Serial.println("Connecting to WiFi..");
}
Serial.println("Connected to WiFi!");
// Initialize NTPClient
timeClient.begin();
// Set time using NTP
configTime(0, 0, "pool.ntp.org");
// Wait for time to synchronize
while (!time(nullptr)) {
delay(1000);
Serial.println("Waiting for time to synchronize...");
}
// Initialize NTPClient
timeClient.begin();
if (timeClient.update()) {
Serial.println("Synchronized with NTP.");
} else {
Serial.println("Error synchronizing with NTP.");
}
//WiFi.disconnect();
//Serial.println("Wi-Fi turned off.");
}
void loop() {
unsigned long currentMillis = millis();
// Синхронізувати з NTP раз на 10 секунд
if (millis() - lastSync > 60000) {
lastSync = millis();
timeClient.begin();
if (timeClient.update()) {
Serial.println("Synchronized with NTP.");
} else {
Serial.println("Error synchronizing with NTP.");
}
}
if (currentMillis - lastSecond >= 1000) {
lastSecond = currentMillis;
Serial.print("Time: ");
Serial.println(timeClient.getFormattedTime());
}
}