wifi_scan.ino

Arduino Nicla Vision · File : wifi_scan.ino · Language : Arduino · Use case : Lister les réseaux Wi-Fi via le module NINA

The Nicla Vision wireless module (ESP32-family part, driven by the core WiFiNINA library) sweeps Wi-Fi networks and prints SSID and signal strength. The first step before any connection, and already a coverage indicator.

Hardware

An Arduino Nicla Vision (STM32H7 M7+M4, 23×23 mm) with GC2145 camera, LSM6DSOX IMU, PDM mic, ToF (VL53Lx), ESP32 Wi-Fi/BLE module and RGB LED (LEDR/G/B). The board alone, USB-powered. On-board antenna; for a close test, a nearby access point is enough.

Wiring

No wiring: the module and its antenna are on board. The ceramic antenna sees ~10 m indoors.

How it works

WiFi.status() checks the module is alive; scanNetworks returns the network count, SSID(i)/RSSI(i) their traits. RSSI in dBm (roughly -50 strong, -85 marginal) rates the location.

Running it

Programmed from the Arduino IDE (ArduinoCore-mbed, NICLA_VISION target) over USB-C; Camera, PDM, Arduino_LSM6DSOX, WiFiNINA and ArduinoBLE libraries provided.

Variants

Join an SSID and push sensors over HTTP, scan periodically to map signal, or use RSSI as coarse positioning.

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

← Back to the board