Get NTP via UDP
#include <>
/*H********************************************************************
*
**********************************************************************/
#include <WiFi.h>
#include "time.h"
//************************* DEFINES ************************************
//************************* PROTOTYPES ************************************
void printLocalTime();
//************************* VARIABLES ************************************
const char *ssid = "YOUR_SSID";
const char *password = "YOUR_PASS";
const char *ntpServer = "pool.ntp.org";
const long gmtOffset_sec = 3600;
const int daylightOffset_sec = 3600;
/*F********************************************************************
*
**********************************************************************/
void
setup()
{
Serial.begin( BAUD );
//connect to WiFi
Serial.printf( "Connecting to %s ", ssid);
WiFi.begin( ssid, password);
while( WiFi.status() != WL_CONNECTED)
{
delay( 500 );
Serial.print(".");
}
Serial.println(" CONNECTED");
//init and get time
configTime( gmtOffset_sec, daylightOffset_sec, ntpServer);
printLocalTime();
//disconnect WiFi as it's no longer needed
WiFi.disconnect( true );
WiFi.mode( WIFI_OFF );
}
/*F********************************************************************
*
**********************************************************************/
void
loop()
{
delay( 1000 );
printLocalTime();
}
/*F********************************************************************
*
**********************************************************************/
void
printLocalTime()
{
struct tm timeinfo;
if( !getLocalTime( &timeinfo) )
{
Serial.println( "Failed to obtain time");
return;
}
Serial.println( &timeinfo, "%A, %B %d %Y %H:%M:%S");
}