ESP32: выбрать сеть посильнее
Плата сканирует эфир, находит самую сильную открытую сеть и подключается именно к ней — как это делает телефон.

Что понадобится
Скетч
#include <WiFi.h>
void setup() {
Serial.begin(115200);
int n = WiFi.scanNetworks();
Serial.print("сетей в эфире: ");
Serial.println(n);
// Ищем самую сильную ОТКРЫТУЮ сеть. RSSI отрицательный,
// поэтому «сильнее» — значит БОЛЬШЕ: -45 сильнее, чем -80.
int best = -1;
for (int i = 0; i < n; i++) {
if (WiFi.encryptionType(i) != WIFI_AUTH_OPEN) continue;
if (best < 0 || WiFi.RSSI(i) > WiFi.RSSI(best)) best = i;
}
if (best < 0) {
Serial.println("открытых сетей нет");
return;
}
Serial.print("выбрана: ");
Serial.print(WiFi.SSID(best));
Serial.print(" ");
Serial.print(WiFi.RSSI(best));
Serial.println(" дБм");
WiFi.begin(WiFi.SSID(best), "");
while (WiFi.status() != WL_CONNECTED) {
delay(100);
}
Serial.print("подключено, адрес ");
Serial.println(WiFi.localIP());
}
void loop() {
delay(1000);
}
Как это работает
Уровень сигнала зависит от расстояния до точки на схеме. Поменяйте точки местами и запустите снова — плата выберет другую сеть, ничего не меняя в коде.
Коротко о детали: ESP32 DevKit V1
Плата на модуле ESP32-WROOM-32: два ядра на 240 МГц, Wi-Fi и Bluetooth, логика 3,3 В. Выводов больше, чем у Uno, и почти любой из них можно назначить входом АЦП или выходом ШИМ. Беспроводная связь в симуляторе не моделируется — WiFi.begin() честно пишет об этом в монитор порта.
Ещё примеры с деталью «ESP32 DevKit V1»
- ESP32: MicroPythonMicroPython работает не только на Pico: тот же machine.Pin на ESP32.Средний
- ESP32: мигание светодиодомВстроенный светодиод ESP32 на GPIO2 плюс внешний на GPIO4.Начальный
- ESP32: сенсорный входtouchRead видит касание: кнопка на GPIO4 изображает палец.Средний
- ESP32: ШИМ через LEDCУ ESP32 своя аппаратная ШИМ: канал настраивается и привязывается к выводу.Продвинутый
- ESP32: подключение к Wi-FiПлата подключается к сети и печатает свои сетевые реквизиты: адрес, шлюз и MAC. Светодиод загорается, когда связь есть.Начальный
- ESP32: связь пропала — подключиться зановоОтодвиньте точку доступа во время работы: зелёный светодиод погаснет, красный загорится, а плата будет пытаться подключиться снова.Продвинутый
Попробуйте сами
Симулятор работает прямо в браузере: схему можно менять, код — править, а результат видно сразу. Бесплатно, без установки и регистрации.
Открыть «ESP32: выбрать сеть посильнее» в симуляторе