45 lines
1.5 KiB
C++
45 lines
1.5 KiB
C++
#include "wifi_util.h"
|
|
|
|
namespace config {
|
|
// WiFi config. See 'config.h' if you want to modify those values.
|
|
const char *wifi_ssid = WIFI_SSID;
|
|
const char *wifi_password = WIFI_PASSWORD;
|
|
|
|
#ifdef WIFI_TIMEOUT
|
|
const uint8_t wifi_timeout = WIFI_TIMEOUT; // [s] Will try to connect during wifi_timeout seconds before failing.
|
|
#else
|
|
const uint8_t wifi_timeout = 60; // [s] Will try to connect during wifi_timeout seconds before failing.
|
|
#endif
|
|
}
|
|
|
|
// Initialize Wi-Fi
|
|
void WiFiConnect(const String &hostname) {
|
|
//NOTE: WiFi Multi could allow multiple SSID and passwords.
|
|
WiFi.persistent(false); // Don't write user & password to Flash.
|
|
WiFi.mode(WIFI_STA); // Set ESP to be a WiFi-client only
|
|
#if defined(ESP8266)
|
|
WiFi.hostname(hostname);
|
|
#elif defined(ESP32)
|
|
WiFi.setHostname(hostname.c_str());
|
|
#endif
|
|
|
|
Serial.print(F("WiFi - Connecting to "));
|
|
Serial.println(config::wifi_ssid);
|
|
WiFi.begin(config::wifi_ssid, config::wifi_password);
|
|
|
|
// Wait for connection, at most wifi_timeout seconds
|
|
for (int i = 0; i <= config::wifi_timeout && (WiFi.status() != WL_CONNECTED); i++) {
|
|
led_effects::showRainbowWheel();
|
|
Serial.print(".");
|
|
}
|
|
if (WiFi.status() == WL_CONNECTED) {
|
|
led_effects::showKITTWheel(color::green);
|
|
Serial.println();
|
|
Serial.print(F("WiFi - Connected! IP address: "));
|
|
Serial.println(WiFi.localIP());
|
|
} else {
|
|
//TODO: Allow sensor to work as an Access Point, in order to define SSID & password?
|
|
led_effects::showKITTWheel(color::red);
|
|
Serial.println(F("Connection to WiFi failed"));
|
|
}
|
|
}
|