From 996b2253fb26f1746d905322acba5b8101f7553f Mon Sep 17 00:00:00 2001 From: Michal Date: Sat, 6 Apr 2024 11:37:12 +0200 Subject: [PATCH] upraven nazev ino souboru, upravena prace s casem --- Terarium_v2.ino => Smart_Terarium.ino | 4 +- ntp.h | 18 ------- relay.h | 4 +- setting.h | 2 +- time.h | 77 +++++++++++++++++++++++++++ 5 files changed, 82 insertions(+), 23 deletions(-) rename Terarium_v2.ino => Smart_Terarium.ino (95%) delete mode 100644 ntp.h create mode 100644 time.h diff --git a/Terarium_v2.ino b/Smart_Terarium.ino similarity index 95% rename from Terarium_v2.ino rename to Smart_Terarium.ino index 011ad27..ce5cabd 100644 --- a/Terarium_v2.ino +++ b/Smart_Terarium.ino @@ -3,7 +3,7 @@ #define RELAY3 13 // D2 #define RELAY4 12 // D1 -const char* version = "v2.2"; +const char* version = "v2.3"; const char* ssid = "Vlcice"; const char* password = "1010201010"; @@ -15,7 +15,7 @@ const char* host = "terarium"; #include // preference Preferences pref; -#include "ntp.h" +#include "time.h" #include "relay.h" diff --git a/ntp.h b/ntp.h deleted file mode 100644 index a46738a..0000000 --- a/ntp.h +++ /dev/null @@ -1,18 +0,0 @@ -//#include -#include -#include - - - - -WiFiUDP ntpUDP; - -NTPClient timeClient(ntpUDP, "europe.pool.ntp.org", 3600 * 1, 60000); - -void time_client_setup() { - timeClient.begin(); -} - -void time_client_update() { - timeClient.update(); -} diff --git a/relay.h b/relay.h index 40e4644..4610de5 100644 --- a/relay.h +++ b/relay.h @@ -26,8 +26,8 @@ bool relay_state(uint8_t id, bool negation) { } void relay_scheduler() { - int hours = timeClient.getHours(); - int minutes = timeClient.getMinutes(); + int hours = time_getHours(); + int minutes = time_getMinutes(); // rele 1 if (pref.getBool("r1_enable", true)) { if (hours == pref.getString("r1_on_h", "00").toInt() && minutes == pref.getString("r1_on_m", "00").toInt() && relay_state(RELAY1, pref.getBool("r1_neg", false)) == 0) { diff --git a/setting.h b/setting.h index 47c696b..685dd5a 100644 --- a/setting.h +++ b/setting.h @@ -16,7 +16,7 @@ String pageSettings() { ptr += "

Terarium - nastavení

\n"; ptr += "
Verze: " + String(version) + "
"; - ptr += "
Aktuální čas: " + timeClient.getFormattedTime() + "
\n"; + ptr += "
Aktuální čas: " + time_getFormattedTime() + "
\n"; ptr += ""; diff --git a/time.h b/time.h new file mode 100644 index 0000000..6ad816d --- /dev/null +++ b/time.h @@ -0,0 +1,77 @@ +#include +#include + + + +// Define NTP Client to get time +WiFiUDP ntpUDP; +NTPClient timeClient(ntpUDP, "tik.cesnet.cz"); + +//Week Days +String weekDays[7]={"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"}; + +//Month names +String months[12]={"January", "February", "March", "April", "May", "June", "July", "August", "September", "October", "November", "December"}; + + +void time_client_setup() { + // Initialize a NTPClient to get time + timeClient.begin(); + // Set offset time in seconds to adjust for your timezone, for example: + // GMT +1 = 3600 + // GMT +8 = 28800 + // GMT -1 = -3600 + // GMT 0 = 0 + timeClient.setTimeOffset(2*3600); +} + +void time_client_update() { + timeClient.update(); +} + +unsigned long time_getEpochTime() { + return timeClient.getEpochTime(); +} + +String time_getFormattedTime(){ + return timeClient.getFormattedTime(); +} + +int time_getHours() { + return timeClient.getHours(); +} + +int time_getMinutes() { + return timeClient.getMinutes(); +} + +int time_getSeconds() { + return timeClient.getSeconds(); +} + +String time_getDayName(){ + return weekDays[timeClient.getDay()]; +} + +int time_getDay(){ + unsigned long epochTime = time_getEpochTime(); + struct tm *ptm = gmtime ((time_t *)&epochTime); + return ptm->tm_mday; +} + +int time_getMonth(){ + unsigned long epochTime = time_getEpochTime(); + struct tm *ptm = gmtime ((time_t *)&epochTime); + return ptm->tm_mon+1; +} + +int time_getYear(){ + unsigned long epochTime = time_getEpochTime(); + struct tm *ptm = gmtime ((time_t *)&epochTime); + return ptm->tm_year+1900; +} + +String time_getMonthName(){ + return months[time_getMonth()-1]; +} +