Connect to best BSSID

This commit is contained in:
iranl
2024-05-03 16:57:48 +02:00
parent 2a22ae015d
commit 1bfbbba86d
14 changed files with 353 additions and 127 deletions

View File

@@ -143,3 +143,8 @@ String EthLan8720Device::localIP()
{
return ETH.localIP().toString();
}
String EthLan8720Device::BSSIDstr()
{
return "";
}

View File

@@ -35,6 +35,7 @@ public:
int8_t signalStrength() override;
String localIP() override;
String BSSIDstr() override;
private:
void onDisconnected();

View File

@@ -33,6 +33,7 @@ public:
virtual int8_t signalStrength() = 0;
virtual String localIP() = 0;
virtual String BSSIDstr() = 0;
virtual void mqttSetClientId(const char* clientId);
virtual void mqttSetCleanSession(bool cleanSession);

View File

@@ -225,3 +225,8 @@ String W5500Device::localIP()
{
return Ethernet.localIP().toString();
}
String W5500Device::BSSIDstr()
{
return "";
}

View File

@@ -33,6 +33,7 @@ public:
int8_t signalStrength() override;
String localIP() override;
String BSSIDstr() override;
private:
void resetDevice();

View File

@@ -67,6 +67,7 @@ void WifiDevice::initialize()
wm_menu.push_back("exit");
_wm.setEnableConfigPortal(_startAp || !_preferences->getBool(preference_network_wifi_fallback_disabled));
// reduced tieout if ESP is set to restart on disconnect
_wm.setFindBestRSSI(_preferences->getBool(preference_find_best_rssi));
_wm.setConfigPortalTimeout(_restartOnDisconnect ? 60 * 3 : 60 * 30);
_wm.setShowInfoUpdate(false);
_wm.setMenu(wm_menu);
@@ -159,6 +160,11 @@ String WifiDevice::localIP()
return WiFi.localIP().toString();
}
String WifiDevice::BSSIDstr()
{
return WiFi.BSSIDstr();
}
void WifiDevice::clearRtcInitVar(WiFiManager *)
{
memset(WiFiDevice_reconfdetect, 0, sizeof WiFiDevice_reconfdetect);

View File

@@ -25,6 +25,7 @@ public:
int8_t signalStrength() override;
String localIP() override;
String BSSIDstr() override;
private:
static void clearRtcInitVar(WiFiManager*);