Bis jetzt verstehe ich nur Bahnhof. Also es geht, aber ich weiß noch nicht warum

Aber ein Anfang ist gemacht.

Forum zur gegenseitigen Hilfe für Hobby´s, Spass und Technik, im Raum Penzberg, Garmisch, Bad Tölz, Seeshaupt
Code: Alles auswählen
#include <WiFi.h>
#define SchlafZeit 3E7 // Mikrosekunden hier 3s
#define NTP_SERVER "de.pool.ntp.org"
#define TZ_INFO "WEST-1DWEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00" // Western European Time
RTC_DATA_ATTR int bootZaeler = 0; // Variable in RTC Speicher bleibt erhalten nach Reset
// OLED Display einrichten
#include <U8g2lib.h> // als U8g2 im Bibliotheksverwalter zu finden
U8G2_SH1106_128X64_NONAME_F_HW_I2C oled(U8G2_R0);
void setup()
{
esp_sleep_wakeup_cause_t wakeup_cause; // Variable für wakeup Ursache
setenv("TZ", TZ_INFO, 1); // Zeitzone muss nach dem reset neu eingestellt werden
tzset();
Serial.begin(115200);
Serial.println("");
++bootZaeler;
Serial.println("Start Nr.: " + String(bootZaeler));
wakeup_cause = esp_sleep_get_wakeup_cause(); // wakeup Ursache holen
if (wakeup_cause != 3) ErsteStart(); // Wenn wakeup durch Reset
oled.begin();
oled.clearBuffer(); // Textspeicher löschen
oled.setFont(u8g2_font_6x12_tr); // choose a suitable font 6x12
//oled.setFont(u8g2_font_9x15_mf);
oled.setCursor(10, (1 * 10));
oled.print(F("NTP-Server Abfrage"));
oled.sendBuffer();
}
void loop()
{
tm local;
getLocalTime(&local);
Serial.println(&local, "Datum: %d.%m.%y Zeit: %H:%M:%S"); // Zeit Datum Print Ausgabe formatieren
Serial.println("Deep Sleep - Gehe schlafen \r\n \r\n");
oled.setFont(u8g2_font_10x20_mf);
//oled.setFont(u8g2_font_9x15_mf);
oled.setCursor(20, 40);
oled.print(&local, "Am %d.%m");
oled.setCursor(20, 55);
oled.print(&local, "Um %H:%M");
oled.sendBuffer();
esp_sleep_enable_timer_wakeup(SchlafZeit); // Deep Sleep Zeit einstellen
esp_deep_sleep_start(); // Starte Deep Sleep
}
void ErsteStart()
{
Serial.println("Start nach dem Reset");
WiFi.mode(WIFI_STA);
WiFi.begin("Name", "Passwort");
Serial.println("");
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
Serial.print(".");
}
Serial.println("");
Serial.print("IP Addresse: ");
Serial.println(WiFi.localIP());
Serial.println("Hole NTP Zeit");
struct tm local;
configTzTime(TZ_INFO, NTP_SERVER); // ESP32 Systemzeit mit NTP Synchronisieren
getLocalTime(&local, 10000); // Versuche 10 s zu Synchronisieren
WiFi.mode(WIFI_OFF);
}
Code: Alles auswählen
#include <WiFi.h>
//#define NTP_SERVER "de.pool.ntp.org"
#define NTP_SERVER "Fritz.Box"
#define TZ_INFO "WEST-1DWEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00" // Western European Time
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
byte zaehler = 0;
const unsigned long Tag = ((1000*60)*60)*24UL;
unsigned long laufzeit = Tag;
unsigned long aktuellzeit;
//---------------------Setup---------------------------
void setup()
{
lcd.begin();
lcd.backlight();
Serial.begin(9600);
lcd.setCursor (0, 0);
lcd.print (F(" NTP Server Abfrage "));
}
//---------------------LOOP---------------------------
void loop()
{
aktuellzeit = millis();
tm local;
getLocalTime(&local);
lcd.setCursor (0, 2);
lcd.print(&local, " Datum: %d.%m.%y");
lcd.setCursor (0, 3);
lcd.print(&local, " Zeit: %H:%M:%S");
if (aktuellzeit - laufzeit >=Tag)
{
NTP_Zeit();
laufzeit = aktuellzeit;
}
}
//----------------WIFI Verbindung---------------------
void NTP_Zeit()
{
lcd.setCursor (0, 1);
lcd.print(F("Zeitserver verbinden"));
WiFi.mode(WIFI_STA);
WiFi.begin("Name", "Passwort");
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
}
lcd.setCursor (0, 1);
lcd.print(F("++ Hole NTP Zeit ++ "));
struct tm local;
configTzTime(TZ_INFO, NTP_SERVER); // ESP32 Systemzeit mit NTP Synchronisieren
getLocalTime(&local, 10000); // Versuche 10 s zu Synchronisieren
WiFi.mode(WIFI_OFF);
lcd.setCursor (0, 1);
lcd.print(F(" NTP Zeit abgefragt "));
}
Code: Alles auswählen
#include <WiFi.h>
//#define NTP_SERVER "de.pool.ntp.org"
#define NTP_SERVER "Fritz.Box"
#define TZ_INFO "WEST-1DWEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00" // Western European Time
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
byte zaehler = 0;
//---------------------Setup---------------------------
void setup()
{
lcd.begin();
lcd.backlight();
Serial.begin(9600);
lcd.setCursor (0, 0);
lcd.print (F(" NTP Server Abfrage "));
}
//---------------------LOOP---------------------------
void loop()
{
tm local;
getLocalTime(&local);
lcd.setCursor (0, 2);
lcd.print(&local, " Datum: %d.%m.%y");
lcd.setCursor (0, 3);
lcd.print(&local, " Zeit: %H:%M:%S");
/*
struct tm enthält diese Atribute:
===============================================
Member Type Meaning Range
tm_sec int seconds after the minute 0-60*
tm_min int minutes after the hour 0-59
tm_hour int hours since midnight 0-23
tm_mday int day of the month 1-31
tm_mon int months since January 0-11
tm_year int years since 1900
tm_wday int days since Sunday 0-6
tm_yday int days since January 1 0-365
tm_isdst int Daylight Saving Time flag
==============================================
*/
if (zaehler == 0)
{
NTP_Zeit();
zaehler = 1;
}
// 00:00:XX = 3600(=1 Std) * std = 0 + min = 0 * 60 = 0 + sec = maximal 59 sec
uint32_t nbSek = 3600ul * local.tm_hour + local.tm_min * 60ul + local.tm_sec;
if (nbSek <= 2) // zwischen 00:00:00 Uhr und 00:00:01 Uhr Zeit vom NTP holen
{
NTP_Zeit();
}
}
//----------------WIFI Verbindung---------------------
void NTP_Zeit()
{
lcd.setCursor (0, 1);
lcd.print(F("Zeitserver verbinden"));
WiFi.mode(WIFI_STA);
WiFi.begin("Name", "Password");
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
}
lcd.setCursor (0, 1);
lcd.print(F("++ Hole NTP Zeit ++ "));
struct tm local;
configTzTime(TZ_INFO, NTP_SERVER); // ESP32 Systemzeit mit NTP Synchronisieren
getLocalTime(&local, 10000); // Versuche 10 s zu Synchronisieren
WiFi.mode(WIFI_OFF);
lcd.setCursor (0, 1);
lcd.print(F(" NTP Zeit abgefragt "));
}
Code: Alles auswählen
#include <WiFi.h>
//#define NTP_SERVER "de.pool.ntp.org"
#define NTP_SERVER "Fritz.Box"
#define TZ_INFO "WEST-1DWEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00" // Western European Time
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
//---------------------Setup---------------------------
void setup()
{
lcd.begin();
lcd.backlight();
Serial.begin(9600);
lcd.setCursor (0, 0);
lcd.print (F(" NTP Server Abfrage "));
NTP_Zeit();
}
//---------------------LOOP---------------------------
void loop()
{
tm local;
getLocalTime(&local);
lcd.setCursor (0, 2);
lcd.print(&local, " Datum: %d.%m.%y");
lcd.setCursor (0, 3);
lcd.print(&local, " Es ist: %H:%M:%S");
/*
struct tm enthält diese Atribute:
===============================================
Member Type Meaning Range
tm_sec int seconds after the minute 0-60*
tm_min int minutes after the hour 0-59
tm_hour int hours since midnight 0-23
tm_mday int day of the month 1-31
tm_mon int months since January 0-11
tm_year int years since 1900
tm_wday int days since Sunday 0-6
tm_yday int days since January 1 0-365
tm_isdst int Daylight Saving Time flag
==============================================
*/
// 00:00:XX = 3600(=1 Std) * std = 0 + min = 0 * 60 = 0 + sec = maximal 59 sec
uint32_t nbSek = 3600ul * local.tm_hour + local.tm_min * 60ul + local.tm_sec;
if (nbSek <= 2) // zwischen 00:00:00 Uhr und 00:00:59 Uhr Zeit vom NTP holen
{
NTP_Zeit();
}
}
//----------------WIFI Verbindung---------------------
void NTP_Zeit()
{
lcd.setCursor (0, 1);
lcd.print(F("Zeitserver verbinden"));
WiFi.mode(WIFI_STA);
WiFi.begin("Name", "Passwort");
while (WiFi.status() != WL_CONNECTED)
{
delay(500);
}
lcd.setCursor (0, 1);
lcd.print(F("++ Hole NTP Zeit ++ "));
struct tm local;
configTzTime(TZ_INFO, NTP_SERVER); // ESP32 Systemzeit mit NTP Synchronisieren
getLocalTime(&local, 10000); // Versuche 10 s zu Synchronisieren
WiFi.mode(WIFI_OFF);
lcd.setCursor (0, 1);
lcd.print(&local, " vom %d.%m um %H:%M");
lcd.setCursor (0, 1);
}
Code: Alles auswählen
#include <WiFi.h>
//#define NTP_SERVER "de.pool.ntp.org"
#define NTP_SERVER "Fritz.Box"
#define TZ_INFO "WEST-1DWEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00" // Western European Time
#include <Tone32.h>
#define BUZZER_PIN 16
#define BUZZER_CHANNEL 0
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
//---------------------Setup---------------------------
void setup()
{
lcd.begin();
lcd.backlight();
Serial.begin(9600);
lcd.setCursor (0, 0);
lcd.print (F(" NTP Server Abfrage "));
NTP_Zeit();
}
//---------------------LOOP---------------------------
void loop()
{
tm local;
getLocalTime(&local);
lcd.setCursor (0, 2);
lcd.print(&local, " Datum: %d.%m.%y");
lcd.setCursor (0, 3);
lcd.print(&local, " Zeit : %H:%M:%S");
/*
struct tm enthält diese Atribute:
===============================================
Member Type Meaning Range
tm_sec int seconds after the minute 0-60*
tm_min int minutes after the hour 0-59
tm_hour int hours since midnight 0-23
tm_mday int day of the month 1-31
tm_mon int months since January 0-11
tm_year int years since 1900
tm_wday int days since Sunday 0-6
tm_yday int days since January 1 0-365
tm_isdst int Daylight Saving Time flag
==============================================
*/
//00:00:XX = 3600(=1 Std) * std = 0 + min = 0 * 60 = 0 + sec = maximal 59 sec
uint32_t nbSek = 3600ul * local.tm_hour + local.tm_min * 60ul + local.tm_sec;
if (nbSek <= 2) // zwischen 00:00:00 Uhr und 00:00:59 Uhr Zeit vom NTP holen
{
NTP_Zeit();
}
}
//----------------WIFI Verbindung---------------------
void NTP_Zeit()
{
lcd.setCursor (0, 1);
lcd.print(F("Zeitserver verbinden"));
WiFi.mode(WIFI_STA);
WiFi.begin("Name", "Password");
while (WiFi.status() != WL_CONNECTED) // Ist WLAN Connect?
{
delay(500);
}
lcd.setCursor (0, 1);
lcd.print(F("++ Hole NTP Zeit ++ "));
struct tm local;
configTzTime(TZ_INFO, NTP_SERVER); // ESP32 Systemzeit mit NTP Synchronisieren
getLocalTime(&local, 10000); // Versuche 10 s zu Synchronisieren
WiFi.mode(WIFI_OFF);
lcd.setCursor (0, 0);
lcd.print(&local, " vom %d.%m um %H:%M ");
lcd.setCursor (0, 1);
lcd.print(F("--------------------"));
tone(BUZZER_PIN, NOTE_G4, 200, BUZZER_CHANNEL);
noTone(BUZZER_PIN, BUZZER_CHANNEL);
tone(BUZZER_PIN, NOTE_A4, 200, BUZZER_CHANNEL);
noTone(BUZZER_PIN, BUZZER_CHANNEL);
tone(BUZZER_PIN, NOTE_G4, 500, BUZZER_CHANNEL);
noTone(BUZZER_PIN, BUZZER_CHANNEL);
}
Code: Alles auswählen
#include <WiFi.h>
//#define NTP_SERVER "de.pool.ntp.org"
#define NTP_SERVER "Fritz.Box"
#define TZ_INFO "WEST-1DWEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00" // Western European Time
#include <Tone32.h>
#define BUZZER_PIN 16
#define BUZZER_CHANNEL 0
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
//---------------------Setup---------------------------
void setup()
{
lcd.begin();
lcd.backlight();
Serial.begin(9600);
lcd.setCursor (0, 0);
lcd.print (F(" NTP Server Abfrage "));
NTP_Zeit();
}
//---------------------LOOP---------------------------
void loop()
{
tm local;
getLocalTime(&local);
lcd.setCursor (0, 2);
lcd.print(&local, " Datum: %d.%m.%y");
lcd.setCursor (0, 3);
lcd.print(&local, " Zeit : %H:%M:%S");
/*
struct tm enthält diese Atribute:
===============================================
Member Type Meaning Range
tm_sec int seconds after the minute 0-60*
tm_min int minutes after the hour 0-59
tm_hour int hours since midnight 0-23
tm_mday int day of the month 1-31
tm_mon int months since January 0-11
tm_year int years since 1900
tm_wday int days since Sunday 0-6
tm_yday int days since January 1 0-365
tm_isdst int Daylight Saving Time flag
==============================================
*/
//00:00:XX = 3600(=1 Std) * std = 0 + min = 0 * 60 = 0 + sec = maximal 59 sec
uint32_t nbSek = 3600ul * local.tm_hour + local.tm_min * 60ul + local.tm_sec;
if (nbSek <= 2) // zwischen 00:00:00 Uhr und 00:00:59 Uhr Zeit vom NTP holen
{
NTP_Zeit();
}
}
//----------------WIFI Verbindung---------------------
void NTP_Zeit()
{
lcd.setCursor (0, 1);
lcd.print(F("Zeitserver verbinden"));
WiFi.mode(WIFI_STA);
WiFi.begin("Name", "Passwort");
while (WiFi.status() != WL_CONNECTED) // Ist WLAN Connect?
{
delay(500);
}
lcd.setCursor (0, 1);
lcd.print(F("++ Hole NTP Zeit ++ "));
struct tm local;
configTzTime(TZ_INFO, NTP_SERVER); // ESP32 Systemzeit mit NTP Synchronisieren
getLocalTime(&local, 10000); // Versuche 10 s zu Synchronisieren
WiFi.mode(WIFI_OFF);
lcd.setCursor (0, 0);
lcd.print(&local, " vom %d.%m um %H:%M ");
lcd.setCursor (0, 1);
lcd.print(F("--------------------"));
//Die Töne sind C4-D4-E4-F4-G4-A4-B4
tone(BUZZER_PIN, NOTE_C4, 200, BUZZER_CHANNEL);
noTone(BUZZER_PIN, BUZZER_CHANNEL);
tone(BUZZER_PIN, NOTE_D4, 200, BUZZER_CHANNEL);
noTone(BUZZER_PIN, BUZZER_CHANNEL);
tone(BUZZER_PIN, NOTE_E4, 500, BUZZER_CHANNEL);
noTone(BUZZER_PIN, BUZZER_CHANNEL);
}
Code: Alles auswählen
#include <WiFi.h>
//#define NTP_SERVER "de.pool.ntp.org"
#define NTP_SERVER "Fritz.Box"
#define TZ_INFO "WEST-1DWEST-2,M3.5.0/02:00:00,M10.5.0/03:00:00" // Western European Time
#include <Tone32.h>
#define BUZZER_PIN 16
#define BUZZER_CHANNEL 0
#include <LiquidCrystal_I2C.h>
LiquidCrystal_I2C lcd(0x27, 20, 4);
//---------------------Setup---------------------------
void setup()
{
lcd.begin();
lcd.backlight();
Serial.begin(9600);
lcd.setCursor (0, 0);
lcd.print (F(" NTP Server Abfrage "));
NTP_Zeit();
}
//---------------------LOOP---------------------------
void loop()
{
tm local;
getLocalTime(&local);
lcd.setCursor (0, 2);
lcd.print(&local, " Datum: %d.%m.%y");
lcd.setCursor (0, 3);
lcd.print(&local, " Zeit : %H:%M:%S");
/*
struct tm enthält diese Atribute:
===============================================
Member Type Meaning Range
tm_sec int seconds after the minute 0-60*
tm_min int minutes after the hour 0-59
tm_hour int hours since midnight 0-23
tm_mday int day of the month 1-31
tm_mon int months since January 0-11
tm_year int years since 1900
tm_wday int days since Sunday 0-6
tm_yday int days since January 1 0-365
tm_isdst int Daylight Saving Time flag
==============================================
*/
//00:00:XX = 3600(=1 Std) * std = 0 + min = 0 * 60 = 0 + sec = maximal 59 sec
uint32_t nbSek = 3600ul * local.tm_hour + local.tm_min * 60ul + local.tm_sec;
//if(nbSek <=2) // zwischen 00:00:00 Uhr und 00:00:59 Uhr Zeit vom NTP holen
if((nbSek <=14403)&&(nbSek >14400)) // 04:00 Uhr Morgens
{
NTP_Zeit();
}
}
//----------------WIFI Verbindung---------------------
void NTP_Zeit()
{
lcd.setCursor (0, 1);
lcd.print(F("Zeitserver verbinden"));
WiFi.mode(WIFI_STA);
WiFi.begin("RuterName", "Passwort");
while (WiFi.status() != WL_CONNECTED) // Ist WLAN Connect?
{
delay(500);
}
lcd.setCursor (0, 1);
lcd.print(F("++ Hole NTP Zeit ++ "));
struct tm local;
configTzTime(TZ_INFO, NTP_SERVER); // ESP32 Systemzeit mit NTP Synchronisieren
getLocalTime(&local, 10000); // Versuche 10 s zu Synchronisieren
WiFi.mode(WIFI_OFF);
lcd.setCursor (0, 0);
lcd.print(&local, " vom %d.%m um %H:%M ");
lcd.setCursor (0, 1);
lcd.print(F("--------------------"));
//Die Töne sind C4-D4-E4-F4-G4-A4-B4
tone(BUZZER_PIN, NOTE_C4, 200, BUZZER_CHANNEL);
noTone(BUZZER_PIN, BUZZER_CHANNEL);
tone(BUZZER_PIN, NOTE_D4, 200, BUZZER_CHANNEL);
noTone(BUZZER_PIN, BUZZER_CHANNEL);
tone(BUZZER_PIN, NOTE_E4, 500, BUZZER_CHANNEL);
noTone(BUZZER_PIN, BUZZER_CHANNEL);
}
Mitglieder in diesem Forum: Bing [Bot] und 1 Gast