import network
import binascii
import machine
import ssd1306
import time
# Inicializar I2C y pantalla SSD1306 (ajusta pines según tu placa)
i2c = machine.I2C(0, scl=machine.Pin(5), sda=machine.Pin(4)) # Para ESP32
oled = ssd1306.SSD1306_I2C(128, 64, i2c)
# Activar WiFi en modo estación
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
oled.fill(0)
oled.text("Escaneando...", 0, 0)
oled.show()
# Escanear redes WiFi
networks = wlan.scan()
networks.sort(key=lambda x: x[3], reverse=True)
# Mostrar hasta n redes WiFi con más detalles:
oled.fill(0)
for i, net in enumerate(networks[:3]):
ssid = net[0].decode()
bssid = binascii.hexlify(net[1]).decode()
canal = net[2]
rssi = net[3]
seguridad = net[4]
oculto = "Si" if net[5] else "No"
# Fila 1: N° SSID RSSI
oled.text(f"{i+1}:{ssid[:8]} {rssi}", 0, i*2*8)
# Fila 2: Canal, seguridad, oculto
oled.text(f"C:{canal} S:{seguridad} O:{oculto}", 0, i*2*8 + 8)
oled.show()