#include <Adafruit_SSD1306.h>
#include <WiFi.h>

#define OLED_RESET 16

Adafruit_SSD1306 display(OLED_RESET);

void setup() {
  Serial.begin(115200);

  display.begin(SSD1306_SWITCHCAPVCC, 0x3C);  // Inicializar pantalla OLED

  // Configura la WiFi en modo estación y se desconécta si estaba conectado previamente.
  WiFi.mode(WIFI_STA);
  WiFi.disconnect();
  delay(100);

  // Mostrar mensaje de bienvenida
  display.clearDisplay();
  display.setCursor(0, 0);
  display.setTextSize(1);
  display.setTextColor(WHITE);
  display.print("Buscando redes WiFi..");
  display.display();

  // Obtener lista de redes disponibles
  int n = WiFi.scanNetworks();
  
  // Mostrar lista de redes en la pantalla OLED
  display.clearDisplay();
  display.setCursor(0, 0);
  if (n == 0) {
    display.print("Redes no disponibles");
  } else {
    Serial.println("Redes disponibles: " + String(n));
    for (int i = 0; i < n; ++i) {
      String ssid = WiFi.SSID(i);
      int32_t rssi = WiFi.RSSI(i);
      display.print(i + 1);
      display.print(": ");
      display.print(ssid);
      display.print(" (");
      display.print(rssi);
      display.print(")");
      display.println();
    }
  }
  display.display();
}

void loop() {
  // No hay acciones en el loop
}


Loading
esp32-devkit-c-v4
Loading
ssd1306