#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
}


esp:0
esp:2
esp:4
esp:5
esp:12
esp:13
esp:14
esp:15
esp:16
esp:17
esp:18
esp:19
esp:21
esp:22
esp:23
esp:25
esp:26
esp:27
esp:32
esp:33
esp:34
esp:35
esp:3V3
esp:EN
esp:VP
esp:VN
esp:GND.1
esp:D2
esp:D3
esp:CMD
esp:5V
esp:GND.2
esp:TX
esp:RX
esp:GND.3
esp:D1
esp:D0
esp:CLK
oled1:GND
oled1:VCC
oled1:SCL
oled1:SDA