#include <WiFi.h>
#include "time.h"
#include <ESP32Time.h>
ESP32Time rtc;
const char* ssid = "Wokwi-GUEST";
const char* password = "";
const char* ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 10800;
const int daylightOffset_sec =0;
//************************************
String Date_str, Time_str, Time_format;
int say=0;
bool durum=true;
//*********************************
void setup()
{
Serial.begin(115200);
//connect to WiFi
Serial.printf("Connecting to %s ", ssid);
WiFi.begin(ssid, password);
while (WiFi.status() != WL_CONNECTED) {
delay(500);
Serial.print(".");
}
Serial.println(" CONNECTED");
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
rtc.setTime(0, 0, 0, 1, 1, 2020);
}
void loop()
{
struct tm timeinfo = rtc.getTimeStruct();
Serial.println(&timeinfo, "%A, %B %d %Y %H:%M:%S");
Serial.println("*******rtc.getTime*******************");
Serial.print("rtc.getTime :");
Serial.println(rtc.getTime("%A, %B %d %Y %H:%M:%S"));
Serial.println("*******rtc.getTime*******************");
UpdateLocalTime();
Serial.print("Date_str : ");
Serial.println(Date_str);
Serial.print("Time_str : ");
Serial.println(Time_str);
Serial.print("say : ");
Serial.println(say);
say++;
//*************************
if(say== 10){
WiFi.disconnect(true);
WiFi.mode(WIFI_OFF);
Serial.println("WiFi disconnected");
Serial.flush();
}
//*****************************
if(say== 20){
rtc.setTime(10, 10, 10, 2, 2, 2020);
}
//*******************
if(say==30){
WiFi.begin(ssid, password);
}
//*****************************
//*****************************
if(say>40 and durum==true){
//WiFi.begin(ssid, password);
//WiFi.disconnect();
//UpdateLocalTime();
configTime(gmtOffset_sec, daylightOffset_sec, ntpServer);
Serial.println("kontrol");
struct tm timeinfo;
if (getLocalTime(&timeinfo)){
rtc.setTimeStruct(timeinfo);
durum=false;
}
}
//*******************
if(WiFi.status() == WL_CONNECTED){
Serial.println("WiFi bağlı.");
}else{
Serial.println("bağlı değil!.");
}
delay(1000);
}
//*************************************
void UpdateLocalTime(){
time_t now;
time(&now);
//See http://www.cplusplus.com/reference/ctime/strftime/
char hour_output[30], day_output[30];
strftime(day_output, 30, "%a %d-%m-%y", localtime(&now)); // Formats date as: Sat 24-Jun-17
strftime(hour_output, 30, "%T", localtime(&now)); // Formats time as: 14:05:49
Date_str = day_output;
Time_str = hour_output;
}