Время ожидания соединения Wi-Fi истекло, если учетные данные получены через последовательный терминал
Я внедрил небольшую процедуру подключения к Wi-Fi в свой проект ESP32. Доступные сети печатаются с индексом, затем я ввожу индекс и получаю из него имя сети. Пароль вводится по серийному номеру в виде открытого текста.
Перед подключением я распечатываю учетные данные и, таким образом, могу убедиться, что они правильно прочитаны в строки const char *
.
К сожалению, при использовании этой процедуры время соединения с моей точкой доступа истекает. Я также попытался переопределить строки жестко закодированными значениями, и тогда соединение работает как положено.
while (!Serial.available()) {
// (здесь реализован таймаут)
}
String index_s = Serial.readStringUntil('\n');
long index = index_s.toInt();
// { то же самое, что и выше }
String passw = Serial.readStringUntil('\n');
const char *ssid = WiFi.SSID(index).c_str();
const char *pass = passw.c_str();
// с этим это работает:
// ssid = "my_network";
// pass = "мой_пароль";
Serial.printf("connecting to %s using %s", ssid, pass);
WiFi.begin(ssid, pass);
1 ответ
▲ 1
Ответ был довольно простым, но на его поиск нужно время. Проблема заключалась в скрытом возврате каретки.
passw.trim();
Сделал свое дело. String.trim()
удаляет \r
и, таким образом, пароль принимается.
,
@Julian F. Weinert
Смотрите также:
- ESP32 - "Детектор Браунаута был активирован" при запуске Wi-Fi
- Контакты RX и TX на esp32
- Почему OTA не работает с платой ESP32-CAM Ai-Thinker?
- ESP32 открывает "captive portal" при подключении
- Аналоговое чтение не работает при использовании WiFi
- Автоматическая веб-страница ESP32 AP
- Чтение данных из Google Таблиц с помощью Nodemcu
- WiFiClient::connected() не работает
удаляю комментарии сейчас, так как они не нужны :p, @Jaromanda X
Возможный дубликат Сравнение строк при использовании последовательного порта, @Juraj
Как видите, я не сравниваю строки. Как вы думаете, как я мог найти упомянутый вами вопрос? Да, это та же причина. Нет, это не та же самая проблема., @Julian F. Weinert