Start mit ESP8266 und ESP32 mit Arduino
Beide Programmgerüste stellen 3 Funktionen zur Verfügung
- Verbindung zum WLAN
- Stellen der Uhr mit der Zeitzone Berlin
- Start von ArduinoOTA
#include <ESP8266WiFi.h>
#include <time.h>
#include <TZ.h>
#include <ArduinoOTA.h>
#include "/home/bernd/Arduino/esp/tools/wlan.inc" // enthält #define für wlan_ssid und wlan_passwort
#define PROJEKT "TEST"
#define TIME_ZONE TZ_Europe_Berlin
uint8_t oldZeit = -1;
void AusgabeZeit() {
time_t zeit = time(nullptr);
struct tm *lokalzeit = localtime(&zeit);
if (oldZeit != lokalzeit->tm_sec) {
oldZeit = lokalzeit->tm_sec;
Serial.printf("Zeit: %.2d:%.2d:%.2d\n", lokalzeit->tm_hour, lokalzeit->tm_min, lokalzeit->tm_sec);
}
}
void setup() {
Serial.begin(115200);
Serial.printf("Starten %s ...\n", PROJEKT);
char host[25];
sprintf(host, "%s-%X", PROJEKT, ESP.getChipId());
Serial.printf("Hostname: %s\n", host);
WiFi.mode(WIFI_STA);
WiFi.hostname(host);
ArduinoOTA.setHostname(host);
WiFi.begin(wlan_ssid, wlan_passwort);
while (WiFi.waitForConnectResult() != WL_CONNECTED) {
Serial.println("Keine Verbindung! Neustart...");
delay(5000);
ESP.restart();
}
configTime(TIME_ZONE, "fritz.box");
ArduinoOTA.begin();
}
void loop() {
ArduinoOTA.handle();
AusgabeZeit();
delay(100);
}
#include <WiFi.h>
#include <time.h>
#include <esp_sntp.h>
#include <ArduinoOTA.h>
#include "/home/bernd/Arduino/esp/tools/wlan.inc" // enthält #define für wlan_ssid und wlan_passwort
#define PROJEKT "TEST"
#define TZ_Europe_Berlin PSTR("CET-1CEST,M3.5.0,M10.5.0/3")
uint8_t oldZeit = -1;
void AusgabeZeit() {
time_t zeit = time(nullptr);
struct tm *lokalzeit = localtime(&zeit);
if (oldZeit != lokalzeit->tm_sec) {
oldZeit = lokalzeit->tm_sec;
Serial.printf("Zeit: %.2d:%.2d:%.2d\n", lokalzeit->tm_hour, lokalzeit->tm_min, lokalzeit->tm_sec);
}
}
void setup() {
Serial.begin(115200);
Serial.printf("Starten %s ...\n", PROJEKT);
char host[25];
sprintf(host, "%s-%X", PROJEKT, ESP.getEfuseMac());
Serial.printf("Hostname: %s\n", host);
WiFi.mode(WIFI_STA);
WiFi.hostname(host);
ArduinoOTA.setHostname(host);
WiFi.begin(wlan_ssid, wlan_passwort);
while (WiFi.waitForConnectResult() != WL_CONNECTED) {
Serial.println("Keine Verbindung! Neustart...");
delay(5000);
ESP.restart();
}
ArduinoOTA.begin();
setenv("TZ", TZ_Europe_Berlin, 1);
tzset();
sntp_setoperatingmode(SNTP_OPMODE_POLL);
sntp_setservername(0, "fritz.box");
sntp_init();
}
void loop() {
ArduinoOTA.handle();
AusgabeZeit();
delay(100);
}