#include "WiFi.h"
#include <SPI.h>
#include <Wire.h>
#include <Adafruit_GFX.h>
#include <Adafruit_SSD1306.h>
Adafruit_SSD1306 display(-1);
void setup()
{
// Set WiFi to station mode and disconnect from an AP if it was previously connected
WiFi.mode(WIFI_STA);
WiFi.disconnect();
delay(100);
// initialize with the I2C addr 0x3C
display.begin(SSD1306_SWITCHCAPVCC, 0x3C);
// Clear the buffer.
display.clearDisplay();
display.setTextSize(2);
display.setTextColor(WHITE);
display.setCursor(0,13);
display.println(" WIFI SCAN");
display.display();
delay(2000);
}
void loop()
{
// WiFi.scanNetworks will return the number of networks found
//MatchState ms;
int n = WiFi.scanNetworks();
String ssid[n];
String rssi[n];
if (n == 0) {
Serial.println("no networks found");
} else {
Serial.print(n);
Serial.println(" networks found");
for (int i = 0; i < n; ++i) {
// Print SSID and RSSI for each network found
display.clearDisplay();
ssid[i] = WiFi.SSID(i);
rssi[i] = WiFi.RSSI(i);
}
}
for (int i = 0; i < n; ++i) {
display.setTextSize(1);
display.setTextColor(WHITE);
display.setCursor(0,14*i);
String ssid2 = ssid[i];
ssid2.replace("unifi", "u"); //I customize so that it the display format is in single line
display.println(ssid2+":"+ rssi[i]);
display.display();
delay(100);
}
}