diff --git a/examples/ArduinoLoRa/LoRaReceiver/LoRaBoards.cpp b/examples/ArduinoLoRa/LoRaReceiver/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/ArduinoLoRa/LoRaReceiver/LoRaBoards.cpp +++ b/examples/ArduinoLoRa/LoRaReceiver/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/ArduinoLoRa/LoRaReceiver/LoRaBoards.h b/examples/ArduinoLoRa/LoRaReceiver/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/ArduinoLoRa/LoRaReceiver/LoRaBoards.h +++ b/examples/ArduinoLoRa/LoRaReceiver/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/ArduinoLoRa/LoRaSender/LoRaBoards.cpp b/examples/ArduinoLoRa/LoRaSender/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/ArduinoLoRa/LoRaSender/LoRaBoards.cpp +++ b/examples/ArduinoLoRa/LoRaSender/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/ArduinoLoRa/LoRaSender/LoRaBoards.h b/examples/ArduinoLoRa/LoRaSender/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/ArduinoLoRa/LoRaSender/LoRaBoards.h +++ b/examples/ArduinoLoRa/LoRaSender/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/BPFFactory/LoRaBoards.cpp b/examples/BPFFactory/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/BPFFactory/LoRaBoards.cpp +++ b/examples/BPFFactory/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/BPFFactory/LoRaBoards.h b/examples/BPFFactory/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/BPFFactory/LoRaBoards.h +++ b/examples/BPFFactory/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Display/Free_Font_Demo/LoRaBoards.cpp b/examples/Display/Free_Font_Demo/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Display/Free_Font_Demo/LoRaBoards.cpp +++ b/examples/Display/Free_Font_Demo/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Display/Free_Font_Demo/LoRaBoards.h b/examples/Display/Free_Font_Demo/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Display/Free_Font_Demo/LoRaBoards.h +++ b/examples/Display/Free_Font_Demo/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Display/TBeam_TFT_Shield/LoRaBoards.cpp b/examples/Display/TBeam_TFT_Shield/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Display/TBeam_TFT_Shield/LoRaBoards.cpp +++ b/examples/Display/TBeam_TFT_Shield/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Display/TBeam_TFT_Shield/LoRaBoards.h b/examples/Display/TBeam_TFT_Shield/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Display/TBeam_TFT_Shield/LoRaBoards.h +++ b/examples/Display/TBeam_TFT_Shield/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Display/TFT_Char_times/LoRaBoards.cpp b/examples/Display/TFT_Char_times/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Display/TFT_Char_times/LoRaBoards.cpp +++ b/examples/Display/TFT_Char_times/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Display/TFT_Char_times/LoRaBoards.h b/examples/Display/TFT_Char_times/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Display/TFT_Char_times/LoRaBoards.h +++ b/examples/Display/TFT_Char_times/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Display/UTFT_demo/LoRaBoards.cpp b/examples/Display/UTFT_demo/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Display/UTFT_demo/LoRaBoards.cpp +++ b/examples/Display/UTFT_demo/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Display/UTFT_demo/LoRaBoards.h b/examples/Display/UTFT_demo/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Display/UTFT_demo/LoRaBoards.h +++ b/examples/Display/UTFT_demo/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Factory/LoRaBoards.cpp b/examples/Factory/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Factory/LoRaBoards.cpp +++ b/examples/Factory/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Factory/LoRaBoards.h b/examples/Factory/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Factory/LoRaBoards.h +++ b/examples/Factory/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/GPS/TinyGPS_Example/LoRaBoards.cpp b/examples/GPS/TinyGPS_Example/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/GPS/TinyGPS_Example/LoRaBoards.cpp +++ b/examples/GPS/TinyGPS_Example/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/GPS/TinyGPS_Example/LoRaBoards.h b/examples/GPS/TinyGPS_Example/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/GPS/TinyGPS_Example/LoRaBoards.h +++ b/examples/GPS/TinyGPS_Example/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/GPS/TinyGPS_FullExample/LoRaBoards.cpp b/examples/GPS/TinyGPS_FullExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/GPS/TinyGPS_FullExample/LoRaBoards.cpp +++ b/examples/GPS/TinyGPS_FullExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/GPS/TinyGPS_FullExample/LoRaBoards.h b/examples/GPS/TinyGPS_FullExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/GPS/TinyGPS_FullExample/LoRaBoards.h +++ b/examples/GPS/TinyGPS_FullExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/GPS/TinyGPS_KitchenSink/LoRaBoards.cpp b/examples/GPS/TinyGPS_KitchenSink/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/GPS/TinyGPS_KitchenSink/LoRaBoards.cpp +++ b/examples/GPS/TinyGPS_KitchenSink/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/GPS/TinyGPS_KitchenSink/LoRaBoards.h b/examples/GPS/TinyGPS_KitchenSink/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/GPS/TinyGPS_KitchenSink/LoRaBoards.h +++ b/examples/GPS/TinyGPS_KitchenSink/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/GPS/UBlox_BasicNMEARead/LoRaBoards.cpp b/examples/GPS/UBlox_BasicNMEARead/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/GPS/UBlox_BasicNMEARead/LoRaBoards.cpp +++ b/examples/GPS/UBlox_BasicNMEARead/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/GPS/UBlox_BasicNMEARead/LoRaBoards.h b/examples/GPS/UBlox_BasicNMEARead/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/GPS/UBlox_BasicNMEARead/LoRaBoards.h +++ b/examples/GPS/UBlox_BasicNMEARead/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/GPS/UBlox_NMEAParsing/LoRaBoards.cpp b/examples/GPS/UBlox_NMEAParsing/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/GPS/UBlox_NMEAParsing/LoRaBoards.cpp +++ b/examples/GPS/UBlox_NMEAParsing/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/GPS/UBlox_NMEAParsing/LoRaBoards.h b/examples/GPS/UBlox_NMEAParsing/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/GPS/UBlox_NMEAParsing/LoRaBoards.h +++ b/examples/GPS/UBlox_NMEAParsing/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/GPS/UBlox_OutputRate/LoRaBoards.cpp b/examples/GPS/UBlox_OutputRate/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/GPS/UBlox_OutputRate/LoRaBoards.cpp +++ b/examples/GPS/UBlox_OutputRate/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/GPS/UBlox_OutputRate/LoRaBoards.h b/examples/GPS/UBlox_OutputRate/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/GPS/UBlox_OutputRate/LoRaBoards.h +++ b/examples/GPS/UBlox_OutputRate/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/GPS/UBlox_Recovery/LoRaBoards.cpp b/examples/GPS/UBlox_Recovery/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/GPS/UBlox_Recovery/LoRaBoards.cpp +++ b/examples/GPS/UBlox_Recovery/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/GPS/UBlox_Recovery/LoRaBoards.h b/examples/GPS/UBlox_Recovery/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/GPS/UBlox_Recovery/LoRaBoards.h +++ b/examples/GPS/UBlox_Recovery/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/LoRaWAN/LMIC_Library_OTTA/LoRaBoards.cpp b/examples/LoRaWAN/LMIC_Library_OTTA/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/LoRaWAN/LMIC_Library_OTTA/LoRaBoards.cpp +++ b/examples/LoRaWAN/LMIC_Library_OTTA/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/LoRaWAN/LMIC_Library_OTTA/LoRaBoards.h b/examples/LoRaWAN/LMIC_Library_OTTA/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/LoRaWAN/LMIC_Library_OTTA/LoRaBoards.h +++ b/examples/LoRaWAN/LMIC_Library_OTTA/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/LoRaWAN/LoRaWAN_ABP/LoRaBoards.cpp b/examples/LoRaWAN/LoRaWAN_ABP/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/LoRaWAN/LoRaWAN_ABP/LoRaBoards.cpp +++ b/examples/LoRaWAN/LoRaWAN_ABP/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/LoRaWAN/LoRaWAN_ABP/LoRaBoards.h b/examples/LoRaWAN/LoRaWAN_ABP/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/LoRaWAN/LoRaWAN_ABP/LoRaBoards.h +++ b/examples/LoRaWAN/LoRaWAN_ABP/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/LoRaWAN/RadioLib_OTAA/LoRaBoards.cpp b/examples/LoRaWAN/RadioLib_OTAA/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/LoRaWAN/RadioLib_OTAA/LoRaBoards.cpp +++ b/examples/LoRaWAN/RadioLib_OTAA/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/LoRaWAN/RadioLib_OTAA/LoRaBoards.h b/examples/LoRaWAN/RadioLib_OTAA/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/LoRaWAN/RadioLib_OTAA/LoRaBoards.h +++ b/examples/LoRaWAN/RadioLib_OTAA/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/OLED/SH1106FontUsage/LoRaBoards.cpp b/examples/OLED/SH1106FontUsage/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/OLED/SH1106FontUsage/LoRaBoards.cpp +++ b/examples/OLED/SH1106FontUsage/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/OLED/SH1106FontUsage/LoRaBoards.h b/examples/OLED/SH1106FontUsage/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/OLED/SH1106FontUsage/LoRaBoards.h +++ b/examples/OLED/SH1106FontUsage/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/OLED/SH1106GraphicsTest/LoRaBoards.cpp b/examples/OLED/SH1106GraphicsTest/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/OLED/SH1106GraphicsTest/LoRaBoards.cpp +++ b/examples/OLED/SH1106GraphicsTest/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/OLED/SH1106GraphicsTest/LoRaBoards.h b/examples/OLED/SH1106GraphicsTest/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/OLED/SH1106GraphicsTest/LoRaBoards.h +++ b/examples/OLED/SH1106GraphicsTest/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/OLED/SH1106IconMenu/LoRaBoards.cpp b/examples/OLED/SH1106IconMenu/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/OLED/SH1106IconMenu/LoRaBoards.cpp +++ b/examples/OLED/SH1106IconMenu/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/OLED/SH1106IconMenu/LoRaBoards.h b/examples/OLED/SH1106IconMenu/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/OLED/SH1106IconMenu/LoRaBoards.h +++ b/examples/OLED/SH1106IconMenu/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/OLED/SH1106PrintUTF8/LoRaBoards.cpp b/examples/OLED/SH1106PrintUTF8/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/OLED/SH1106PrintUTF8/LoRaBoards.cpp +++ b/examples/OLED/SH1106PrintUTF8/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/OLED/SH1106PrintUTF8/LoRaBoards.h b/examples/OLED/SH1106PrintUTF8/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/OLED/SH1106PrintUTF8/LoRaBoards.h +++ b/examples/OLED/SH1106PrintUTF8/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/OLED/SSD1306SimpleDemo/LoRaBoards.cpp b/examples/OLED/SSD1306SimpleDemo/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/OLED/SSD1306SimpleDemo/LoRaBoards.cpp +++ b/examples/OLED/SSD1306SimpleDemo/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/OLED/SSD1306SimpleDemo/LoRaBoards.h b/examples/OLED/SSD1306SimpleDemo/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/OLED/SSD1306SimpleDemo/LoRaBoards.h +++ b/examples/OLED/SSD1306SimpleDemo/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/OLED/SSD1306UiDemo/LoRaBoards.cpp b/examples/OLED/SSD1306UiDemo/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/OLED/SSD1306UiDemo/LoRaBoards.cpp +++ b/examples/OLED/SSD1306UiDemo/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/OLED/SSD1306UiDemo/LoRaBoards.h b/examples/OLED/SSD1306UiDemo/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/OLED/SSD1306UiDemo/LoRaBoards.h +++ b/examples/OLED/SSD1306UiDemo/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/PMU/LoRaBoards.cpp b/examples/PMU/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/PMU/LoRaBoards.cpp +++ b/examples/PMU/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/PMU/LoRaBoards.h b/examples/PMU/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/PMU/LoRaBoards.h +++ b/examples/PMU/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/RadioLibExamples/Receive_Interrupt/LoRaBoards.cpp b/examples/RadioLibExamples/Receive_Interrupt/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/RadioLibExamples/Receive_Interrupt/LoRaBoards.cpp +++ b/examples/RadioLibExamples/Receive_Interrupt/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/RadioLibExamples/Receive_Interrupt/LoRaBoards.h b/examples/RadioLibExamples/Receive_Interrupt/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/RadioLibExamples/Receive_Interrupt/LoRaBoards.h +++ b/examples/RadioLibExamples/Receive_Interrupt/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/RadioLibExamples/Transmit_Interrupt/LoRaBoards.cpp b/examples/RadioLibExamples/Transmit_Interrupt/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/RadioLibExamples/Transmit_Interrupt/LoRaBoards.cpp +++ b/examples/RadioLibExamples/Transmit_Interrupt/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/RadioLibExamples/Transmit_Interrupt/LoRaBoards.h b/examples/RadioLibExamples/Transmit_Interrupt/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/RadioLibExamples/Transmit_Interrupt/LoRaBoards.h +++ b/examples/RadioLibExamples/Transmit_Interrupt/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/BME280_AdvancedsettingsExample/LoRaBoards.cpp b/examples/Sensor/BME280_AdvancedsettingsExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/BME280_AdvancedsettingsExample/LoRaBoards.cpp +++ b/examples/Sensor/BME280_AdvancedsettingsExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/BME280_AdvancedsettingsExample/LoRaBoards.h b/examples/Sensor/BME280_AdvancedsettingsExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/BME280_AdvancedsettingsExample/LoRaBoards.h +++ b/examples/Sensor/BME280_AdvancedsettingsExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/BME280_TestExample/LoRaBoards.cpp b/examples/Sensor/BME280_TestExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/BME280_TestExample/LoRaBoards.cpp +++ b/examples/Sensor/BME280_TestExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/BME280_TestExample/LoRaBoards.h b/examples/Sensor/BME280_TestExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/BME280_TestExample/LoRaBoards.h +++ b/examples/Sensor/BME280_TestExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/BME280_UnifiedExample/LoRaBoards.cpp b/examples/Sensor/BME280_UnifiedExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/BME280_UnifiedExample/LoRaBoards.cpp +++ b/examples/Sensor/BME280_UnifiedExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/BME280_UnifiedExample/LoRaBoards.h b/examples/Sensor/BME280_UnifiedExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/BME280_UnifiedExample/LoRaBoards.h +++ b/examples/Sensor/BME280_UnifiedExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/PCF8563_AlarmByUnits/LoRaBoards.cpp b/examples/Sensor/PCF8563_AlarmByUnits/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/PCF8563_AlarmByUnits/LoRaBoards.cpp +++ b/examples/Sensor/PCF8563_AlarmByUnits/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/PCF8563_AlarmByUnits/LoRaBoards.h b/examples/Sensor/PCF8563_AlarmByUnits/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/PCF8563_AlarmByUnits/LoRaBoards.h +++ b/examples/Sensor/PCF8563_AlarmByUnits/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/PCF8563_SimpleTime/LoRaBoards.cpp b/examples/Sensor/PCF8563_SimpleTime/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/PCF8563_SimpleTime/LoRaBoards.cpp +++ b/examples/Sensor/PCF8563_SimpleTime/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/PCF8563_SimpleTime/LoRaBoards.h b/examples/Sensor/PCF8563_SimpleTime/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/PCF8563_SimpleTime/LoRaBoards.h +++ b/examples/Sensor/PCF8563_SimpleTime/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/PCF8563_TimeLib/LoRaBoards.cpp b/examples/Sensor/PCF8563_TimeLib/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/PCF8563_TimeLib/LoRaBoards.cpp +++ b/examples/Sensor/PCF8563_TimeLib/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/PCF8563_TimeLib/LoRaBoards.h b/examples/Sensor/PCF8563_TimeLib/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/PCF8563_TimeLib/LoRaBoards.h +++ b/examples/Sensor/PCF8563_TimeLib/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/PCF8563_TimeSynchronization/LoRaBoards.cpp b/examples/Sensor/PCF8563_TimeSynchronization/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/PCF8563_TimeSynchronization/LoRaBoards.cpp +++ b/examples/Sensor/PCF8563_TimeSynchronization/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/PCF8563_TimeSynchronization/LoRaBoards.h b/examples/Sensor/PCF8563_TimeSynchronization/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/PCF8563_TimeSynchronization/LoRaBoards.h +++ b/examples/Sensor/PCF8563_TimeSynchronization/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMC6310_CalibrateExample/LoRaBoards.cpp b/examples/Sensor/QMC6310_CalibrateExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMC6310_CalibrateExample/LoRaBoards.cpp +++ b/examples/Sensor/QMC6310_CalibrateExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMC6310_CalibrateExample/LoRaBoards.h b/examples/Sensor/QMC6310_CalibrateExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMC6310_CalibrateExample/LoRaBoards.h +++ b/examples/Sensor/QMC6310_CalibrateExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMC6310_CompassExample/LoRaBoards.cpp b/examples/Sensor/QMC6310_CompassExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMC6310_CompassExample/LoRaBoards.cpp +++ b/examples/Sensor/QMC6310_CompassExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMC6310_CompassExample/LoRaBoards.h b/examples/Sensor/QMC6310_CompassExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMC6310_CompassExample/LoRaBoards.h +++ b/examples/Sensor/QMC6310_CompassExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMC6310_GetDataExample/LoRaBoards.cpp b/examples/Sensor/QMC6310_GetDataExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMC6310_GetDataExample/LoRaBoards.cpp +++ b/examples/Sensor/QMC6310_GetDataExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMC6310_GetDataExample/LoRaBoards.h b/examples/Sensor/QMC6310_GetDataExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMC6310_GetDataExample/LoRaBoards.h +++ b/examples/Sensor/QMC6310_GetDataExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMC6310_GetPolarExample/LoRaBoards.cpp b/examples/Sensor/QMC6310_GetPolarExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMC6310_GetPolarExample/LoRaBoards.cpp +++ b/examples/Sensor/QMC6310_GetPolarExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMC6310_GetPolarExample/LoRaBoards.h b/examples/Sensor/QMC6310_GetPolarExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMC6310_GetPolarExample/LoRaBoards.h +++ b/examples/Sensor/QMC6310_GetPolarExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMI8658_BlockExample/LoRaBoards.cpp b/examples/Sensor/QMI8658_BlockExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMI8658_BlockExample/LoRaBoards.cpp +++ b/examples/Sensor/QMI8658_BlockExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMI8658_BlockExample/LoRaBoards.h b/examples/Sensor/QMI8658_BlockExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMI8658_BlockExample/LoRaBoards.h +++ b/examples/Sensor/QMI8658_BlockExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMI8658_GetDataExample/LoRaBoards.cpp b/examples/Sensor/QMI8658_GetDataExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMI8658_GetDataExample/LoRaBoards.cpp +++ b/examples/Sensor/QMI8658_GetDataExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMI8658_GetDataExample/LoRaBoards.h b/examples/Sensor/QMI8658_GetDataExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMI8658_GetDataExample/LoRaBoards.h +++ b/examples/Sensor/QMI8658_GetDataExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMI8658_InterruptBlockExample/LoRaBoards.cpp b/examples/Sensor/QMI8658_InterruptBlockExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMI8658_InterruptBlockExample/LoRaBoards.cpp +++ b/examples/Sensor/QMI8658_InterruptBlockExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMI8658_InterruptBlockExample/LoRaBoards.h b/examples/Sensor/QMI8658_InterruptBlockExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMI8658_InterruptBlockExample/LoRaBoards.h +++ b/examples/Sensor/QMI8658_InterruptBlockExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMI8658_InterruptExample/LoRaBoards.cpp b/examples/Sensor/QMI8658_InterruptExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMI8658_InterruptExample/LoRaBoards.cpp +++ b/examples/Sensor/QMI8658_InterruptExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMI8658_InterruptExample/LoRaBoards.h b/examples/Sensor/QMI8658_InterruptExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMI8658_InterruptExample/LoRaBoards.h +++ b/examples/Sensor/QMI8658_InterruptExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMI8658_LockingMechanismExample/LoRaBoards.cpp b/examples/Sensor/QMI8658_LockingMechanismExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMI8658_LockingMechanismExample/LoRaBoards.cpp +++ b/examples/Sensor/QMI8658_LockingMechanismExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMI8658_LockingMechanismExample/LoRaBoards.h b/examples/Sensor/QMI8658_LockingMechanismExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMI8658_LockingMechanismExample/LoRaBoards.h +++ b/examples/Sensor/QMI8658_LockingMechanismExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMI8658_MadgwickAHRS/LoRaBoards.cpp b/examples/Sensor/QMI8658_MadgwickAHRS/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMI8658_MadgwickAHRS/LoRaBoards.cpp +++ b/examples/Sensor/QMI8658_MadgwickAHRS/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMI8658_MadgwickAHRS/LoRaBoards.h b/examples/Sensor/QMI8658_MadgwickAHRS/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMI8658_MadgwickAHRS/LoRaBoards.h +++ b/examples/Sensor/QMI8658_MadgwickAHRS/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMI8658_PedometerExample/LoRaBoards.cpp b/examples/Sensor/QMI8658_PedometerExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMI8658_PedometerExample/LoRaBoards.cpp +++ b/examples/Sensor/QMI8658_PedometerExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMI8658_PedometerExample/LoRaBoards.h b/examples/Sensor/QMI8658_PedometerExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMI8658_PedometerExample/LoRaBoards.h +++ b/examples/Sensor/QMI8658_PedometerExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMI8658_ReadFromFifoExample/LoRaBoards.cpp b/examples/Sensor/QMI8658_ReadFromFifoExample/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMI8658_ReadFromFifoExample/LoRaBoards.cpp +++ b/examples/Sensor/QMI8658_ReadFromFifoExample/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMI8658_ReadFromFifoExample/LoRaBoards.h b/examples/Sensor/QMI8658_ReadFromFifoExample/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMI8658_ReadFromFifoExample/LoRaBoards.h +++ b/examples/Sensor/QMI8658_ReadFromFifoExample/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/Sensor/QMI8658_WakeOnMotion/LoRaBoards.cpp b/examples/Sensor/QMI8658_WakeOnMotion/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/Sensor/QMI8658_WakeOnMotion/LoRaBoards.cpp +++ b/examples/Sensor/QMI8658_WakeOnMotion/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/Sensor/QMI8658_WakeOnMotion/LoRaBoards.h b/examples/Sensor/QMI8658_WakeOnMotion/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/Sensor/QMI8658_WakeOnMotion/LoRaBoards.h +++ b/examples/Sensor/QMI8658_WakeOnMotion/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/T3S3Factory/LoRaBoards.cpp b/examples/T3S3Factory/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/T3S3Factory/LoRaBoards.cpp +++ b/examples/T3S3Factory/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/T3S3Factory/LoRaBoards.h b/examples/T3S3Factory/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/T3S3Factory/LoRaBoards.h +++ b/examples/T3S3Factory/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt; diff --git a/examples/TBeamFactory/LoRaBoards.cpp b/examples/TBeamFactory/LoRaBoards.cpp index 7e24151..cd3fd45 100644 --- a/examples/TBeamFactory/LoRaBoards.cpp +++ b/examples/TBeamFactory/LoRaBoards.cpp @@ -726,6 +726,8 @@ void setupBoards(bool disable_u8g2 ) beginDisplay(); } + // scanWiFi(); + // beginWiFi(); #ifdef FAN_CTRL @@ -1183,5 +1185,51 @@ static void enable_slow_clock() } +void scanWiFi() +{ + WiFi.mode(WIFI_STA); + WiFi.disconnect(); + Serial.println("WiFi Scan start"); + // WiFi.scanNetworks will return the number of networks found. + int n = WiFi.scanNetworks(); + Serial.println("WiFi Scan done"); + if (n == 0) { + Serial.println("no networks found"); + } else { + Serial.print(n); + Serial.println(" networks found"); + Serial.println("Nr | SSID | RSSI | CH | Encryption"); + for (int i = 0; i < n; ++i) { + // Print SSID and RSSI for each network found + Serial.printf("%2d", i + 1); + Serial.print(" | "); + Serial.printf("%-32.32s", WiFi.SSID(i).c_str()); + Serial.print(" | "); + Serial.printf("%4ld", WiFi.RSSI(i)); + Serial.print(" | "); + Serial.printf("%2ld", WiFi.channel(i)); + Serial.print(" | "); + switch (WiFi.encryptionType(i)) { + case WIFI_AUTH_OPEN: Serial.print("open"); break; + case WIFI_AUTH_WEP: Serial.print("WEP"); break; + case WIFI_AUTH_WPA_PSK: Serial.print("WPA"); break; + case WIFI_AUTH_WPA2_PSK: Serial.print("WPA2"); break; + case WIFI_AUTH_WPA_WPA2_PSK: Serial.print("WPA+WPA2"); break; + case WIFI_AUTH_WPA2_ENTERPRISE: Serial.print("WPA2-EAP"); break; + case WIFI_AUTH_WPA3_PSK: Serial.print("WPA3"); break; + case WIFI_AUTH_WPA2_WPA3_PSK: Serial.print("WPA2+WPA3"); break; + case WIFI_AUTH_WAPI_PSK: Serial.print("WAPI"); break; + default: Serial.print("unknown"); + } + Serial.println(); + delay(10); + } + } + Serial.println(""); + + // Delete the scan result to free memory for code below. + WiFi.scanDelete(); +} + #endif /*ARDUINO_ARCH_ESP32*/ diff --git a/examples/TBeamFactory/LoRaBoards.h b/examples/TBeamFactory/LoRaBoards.h index f3567a2..e69f933 100644 --- a/examples/TBeamFactory/LoRaBoards.h +++ b/examples/TBeamFactory/LoRaBoards.h @@ -101,6 +101,8 @@ bool recoveryGPS(); void loopPMU(void (*pressed_cb)(void)); +void scanWiFi(); + #ifdef HAS_PMU extern XPowersLibInterface *PMU; extern bool pmuInterrupt;