wifi_scan.ino
El módulo inalámbrico de la Nicla Vision (componente familia ESP32, manejado por la librería WiFiNINA del core) barre las redes Wi-Fi e imprime SSID y potencia. Primer paso antes de conectar y ya un indicador de cobertura.
Hardware
Una Arduino Nicla Vision (STM32H7 M7+M4, 23×23 mm) con cámara GC2145, IMU LSM6DSOX, micrófono PDM, ToF (VL53Lx), módulo ESP32 Wi-Fi/BLE y LED RGB (LEDR/G/B). La placa sola, alimentada por USB. Antena embarcada; para una prueba cercana basta un punto de acceso cerca.
Cableado
Sin cableado: el módulo está en la placa, también la antena. La antena de cerámica ve ~10 m en interior.
Funcionamiento
WiFi.status() comprueba que el módulo responde; scanNetworks devuelve el número de redes y SSID(i)/RSSI(i) sus rasgos. El RSSI en dBm (típicamente -50 fuerte, -85 límite) califica la ubicación.
Ejecución
Programación desde Arduino IDE (core ArduinoCore-mbed) por USB-C; librerías Camera, PDM, LSM6DSOX, WiFiNINA y ArduinoBLE.
Variantes
Conectarse a un SSID y enviar sensores por HTTP, escanear periódicamente para mapear potencia, o usar el RSSI como geolocalización gruesa.
wifi_scan.ino
// Le module sans fil embarqué (famille ESP32, piloté comme un
// module NINA) sert de scanner Wi-Fi : liste des SSID + RSSI.
#include <WiFiNINA.h>
void setup() {
Serial.begin(115200);
while (!Serial) { ; }
if (WiFi.status() == WL_NO_MODULE) {
Serial.println("Module Wi-Fi absent !");
while (1) { ; }
}
Serial.println("Scan des réseaux...");
int n = WiFi.scanNetworks();
if (n == 0) {
Serial.println("Aucun réseau trouvé");
}
for (int i = 0; i < n; i++) {
Serial.print(WiFi.SSID(i));
Serial.print(" ");
Serial.print(WiFi.RSSI(i));
Serial.println(" dBm");
}
Serial.println("Scan terminé.");
}
void loop() {
// Rien de périodique ici : le scan tourne une fois au boot.
}