Сканер Wi-Fi
Ищем сети вокруг, смотрим уровень сигнала и защиту.
Начнём знакомство с Wi-Fi с самого безопасного: плата никуда не подключается, а только слушает эфир и составляет список сетей.
#include <WiFi.h>
void setup() {
Serial.begin(115200);
WiFi.mode(WIFI_STA); // режим «клиент»
}
void loop() {
Serial.println("Сканирую...");
int n = WiFi.scanNetworks();
Serial.printf("Найдено сетей: %d\n", n);
for (int i = 0; i < n; i++) {
Serial.printf("%2d. %-32s %4d дБм канал %2d %s\n",
i + 1, WiFi.SSID(i).c_str(), WiFi.RSSI(i), WiFi.channel(i),
WiFi.encryptionType(i) == WIFI_AUTH_OPEN ? "открытая" : "с паролем");
}
WiFi.scanDelete(); // освобождаем память
Serial.println();
delay(10000);
}Как читать уровень сигнала
- −30…−55 дБм — отлично, роутер рядом.
- −55…−70 дБм — нормально для любых задач.
- −70…−80 дБм — слабо, возможны обрывы.
- ниже −80 дБм — связь почти не работает.
ESP32 работает только в диапазоне 2,4 ГГц. Сети 5 ГГц плата не видит, поэтому если роутер раздаёт одно имя в обоих диапазонах, а сканер его не находит — в настройках роутера включите 2,4 ГГц.
Антенна — это зигзаг дорожки на краю модуля. Не кладите плату антенной на металл и не закрывайте её проводами: дальность заметно упадёт.