71 lines
1.7 KiB
C++
71 lines
1.7 KiB
C++
/*********
|
|
Rui Santos
|
|
Complete project details at https://randomnerdtutorials.com
|
|
Based on the NTP Client library example
|
|
*********/
|
|
|
|
#include <ESP8266WiFi.h>
|
|
#include <NTPClient.h>
|
|
#include <WiFiUdp.h>
|
|
|
|
// Replace with your network credentials
|
|
char* ssid = "Livebox-37cc";
|
|
char* password = "8A6060920A8A86896F770F2C47";
|
|
|
|
// Define NTP Client to get time
|
|
WiFiUDP ntpUDP;
|
|
NTPClient timeClient(ntpUDP);
|
|
|
|
// Variables to save date and time
|
|
String formattedDate;
|
|
String dayStamp;
|
|
String timeStamp;
|
|
|
|
void setup() {
|
|
// Initialize Serial Monitor
|
|
Serial.begin(9600);
|
|
Serial.print("Connecting to ");
|
|
Serial.println(ssid);
|
|
WiFi.begin(ssid, password);
|
|
while (WiFi.status() != WL_CONNECTED) {
|
|
delay(500);
|
|
Serial.print(".");
|
|
}
|
|
// Print local IP address and start web server
|
|
Serial.println("");
|
|
Serial.println("WiFi connected.");
|
|
Serial.println("IP address: ");
|
|
Serial.println(WiFi.localIP());
|
|
|
|
// 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(3600);
|
|
}
|
|
void loop() {
|
|
while(!timeClient.update()) {
|
|
timeClient.forceUpdate();
|
|
}
|
|
// The formattedDate comes with the following format:
|
|
// 2018-05-28T16:00:13Z
|
|
// We need to extract date and time
|
|
formattedDate = timeClient.getFormattedTime();
|
|
Serial.println(formattedDate);
|
|
|
|
// Extract date
|
|
int splitT = formattedDate.indexOf("T");
|
|
dayStamp = formattedDate.substring(0, splitT);
|
|
Serial.print("DATE: ");
|
|
Serial.println(dayStamp);
|
|
// Extract time
|
|
timeStamp = formattedDate.substring(splitT+1, formattedDate.length()-1);
|
|
Serial.print("HOUR: ");
|
|
Serial.println(timeStamp);
|
|
delay(1000);
|
|
}
|
|
|