Wifi getAvailNetworks sort by RSSI signal strength

This commit is contained in:
Sven Naumann 2022-10-24 08:49:35 +02:00 committed by GitHub
parent f721116987
commit 365cedccf0
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -223,9 +223,16 @@ void ahoywifi::getAvailNetworks(JsonObject obj) {
int n = WiFi.scanComplete();
if(n > 0) {
int sort[n];
for (int i = 0; i < n; i++)
sort[i] = i;
for (int i = 0; i < n; i++)
for (int j = i + 1; j < n; j++)
if (WiFi.RSSI(sort[j]) > WiFi.RSSI(sort[i]))
std::swap(sort[i], sort[j]);
for (int i = 0; i < n; ++i) {
nets[i]["ssid"] = WiFi.SSID(i);
nets[i]["rssi"] = WiFi.RSSI(i);
nets[i]["ssid"] = WiFi.SSID(sort[i]);
nets[i]["rssi"] = WiFi.RSSI(sort[i]);
}
WiFi.scanDelete();
}