#include "wifi.h" #include #define WIFI_TIMEOUT_MILLIS 20000 unsigned long wifiConnectBegin = 0; bool wifiConnected = false; bool isWiFiConnected() { return wifiConnected; } void wifiSetup() { wifiConnected = false; WiFi.disconnect(); yield(); wifiConnectBegin = millis(); Serial.print("connecting wifi...\n"); WiFi.hostname("KnxEsp"); WiFi.begin("HappyNet", "1Grausame!Sackratte7"); } void wifiLoop() { if (!wifiConnected) { if (WiFi.localIP() == 0UL) { if (millis() - wifiConnectBegin > WIFI_TIMEOUT_MILLIS) { if (wifiConnectBegin != 0) { Serial.print("wifi timeout\n"); } wifiSetup(); } } else { Serial.print("wifi connected\n"); wifiConnected = true; } } else { if (WiFi.localIP() == 0UL) { Serial.print("wifi disconnected\n"); wifiSetup(); } } }