ESP32: связь пропала — подключиться заново
Отодвиньте точку доступа во время работы: зелёный светодиод погаснет, красный загорится, а плата будет пытаться подключиться снова.

Что понадобится
- ESP32 DevKit V1
- Точка доступа Wi-Fi
- Резистор (220 Ом) × 2
- Светодиод (зелёный)
- Светодиод (красный)
Как подключить
| Откуда | Куда | |||
|---|---|---|---|---|
| ESP32 DevKit V1 | D4 | → | Резистор 1 | 1 |
| Резистор 1 | 2 | → | Светодиод 1 | A |
| Светодиод 1 | C | → | ESP32 DevKit V1 | GND |
| ESP32 DevKit V1 | D5 | → | Резистор 2 | 1 |
| Резистор 2 | 2 | → | Светодиод 2 | A |
| Светодиод 2 | C | → | ESP32 DevKit V1 | GND |
Скетч
#include <WiFi.h>
const int LED_OK = 4; // зелёный: связь есть
const int LED_BAD = 5; // красный: связи нет
bool wasConnected = false;
unsigned long lastTry = 0;
void setup() {
Serial.begin(115200);
pinMode(LED_OK, OUTPUT);
pinMode(LED_BAD, OUTPUT);
WiFi.begin("Кабинет-робототехники", "robot2026");
lastTry = millis();
}
void loop() {
bool ok = (WiFi.status() == WL_CONNECTED);
digitalWrite(LED_OK, ok ? HIGH : LOW);
digitalWrite(LED_BAD, ok ? LOW : HIGH);
// Печатаем только СМЕНУ состояния: иначе монитор забьётся
// одной и той же строкой десять раз в секунду.
if (ok != wasConnected) {
if (ok) {
Serial.print("связь есть, сигнал ");
Serial.print(WiFi.RSSI());
Serial.println(" дБм");
} else {
Serial.println("связь потеряна, подключаюсь заново");
}
wasConnected = ok;
}
// Новую попытку делаем не чаще раза в три секунды. Дёргать begin()
// каждый виток бессмысленно: подключение занимает время, и плата
// просто не успевала бы его закончить.
if (!ok && millis() - lastTry > 3000) {
WiFi.begin("Кабинет-робототехники", "robot2026");
lastTry = millis();
}
delay(300);
}
Как это работает
Настоящая плата теряет связь постоянно: человек ушёл с телефоном за стену, роутер перезагрузился. Поэтому подключение проверяют в loop(), а не один раз в setup().
Коротко о детали: 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: связь пропала — подключиться заново» в симуляторе