Connect to a NTP server
be86f1b324
As the update() function return false both if the forceUpdate fail, and also if the timeout isn't expired, we are not able to know if the last ntp update was fine. Wouldn't be better to return true if the last sync was gone ok, and false if wasn't good? |
||
---|---|---|
examples | ||
.travis.yml | ||
CHANGELOG | ||
keywords.txt | ||
library.json | ||
library.properties | ||
NTPClient.cpp | ||
NTPClient.h | ||
README.md |
NTPClient
Connect to a NTP server, here is how:
#include <NTPClient.h>
// change next line to use with another board/shield
#include <ESP8266WiFi.h>
//#include <WiFi.h> // for WiFi shield
//#include <WiFi101.h> // for WiFi 101 shield or MKR1000
#include <WiFiUdp.h>
const char *ssid = "<SSID>";
const char *password = "<PASSWORD>";
WiFiUDP ntpUDP;
// By default 'pool.ntp.org' is used with 60 seconds update interval and
// no offset
NTPClient timeClient(ntpUDP);
// You can specify the time server pool and the offset, (in seconds)
// additionaly you can specify the update interval (in milliseconds).
// NTPClient timeClient(ntpUDP, "europe.pool.ntp.org", 3600, 60000);
void setup(){
Serial.begin(115200);
WiFi.begin(ssid, password);
while ( WiFi.status() != WL_CONNECTED ) {
delay ( 500 );
Serial.print ( "." );
}
timeClient.begin();
}
void loop() {
timeClient.update();
Serial.println(timeClient.getFormattedTime());
delay(1000);
}
Function documentation
getEpochTime
returns the unix epoch, which are the seconds elapsed since 00:00:00 UTC on 1 January 1970 (leap seconds are ignored, every day is treated as having 86400 seconds). Attention: If you have set a time offset this time offset will be added to your epoch timestamp.