WeMOS: D1 R1 mini NTP via Serial: Difference between revisions
From OnnoCenterWiki
Jump to navigationJump to search
No edit summary |
No edit summary |
||
| Line 48: | Line 48: | ||
//Serial.println(timeClient.getFormattedTime()); | //Serial.println(timeClient.getFormattedTime()); | ||
delay(1000); | delay(1000); | ||
} | |||
Alternatif Code | |||
/* | |||
Rui Santos | |||
Complete project details at https://RandomNerdTutorials.com/esp8266-nodemcu-date-time-ntp-client-server-arduino/ | |||
Permission is hereby granted, free of charge, to any person obtaining a copy | |||
of this software and associated documentation files. | |||
The above copyright notice and this permission notice shall be included in all | |||
copies or substantial portions of the Software. | |||
*/ | |||
#include <ESP8266WiFi.h> | |||
#include <NTPClient.h> | |||
#include <WiFiUdp.h> | |||
// Replace with your network credentials | |||
// const char *ssid = "REPLACE_WITH_YOUR_SSID"; | |||
// const char *password = "REPLACE_WITH_YOUR_PASSWORD"; | |||
const char *ssid = "o1"; | |||
const char *password = "Dzaq1993!"; | |||
// Define NTP Client to get time | |||
WiFiUDP ntpUDP; | |||
NTPClient timeClient(ntpUDP, "pool.ntp.org"); | |||
//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 setup() { | |||
// Initialize Serial Monitor | |||
Serial.begin(115200); | |||
// Connect to Wi-Fi | |||
Serial.print("Connecting to "); | |||
Serial.println(ssid); | |||
WiFi.begin(ssid, password); | |||
while (WiFi.status() != WL_CONNECTED) { | |||
delay(500); | |||
Serial.print("."); | |||
} | |||
// Initialize a NTPClient to get time | |||
timeClient.begin(); | |||
// Set offset time in seconds to adjust for your timezone, for example: | |||
// GMT +1 = 3600 | |||
// GMT +7 = 25200 | |||
// GMT +8 = 28800 | |||
// GMT -1 = -3600 | |||
// GMT 0 = 0 | |||
timeClient.setTimeOffset(25200); | |||
} | |||
void loop() { | |||
timeClient.update(); | |||
time_t epochTime = timeClient.getEpochTime(); | |||
Serial.print("Epoch Time: "); | |||
Serial.println(epochTime); | |||
String formattedTime = timeClient.getFormattedTime(); | |||
Serial.print("Formatted Time: "); | |||
Serial.println(formattedTime); | |||
int currentHour = timeClient.getHours(); | |||
Serial.print("Hour: "); | |||
Serial.println(currentHour); | |||
int currentMinute = timeClient.getMinutes(); | |||
Serial.print("Minutes: "); | |||
Serial.println(currentMinute); | |||
int currentSecond = timeClient.getSeconds(); | |||
Serial.print("Seconds: "); | |||
Serial.println(currentSecond); | |||
String weekDay = weekDays[timeClient.getDay()]; | |||
Serial.print("Week Day: "); | |||
Serial.println(weekDay); | |||
//Get a time structure | |||
struct tm *ptm = gmtime ((time_t *)&epochTime); | |||
int monthDay = ptm->tm_mday; | |||
Serial.print("Month day: "); | |||
Serial.println(monthDay); | |||
int currentMonth = ptm->tm_mon+1; | |||
Serial.print("Month: "); | |||
Serial.println(currentMonth); | |||
String currentMonthName = months[currentMonth-1]; | |||
Serial.print("Month name: "); | |||
Serial.println(currentMonthName); | |||
int currentYear = ptm->tm_year+1900; | |||
Serial.print("Year: "); | |||
Serial.println(currentYear); | |||
//Print complete date: | |||
String currentDate = String(currentYear) + "-" + String(currentMonth) + "-" + String(monthDay); | |||
Serial.print("Current date: "); | |||
Serial.println(currentDate); | |||
Serial.println(""); | |||
delay(2000); | |||
} | } | ||
Latest revision as of 13:16, 3 April 2023
/*
NTP Display via Serial
*/
#include <NTPClient.h>
#include <ESP8266WiFi.h>
#include <WiFiUdp.h>
const char *ssid = "o1";
const char *password = "Dzaq1993!";
const long utcOffsetInSeconds = 25200;
char daysOfTheWeek[7][12] = {"Sunday", "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};
// Define NTP Client to get time
WiFiUDP ntpUDP;
NTPClient timeClient(ntpUDP, "asia.pool.ntp.org", utcOffsetInSeconds);
int hh, mm, ss;
void setup() {
Serial.begin(115200);
WiFi.begin(ssid, password);
while ( WiFi.status() != WL_CONNECTED ) {
delay ( 500 );
Serial.print ( "." );
}
timeClient.begin();
}
void loop() {
timeClient.update();
hh = timeClient.getHours();
mm = timeClient.getMinutes();
ss = timeClient.getSeconds();
Serial.print(daysOfTheWeek[timeClient.getDay()]);
Serial.print(", ");
Serial.print(hh);
Serial.print(":");
Serial.print(mm);
Serial.print(":");
Serial.println(ss);
//Serial.println(timeClient.getFormattedTime());
delay(1000);
}
Alternatif Code
/* Rui Santos Complete project details at https://RandomNerdTutorials.com/esp8266-nodemcu-date-time-ntp-client-server-arduino/ Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. */ #include <ESP8266WiFi.h> #include <NTPClient.h> #include <WiFiUdp.h> // Replace with your network credentials // const char *ssid = "REPLACE_WITH_YOUR_SSID"; // const char *password = "REPLACE_WITH_YOUR_PASSWORD"; const char *ssid = "o1"; const char *password = "Dzaq1993!"; // Define NTP Client to get time WiFiUDP ntpUDP; NTPClient timeClient(ntpUDP, "pool.ntp.org"); //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 setup() { // Initialize Serial Monitor Serial.begin(115200); // Connect to Wi-Fi Serial.print("Connecting to "); Serial.println(ssid); WiFi.begin(ssid, password); while (WiFi.status() != WL_CONNECTED) { delay(500); Serial.print("."); } // Initialize a NTPClient to get time timeClient.begin(); // Set offset time in seconds to adjust for your timezone, for example: // GMT +1 = 3600 // GMT +7 = 25200 // GMT +8 = 28800 // GMT -1 = -3600 // GMT 0 = 0 timeClient.setTimeOffset(25200); } void loop() { timeClient.update(); time_t epochTime = timeClient.getEpochTime(); Serial.print("Epoch Time: "); Serial.println(epochTime); String formattedTime = timeClient.getFormattedTime(); Serial.print("Formatted Time: "); Serial.println(formattedTime); int currentHour = timeClient.getHours(); Serial.print("Hour: "); Serial.println(currentHour); int currentMinute = timeClient.getMinutes(); Serial.print("Minutes: "); Serial.println(currentMinute); int currentSecond = timeClient.getSeconds(); Serial.print("Seconds: "); Serial.println(currentSecond); String weekDay = weekDays[timeClient.getDay()]; Serial.print("Week Day: "); Serial.println(weekDay); //Get a time structure struct tm *ptm = gmtime ((time_t *)&epochTime); int monthDay = ptm->tm_mday; Serial.print("Month day: "); Serial.println(monthDay); int currentMonth = ptm->tm_mon+1; Serial.print("Month: "); Serial.println(currentMonth); String currentMonthName = months[currentMonth-1]; Serial.print("Month name: "); Serial.println(currentMonthName); int currentYear = ptm->tm_year+1900; Serial.print("Year: "); Serial.println(currentYear); //Print complete date: String currentDate = String(currentYear) + "-" + String(currentMonth) + "-" + String(monthDay); Serial.print("Current date: "); Serial.println(currentDate); Serial.println(""); delay(2000); }