// Arduino WiFi
// #include "WiFiNINA.h"
// #include "NTP.h"
// ESP8286
#include "ESP8266WiFi.h"
#include "WiFiUdp.h"
#include "NTP.h"
char Router[] = "FRITZ!Box 7590 LB";
char Passwort[] = "xxxxxxx ";
WiFiUDP wifiUdp;
NTP ntp(wifiUdp);
// Zeit bis zur nächsten Messung
static unsigned long GesicherteStartZeit = 0;
unsigned long Startzeit;
int Intervall = 5000;
void setup()
{
Serial.begin(9600);
delay(500);
// WiFi starten DHCP
WiFi.begin(Router, Passwort);
while (WiFi.status() != WL_CONNECTED)
{
Serial.println("...");
delay(500);
}
/*
Zeitzone
CEST: Central European Summertime
Beginn europäische Sommerzeit letzter Sonntag im März 2 Uhr GMT + 2 Stunden
*/
ntp.ruleDST("CEST", Last, Sun, Mar, 2, 120);
// CET: Central European Time
// Beginn Normalzeit letzter Sonntag im Oktober 3 Uhr GMT + 1 Stunde
ntp.ruleSTD("CET", Last, Sun, Oct, 3, 60); // last sunday in october 3:00, timezone +60min (+1 GMT)
ntp.begin();
}
void loop()
{
Startzeit = millis();
if (Startzeit - GesicherteStartZeit > Intervall)
{
// Startzeit zurücksetzen
GesicherteStartZeit = Startzeit;
Serial.print("Verbunden mit ");
Serial.println(WiFi.SSID());
// IP anzeigen
Serial.print("IP: ");
Serial.println(WiFi.localIP());
// Zeit aktualisieren
ntp.update();
// Wochentag: int von 0 - 6
switch (ntp.weekDay())
{
case 0:
Serial.println("Sonntag");
break;
case 1:
Serial.println("Montag");
break;
case 2:
Serial.println("Dienstag");
break;
case 3:
Serial.println("Mittwoch");
break;
case 4:
Serial.println("Donnerstag");
break;
case 5:
Serial.print("Freitag ");
break;
case 6:
Serial.print("Samstag ");
break;
}
Serial.print(ntp.day());
Serial.print(". ");
// Monatsnamen: int von 1 - 12
switch (ntp.month())
{
case 1:
Serial.print("Januar ");
break;
case 2:
Serial.print("Februar ");
break;
case 3:
Serial.print("März ");
break;
case 4:
Serial.print("April ");
break;
case 5:
Serial.print("Mai ");
break;
case 6:
Serial.print("Juni ");
break;
case 7:
Serial.print("Juli ");
break;
case 8:
Serial.print("August ");
break;
case 9:
Serial.print("September ");
break;
case 10:
Serial.print("Oktober ");
break;
case 11:
Serial.print("November ");
break;
case 12:
Serial.print("Dezember ");
break;
}
Serial.println(ntp.year());
// Uhrzeit
// führende 0 ergänzen
if (ntp.hours() < 10) Serial.print("0");
Serial.print(String(ntp.hours()) + ":");
if (ntp.minutes() < 10) Serial.print("0");
Serial.print(String(ntp.minutes()) + ":");
if (ntp.seconds() < 10) Serial.print("0");
Serial.println(String(ntp.seconds()) + " Uhr");
Serial.println("-------------------");
}
}
Letzte Aktualisierung: