From 701ac714302f3da23b7ab7c1640fd3cd00ca962c Mon Sep 17 00:00:00 2001 From: Eric Duminil <eric.duminil@gmail.com> Date: Fri, 30 Apr 2021 00:33:32 +0200 Subject: [PATCH] Adding 'wifi_scan' as command --- ampel-firmware/wifi_util.cpp | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) diff --git a/ampel-firmware/wifi_util.cpp b/ampel-firmware/wifi_util.cpp index a845140..21680e7 100644 --- a/ampel-firmware/wifi_util.cpp +++ b/ampel-firmware/wifi_util.cpp @@ -14,8 +14,29 @@ namespace config { namespace wifi { char local_ip[16]; // "255.255.255.255\0" - // Initialize Wi-Fi + + void scanNetworks() { + Serial.println(); + Serial.println(F("WiFi - Scanning...")); + bool async = false; + bool showHidden = true; + int n = WiFi.scanNetworks(async, showHidden); + for (int i = 0; i < n; ++i) { + Serial.print(F(" * '")); + Serial.print(WiFi.SSID(i)); + Serial.print(F("' (")); + int16_t quality = 2 * (100 + WiFi.RSSI(i)); + Serial.print(util::min(util::max(quality, 0), 100)); + Serial.println(F(" %)")); + } + Serial.println(F("Done!")); + Serial.println(); + } + +// Initialize Wi-Fi void connect(const char *hostname) { + + sensor_console::defineCommand("wifi_scan", scanNetworks, F(" (Scans available WiFi networks)")); //NOTE: WiFi Multi could allow multiple SSID and passwords. WiFi.persistent(false); // Don't write user & password to Flash. WiFi.mode(WIFI_STA); // Set ESP to be a WiFi-client only -- GitLab