mirror of
https://github.com/IoTManagerProject/IoTManager.git
synced 2026-03-30 20:09:14 +03:00
first working version
This commit is contained in:
112
Time_esp8266.ino
Normal file
112
Time_esp8266.ino
Normal file
@@ -0,0 +1,112 @@
|
||||
#ifdef ESP8266
|
||||
|
||||
#include <time.h>
|
||||
void Time_Init() {
|
||||
server.on("/Time", HTTP_GET, [](AsyncWebServerRequest * request) {
|
||||
//handle_Time();
|
||||
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
|
||||
});
|
||||
server.on("/timeZone", HTTP_GET, [](AsyncWebServerRequest * request) {
|
||||
//handle_time_zone();
|
||||
request->send(200, "text/text", "OK"); // отправляем ответ о выполнении
|
||||
});
|
||||
|
||||
timeSynch(jsonReadtoInt(configSetup, "timezone"));
|
||||
}
|
||||
|
||||
|
||||
void timeSynch(int zone) {
|
||||
if (WiFi.status() == WL_CONNECTED) {
|
||||
// Настройка соединения с NTP сервером
|
||||
configTime(zone * 3600, 0, "pool.ntp.org", "ru.pool.ntp.org");
|
||||
// int i = 0;
|
||||
// Serial.println("\nWaiting for time");
|
||||
// while (!time(nullptr) && i < 10) {
|
||||
// Serial.print(".");
|
||||
// i++;
|
||||
// delay(1000);
|
||||
// }
|
||||
Serial.println("");
|
||||
Serial.println("ITime Ready!");
|
||||
delay(1000);
|
||||
Serial.println(GetTime());
|
||||
Serial.println(GetDate());
|
||||
}
|
||||
}
|
||||
/*// Установка параметров времянной зоны по запросу вида http://192.168.0.101/timeZone?timeZone=3
|
||||
void handle_time_zone() {
|
||||
if (request->hasArg("timeZone")) {
|
||||
jsonWrite(configSetup, "timeZone", request->getParam("timeZone")->value());
|
||||
}
|
||||
saveConfig();
|
||||
//request->send(200, "text/text", "OK");
|
||||
}
|
||||
|
||||
void handle_Time() {
|
||||
timeSynch(jsonReadtoInt(configSetup, "timezone"));
|
||||
//request->send(200, "text/text", "OK");
|
||||
}
|
||||
*/
|
||||
#endif
|
||||
|
||||
// Получение текущего времени
|
||||
String GetTime() {
|
||||
time_t now = time(nullptr); // получаем время с помощью библиотеки time.h
|
||||
String Time = ""; // Строка для результатов времени
|
||||
Time += ctime(&now); // Преобразуем время в строку формата Thu Jan 19 00:55:35 2017
|
||||
int i = Time.indexOf(":"); //Ишем позицию первого символа :
|
||||
Time = Time.substring(i - 2, i + 6); // Выделяем из строки 2 символа перед символом : и 6 символов после
|
||||
return Time; // Возврашаем полученное время
|
||||
}
|
||||
|
||||
String GetTimeWOsec() {
|
||||
time_t now = time(nullptr); // получаем время с помощью библиотеки time.h
|
||||
String Time = ""; // Строка для результатов времени
|
||||
Time += ctime(&now); // Преобразуем время в строку формата Thu Jan 19 00:55:35 2017
|
||||
int i = Time.indexOf(":"); //Ишем позицию первого символа :
|
||||
Time = Time.substring(i - 2, i + 3); // Выделяем из строки 2 символа перед символом : и 6 символов после
|
||||
return Time; // Возврашаем полученное время
|
||||
}
|
||||
|
||||
// Получение даты
|
||||
String GetDate() {
|
||||
time_t now = time(nullptr); // получаем время с помощью библиотеки time.h
|
||||
String Data = ""; // Строка для результатов времени
|
||||
Data += ctime(&now); // Преобразуем время в строку формата Thu Jan 19 00:55:35 2017
|
||||
Data.replace("\n", "");
|
||||
uint8_t i = Data.lastIndexOf(" "); //Ишем позицию последнего символа пробел
|
||||
String Time = Data.substring(i - 8, i + 1); // Выделяем время и пробел
|
||||
Data.replace(Time, ""); // Удаляем из строки 8 символов времени и пробел
|
||||
return Data; // Возврашаем полученную дату
|
||||
}
|
||||
|
||||
String GetDataDigital() {
|
||||
String date = GetDate();
|
||||
|
||||
date = deleteBeforeDelimiter(date, " ");
|
||||
|
||||
date.replace("Jan", "01");
|
||||
date.replace("Feb", "02");
|
||||
date.replace("Mar", "03");
|
||||
date.replace("Apr", "04");
|
||||
date.replace("May", "05");
|
||||
date.replace("Jun", "06");
|
||||
date.replace("Jul", "07");
|
||||
date.replace("Aug", "08");
|
||||
date.replace("Sep", "09");
|
||||
date.replace("Oct", "10");
|
||||
date.replace("Nov", "11");
|
||||
date.replace("Dec", "12");
|
||||
|
||||
String month = date.substring(0, 2);
|
||||
String day = date.substring(3, 5);
|
||||
String year = date.substring(8, 10);
|
||||
|
||||
String out = day;
|
||||
out += ".";
|
||||
out += month;
|
||||
out += ".";
|
||||
out += year;
|
||||
|
||||
return out;
|
||||
}
|
||||
Reference in New Issue
Block a user