Arduino - Development - Modul : Esp32TimeSystem

Download : Esp32TimeSystem Version 01v04


Quellcode "main.cpp"

//
//----------------------------------------------
// Include
//----------------------------------------------
#include 
#include 
#include 
//
//----------------------------------------------
// Constant
//----------------------------------------------
const char* WIFI_SSID     = "FritzBoxSA7";
const char* WIFI_PASSWORD = "01234567890123456789";
//
const char* NTPSERVER01 = "pool.ntp.org";
const char* NTPSERVER02 = "time.nist.gov";
const char* TZLOCALINFO = "CET-1CEST,M3.5.0/2,M10.5.0/3";
// NC const long  GMTOFFSET = 3600; // [s] - Germany(WinterSeason) = UTC +1
// NC const int   DAYLIGHTOFSET = 3600; // [s] - Germany(SummerSeason) : +1 hour
//
//----------------------------------------------
// Global Variable
//----------------------------------------------
CSerialUart UartPC(SerialUartPC);
CNtpDateTime NtpDateTime;  
STimeInfo TimeInfo;
//
long unsigned MillisPreset;
//
//----------------------------------------------
// Helper
//----------------------------------------------
// Helper - NtpDateTime Wifi-Connection
//--------------------------------------------
bool NTPConnectWifiLocal()
{ 
  NtpDateTime.ConnectWifi(WIFI_SSID, WIFI_PASSWORD);
  while (!NtpDateTime.IsConnected()) 
  {
    UartPC.print(".");
    delay(333);
  }
  return true;
}
//----------------------------------------------
// Helper - NtpDateTime Server-Synchronisation
//--------------------------------------------
bool NTPGetTimeServer(PSTimeInfo ptimeinfo)
{
  NtpDateTime.SynchronizeTimeServer(TZLOCALINFO, NTPSERVER01, NTPSERVER02);
  while (!NtpDateTime.GetLocalDateTime(ptimeinfo))
  {
    UartPC.println(" Error - On receiving NTP-TimeStamp!");
    delay(333);
  }
  return true;
}
// 
//----------------------------------------------
// Main - Setup
//----------------------------------------------
void setup() 
{ //--------------------------------------------
  //  UartPC Initialisation
  //--------------------------------------------
  UartPC.begin(BAUDRATE_115200);
  Message(HEADER_00);
  Message(HEADER_01);
  Message(HEADER_00);
  Message(HEADER_02);
  Message(HEADER_03);
  Message(HEADER_04);
  Message(HEADER_00);
  Message("UartPC started");
  //--------------------------------------------
  //  NTP Initialisation
  //--------------------------------------------
  UartPC.print("Connecting to ");
  UartPC.println(WIFI_SSID);
  UartPC.print("Try Wifi-Connection: ");
  NTPConnectWifiLocal();
  UartPC.print("\r\nConnected to IPAddress: ");
  UartPC.println(NtpDateTime.GetLocalIPAddress());
  UartPC.print("Try receiving DateTime-Stamp: ");
  NTPGetTimeServer(&TimeInfo);
  UartPC.println(&TimeInfo, "%Y-%m-%d %H:%M:%S %Z");
}
//
//
//----------------------------------------------
// Main - Loop
//----------------------------------------------
void loop() 
{ 
  NTPGetTimeServer(&TimeInfo);
  UartPC.println(&TimeInfo, "DateTime[%Z]: %Y-%m-%d %H:%M:%S ");
  delay(5000);
}
//
//