#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 } namespace wifi { char local_ip[16]; // "255.255.255.255\0" void scanNetworks() { Serial.println(); Serial.println(F("WiFi - Scanning...")); bool async = false; bool showHidden = true; int n = WiFi.scanNetworks(async, showHidden); for (int i = 0; i < n; ++i) { Serial.print(F(" * '")); Serial.print(WiFi.SSID(i)); Serial.print(F("' (")); int16_t quality = 2 * (100 + WiFi.RSSI(i)); Serial.print(util::min(util::max(quality, 0), 100)); Serial.println(F(" %)")); } Serial.println(F("Done!")); Serial.println(); } void showLocalIp() { Serial.print(F("WiFi - Local IP : ")); Serial.println(wifi::local_ip); Serial.print(F("WiFi - SSID : ")); Serial.println(WIFI_SSID); } WiFiManager wifiManager; // Initialize Wi-Fi void connect(const char *hostname) { sensor_console::defineCommand("wifi_scan", scanNetworks, F("(Scans available WiFi networks)")); sensor_console::defineCommand("local_ip", showLocalIp, F("(Displays local IP and current SSID)")); sensor_console::defineCommand("wifi_reset", []() { wifiManager.resetSettings(); }, F("(Resets wifi config)")); // wifiManager.setAPCallback([](WiFiManager *x) { // led_effects::showRainbowWheel(); // }); // wifiManager.setWaitingForClientCallback([](){ led_effects::greenAlert(); }); // // wifiManager.setWebServerCallback([]() { // led_effects::showKITTWheel(color::green); // }); // // wifiManager.setSaveConfigCallback([]() { // led_effects::showKITTWheel(color::blue); // }); // // wifiManager.setSaveConfigCallback([]() { // led_effects::showKITTWheel(color::magenta); // }); wifiManager.setWaitingForConnectionCallback([](){ led_effects::showRainbowWheel(100); }); // wifiManager.setSaveConnectTimeout(WIFI_TIMEOUT); wifiManager.autoConnect(hostname); } }