import network
import binascii
# Inicializar interfaz WiFi en modo estación
wlan = network.WLAN(network.STA_IF)
wlan.active(True)
# Escaneo de redes
networks = wlan.scan() # (ssid, bssid, channel, RSSI, security, hidden)
# Ordenar por RSSI (señal) de mayor a menor
networks.sort(key=lambda x: x[3], reverse=True)
# Encabezado bonito
print("{:<4} {:<20} {:<20} {:<6} {:<6} {:<10} {:<6}".format(
"N°", "SSID", "BSSID", "Canal", "RSSI", "Seguridad", "Oculto"))
print("-" * 80)
for i, net in enumerate(networks, start=1):
ssid = net[0].decode() if isinstance(net[0], bytes) else str(net[0])
bssid = binascii.hexlify(net[1]).decode()
canal = net[2]
rssi = net[3]
seguridad = net[4]
oculto = net[5]
print("{:<4} {:<20} {:<20} {:<6} {:<6} {:<10} {:<6}".format(
i, ssid, bssid, canal, rssi, seguridad, oculto
))