46 lines
895 B
C++
46 lines
895 B
C++
#include "wifi.h"
|
|
|
|
#include <ESP8266WiFi.h>
|
|
|
|
#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();
|
|
}
|
|
}
|
|
}
|